diff --git a/_maps/RandomRuins/SpaceRuins/skelter.dmm b/_maps/RandomRuins/SpaceRuins/skelter.dmm index 8dd0b3b5e1..694d093eeb 100644 --- a/_maps/RandomRuins/SpaceRuins/skelter.dmm +++ b/_maps/RandomRuins/SpaceRuins/skelter.dmm @@ -875,7 +875,8 @@ /area/service/cafeteria) "cj" = ( /obj/effect/decal/cleanable/blood/old, -/obj/item/clothing/suit/space/syndicate/orange, +/obj/item/clothing/suit/space/syndicate/green/dark, +/obj/item/clothing/head/helmet/space/syndicate/green/dark, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/skelter/sec) "ck" = ( @@ -1366,6 +1367,9 @@ dir = 1; icon_state = "trimline_fill" }, +/mob/living/simple_animal/hostile/syndicate/melee/sword/space{ + name = "Impostrous Commando" + }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/skelter/nav) "ds" = ( @@ -1895,6 +1899,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, +/obj/item/clothing/head/helmet/space/syndicate/blue, /turf/open/floor/plating, /area/ruin/space/has_grav/skelter/engine/powerstorage) "eC" = ( @@ -2483,6 +2488,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, +/obj/item/clothing/head/helmet/space/syndicate, /turf/open/floor/plating, /area/ruin/space/has_grav/skelter/engine/powerstorage) "fR" = ( @@ -2581,6 +2587,7 @@ /obj/item/clothing/suit/space/syndicate/orange{ desc = "Wait, don't these normally come with a helmet?" }, +/obj/item/clothing/head/helmet/space/syndicate/orange, /turf/open/floor/plating, /area/ruin/space/has_grav/skelter/forehall) "gg" = ( @@ -2726,6 +2733,7 @@ dir = 1; pixel_y = -24 }, +/obj/item/clothing/head/helmet/space/syndicate/green, /turf/open/floor/carpet, /area/ruin/space/has_grav/skelter/admin) "gx" = ( @@ -2823,6 +2831,10 @@ /area/ruin/space/has_grav/skelter/engine/lower) "gH" = ( /obj/structure/rack, +/obj/item/dnainjector/tonguespike{ + desc = "It's a little suspicious."; + name = "suspicious serum" + }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/skelter/sec) "gI" = ( @@ -2907,18 +2919,18 @@ /turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/skelter/shields) "gT" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8; - icon_state = "scrub_map_on-2" - }, /obj/structure/cable/yellow{ icon_state = "0-8" }, /obj/machinery/power/apc{ + cell_type = null; dir = 1; name = "Shield Room APC"; pixel_y = 23 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber{ + dir = 8 + }, /turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/skelter/shields) "gU" = ( @@ -3136,7 +3148,9 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/turf/open/floor/mineral/titanium/white, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, /area/ruin/space/has_grav/skelter/shields) "hp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -3325,7 +3339,9 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, -/turf/open/floor/mineral/titanium/white, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg2" + }, /area/ruin/space/has_grav/skelter/shields) "hO" = ( /obj/machinery/shieldgen, @@ -3523,18 +3539,20 @@ /turf/open/floor/circuit, /area/ruin/space/has_grav/skelter/shields) "il" = ( -/turf/open/floor/mineral/titanium/white, +/obj/structure/lattice, +/turf/open/space/basic, /area/ruin/space/has_grav/skelter/shields) "im" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/light, /obj/machinery/firealarm{ dir = 4; pixel_x = 24 }, -/turf/open/floor/mineral/titanium/white, +/obj/machinery/atmospherics/components/unary/vent_pump{ + dir = 1 + }, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, /area/ruin/space/has_grav/skelter/shields) "in" = ( /turf/open/floor/plasteel{ @@ -3722,10 +3740,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/item/uplink/old{ - pixel_x = -4; - pixel_y = 8 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4; icon_state = "scrub_map_on-2" @@ -3839,7 +3853,10 @@ /area/ruin/space/has_grav/skelter/comms) "iP" = ( /obj/structure/rack, -/obj/item/gun/ballistic/automatic/pistol, +/obj/item/book/granter/martial/cqc{ + name = "dusty manual"; + used = 1 + }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/skelter/sec) "iQ" = ( @@ -3874,20 +3891,6 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/skelter/storage) -"iU" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/telecomms/relay/preset/auto, -/turf/open/floor/plasteel/showroomfloor, -/area/ruin/space/has_grav/skelter/comms) "iV" = ( /obj/structure/chair/comfy/teal, /obj/effect/turf_decal/tile/blue, @@ -3917,6 +3920,7 @@ /obj/item/clothing/suit/space/syndicate/black{ desc = "Wait, don't these normally come with a helmet?" }, +/obj/item/clothing/head/helmet/space/syndicate/black, /turf/open/floor/plasteel/showroomfloor, /area/ruin/space/has_grav/skelter/comms) "iX" = ( @@ -4078,7 +4082,9 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/machinery/telecomms/allinone, +/mob/living/simple_animal/hostile/syndicate/melee/space{ + name = "Impostrous Commando" + }, /turf/open/floor/plasteel/showroomfloor, /area/ruin/space/has_grav/skelter/comms) "jo" = ( @@ -4146,12 +4152,6 @@ /obj/item/gun/ballistic/automatic/pistol/no_mag, /turf/open/floor/plasteel/showroomfloor, /area/ruin/space/has_grav/skelter/comms) -"jw" = ( -/turf/open/space/basic, -/area/space/nearstation) -"jx" = ( -/turf/open/space/basic, -/area/template_noop) "jy" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -4166,6 +4166,66 @@ /obj/item/ammo_casing/c10mm, /turf/open/floor/plasteel/showroomfloor, /area/ruin/space/has_grav/skelter/comms) +"sg" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/skelter/shields) +"vv" = ( +/mob/living/simple_animal/hostile/syndicate/melee/space{ + name = "Impostrous Commando" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/skelter/engine/powerstorage) +"vz" = ( +/obj/structure/fluff/broken_flooring{ + icon_state = "singular" + }, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/has_grav/skelter/shields) +"AJ" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/space/has_grav/skelter/shields) +"AR" = ( +/mob/living/simple_animal/hostile/syndicate/ranged/shotgun/space{ + name = "Impostrous Commando" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/skelter/sec) +"JR" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg2" + }, +/area/ruin/space/has_grav/skelter/shields) +"Li" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/ruin/space/has_grav/skelter/shields) +"OA" = ( +/obj/structure/fluff/broken_flooring{ + icon_state = "singular" + }, +/turf/template_noop, +/area/template_noop) +"WM" = ( +/obj/effect/turf_decal/weather, +/turf/open/floor/plating/airless, +/area/ruin/unpowered/no_grav) +"Zs" = ( +/obj/item/shard{ + icon_state = "medium" + }, +/obj/structure/fluff/broken_flooring{ + dir = 8; + icon_state = "pile" + }, +/turf/template_noop, +/area/template_noop) (1,1,1) = {" ah @@ -4483,7 +4543,7 @@ cF cF ex eW -cF +AR fN gj hJ @@ -4525,7 +4585,7 @@ iI iQ iY ji -jx +ah "} (13,1,1) = {" ah @@ -4549,7 +4609,7 @@ gj iP gl hx -hx +vv is hx eA @@ -4705,7 +4765,7 @@ fV hX jb jj -jw +ah "} (19,1,1) = {" ah @@ -4885,7 +4945,7 @@ gO iT jf jk -jw +ah "} (25,1,1) = {" ay @@ -4942,7 +5002,7 @@ hH ih iG iN -iU +iO ii jl ah @@ -5091,10 +5151,10 @@ hn hM ik iH -gA -bx -ae -ah +gz +bL +bL +ak ah "} (32,1,1) = {" @@ -5118,13 +5178,13 @@ ga gx gR ho -hM +Li +vz il -il -gA -ae -ah -ah +sg +bL +ak +ak ah "} (33,1,1) = {" @@ -5150,12 +5210,12 @@ gS hp hN im -gA -gU -ah -ah -ah -ah +sg +JR +ac +ak +ak +bq "} (34,1,1) = {" ah @@ -5179,13 +5239,13 @@ gz gT hq hO -gA -gU -ah -ah -ah -ah -ah +gz +sg +WM +ac +ak +ak +cl "} (35,1,1) = {" aS @@ -5207,15 +5267,15 @@ dV gd gA gU -gU -gU -gU -ah -ah -ah -ah -ah -ah +gz +AJ +gz +ac +ac +ac +ac +ak +aZ "} (36,1,1) = {" ah @@ -5237,15 +5297,15 @@ fI ge gB gV -jw -ah -ah -ah -ah -ah -ah -ah -ah +aZ +ac +ak +ak +ac +ac +ac +ac +aZ "} (37,1,1) = {" ah @@ -5267,15 +5327,15 @@ cR gf ct cR -ah -ah -ah -ah -ah -ah -ah -ah -ah +aZ +ak +ak +ak +ak +ac +ac +ac +Zs "} (38,1,1) = {" ah @@ -5296,16 +5356,16 @@ bx dV ct ct -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah +aZ +aZ +ac +ak +ak +ak +ak +ak +ac +aZ "} (39,1,1) = {" ah @@ -5326,16 +5386,16 @@ cu cb ae ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah +OA +cl +do +ac +ak +ak +ak +ac +aZ +aS "} (40,1,1) = {" ah @@ -5356,15 +5416,15 @@ fr cc ah ah +do +aS +bq ah +aZ +aZ ah -ah -ah -ah -ah -ah -ah -ah +aZ +aS ah "} (41,1,1) = {" @@ -5387,13 +5447,13 @@ cc ah ah ah +aZ +do ah ah -ah -ah -ah -ah -ah +do +aZ +ba ah ah "} @@ -5419,12 +5479,12 @@ ah ah ah ah +bF ah ah ah ah -ah -ah +aZ ah "} (43,1,1) = {" @@ -5445,15 +5505,15 @@ ce ce ce ah +aZ +cl ah ah ah +aZ +aS ah -ah -ah -ah -ah -ah +cl ah ah "} @@ -5476,7 +5536,7 @@ ah ah ah ah -ah +bq ah ah ah diff --git a/code/__DEFINES/configuration.dm b/code/__DEFINES/configuration.dm index 9915563cab..8c9b270f43 100644 --- a/code/__DEFINES/configuration.dm +++ b/code/__DEFINES/configuration.dm @@ -24,3 +24,11 @@ #define POLICYCONFIG_ON_PYROCLASTIC_SENTIENT "PYROCLASTIC_SLIME" /// Displayed to pAIs on spawn #define POLICYCONFIG_PAI "PAI_SPAWN" +/// displayed to lavaland elites on spawn, overriding the default if set +#define POLICYCONFIG_ELITE_SPAWN "ELITE_FAUNA_SPAWN" +/// displayed to lavaland elites on sentience potion, overriding the default if set +#define POLICYCONFIG_ELITE_SENTIENCE "ELITE_FAUNA_SENTIENCE" +/// displayed to lavaland elites on winning the fight, overriding the default if set +#define POLICYCONFIG_ELITE_WIN "ELITE_FAUNA_WIN" +/// displayed to prisoners on spawn, overriding the default if set +#define POLICYCONFIG_JOB_PRISONER "JOB_PRISONER" diff --git a/code/_globalvars/lists/typecache.dm b/code/_globalvars/lists/typecache.dm index 1ec3de0bc5..d380816bbf 100644 --- a/code/_globalvars/lists/typecache.dm +++ b/code/_globalvars/lists/typecache.dm @@ -12,3 +12,16 @@ GLOBAL_LIST_INIT(typecache_stack, typecacheof(/obj/item/stack)) GLOBAL_LIST_INIT(typecache_machine_or_structure, typecacheof(list(/obj/machinery, /obj/structure))) GLOBAL_LIST_INIT(freezing_objects, typecacheof(list(/obj/structure/closet/crate/freezer, /obj/structure/closet/secure_closet/freezer, /obj/structure/bodycontainer, /obj/item/autosurgeon, /obj/machinery/smartfridge/organ))) //list of all cold objects, that freeze organs when inside + +GLOBAL_LIST_EMPTY(typecaches) + +/** + * Makes a typecache of a single typecache + * + * Obviously in BYOND we don't have the efficiency around here to have proper enforcement so + * If you use this you better know what you're doing. The list you get back is globally cached and if it's modified, you might break multiple things. + */ +/proc/single_path_typecache_immutable(path) + if(!GLOB.typecaches[path]) + GLOB.typecaches[path] = typecacheof(path) + return GLOB.typecaches[path] diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index 64b8692ccd..7a57e50364 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -331,6 +331,12 @@ name = "Space Diner" description = "Come, traveler of the bluespace planes. Sit, enjoy a drink and take one of the fair maidens for a night. The exit is the way you came in, via that teleporter thingy, but do remember to stay safe." +/datum/map_template/ruin/space/suspicious + id = "helterskelter" + suffix = "skelter.dmm" + name = "Helter Skelter" + description = "You're looking mighty suspicious. Why don't you go and take a seat over in that driver?" + //Space ruins for the station z /datum/map_template/ruin/spacenearstation prefix = "_maps/RandomRuins/SpaceRuinsStation/" diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index bbc493672f..53b0860def 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -17,6 +17,11 @@ /obj/item/dice/d100 ) +/obj/item/storage/dice/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.can_hold = single_path_typecache_immutable(/obj/item/dice) + /obj/item/storage/dice/PopulateContents() new /obj/item/dice/d4(src) new /obj/item/dice/d6(src) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 78a5c9ece9..15fd102878 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -22,7 +22,7 @@ //returns the damage value of the attack after processing the obj's various armor protections /obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration = 0) - if(damage_flag == MELEE && damage_amount < damage_deflection) + if(damage_flag == "melee" && damage_amount < damage_deflection) // TODO: Refactor armor datums and types entirely jfc return 0 switch(damage_type) if(BRUTE) diff --git a/code/modules/events/anomaly.dm b/code/modules/events/anomaly.dm index 438904466c..926ff87c1d 100644 --- a/code/modules/events/anomaly.dm +++ b/code/modules/events/anomaly.dm @@ -24,7 +24,8 @@ /area/holodeck, /area/shuttle, /area/maintenance, - /area/science/test_area) + /area/science/test_area, + /area/commons/cryopod) ) //Subtypes from the above that actually should explode. diff --git a/code/modules/instruments/instrument_data/hardcoded.dm b/code/modules/instruments/instrument_data/hardcoded.dm index 757fea08a8..5db7e8b3bb 100644 --- a/code/modules/instruments/instrument_data/hardcoded.dm +++ b/code/modules/instruments/instrument_data/hardcoded.dm @@ -7,11 +7,11 @@ instrument_flags = INSTRUMENT_LEGACY volume_multiplier = 1 //not as loud as synth'd -/datum/instrument/hardcoded/accordian - name = "Accordian" - id = "accordian" +/datum/instrument/hardcoded/accordion + name = "Accordion" + id = "accordion" legacy_instrument_ext = "mid" - legacy_instrument_path = "accordian" + legacy_instrument_path = "accordion" /datum/instrument/hardcoded/bikehorn name = "Bike Horn" diff --git a/code/modules/instruments/instrument_data/organ.dm b/code/modules/instruments/instrument_data/organ.dm index 25da740998..edf9de9485 100644 --- a/code/modules/instruments/instrument_data/organ.dm +++ b/code/modules/instruments/instrument_data/organ.dm @@ -19,8 +19,8 @@ "60"='sound/instruments/synthesis_samples/organ/crisis_hammond/c4.ogg', "72"='sound/instruments/synthesis_samples/organ/crisis_hammond/c5.ogg') -/datum/instrument/organ/crisis_accordian - name = "Crisis Accordian" +/datum/instrument/organ/crisis_accordion + name = "Crisis Accordion" id = "crack" real_samples = list("36"='sound/instruments/synthesis_samples/organ/crisis_accordian/c2.ogg', "48"='sound/instruments/synthesis_samples/organ/crisis_accordian/c3.ogg', @@ -34,8 +34,8 @@ "60"='sound/instruments/synthesis_samples/organ/crisis_harmonica/c4.ogg', "72"='sound/instruments/synthesis_samples/organ/crisis_harmonica/c5.ogg') -/datum/instrument/organ/crisis_tango_accordian - name = "Crisis Tango Accordian" +/datum/instrument/organ/crisis_tango_accordion + name = "Crisis Tango Accordion" id = "crtango" real_samples = list("36"='sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c2.ogg', "48"='sound/instruments/synthesis_samples/organ/crisis_tangaccordian/c3.ogg', diff --git a/code/modules/jobs/job_types/prisoner.dm b/code/modules/jobs/job_types/prisoner.dm index 2ad2f32537..48c7afe304 100644 --- a/code/modules/jobs/job_types/prisoner.dm +++ b/code/modules/jobs/job_types/prisoner.dm @@ -1,4 +1,4 @@ -datum/job/prisoner +/datum/job/prisoner title = "Prisoner" flag = PRISONER department_head = list("The Security Team") @@ -13,6 +13,15 @@ datum/job/prisoner display_order = JOB_DISPLAY_ORDER_PRISONER +/datum/job/prisoner/after_spawn(mob/living/carbon/human/H, mob/M) + var/list/policies = CONFIG_GET(keyed_list/policy) + var/policy = policies[POLICYCONFIG_JOB_PRISONER] + if(policy) + var/mob/found = (M?.client && M) || (H?.client && H) + to_chat(found, "
!!READ THIS!!
The following is server-specific policy configuration and overrides anything said above if conflicting.") + to_chat(found, "

