Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
 into LINDA-FINALLY!!!!!!!!
  • Loading branch information
JixS4v committed Sep 2, 2024
2 parents bcdc28d + 023f7b5 commit 8061855
Show file tree
Hide file tree
Showing 28 changed files with 778 additions and 703 deletions.
920 changes: 399 additions & 521 deletions _maps/map_files/Deltastation/DeltaStation2.dmm

Large diffs are not rendered by default.

157 changes: 157 additions & 0 deletions code/__DEFINES/pipe_construction.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,160 @@
#define STATION_TUBE_OPENING 1
#define STATION_TUBE_CLOSED 2
#define STATION_TUBE_CLOSING 3

// Reference list for disposal sort junctions. Set the sortType variable on disposal sort junctions to
// the index of the sort department that you want. For example, sortType set to 2 will reroute all packages
// tagged for the Cargo Bay.

/* List of sortType codes for mapping reference
0 Waste
1 Disposals - All unwrapped items and untagged parcels get picked up by a junction with this sortType. Usually leads to the recycler.
2 Cargo Bay
3 QM Office
4 Engineering
5 CE Office
6 Atmospherics
7 Security
8 HoS Office
9 Medbay
10 CMO Office
11 Chemistry
12 Research
13 RD Office
14 Robotics
15 HoP Office
16 Library
17 Chapel
18 Theatre
19 Bar
20 Kitchen
21 Hydroponics
22 Janitor
23 Genetics
24 Testing Range
25 Toxins
26 Dormitories
27 Virology
28 Xenobiology
29 Law Office
30 Detective's Office
*/

//The whole system for the sorttype var is determined based on the order of this list,
//disposals must always be 1, since anything that's untagged will automatically go to disposals, or sorttype = 1 --Superxpdude

//If you don't want to fuck up disposals, add to this list, and don't change the order.
//If you insist on changing the order, you'll have to change every sort junction to reflect the new order. --Pete

GLOBAL_LIST_INIT(TAGGERLOCATIONS, list(
"Disposals",
"Cargo Bay",
"QM Office",
"Engineering",
"CE Office",
"Atmospherics",
"Security",
"HoS Office",
"Medbay",
"CMO Office",
"Chemistry",
"Research",
"RD Office",
"Robotics",
"HoP Office",
"Library",
"Chapel",
"Theatre",
"Bar",
"Kitchen",
"Hydroponics",
"Janitor Closet",
"Genetics",
"Testing Range",
"Toxins",
"Dormitories",
"Virology",
"Xenobiology",
"Law Office",
"Detective's Office",
))

#define MAPPING_HELPER_SORT(name, sort_code) /obj/structure/disposalpipe/sorting/mail/destination/##name {\
sortType = sort_code;\
}\
/obj/structure/disposalpipe/sorting/mail/destination/##name/flip {\
flip_type = /obj/structure/disposalpipe/sorting/mail;\
icon_state = "pipe-j2s";\
initialize_dirs = DISP_DIR_LEFT | DISP_DIR_FLIP;\
}

MAPPING_HELPER_SORT(disposals, 1)
MAPPING_HELPER_SORT(cargo_bay, 2)
MAPPING_HELPER_SORT(qm_office, 3)
MAPPING_HELPER_SORT(engineering, 4)
MAPPING_HELPER_SORT(ce_office, 5)
MAPPING_HELPER_SORT(atmospherics, 6)
MAPPING_HELPER_SORT(security, 7)
MAPPING_HELPER_SORT(hos_office, 8)
MAPPING_HELPER_SORT(medbay, 9)
MAPPING_HELPER_SORT(cmo_office, 10)
MAPPING_HELPER_SORT(chemistry, 11)
MAPPING_HELPER_SORT(research, 12)
MAPPING_HELPER_SORT(rd_office, 13)
MAPPING_HELPER_SORT(robotics, 14)
MAPPING_HELPER_SORT(hop_office, 15)
MAPPING_HELPER_SORT(library, 16)
MAPPING_HELPER_SORT(chapel, 17)
MAPPING_HELPER_SORT(threatre, 18)
MAPPING_HELPER_SORT(bar, 19)
MAPPING_HELPER_SORT(kitchen, 20)
MAPPING_HELPER_SORT(hydroponics, 21)
MAPPING_HELPER_SORT(janitor_closet, 22)
MAPPING_HELPER_SORT(genetics, 23)
MAPPING_HELPER_SORT(testing_range, 24)
MAPPING_HELPER_SORT(toxins, 25)
MAPPING_HELPER_SORT(dormitories, 26)
MAPPING_HELPER_SORT(virology, 27)
MAPPING_HELPER_SORT(xenobiology, 28)
MAPPING_HELPER_SORT(law_office, 29)
MAPPING_HELPER_SORT(detective_office, 30)

