Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Foundation-19/Hail-Mary i…
Browse files Browse the repository at this point in the history
…nto pr/DeltaDav/61
  • Loading branch information
xTrainx committed May 8, 2024
2 parents 6dda2a9 + bc4dcc5 commit eed28c5
Show file tree
Hide file tree
Showing 53 changed files with 2,835 additions and 2,511 deletions.
4,561 changes: 2,341 additions & 2,220 deletions _maps/map_files/Pahrump-AB/Pahrump-AB-Lower.dmm

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ also be like that but I can't be arsed to go back and change them all*/
#define ACCESS_NCR_COMMAND 253
#define ACCESS_LEGION_COMMAND 254
#define ACCESS_BROTHERHOOD_COMMAND 255
#define ACCESS_LEGION_CENTURION 264

#define ACCESS_TOWN 273
#define ACCESS_TOWN_CIV 274
Expand Down
8 changes: 4 additions & 4 deletions code/__DEFINES/armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
"rad" = 10, \
"fire" = 10, \
"acid" = 10, \
"wound" = 5, \
"wound" = 20, \
"damage_threshold" = 1)

/* Medium armor values
Expand All @@ -90,7 +90,7 @@
"rad" = 25, \
"fire" = 25, \
"acid" = 25, \
"wound" = 10, \
"wound" = 35, \
"damage_threshold" = 3)

/* Heavy armor values
Expand All @@ -111,7 +111,7 @@
"rad" = 25, \
"fire" = 35, \
"acid" = 35, \
"wound" = 25, \
"wound" = 45, \
"damage_threshold" = 5)

/* Salvaged PA values
Expand All @@ -133,7 +133,7 @@
"rad" = 50, \
"fire" = 80, \
"acid" = 80, \
"wound" = 45, \
"wound" = 80, \
"damage_threshold" = 10)

/* Power armor values
Expand Down
6 changes: 3 additions & 3 deletions code/__DEFINES/combat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -503,11 +503,11 @@ GLOBAL_LIST_INIT(main_body_parts, list(
#define RUBBERY_RECOIL_PISTOL_38 (BULLET_RECOIL_PISTOL_38 * RUBBERY_RECOIL_MULT)
#define RUBBERY_WOUND_PISTOL_38 (BULLET_WOUND_PISTOL_38 * 2)

#define BULLET_DAMAGE_PISTOL_44 40
#define BULLET_DAMAGE_PISTOL_44 35
#define BULLET_DAMAGE_PISTOL_44_HANDLOAD (BULLET_DAMAGE_PISTOL_44 * BULLET_HANDLOAD_MULT_DAMAGE)
#define BULLET_DAMAGE_PISTOL_44_MATCH (BULLET_DAMAGE_PISTOL_44 * BULLET_MATCH_MULT_DAMAGE)
#define BULLET_STAMINA_PISTOL_44 (BULLET_DAMAGE_PISTOL_44 * 0.5)
#define BULLET_RECOIL_PISTOL_44 4
#define BULLET_RECOIL_PISTOL_44 6
#define BULLET_RECOIL_PISTOL_44_HANDLOAD (BULLET_RECOIL_PISTOL_44 * BULLET_HANDLOAD_MULT_RECOIL)
#define BULLET_RECOIL_PISTOL_44_MATCH (BULLET_RECOIL_PISTOL_44 * BULLET_MATCH_MULT_RECOIL)
#define BULLET_SPEED_PISTOL_44 (BULLET_SPEED_BASE * 0.90)
Expand Down Expand Up @@ -728,7 +728,7 @@ GLOBAL_LIST_INIT(main_body_parts, list(
#define BULLET_WOUND_SHOTGUN_SLUG_MATCH (BULLET_WOUND_SHOTGUN_SLUG * BULLET_MATCH_MULT_WOUND)
#define BULLET_WOUND_SHOTGUN_SLUG_NAKED_MULT 1
#define RUBBERY_DAMAGE_SHOTGUN_SLUG (BULLET_DAMAGE_SHOTGUN_SLUG * RUBBERY_DAMAGE_MULT)
#define RUBBERY_STAMINA_SHOTGUN_SLUG (BULLET_DAMAGE_SHOTGUN_SLUG * 4)
#define RUBBERY_STAMINA_SHOTGUN_SLUG (BULLET_DAMAGE_SHOTGUN_SLUG * 2)
#define RUBBERY_RECOIL_SHOTGUN_SLUG (BULLET_RECOIL_SHOTGUN_SLUG * RUBBERY_RECOIL_MULT)
#define RUBBERY_WOUND_SHOTGUN_SLUG (BULLET_WOUND_SHOTGUN_SLUG * 4)

Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@
#define HIDE_OFFLINE_INDICATOR (1<<0)

//Respawn timer
#define RESPAWN_TIMER 1
#define RESPAWN_TIMER 6000

///Define for spawning megafauna instead of a mob for cave gen
#define SPAWN_MEGAFAUNA "bluh bluh huge boss"
Expand Down
16 changes: 15 additions & 1 deletion code/_globalvars/lists/flavor_misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -104,13 +104,27 @@ GLOBAL_LIST_INIT(security_depts_prefs, list(SEC_DEPT_RANDOM, SEC_DEPT_NONE, SEC_
#define DDUFFELBAG "Department Duffel Bag"
GLOBAL_LIST_INIT(backbaglist, list(DBACKPACK, DSATCHEL, DDUFFELBAG, //everything after this point is a non-department backpack
"Hiking Backpack" = /obj/item/storage/backpack,
"Medical Backpack" = /obj/item/storage/backpack/medic,
"Service Backpack" = /obj/item/storage/backpack/enclave,
"Security Backpack" = /obj/item/storage/backpack/security,
"Captain Backpack" = /obj/item/storage/backpack/captain,
"Trekkers Pack" = /obj/item/storage/backpack/trekker,
"Trophy Rack" = /obj/item/storage/backpack/cultpack,
"Explorer Bag" = /obj/item/storage/backpack/explorer,
"Grey Duffel Bag" = /obj/item/storage/backpack/duffelbag,
"Medical Duffel Bag" = /obj/item/storage/backpack/duffelbag/med,
"Security Duffel Bag" = /obj/item/storage/backpack/duffelbag/sec,
"Captain Duffel Bag" = /obj/item/storage/backpack/duffelbag/captain,
"Grey Satchel" = /obj/item/storage/backpack/satchel,
"Leather Satchel" = /obj/item/storage/backpack/satchel/leather,
"Bone Satchel" = /obj/item/storage/backpack/satchel/bone,
"Explorer Satchel" = /obj/item/storage/backpack/satchel/explorer,
"Medical Satchel" = /obj/item/storage/backpack/satchel/med,
"Old Satchel" = /obj/item/storage/backpack/satchel/old,
"Service Satchel" = /obj/item/storage/backpack/satchel/enclave
"Service Satchel" = /obj/item/storage/backpack/satchel/enclave,
"Security Satchel" = /obj/item/storage/backpack/satchel/sec,
"Captain Satchel" = /obj/item/storage/backpack/satchel/cap,
"Trekkers Satchel" = /obj/item/storage/backpack/satchel/trekker,
))

//Suit/Skirt
Expand Down
41 changes: 41 additions & 0 deletions code/datums/components/crafting/recipes/recipes_assemblies.dm
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,47 @@
subcategory = CAT_MISCELLANEOUS
category = CAT_MISC

/// Stock Parts! Comes in a convenient (cloth) box. ///

/datum/crafting_recipe/stockparts_box_t1
name = "Build box of basic stock parts"
result = /obj/item/storage/box/stockparts/basic
time = 5
reqs = list(/obj/item/stack/sheet/cloth = 1,
/obj/item/stack/crafting/electronicparts = 2,
/obj/item/stack/sheet/metal = 2,
/obj/item/stack/cable_coil = 5)
subcategory = CAT_MISCELLANEOUS
category = CAT_MISC

/datum/crafting_recipe/stockparts_box_t2
name = "Build box of improved stock parts"
result = /obj/item/storage/box/stockparts/improved
time = 5
reqs = list(/obj/item/stack/sheet/cloth = 1,
/obj/item/stack/crafting/electronicparts = 2,
/obj/item/stack/crafting/goodparts = 2,
/obj/item/stack/sheet/metal = 2,
/obj/item/stack/sheet/mineral/silver = 2,
/obj/item/stack/cable_coil = 5)
subcategory = CAT_MISCELLANEOUS
category = CAT_MISC

/datum/crafting_recipe/stockparts_box_t3
name = "Build box of cutting-edge stock parts"
result = /obj/item/storage/box/stockparts/advanced
time = 5
reqs = list(/obj/item/stack/sheet/cloth = 1,
/obj/item/stack/crafting/electronicparts = 2,
/obj/item/stack/crafting/goodparts = 2,
/obj/item/stack/sheet/metal = 2,
/obj/item/stack/sheet/mineral/silver = 2,
/obj/item/stack/sheet/mineral/gold = 2,
/obj/item/stack/cable_coil = 5)
subcategory = CAT_MISCELLANEOUS
category = CAT_MISC


/////////////////////
//Farming & Cooking//
/////////////////////
Expand Down
8 changes: 8 additions & 0 deletions code/datums/components/crafting/recipes/recipes_medicine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@
always_available = FALSE
*/