") + to_chat(found, "[policy]") + /datum/outfit/job/prisoner name = "Prisoner" jobtype = /datum/job/prisoner diff --git a/code/modules/mob/living/living_blocking_parrying.dm b/code/modules/mob/living/living_blocking_parrying.dm index 0ccc03982a..bdc44ab356 100644 --- a/code/modules/mob/living/living_blocking_parrying.dm +++ b/code/modules/mob/living/living_blocking_parrying.dm @@ -166,7 +166,7 @@ GLOBAL_LIST_EMPTY(block_parry_data) /// Clickdelay duration post-parry if you fail to parry an attack var/parry_failed_clickcd_duration = 0 SECONDS /// Parry cooldown post-parry if failed. This is ADDED to parry_cooldown!!! - var/parry_failed_cooldown_duration = 0 SECONDS + var/parry_failed_cooldown_duration = 3.5 SECONDS // Advanced /// Flags added to return value diff --git a/code/modules/mob/living/simple_animal/gremlin/gremlin.dm b/code/modules/mob/living/simple_animal/gremlin/gremlin.dm index 61436cea1c..a6312b9ddf 100644 --- a/code/modules/mob/living/simple_animal/gremlin/gremlin.dm +++ b/code/modules/mob/living/simple_animal/gremlin/gremlin.dm @@ -66,6 +66,7 @@ GLOBAL_LIST(bad_gremlin_items) /mob/living/simple_animal/hostile/gremlin/Initialize() . = ..() AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) + ADD_TRAIT(src, TRAIT_SHOCKIMMUNE, INNATE_TRAIT) access_card = new /obj/item/card/id(src) var/datum/job/captain/C = new /datum/job/captain access_card.access = C.get_access() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm index d677f59440..de6b858f79 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm @@ -176,6 +176,12 @@ While using this makes the system rely on OnFire, it still gives options for tim elitemind = pick(candidates) elitemind.playsound_local(get_turf(elitemind), 'sound/effects/magic.ogg', 40, 0) to_chat(elitemind, "You have been chosen to play as a Lavaland Elite.\nIn a few seconds, you will be summoned on Lavaland as a monster to fight your activator, in a fight to the death.\nYour attacks can be switched using the buttons on the top left of the HUD, and used by clicking on targets or tiles similar to a gun.\nWhile the opponent might have an upper hand with powerful mining equipment and tools, you have great power normally limited by AI mobs.\nIf you want to win, you'll have to use your powers in creative ways to ensure the kill. It's suggested you try using them all as soon as possible.\nShould you win, you'll receive extra information regarding what to do after. Good luck!") + var/list/policies = CONFIG_GET(keyed_list/policy) + var/policy = policies[POLICYCONFIG_ELITE_SPAWN] + if(policy) + to_chat(elitemind, "
!!READ THIS!!
The following is server-specific policy configuration and overrides anything said above if conflicting.") + to_chat(elitemind, "