#undef MAPPING_HELPER_SORT

#if defined(UNIT_TESTS) || defined(SPACEMAN_DMM)

GLOBAL_LIST_INIT(tagger_destination_areas, list(
"Disposals" = list(/area/maintenance/disposal, /area/quartermaster/sorting),
"Cargo Bay" = list(/area/quartermaster),
"QM Office" = list(/area/quartermaster/qm, /area/quartermaster/qm_bedroom),
"Engineering" = list(/area/engine, /area/engineering),
"CE Office" = list(/area/crew_quarters/heads/chief),
"Atmospherics" = list(/area/engine/atmos, /area/engine/atmospherics_engine),
"Security" = list(/area/security),
"HoS Office" = list(/area/crew_quarters/heads/hos),
"Medbay" = list(/area/medical),
"CMO Office" = list(/area/crew_quarters/heads/cmo),
"Chemistry" = list(/area/medical/chemistry, /area/medical/apothecary),
"Research" = list(/area/science),
"RD Office" = list(/area/crew_quarters/heads/hor),
"Robotics" = list(/area/science/robotics),
"HoP Office" = list(/area/crew_quarters/heads/hop),
"Library" = list(/area/library),
"Chapel" = list(/area/chapel),
"Theatre" = list(/area/crew_quarters/theatre),
"Bar" = list(/area/crew_quarters/bar),
"Kitchen" = list(/area/crew_quarters/kitchen),
"Hydroponics" = list(/area/hydroponics),
"Janitor Closet" = list(/area/janitor),
"Genetics" = list(/area/medical/genetics),
"Testing Range" = list(/area/science/misc_lab, /area/science/test_area, /area/science/mixing),
"Toxins" = list(/area/science/misc_lab, /area/science/test_area, /area/science/mixing),
"Dormitories" = list(/area/crew_quarters/dorms, /area/commons/dorms),
"Virology" = list(/area/medical/virology),
"Xenobiology" = list(/area/science/xenobiology),
"Law Office" = list(/area/lawoffice),
"Detective's Office" = list(/area/security/detectives_office),
))

#endif

78 changes: 0 additions & 78 deletions code/_globalvars/lists/flavor_misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -234,84 +234,6 @@ GLOBAL_LIST_INIT(scarySounds, list(
'sound/weapons/thudswoosh.ogg',
))


// Reference list for disposal sort junctions. Set the sortType variable on disposal sort junctions to
// the index of the sort department that you want. For example, sortType set to 2 will reroute all packages
// tagged for the Cargo Bay.

/* List of sortType codes for mapping reference
0 Waste
1 Disposals - All unwrapped items and untagged parcels get picked up by a junction with this sortType. Usually leads to the recycler.
2 Cargo Bay
3 QM Office
4 Engineering
5 CE Office
6 Atmospherics
7 Security
8 HoS Office
9 Medbay
10 CMO Office
11 Chemistry
12 Research
13 RD Office
14 Robotics
15 HoP Office
16 Library
17 Chapel
18 Theatre
19 Bar
20 Kitchen
21 Hydroponics
22 Janitor
23 Genetics
24 Testing Range
25 Toxins
26 Dormitories
27 Virology
28 Xenobiology
29 Law Office
30 Detective's Office
*/

//The whole system for the sorttype var is determined based on the order of this list,
//disposals must always be 1, since anything that's untagged will automatically go to disposals, or sorttype = 1 --Superxpdude

//If you don't want to fuck up disposals, add to this list, and don't change the order.
//If you insist on changing the order, you'll have to change every sort junction to reflect the new order. --Pete

GLOBAL_LIST_INIT(TAGGERLOCATIONS, list(
"Disposals",
"Cargo Bay",
"QM Office",
"Engineering",
"CE Office",
"Atmospherics",
"Security",
"HoS Office",
"Medbay",
"CMO Office",
"Chemistry",
"Research",
"RD Office",
"Robotics",
"HoP Office",
"Library",
"Chapel",
"Theatre",
"Bar",
"Kitchen",
"Hydroponics",
"Janitor Closet",
"Genetics",
"Testing Range",
"Toxins",
"Dormitories",
"Virology",
"Xenobiology",
"Law Office",
"Detective's Office",
))

GLOBAL_LIST_INIT(station_prefixes, world.file2list("strings/station_prefixes.txt") + "")