/datum/crafting_recipe/healthanalyzer_tribal
name = "General Malaise Book"
result = /obj/item/healthanalyzer/tribal
time = 20 SECONDS
reqs = list(/obj/item/stack/sheet/leather = 2,
/obj/item/paper = 5)
category = CAT_MEDICAL

/datum/crafting_recipe/upgraded_gauze
name = "Improved Gauze"
result = /obj/item/stack/medical/gauze/adv/five
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/crafting/recipes/recipes_misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@

/datum/crafting_recipe/shutters/window
name = "Windowed Shutters"
reqs = list(/obj/item/stack/sheet/plasteel = 5,
reqs = list(/obj/item/stack/sheet/prewar = 5,
/obj/item/stack/sheet/rglass = 10,
/obj/item/stack/cable_coil = 10,
/obj/item/electronics/airlock = 1
Expand Down
12 changes: 6 additions & 6 deletions code/datums/traits/good.dm
Original file line number Diff line number Diff line change
Expand Up @@ -476,7 +476,7 @@ GLOBAL_LIST_INIT(bone_dancer_recipes, list(
/datum/quirk/bigleagues
name = "Melee - Big Leagues"
desc = "Swing for the fences! You deal even more additional damage with melee weapons."
value = 3
value = 4
mob_trait = TRAIT_BIG_LEAGUES
gain_text = span_notice("You feel like swinging for the fences!")
lose_text = span_danger("You feel like bunting.")
Expand Down Expand Up @@ -521,7 +521,7 @@ GLOBAL_LIST_INIT(bone_dancer_recipes, list(
gain_text = span_notice("You realize how to use Power Armor.")
lose_text = span_danger("You forget how Power Armor works.")
locked = FALSE

/*
/datum/quirk/hard_yards
name = "Mobility - Wasteland Trekker"
desc = "You've spent a lot of time wandering the wastes, and for your hard work you out pace most folks when travelling across them."
Expand All @@ -539,7 +539,7 @@ GLOBAL_LIST_INIT(bone_dancer_recipes, list(
gain_text = span_notice("Rain or shine only slow you down a little.")
lose_text = span_danger("You walk with a less sure gait, the ground seeming less firm somehow.")
locked = FALSE

*/
/datum/quirk/lifegiver
name = "Health - Tough"
desc = "You embody wellness! Instantly gain +10 maximum Health."
Expand Down Expand Up @@ -997,7 +997,7 @@ GLOBAL_LIST_INIT(bone_dancer_recipes, list(
gain_text = span_notice("Your footsteps fade away.")
lose_text = span_danger("You're pretty sure that's the sound of your asscheeks clapping, but it might be footsteps.")
locked = FALSE

/*
/datum/quirk/deadeye
name = "Dead Eye"
desc = "You hit the shots you aim. No ifs, ands, or buts."
Expand All @@ -1006,11 +1006,11 @@ GLOBAL_LIST_INIT(bone_dancer_recipes, list(
gain_text = span_notice("Your aim is legendary, and you know it.")
lose_text = span_danger("Your aim could use some work...")
locked = FALSE

*/
/datum/quirk/straightshooter
name = "Straight Shooter"
desc = "You're a better than average shot."
value = 4
value = 6
mob_trait = TRAIT_NICE_SHOT
gain_text = span_notice("Your aim is amazing, and you know it.")
lose_text = span_danger("Your aim could use some work...")
Expand Down
4 changes: 2 additions & 2 deletions code/game/machinery/doors/poddoor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@
playsound(src.loc, 'sound/items/welder.ogg', 50, 1)
if(W.use_tool(src, user, 150, volume=50))
var/datum/crafting_recipe/recipe = locate(recipe_type) in GLOB.crafting_recipes
var/amount = recipe.reqs[/obj/item/stack/sheet/plasteel]
new /obj/item/stack/sheet/plasteel(loc, amount - rand(1,4))
var/amount = recipe.reqs[/obj/item/stack/sheet/prewar]
new /obj/item/stack/sheet/prewar(loc, amount - rand(1,4))
qdel(src)

/obj/machinery/door/poddoor/examine(mob/user)
Expand Down
3 changes: 3 additions & 0 deletions code/game/objects/items/crayons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -645,6 +645,9 @@
if(!proximity)
return

if(istype(target, /turf/closed/wall/f13/wood/house/broken) || istype(target, /turf/closed/wall/f13/wood/house) || istype(target, /turf/closed/wall/f13/wood/house/clean) || istype(target, /turf/closed/wall/f13/wood/house/clean/broken))
return

if(is_capped)
to_chat(user, span_warning("Take the cap off first!"))
return
Expand Down
52 changes: 52 additions & 0 deletions code/game/objects/items/devices/scanners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,58 @@ GENETICS SCANNER

add_fingerprint(user)

//-->tribal health scanner, it does the same thing but it takes time to use it
/obj/item/healthanalyzer/tribal
name = "general malaise book"
icon = 'icons/obj/device.dmi'
icon_state = "health_tribal"
item_state = "health_tribal"
desc = "A big compendium containing a complete guide on all illnesses and wounds."

/obj/item/healthanalyzer/tribal/attack_self(mob/user)
playsound(user, pick('sound/effects/pageturn1.ogg','sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg'), 30, 1)
to_chat(user, span_notice("You rapidly skim through the pages, trying to find the section you need."))

if(do_after(user, 3 SECONDS, target = src))
playsound(user, pick('sound/effects/pageturn1.ogg','sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg'), 30, 1)
scanmode = (scanmode + 1) % 3
switch(scanmode)
if(SCANMODE_HEALTH)
to_chat(user, span_notice("You have found the physical health references."))
if(SCANMODE_CHEMICAL)
to_chat(user, span_notice("You have found the chemical contents references."))
if(SCANMODE_WOUND)
to_chat(user, span_notice("You have found the extra info on wounds."))

/obj/item/healthanalyzer/tribal/attack(mob/living/M, mob/living/carbon/human/user)
playsound(user, pick('sound/effects/pageturn1.ogg','sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg'), 30, 1)
to_chat(user, span_notice("You begin to compare the malaise in front of you with the references on the book."))

if(do_after(user, 5 SECONDS, target = src))
playsound(user, pick('sound/effects/pageturn1.ogg','sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg'), 30, 1)

// Clumsiness/brain damage check
if ((HAS_TRAIT(user, TRAIT_CLUMSY) || HAS_TRAIT(user, TRAIT_DUMB)) && prob(50))
user.visible_message(span_warning("[user] analyzes the floor's vitals!"), \
span_notice("You stupidly try to analyze the floor's vitals!"))
to_chat(user, "<span class='info'>Analyzing results for The floor:\n\tOverall status: <b>Healthy</b></span>\
\n<span class='info'>Key: <font color='blue'>Suffocation</font>/<font color='green'>Toxin</font>/<font color='#FF8000'>Burn</font>/<font color='red'>Brute</font></span>\
\n<span class='info'>\tDamage specifics: <font color='blue'>0</font>-<font color='green'>0</font>-<font color='#FF8000'>0</font>-<font color='red'>0</font></span>\
\n<span class='info'>Body temperature: ???</span>")
return

user.visible_message(span_notice("[user] analyzes [M]'s vitals."), \
span_notice("You analyze [M]'s vitals."))

if(scanmode == SCANMODE_HEALTH)
healthscan(user, M, mode, advanced)
else if(scanmode == SCANMODE_CHEMICAL)
chemscan(user, M)
else
woundscan(user, M, src)

add_fingerprint(user)

// Used by the PDA medical scanner too
/proc/healthscan(mob/user, mob/living/M, mode = 1, advanced = FALSE)
if(isliving(user) && (user.incapacitated() || user.eye_blind))
Expand Down
16 changes: 7 additions & 9 deletions code/game/objects/items/granters.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1020,7 +1020,13 @@
traitname = "wirevision"
remarks = list("Troubleshooting is a systematic approach to problem solving, do not skip any steps in the process.", "Ensure you have all the required parts before you begin.", "Don't lose track of your tools, or you have a new problem to deal with.", "Make sure you check the colouring of wires extremely carefully- you don't want to be mixing up yellow and lime, or purple and indigo!")


/obj/item/book/granter/trait/trekking
name = "Wasteland Survival Guide"
desc = "This indispensable guidebook contains everything that a survivor in the wasteland would need to know."
oneuse = TRUE
granted_trait = TRAIT_HARD_YARDS
traitname = "trekking"
remarks = list("Tribes and gangs often hide the best loot in the back room.", "Radiation is best avoided entirely, but it helps to carry spare rad-x.", "Whether ancient or recent, landmines are still a threat, and readers should look out for them.", "Injuries and open bleeding make it harder to travel, always carry spare medical supplies.", "Most animals are simple-minded, and can be led into easy lines of fire.")

/obj/item/book/granter/trait/pa_wear
name = "US Army: Mechanized Infantry Handbook"
Expand All @@ -1030,14 +1036,6 @@
traitname = "Power Armor"
remarks = list("Daily maintenance is essential, clean and repair your suit often.", "Don't let overconfidence kill you, you are not invincible.", "Mechanized infantry should always be supported by regular infantry.", "You move slowly, pay attention to your position relative to the enemy.", "You are always vulnerable to ambush, do not rest in the field.", "AP rounds will shred your suit, you are not invincible.")

/obj/item/book/granter/trait/trekking
name = "Wasteland Survival Guide"
desc = "This indispensable guidebook contains everything that a survivor in the wasteland would need to know."
oneuse = TRUE
granted_trait = TRAIT_HARD_YARDS
traitname = "trekking"
remarks = list("Tribes and gangs often hide the best loot in the back room.", "Radiation is best avoided entirely, but it helps to carry spare rad-x.", "Whether ancient or recent, landmines are still a threat, and readers should look out for them.", "Injuries and open bleeding make it harder to travel, always carry spare medical supplies.", "Most animals are simple-minded, and can be led into easy lines of fire.")

/obj/item/book/granter/trait/explosives
name = "Industrial Society and Its Future"
desc = "This lengthy manifesto happens to contain a variety of valuable knowledge on how to craft explosives of all kinds."
Expand Down
14 changes: 14 additions & 0 deletions code/game/objects/items/loadout_toolkits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,20 @@
entry_class = LOADOUT_CAT_MEDICAL
spawn_thing = /obj/item/storage/box/tools/surgery

/obj/item/storage/box/tools/tribalsurgery
name = "tribal surgery tools"

/obj/item/storage/box/tools/tribalsurgery/PopulateContents()
new /obj/item/storage/backpack/duffelbag/med/surgery/primitive(src)
new /obj/item/healthanalyzer/tribal(src)
new /obj/item/stack/sheet/cloth/ten(src)

/datum/loadout_box/tribalsurgery
entry_tag = "tribal surgery tools"
entry_flags = LOADOUT_FLAG_TOOL_WASTER
entry_class = LOADOUT_CAT_MEDICAL
spawn_thing = /obj/item/storage/box/tools/tribalsurgery

/obj/item/storage/box/tools/triage
name = "triage tools"

Expand Down
2 changes: 0 additions & 2 deletions code/game/objects/items/miscellaneous.dm
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,6 @@
"Brahmin" = /mob/living/simple_animal/cow/brahmin,
"Molerat" = /mob/living/simple_animal/cow/brahmin/molerat,
"Horse" = /mob/living/simple_animal/cow/brahmin/horse,
"Honse" = /mob/living/simple_animal/cow/brahmin/horse/honse,
"Fennec" = /mob/living/simple_animal/cow/brahmin/horse/fennec,
"Nightstalker" = /mob/living/simple_animal/cow/brahmin/nightstalker,
"Hunter Spider" = /mob/living/simple_animal/cow/brahmin/nightstalker/hunterspider
)
Expand Down
3 changes: 2 additions & 1 deletion code/game/objects/items/stacks/sheets/sheet_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,8 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
* Durathread
*/
GLOBAL_LIST_INIT(durathread_recipes, list ( \
new/datum/stack_recipe("durathread dufflebag", /obj/item/storage/backpack/duffelbag/durathread, 6, time = 60)
new/datum/stack_recipe("durathread dufflebag", /obj/item/storage/backpack/duffelbag/durathread, 6, time = 60), \
new/datum/stack_recipe("dark durathread dufflebag", /obj/item/storage/backpack/duffelbag/durathread/dark, 6, time = 60) \
))

/obj/item/stack/sheet/durathread
Expand Down
6 changes: 6 additions & 0 deletions code/game/objects/items/storage/backpack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -461,6 +461,12 @@
resistance_flags = FIRE_PROOF
slowdown = 0

/obj/item/storage/backpack/duffelbag/durathread/dark
name = "dark durathread duffel bag"
desc = "A lightweight duffel bag made out of durathread."
icon_state = "duffel-syndie"
item_state = "duffel-syndieammo"

/obj/item/storage/backpack/duffelbag/drone
name = "drone duffel bag"
desc = "A large duffel bag for holding tools and hats."
Expand Down
Loading

0 comments on commit eed28c5

Please sign in to comment.