") + to_chat(elitemind, "[policy]") addtimer(CALLBACK(src, .proc/spawn_elite, elitemind), 100) else visible_message("The stirring stops, and nothing emerges. Perhaps try again later.") @@ -304,6 +310,12 @@ While using this makes the system rely on OnFire, it still gives options for tim to_chat(mychild, "As the life in the activator's eyes fade, the forcefield around you dies out and you feel your power subside.\nDespite this inferno being your home, you feel as if you aren't welcome here anymore.\nWithout any guidance, your purpose is now for you to decide.") to_chat(mychild, "Your max health has been halved, but can now heal by standing on your tumor. Note, it's your only way to heal.\nBear in mind, if anyone interacts with your tumor, you'll be resummoned here to carry out another fight. In such a case, you will regain your full max health.\nAlso, be weary of your fellow inhabitants, they likely won't be happy to see you!") to_chat(mychild, "Note that you are a lavaland monster, and thus not allied to the station. You should not cooperate or act friendly with any station crew unless under extreme circumstances!") + var/list/policies = CONFIG_GET(keyed_list/policy) + var/policy = policies[POLICYCONFIG_ELITE_WIN] + if(policy) + to_chat(mychild, "
!!READ THIS!!
The following is server-specific policy configuration and overrides anything said above if conflicting.") + to_chat(mychild, "