GLOBAL_LIST_INIT(station_names, world.file2list("strings/station_names.txt") + "")
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/traumas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ SUBSYSTEM_DEF(traumas)
/obj/structure/sign/departments/medbay, /obj/machinery/door/airlock/medical, /obj/machinery/sleeper, /obj/machinery/stasis,
/obj/machinery/dna_scannernew, /obj/machinery/atmospherics/components/unary/cryo_cell, /obj/item/surgical_drapes,
/obj/item/retractor, /obj/item/hemostat, /obj/item/cautery, /obj/item/surgicaldrill, /obj/item/scalpel, /obj/item/circular_saw,
/obj/item/clothing/suit/bio_suit/plaguedoctorsuit, /obj/item/clothing/head/bio_hood/plague, /obj/item/clothing/mask/gas/plaguedoctor)),
/obj/item/clothing/suit/bio_suit/plaguedoctorsuit, /obj/item/clothing/head/costume/plague, /obj/item/clothing/mask/gas/plaguedoctor)),

"authority" = typecacheof(list(
/obj/item/clothing/under/rank/captain, /obj/item/clothing/under/rank/civilian/head_of_personnel,
Expand Down
6 changes: 3 additions & 3 deletions code/datums/traits/negative_quirk.dm
Original file line number Diff line number Diff line change
Expand Up @@ -192,11 +192,11 @@
heirloom_type = pick(subtypesof(/obj/item/toy/mecha)) //look at this nerd
//Medical
if(JOB_NAME_CHIEFMEDICALOFFICER)
heirloom_type = pick(/obj/item/clothing/neck/stethoscope, /obj/item/bodybag)
heirloom_type = pick(/obj/item/clothing/neck/stethoscope, /obj/item/flashlight/pen)
if(JOB_NAME_MEDICALDOCTOR)
heirloom_type = pick(/obj/item/clothing/neck/stethoscope, /obj/item/bodybag)
heirloom_type = pick(/obj/item/clothing/neck/stethoscope, /obj/item/flashlight/pen, /obj/item/scalpel)
if(JOB_NAME_PARAMEDIC)
heirloom_type = pick(/obj/item/bodybag)
heirloom_type = pick(/obj/item/flashlight/pen, /obj/item/sensor_device)
if(JOB_NAME_CHEMIST)
heirloom_type = /obj/item/reagent_containers/glass/chem_heirloom
if(JOB_NAME_VIROLOGIST)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/effects/spawners/bundle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
name = "plague doctor costume spawner"
items = list(
/obj/item/clothing/suit/bio_suit/plaguedoctorsuit,
/obj/item/clothing/head/bio_hood/plague,
/obj/item/clothing/head/costume/plague,
/obj/item/clothing/mask/gas/plaguedoctor)

/obj/effect/spawner/bundle/costume/nightowl
Expand Down
6 changes: 5 additions & 1 deletion code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -385,14 +385,16 @@
/obj/item/resonator,
/obj/item/mining_scanner,
/obj/item/pickaxe,
/obj/item/shovel,
/obj/item/stack/sheet/animalhide,
/obj/item/stack/sheet/sinew,
/obj/item/stack/sheet/bone,
/obj/item/lighter,
/obj/item/storage/fancy/cigarettes,
/obj/item/reagent_containers/food/drinks/bottle,
/obj/item/stack/medical,
/obj/item/knife/kitchen,
/obj/item/knife/combat/survival,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/reagent_containers/hypospray,
/obj/item/gps,
/obj/item/storage/bag/ore,
Expand All @@ -411,6 +413,8 @@
/obj/item/skeleton_key,
/obj/item/discovery_scanner,
/obj/item/gun/energy/e_gun/mini/exploration,
/obj/item/gun/energy/kinetic_accelerator,
/obj/item/gun/energy/plasmacutter,
/obj/item/grenade/exploration,
/obj/item/exploration_detonator,
/obj/item/research_disk_pinpointer
Expand Down
4 changes: 0 additions & 4 deletions code/game/turfs/closed/minerals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -543,10 +543,6 @@
var/activated_name = null
var/mutable_appearance/activated_overlay

/turf/closed/mineral/gibtonite/Initialize(mapload)
det_time = rand(8,10) //So you don't know exactly when the hot potato will explode
. = ..()

/turf/closed/mineral/gibtonite/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/mining_scanner) || istype(I, /obj/item/t_scanner/adv_mining_scanner) && stage == 1)
user.visible_message("<span class='notice'>[user] holds [I] to [src]...</span>", "<span class='notice'>You use [I] to locate where to cut off the chain reaction and attempt to stop it...</span>")
Expand Down
4 changes: 3 additions & 1 deletion code/modules/clothing/head/hat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,15 @@
icon_state = "mailman"
desc = "<i>'Right-on-time'</i> mail service head wear."