") + to_chat(mychild, "[policy]") /obj/item/tumor_shard name = "tumor shard" @@ -332,6 +344,12 @@ While using this makes the system rely on OnFire, it still gives options for tim E.playsound_local(get_turf(E), 'sound/effects/magic.ogg', 40, 0) to_chat(E, "You have been revived by [user]. While you can't speak to them, you owe [user] a great debt. Assist [user.p_them()] in achieving [user.p_their()] goals, regardless of risk.Note that you now share the loyalties of [user]. You are expected not to intentionally sabotage their faction unless commanded to!") + var/list/policies = CONFIG_GET(keyed_list/policy) + var/policy = policies[POLICYCONFIG_ELITE_SENTIENCE] + if(policy) + to_chat(E, "
!!READ THIS!!
The following is server-specific policy configuration and overrides anything said above if conflicting.") + to_chat(E, "

") + to_chat(E, "[policy]") E.maxHealth = E.maxHealth * 0.5 E.health = E.maxHealth E.desc = "[E.desc] However, this one appears appears less wild in nature, and calmer around people." diff --git a/code/modules/mob/living/simple_animal/hostile/plaguerat.dm b/code/modules/mob/living/simple_animal/hostile/plaguerat.dm index 2b92894317..497359829e 100644 --- a/code/modules/mob/living/simple_animal/hostile/plaguerat.dm +++ b/code/modules/mob/living/simple_animal/hostile/plaguerat.dm @@ -136,7 +136,7 @@ GLOBAL_LIST_EMPTY(plague_rats) if(LAZYLEN(GLOB.plague_rats) >= cap) visible_message("[src] gnaws into its food, [cap] rats are now on the station!") return - var/mob/living/newmouse = new /mob/living/simple_animal/hostile/plaguerat(loc) + new /mob/living/simple_animal/hostile/plaguerat(loc) visible_message("[src] gnaws into its food, attracting another rat!") /mob/living/simple_animal/hostile/plaguerat/proc/exit_vents() diff --git a/code/modules/movespeed/modifiers/mobs.dm b/code/modules/movespeed/modifiers/mobs.dm index 7e857a4e0d..153d7dd973 100644 --- a/code/modules/movespeed/modifiers/mobs.dm +++ b/code/modules/movespeed/modifiers/mobs.dm @@ -113,6 +113,7 @@ multiplicative_slowdown = CRAWLING_ADD_SLOWDOWN movetypes = CRAWLING flags = IGNORE_NOSLOW + priority = 20000 /datum/movespeed_modifier/mob_config_speedmod variable = TRUE diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 3a08a764d3..e66f14da93 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -59,13 +59,13 @@ one though." icon_state = "default_human_l_arm" attack_verb = list("slapped", "punched") - max_damage = 150 + max_damage = 50 disable_threshold = 75 max_stamina_damage = 50 body_zone = BODY_ZONE_L_ARM body_part = ARM_LEFT aux_icons = list(BODY_ZONE_PRECISE_L_HAND = HANDS_PART_LAYER, "l_hand_behind" = BODY_BEHIND_LAYER) - body_damage_coeff = 0.25 + body_damage_coeff = 0.75 held_index = 1 px_x = -6 px_y = 0 @@ -121,12 +121,12 @@ among humans missing their right arm." icon_state = "default_human_r_arm" attack_verb = list("slapped", "punched") - max_damage = 150 + max_damage = 50 disable_threshold = 75 body_zone = BODY_ZONE_R_ARM body_part = ARM_RIGHT aux_icons = list(BODY_ZONE_PRECISE_R_HAND = HANDS_PART_LAYER, "r_hand_behind" = BODY_BEHIND_LAYER) - body_damage_coeff = 0.25 + body_damage_coeff = 0.75 held_index = 2 px_x = 6 px_y = 0 @@ -184,11 +184,11 @@ luck. In this instance, it probably would not have helped." icon_state = "default_human_l_leg" attack_verb = list("kicked", "stomped") - max_damage = 150 + max_damage = 50 disable_threshold = 75 body_zone = BODY_ZONE_L_LEG body_part = LEG_LEFT - body_damage_coeff = 0.25 + body_damage_coeff = 0.75 px_x = -2 px_y = 12 stam_heal_tick = STAM_RECOVERY_LIMB @@ -243,11 +243,10 @@ // alternative spellings of 'pokey' are availible icon_state = "default_human_r_leg" attack_verb = list("kicked", "stomped") - max_damage = 150 - disable_threshold = 75 + max_damage = 50 body_zone = BODY_ZONE_R_LEG body_part = LEG_RIGHT - body_damage_coeff = 0.25 + body_damage_coeff = 0.75 px_x = 2 px_y = 12 max_stamina_damage = 50 diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index a1d9bc1691..7664a191c8 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -10,7 +10,9 @@ /obj/item/toy/cards/deck/unum = 3, /obj/item/cardpack/series_one = 10, /obj/item/dyespray=3, - /obj/item/tcgcard_binder = 5) + /obj/item/tcgcard_binder = 5, + /obj/item/canvas = 3, + /obj/item/toy/crayon/spraycan = 3) contraband = list(/obj/item/dice/fudge = 9) premium = list(/obj/item/melee/skateboard/pro = 3, /obj/item/melee/skateboard/hoverboard = 1) diff --git a/config/spaceRuinBlacklist.txt b/config/spaceRuinBlacklist.txt index 969e4135f6..c62408b90c 100644 --- a/config/spaceRuinBlacklist.txt +++ b/config/spaceRuinBlacklist.txt @@ -53,3 +53,4 @@ #_maps/RandomRuins/SpaceRuins/spacehermit.dmm #_maps/RandomRuins/SpaceRuins/advancedlab.dmm #_maps/RandomRuins/SpaceRuins/spacediner.dmm +#_maps/RandomRuins/SpaceRuins/skelter.dmm diff --git a/html/changelog.html b/html/changelog.html index dabd4e7704..189413b690 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,107 @@ -->
+

27 September 2021

+

zeroisthebiggay updated:

+ + +

25 September 2021

+

buffyuwu updated:

+ + +

24 September 2021

+

zeroisthebiggay updated:

+ + +

23 September 2021

+

KrabSpider updated:

+ +

buffyuwu updated:

+ + +

22 September 2021

+

silicons updated:

+ + +

20 September 2021

+

BlueWildrose updated:

+ +

DeltaFire15 updated:

+ +

Putnam3145 updated:

+ +

buffyuwu updated:

+ +

dapnee updated:

+ +

keronshb updated:

+ +

qweq12yt updated:

+ +

timothyteakettle updated:

+ +

zeroisthebiggay updated:

+ +

18 September 2021

kiwedespars updated:

- -

26 July 2021

-

SandPoot updated:

- - -

24 July 2021

-

MrJWhit updated:

- -

Putnam3145 updated:

- -

cadyn updated:

- - -

23 July 2021

-

silicons updated:

- - -

19 July 2021

-

Arturlang updated:

- -

MrJWhit updated:

- -

SandPoot updated:

- -

WanderingFox95 updated:

- -

YakumoChen updated:

- -

keronshb updated:

- -

timothyteakettle updated:

-
GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index e4e1fba1c6..5f6d3af405 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -30003,3 +30003,79 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. 2021-09-18: kiwedespars: - balance: blacklisted morphine and haloperidol from dart guns +2021-09-20: + BlueWildrose: + - balance: Slime regenerative extracts now require five seconds of wait before they + are used. They add 25 disgust when used. + DeltaFire15: + - bugfix: Catsurgeons should now spawn at more reasonable locations if possible. + - balance: carded AIs can now be converted by conversion sigils (clockcult) + - bugfix: There is now a way to acquire nanite storage protocols (bepis, like the + other protocols), as opposed to them existing with no way to acquire them. + - bugfix: Plastic golems are back to ventcrawler_nude instead of ventcrawler_always + Putnam3145: + - config: monstermos config added, disabled + buffyuwu: + - bugfix: fixed medihound sleeper ui display + - rscadd: Adds 4 redesigned jackets and 2 redesigned shirts to loadout + - bugfix: Holoparasites no long rename and recolor on relog + dapnee: + - bugfix: attaches an air vent that was just there on the AI sat, changes some areas + to what they'd logically be + keronshb: + - bugfix: Plague Rats will no longer spawn thousands of dirt decals + - bugfix: Plague Rats will no longer spawn thousands of corpses + - bugfix: Plague Rats can't spawn or transform off station z anymore + - bugfix: Plague Rats shouldn't explosively grow instantly + - bugfix: Plague Rats won't spawn infinite miasma anymore. + - balance: Plague Rats health is now 100. + - balance: Plague Rats can now ventcrawl through everything to prevent farming. + - bugfix: Slaughter Demons Slam will now wound again on hit. + - balance: Damage for demons back up to 30 + - balance: 'Wound Bonus for demons now at 0. image_add: Adds a sprite for the action + bar' + - refactor: Changed the CTRL+SHIFT Click to an action button. People can see the + cooldown now too. + - rscadd: PAIs can be emagged to reset master + qweq12yt: + - bugfix: Fixed space heaters not being able to be interacted/turned on in non powered + areas + timothyteakettle: + - bugfix: removes passkey from access circuits as its not used anymore + - rscadd: a new mild trauma, **[REDACTED]** + zeroisthebiggay: + - balance: glass has do_after + - bugfix: box perma has power + - bugfix: missing madness mask sprites + - balance: The Spider Clan has recently taken up the Space Ninja project again along + with the Syndicate. Space Ninjas have been drastically changed as a result, + becoming much weaker and more stealth oriented. As a result of cutting costs + per ninja, more ninjas were able to be hired. Expect to see them around more + often. + - bugfix: prisoners cannot latejoin anymore + - bugfix: bone satchel onmob sprites + - rscadd: new tips + - rscdel: old tips + - imageadd: all medipens get inhands + - rscadd: some more brainhurt lines +2021-09-22: + silicons: + - bugfix: dice bags can only hold dice + - rscdel: limb damage changes reverted + - bugfix: crawling can't be adrenals'd +2021-09-23: + KrabSpider: + - code_imp: cryogenics ain't a candidate for anomaly spawns anymore. + buffyuwu: + - rscadd: canvas and spray can are now sold in the fun vendor +2021-09-24: + zeroisthebiggay: + - balance: gremlins become shock immune +2021-09-25: + buffyuwu: + - bugfix: fixes accordions +2021-09-27: + zeroisthebiggay: + - bugfix: helter skelter actually spawns + - bugfix: 'code\modules\mob\living\simple_animal\hostile\plaguerat.dm:139:warning: + newmouse: variable defined but not used' diff --git a/html/changelogs/AutoChangeLog-pr-14219.yml b/html/changelogs/AutoChangeLog-pr-14219.yml deleted file mode 100644 index 1bef269e5a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-14219.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - balance: "The Spider Clan has recently taken up the Space Ninja project again along with the Syndicate. Space Ninjas have been drastically changed as a result, becoming much weaker and more stealth oriented. As a result of cutting costs per ninja, more ninjas were able to be hired. Expect to see them around more often." diff --git a/html/changelogs/AutoChangeLog-pr-15074.yml b/html/changelogs/AutoChangeLog-pr-15074.yml deleted file mode 100644 index 5da0c10a10..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15074.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "keronshb" -delete-after: True -changes: - - rscadd: "PAIs can be emagged to reset master" diff --git a/html/changelogs/AutoChangeLog-pr-15084.yml b/html/changelogs/AutoChangeLog-pr-15084.yml deleted file mode 100644 index 6c99cc159d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15084.yml +++ /dev/null @@ -1,10 +0,0 @@ -author: "keronshb" -delete-after: True -changes: - - bugfix: "Plague Rats will no longer spawn thousands of dirt decals" - - bugfix: "Plague Rats will no longer spawn thousands of corpses" - - bugfix: "Plague Rats can't spawn or transform off station z anymore" - - bugfix: "Plague Rats shouldn't explosively grow instantly" - - bugfix: "Plague Rats won't spawn infinite miasma anymore." - - balance: "Plague Rats health is now 100." - - balance: "Plague Rats can now ventcrawl through everything to prevent farming." diff --git a/html/changelogs/AutoChangeLog-pr-15094.yml b/html/changelogs/AutoChangeLog-pr-15094.yml deleted file mode 100644 index 21dcf75960..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15094.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - balance: "glass has do_after" diff --git a/html/changelogs/AutoChangeLog-pr-15119.yml b/html/changelogs/AutoChangeLog-pr-15119.yml deleted file mode 100644 index ee7100fd9b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15119.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "keronshb" -delete-after: True -changes: - - bugfix: "Slaughter Demons Slam will now wound again on hit." - - balance: "Damage for demons back up to 30" - - balance: "Wound Bonus for demons now at 0. -image_add: Adds a sprite for the action bar" - - refactor: "Changed the CTRL+SHIFT Click to an action button. People can see the cooldown now too." diff --git a/html/changelogs/AutoChangeLog-pr-15133.yml b/html/changelogs/AutoChangeLog-pr-15133.yml deleted file mode 100644 index 3bc023735f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15133.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - rscadd: "new tips" - - rscdel: "old tips" diff --git a/html/changelogs/AutoChangeLog-pr-15134.yml b/html/changelogs/AutoChangeLog-pr-15134.yml deleted file mode 100644 index 2a71bd9aa0..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15134.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - rscadd: "some more brainhurt lines" diff --git a/html/changelogs/AutoChangeLog-pr-15137.yml b/html/changelogs/AutoChangeLog-pr-15137.yml deleted file mode 100644 index eef278a6ea..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15137.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "DeltaFire15" -delete-after: True -changes: - - balance: "carded AIs can now be converted by conversion sigils (clockcult)" diff --git a/html/changelogs/AutoChangeLog-pr-15139.yml b/html/changelogs/AutoChangeLog-pr-15139.yml deleted file mode 100644 index 001897e223..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15139.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "DeltaFire15" -delete-after: True -changes: - - bugfix: "Catsurgeons should now spawn at more reasonable locations if possible." diff --git a/html/changelogs/AutoChangeLog-pr-15143.yml b/html/changelogs/AutoChangeLog-pr-15143.yml deleted file mode 100644 index d4e2141937..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15143.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - bugfix: "box perma has power" diff --git a/html/changelogs/AutoChangeLog-pr-15144.yml b/html/changelogs/AutoChangeLog-pr-15144.yml deleted file mode 100644 index 860f1a60cc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15144.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - bugfix: "bone satchel onmob sprites" diff --git a/html/changelogs/AutoChangeLog-pr-15147.yml b/html/changelogs/AutoChangeLog-pr-15147.yml deleted file mode 100644 index 09f98404fd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15147.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - config: "monstermos config added, disabled" diff --git a/html/changelogs/AutoChangeLog-pr-15154.yml b/html/changelogs/AutoChangeLog-pr-15154.yml deleted file mode 100644 index 756cc2bfb7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15154.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "qweq12yt" -delete-after: True -changes: - - bugfix: "Fixed space heaters not being able to be interacted/turned on in non powered areas" diff --git a/html/changelogs/AutoChangeLog-pr-15156.yml b/html/changelogs/AutoChangeLog-pr-15156.yml deleted file mode 100644 index 4d74820ca3..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15156.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - bugfix: "missing madness mask sprites" diff --git a/html/changelogs/AutoChangeLog-pr-15157.yml b/html/changelogs/AutoChangeLog-pr-15157.yml deleted file mode 100644 index b3f0b8eaba..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15157.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "DeltaFire15" -delete-after: True -changes: - - bugfix: "There is now a way to acquire nanite storage protocols (bepis, like the other protocols), as opposed to them existing with no way to acquire them." diff --git a/html/changelogs/AutoChangeLog-pr-15160.yml b/html/changelogs/AutoChangeLog-pr-15160.yml deleted file mode 100644 index da0d68f52f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15160.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "timothyteakettle" -delete-after: True -changes: - - bugfix: "removes passkey from access circuits as its not used anymore" diff --git a/html/changelogs/AutoChangeLog-pr-15162.yml b/html/changelogs/AutoChangeLog-pr-15162.yml deleted file mode 100644 index 926f0898d1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15162.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - bugfix: "prisoners cannot latejoin anymore" diff --git a/html/changelogs/AutoChangeLog-pr-15163.yml b/html/changelogs/AutoChangeLog-pr-15163.yml deleted file mode 100644 index 3fe5ba69ee..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15163.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "buffyuwu" -delete-after: True -changes: - - rscadd: "Adds 4 redesigned jackets and 2 redesigned shirts to loadout" diff --git a/html/changelogs/AutoChangeLog-pr-15167.yml b/html/changelogs/AutoChangeLog-pr-15167.yml deleted file mode 100644 index 1c13dfc56f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15167.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "BlueWildrose" -delete-after: True -changes: - - balance: "Slime regenerative extracts now require five seconds of wait before they are used. They add 25 disgust when used." diff --git a/html/changelogs/AutoChangeLog-pr-15168.yml b/html/changelogs/AutoChangeLog-pr-15168.yml deleted file mode 100644 index 4f040b4580..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15168.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "dapnee" -delete-after: True -changes: - - bugfix: "attaches an air vent that was just there on the AI sat, changes some areas to what they'd logically be" diff --git a/html/changelogs/AutoChangeLog-pr-15169.yml b/html/changelogs/AutoChangeLog-pr-15169.yml deleted file mode 100644 index f3af23ac39..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15169.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "timothyteakettle" -delete-after: True -changes: - - rscadd: "a new mild trauma, **[REDACTED]**" diff --git a/html/changelogs/AutoChangeLog-pr-15171.yml b/html/changelogs/AutoChangeLog-pr-15171.yml deleted file mode 100644 index 958d61e87c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15171.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "DeltaFire15" -delete-after: True -changes: - - bugfix: "Plastic golems are back to ventcrawler_nude instead of ventcrawler_always" diff --git a/html/changelogs/AutoChangeLog-pr-15174.yml b/html/changelogs/AutoChangeLog-pr-15174.yml deleted file mode 100644 index 79b3b9400f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15174.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "buffyuwu" -delete-after: True -changes: - - bugfix: "Holoparasites no long rename and recolor on relog" diff --git a/html/changelogs/AutoChangeLog-pr-15176.yml b/html/changelogs/AutoChangeLog-pr-15176.yml deleted file mode 100644 index 3335997a85..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15176.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "buffyuwu" -delete-after: True -changes: - - bugfix: "fixed medihound sleeper ui display" diff --git a/html/changelogs/AutoChangeLog-pr-15178.yml b/html/changelogs/AutoChangeLog-pr-15178.yml deleted file mode 100644 index 3f4debbc45..0000000000 --- a/html/changelogs/AutoChangeLog-pr-15178.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - imageadd: "all medipens get inhands" diff --git a/html/changelogs/AutoChangeLog-pr-15210.yml b/html/changelogs/AutoChangeLog-pr-15210.yml new file mode 100644 index 0000000000..1dae3adf10 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-15210.yml @@ -0,0 +1,5 @@ +author: "zeroisthebiggay" +delete-after: True +changes: + - balance: "helter skelter loot insanity" + - bugfix: "helter skelter comms insanity"