/obj/item/clothing/head/bio_hood/plague
/obj/item/clothing/head/costume/plague
name = "plague doctor's hat"
desc = "These were once used by plague doctors. They're pretty much useless."
item_state = "that"
icon_state = "plaguedoctor"
clothing_flags = THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | SNUG_FIT
permeability_coefficient = 0.01
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 0, ACID = 0, STAMINA = 0)
flags_inv = HIDEHAIR

/obj/item/clothing/head/costume/nursehat
name = "nurse's hat"
Expand Down
41 changes: 40 additions & 1 deletion code/modules/mining/lavaland/necropolis_chests.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
/obj/structure/closet/crate/necropolis/tendril/try_spawn_loot(datum/source, obj/item/item, mob/user, params) ///proc that handles key checking and generating loot - MAY REPLACE WITH pick_weight(loot)
var/static/list/necropolis_goodies = list( //weights to be defined later on, for now they're all the same
/obj/item/clothing/glasses/godeye = 5,
/obj/item/pickaxe/diamond = 5,
/obj/item/clothing/gloves/concussive_gauntlets = 5,
/obj/item/rod_of_asclepius = 5,
/obj/item/organ/heart/cursed/wizard = 5,
/obj/item/ship_in_a_bottle = 5,
Expand Down Expand Up @@ -666,6 +666,45 @@
name = "jacob's ladder"
desc = "An indestructible celestial ladder that violates the laws of physics."

/obj/item/clothing/gloves/concussive_gauntlets
name = "concussive gauntlets"
desc = "Pickaxes... for your hands!"
icon_state = "concussive_gauntlets"
worn_icon_state = "concussive_gauntlets"
item_state = "combatgloves"
toolspeed = 0.1 //Sonic jackhammer, but only works on minerals.
strip_delay = 40
equip_delay_other = 20
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
heat_protection = HANDS
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
resistance_flags = LAVA_PROOF | FIRE_PROOF //they are from lavaland after all
armor = list(MELEE = 15, BULLET = 35, LASER = 35, ENERGY = 20, BOMB = 35, BIO = 35, RAD = 35, FIRE = 0, ACID = 0, STAMINA = 20, BLEED = 20) //Equivalent to bone bracers. Not bad.

/obj/item/clothing/gloves/concussive_gauntlets/equipped(mob/user, slot)
. = ..()
if(slot == ITEM_SLOT_GLOVES)
tool_behaviour = TOOL_MINING
RegisterSignal(user, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, PROC_REF(rocksmash))
RegisterSignal(user, COMSIG_MOVABLE_BUMP, PROC_REF(rocksmash))
else
stopmining(user)

/obj/item/clothing/gloves/concussive_gauntlets/dropped(mob/user)
. = ..()
stopmining(user)

/obj/item/clothing/gloves/concussive_gauntlets/proc/stopmining(mob/user)
tool_behaviour = initial(tool_behaviour)
UnregisterSignal(user, COMSIG_HUMAN_EARLY_UNARMED_ATTACK)
UnregisterSignal(user, COMSIG_MOVABLE_BUMP)

/obj/item/clothing/gloves/concussive_gauntlets/proc/rocksmash(mob/living/carbon/human/user, atom/rocks, proximity)
if(!ismineralturf(rocks))
return
rocks.attackby(src, user)

///Bosses

//Legion
Expand Down
1 change: 0 additions & 1 deletion code/modules/mining/machine_vending.dm
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,6 @@
new /datum/data/vendor_equipment("Mining Bot Companion", /mob/living/simple_animal/hostile/mining_drone, 800),
new /datum/data/vendor_equipment("Minebot Upgrade: Armor", /obj/item/minebot_upgrade/health, 400),
new /datum/data/vendor_equipment("Minebot Upgrade: Ore Scoop", /obj/item/minebot_upgrade/ore_pickup, 400),
new /datum/data/vendor_equipment("Minebot Upgrade: Cooldown", /obj/item/borg/upgrade/modkit/cooldown/minebot, 600),
new /datum/data/vendor_equipment("Minebot Upgrade: Medical", /obj/item/minebot_upgrade/medical, 800),
new /datum/data/vendor_equipment("Minebot Upgrade: A.I.", /obj/item/slimepotion/slime/sentience/mining, 1000),
new /datum/data/vendor_equipment("Minebot Weatherproof Chassis",/obj/item/minebot_upgrade/antiweather, 1200),
Expand Down
Loading

0 comments on commit 8061855

Please sign in to comment.