From 892b73e9c689037139ab1715baecffc52f8aaca9 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Sun, 2 Sep 2018 02:41:01 -0400 Subject: [PATCH 01/20] updates the title screen config dir to account for the 7:5 lobby --- config/title_screens/README.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/title_screens/README.txt b/config/title_screens/README.txt index 6e7bf166f8..759a8aa61b 100644 --- a/config/title_screens/README.txt +++ b/config/title_screens/README.txt @@ -1,7 +1,7 @@ The enclosed images folder holds the image files used as the title screen for the game. All common formats such as PNG, JPG, and GIF are supported. Byond's DMI format is also supported, but if you use a DMI only include one image per file and do not give it an icon_state (the text label below the image). -Keep in mind that the area a title screen fills is a 480px square so you should scale/crop source images to these dimensions first. +Keep in mind that the area a title screen fills is a 672x480px rectangle, so you should scale/crop source images to these dimensions first. The game won't scale these images for you, so smaller images will not fill the screen and larger ones will be cut off. Using unnecessarily huge images can cause client side lag and should be avoided. Extremely large GIFs should preferentially be converted to DMIs. @@ -47,4 +47,4 @@ Rare Titles: Rare titles are a just for fun feature where they will only have a 1% chance of appear in in the title screen pool of a given round. Add the phrase "rare+" to the beginning of the name. Again note there are no spaces. A title cannot be rare title and a map title at the same time. -An example of a rare title name is "rare+explosion" \ No newline at end of file +An example of a rare title name is "rare+explosion" From abb8fc2627fb1dfd2d5dc0cdba78468f63b157de Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Sep 2018 19:30:50 -0700 Subject: [PATCH 02/20] Update kinetic_crusher.dm --- code/modules/mining/equipment/kinetic_crusher.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 7cf16f6064..dec00c48a6 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -17,6 +17,7 @@ throw_speed = 4 light_range = 5 light_power = 1 + item_weight = 2 armour_penetration = 10 materials = list(MAT_METAL=1150, MAT_GLASS=2075) hitsound = 'sound/weapons/bladeslice.ogg' @@ -116,7 +117,7 @@ L.apply_damage(detonation_damage, BRUTE, blocked = def_check) if(user && lavaland_equipment_pressure_check(get_turf(user))) //CIT CHANGE - makes sure below only happens in low pressure environments - user.adjustStaminaLoss(-13)//CIT CHANGE - makes crushers heal stamina + user.adjustStaminaLoss(-30)//CIT CHANGE - makes crushers heal stamina /obj/item/twohanded/required/kinetic_crusher/proc/Recharge() if(!charged) From 8fb6127bfefff1df052a8e6f072f97b87af896d4 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 6 Sep 2018 20:00:59 -0700 Subject: [PATCH 03/20] Update kinetic_crusher.dm --- code/modules/mining/equipment/kinetic_crusher.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index dec00c48a6..42a61608c3 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -15,9 +15,8 @@ force_wielded = 20 throwforce = 5 throw_speed = 4 - light_range = 5 - light_power = 1 - item_weight = 2 + light_range = 7 + light_power = 2 armour_penetration = 10 materials = list(MAT_METAL=1150, MAT_GLASS=2075) hitsound = 'sound/weapons/bladeslice.ogg' From 0ce450eab88521683e86dbbfc4a1474743d90187 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 2 Oct 2018 19:36:21 -0400 Subject: [PATCH 04/20] tgstation/tgstation#40662 - Stops using the rad insulation component to provide default rad insulation features in order to save a bit of memory --- code/__DEFINES/components.dm | 3 ++- code/__DEFINES/flags.dm | 4 +++ code/__HELPERS/radiation.dm | 4 +-- code/_globalvars/bitfields.dm | 4 +++ code/datums/components/mirage_border.dm | 2 +- code/datums/components/rad_insulation.dm | 3 ++- code/datums/radiation_wave.dm | 9 ++++--- code/game/atoms.dm | 6 +++-- code/game/machinery/doors/airlock.dm | 4 ++- code/game/objects/structures/false_walls.dm | 6 ++--- code/game/objects/structures/girders.dm | 6 ++--- code/game/objects/structures/grille.dm | 5 +--- code/game/objects/structures/holosign.dm | 8 +++--- code/game/objects/structures/mineral_doors.dm | 25 ++++++------------- code/game/objects/structures/signs/_signs.dm | 5 +--- code/game/objects/structures/window.dm | 6 ++--- code/game/turfs/closed.dm | 6 ++--- code/game/turfs/simulated/wall/reinf_walls.dm | 7 ++---- code/modules/clothing/suits/utility.dm | 12 ++------- code/modules/mob/living/silicon/silicon.dm | 5 +--- code/modules/power/singularity/collector.dm | 7 ++---- code/modules/recycling/disposal/bin.dm | 5 +--- code/modules/recycling/disposal/holder.dm | 5 +--- code/modules/recycling/disposal/outlet.dm | 5 +--- code/modules/recycling/disposal/pipe.dm | 5 +--- 25 files changed, 60 insertions(+), 97 deletions(-) diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index c630fd0b2f..3338fc1cda 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -69,6 +69,7 @@ #define COMSIG_ATOM_RAD_CONTAMINATING "atom_rad_contam" //from base of datum/radiation_wave/radiate(): (strength) #define COMPONENT_BLOCK_CONTAMINATION 1 #define COMSIG_ATOM_RAD_WAVE_PASSING "atom_rad_wave_pass" //from base of datum/radiation_wave/check_obstructions(): (datum/radiation_wave, width) + #define COMPONENT_RAD_WAVE_HANDLED 1 #define COMSIG_ATOM_CANREACH "atom_can_reach" //from internal loop in atom/movable/proc/CanReach(): (list/next) #define COMPONENT_BLOCK_REACH 1 #define COMSIG_ATOM_SCREWDRIVER_ACT "atom_screwdriver_act" //from base of atom/screwdriver_act(): (mob/living/user, obj/item/I) @@ -257,4 +258,4 @@ //Ouch my toes! #define CALTROP_BYPASS_SHOES 1 -#define CALTROP_IGNORE_WALKERS 2 \ No newline at end of file +#define CALTROP_IGNORE_WALKERS 2 diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index edd77ecf6b..6862aab5f7 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -78,3 +78,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define EMP_PROTECT_SELF (1<<0) #define EMP_PROTECT_CONTENTS (1<<1) #define EMP_PROTECT_WIRES (1<<2) + +// radiation +#define RAD_PROTECT_CONTENTS (1<<0) +#define RAD_NO_CONTAMINATE (1<<1) diff --git a/code/__HELPERS/radiation.dm b/code/__HELPERS/radiation.dm index a570ab43ba..e082be7d1f 100644 --- a/code/__HELPERS/radiation.dm +++ b/code/__HELPERS/radiation.dm @@ -18,7 +18,7 @@ if(ignored_things[thing.type]) continue . += thing - if(SEND_SIGNAL(thing, COMSIG_ATOM_RAD_PROBE) & COMPONENT_BLOCK_RADIATION) + if((thing.rad_flags & RAD_PROTECT_CONTENTS) || (SEND_SIGNAL(thing, COMSIG_ATOM_RAD_PROBE) & COMPONENT_BLOCK_RADIATION)) continue processing_list += thing.contents @@ -42,4 +42,4 @@ if(log) var/turf/_source_T = isturf(source) ? source : get_turf(source) log_game("Radiation pulse with intensity: [intensity] and range modifier: [range_modifier] in [loc_name(_source_T)] ") - return TRUE \ No newline at end of file + return TRUE diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 0760b81927..542f6dab40 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -167,4 +167,8 @@ GLOBAL_LIST_INIT(bitfields, list( "car_traits" = list( "CAN_KIDNAP" = CAN_KIDNAP, ), + "rad_flags" = list( + "RAD_PROTECT_CONTENTS" = RAD_PROTECT_CONTENTS, + "RAD_NO_CONTAMINATE" = RAD_NO_CONTAMINATE, + ), )) diff --git a/code/datums/components/mirage_border.dm b/code/datums/components/mirage_border.dm index f435a21f49..2e6f8f79f6 100644 --- a/code/datums/components/mirage_border.dm +++ b/code/datums/components/mirage_border.dm @@ -4,7 +4,7 @@ /datum/component/mirage_border/Initialize(turf/target, direction, range=world.view) if(!isturf(parent)) return COMPONENT_INCOMPATIBLE - if(!target || !istype(target) || !direction) + if(!target || !direction) . = COMPONENT_INCOMPATIBLE CRASH("[type] improperly instanced with the following args: target=\[[target]\], direction=\[[direction]\], range=\[[range]\]") diff --git a/code/datums/components/rad_insulation.dm b/code/datums/components/rad_insulation.dm index 1ffc141a60..73d8c29440 100644 --- a/code/datums/components/rad_insulation.dm +++ b/code/datums/components/rad_insulation.dm @@ -21,4 +21,5 @@ return COMPONENT_BLOCK_CONTAMINATION /datum/component/rad_insulation/proc/rad_pass(datum/source, datum/radiation_wave/wave, width) - wave.intensity = wave.intensity*(1-((1-amount)/width)) // The further out the rad wave goes the less it's affected by insulation (larger width) \ No newline at end of file + wave.intensity = wave.intensity*(1-((1-amount)/width)) // The further out the rad wave goes the less it's affected by insulation (larger width) + return COMPONENT_RAD_WAVE_HANDLED diff --git a/code/datums/radiation_wave.dm b/code/datums/radiation_wave.dm index 6fa1e2a476..5fb777f9c5 100644 --- a/code/datums/radiation_wave.dm +++ b/code/datums/radiation_wave.dm @@ -81,7 +81,10 @@ var/atom/thing = atoms[k] if(!thing) continue - SEND_SIGNAL(thing, COMSIG_ATOM_RAD_WAVE_PASSING, src, width) + if (SEND_SIGNAL(thing, COMSIG_ATOM_RAD_WAVE_PASSING, src, width) & COMPONENT_RAD_WAVE_HANDLED) + continue + if (thing.rad_insulation != RAD_NO_INSULATION) + intensity *= (1-((1-thing.rad_insulation)/width)) /datum/radiation_wave/proc/radiate(list/atoms, strength) var/contamination_chance = (strength-RAD_MINIMUM_CONTAMINATION) * RAD_CONTAMINATION_CHANCE_COEFFICIENT * min(1, 1/(steps*range_modifier)) @@ -92,7 +95,7 @@ thing.rad_act(strength) // This list should only be for types which don't get contaminated but you want to look in their contents - // If you don't want to look in their contents and you don't want to rad_act them: + // If you don't want to look in their contents and you don't want to rad_act them: // modify the ignored_things list in __HELPERS/radiation.dm instead var/static/list/blacklisted = typecacheof(list( /turf, @@ -109,4 +112,4 @@ if(SEND_SIGNAL(thing, COMSIG_ATOM_RAD_CONTAMINATING, strength) & COMPONENT_BLOCK_CONTAMINATION) continue var/rad_strength = (strength-RAD_MINIMUM_CONTAMINATION) * RAD_CONTAMINATION_STR_COEFFICIENT - thing.AddComponent(/datum/component/radioactive, rad_strength, source) \ No newline at end of file + thing.AddComponent(/datum/component/radioactive, rad_strength, source) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 2af31607ea..48596a0b6d 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -32,6 +32,9 @@ var/list/filter_data //For handling persistent filters + var/rad_flags = NONE // Will move to flags_1 when i can be arsed to + var/rad_insulation = RAD_NO_INSULATION + /atom/New(loc, ...) //atom creation method that preloads variables at creation if(GLOB.use_preloader && (src.type == GLOB._preloader.target_path))//in case the instanciated atom is creating other atoms in New() @@ -697,10 +700,9 @@ Proc for attack log creation, because really why not /atom/movable/proc/get_filter(name) if(filter_data && filter_data[name]) return filters[filter_data.Find(name)] - + /atom/movable/proc/remove_filter(name) if(filter_data[name]) filter_data -= name update_filters() return TRUE - \ No newline at end of file diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 948a62de61..7188fbc50e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -95,6 +95,9 @@ var/air_tight = FALSE //TRUE means density will be set as soon as the door begins to close var/prying_so_hard = FALSE + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE + rad_insulation = RAD_MEDIUM_INSULATION + var/static/list/airlock_overlays = list() /obj/machinery/door/airlock/Initialize() @@ -152,7 +155,6 @@ /obj/machinery/door/airlock/ComponentInitialize() . = ..() AddComponent(/datum/component/ntnet_interface) - AddComponent(/datum/component/rad_insulation, RAD_MEDIUM_INSULATION) /obj/machinery/door/airlock/proc/update_other_id() for(var/obj/machinery/door/airlock/A in GLOB.airlocks) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 5878b569c3..d52ec81a05 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -24,6 +24,8 @@ smooth = SMOOTH_TRUE can_be_unanchored = FALSE CanAtmosPass = ATMOS_PASS_DENSITY + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE + rad_insulation = RAD_MEDIUM_INSULATION var/mineral = /obj/item/stack/sheet/metal var/mineral_amount = 2 var/walltype = /turf/closed/wall @@ -34,10 +36,6 @@ . = ..() air_update_turf(TRUE) -/obj/structure/falsewall/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_MEDIUM_INSULATION) - /obj/structure/falsewall/ratvar_act() new /obj/structure/falsewall/brass(loc) qdel(src) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index b319aab537..cd87075258 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -9,10 +9,8 @@ var/girderpasschance = 20 // percentage chance that a projectile passes through the girder. var/can_displace = TRUE //If the girder can be moved around by wrenching it max_integrity = 200 - -/obj/structure/girder/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_VERY_LIGHT_INSULATION) + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE + rad_insulation = RAD_VERY_LIGHT_INSULATION /obj/structure/girder/examine(mob/user) . = ..() diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 93ce26e0ae..6fac5da2a5 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -16,10 +16,7 @@ var/rods_broken = TRUE var/grille_type = null var/broken_type = /obj/structure/grille/broken - -/obj/structure/grille/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/structure/grille/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm index c5c8dd3c68..609384cdda 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -63,10 +63,8 @@ /obj/structure/holosign/barrier/engineering icon_state = "holosign_engi" - -/obj/structure/holosign/barrier/engineering/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_LIGHT_INSULATION) + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE + rad_insulation = RAD_LIGHT_INSULATION /obj/structure/holosign/barrier/atmos name = "holo firelock" @@ -168,4 +166,4 @@ var/mob/living/M = AM M.electrocute_act(15,"Energy Barrier", safety=1) shockcd = TRUE - addtimer(CALLBACK(src, .proc/cooldown), 5) \ No newline at end of file + addtimer(CALLBACK(src, .proc/cooldown), 5) diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index c3316f2568..3c9b70e967 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -21,15 +21,14 @@ var/openSound = 'sound/effects/stonedoor_openclose.ogg' var/closeSound = 'sound/effects/stonedoor_openclose.ogg' CanAtmosPass = ATMOS_PASS_DENSITY + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE + rad_insulation = RAD_MEDIUM_INSULATION /obj/structure/mineral_door/Initialize() . = ..() initial_state = icon_state air_update_turf(TRUE) -/obj/structure/mineral_door/ComponentInitialize() - AddComponent(/datum/component/rad_insulation, RAD_MEDIUM_INSULATION) - /obj/structure/mineral_door/Move() var/turf/T = loc . = ..() @@ -150,17 +149,13 @@ icon_state = "silver" sheetType = /obj/item/stack/sheet/mineral/silver max_integrity = 300 - -/obj/structure/mineral_door/silver/ComponentInitialize() - AddComponent(/datum/component/rad_insulation, RAD_HEAVY_INSULATION) + rad_insulation = RAD_HEAVY_INSULATION /obj/structure/mineral_door/gold name = "gold door" icon_state = "gold" sheetType = /obj/item/stack/sheet/mineral/gold - -/obj/structure/mineral_door/gold/ComponentInitialize() - AddComponent(/datum/component/rad_insulation, RAD_HEAVY_INSULATION) + rad_insulation = RAD_HEAVY_INSULATION /obj/structure/mineral_door/uranium name = "uranium door" @@ -180,9 +175,7 @@ /obj/structure/mineral_door/transparent opacity = FALSE - -/obj/structure/mineral_door/transparent/ComponentInitialize() - AddComponent(/datum/component/rad_insulation, RAD_VERY_LIGHT_INSULATION) + rad_insulation = RAD_VERY_LIGHT_INSULATION /obj/structure/mineral_door/transparent/Close() ..() @@ -218,9 +211,7 @@ icon_state = "diamond" sheetType = /obj/item/stack/sheet/mineral/diamond max_integrity = 1000 - -/obj/structure/mineral_door/transparent/diamond/ComponentInitialize() - AddComponent(/datum/component/rad_insulation, RAD_EXTREME_INSULATION) + rad_insulation = RAD_EXTREME_INSULATION /obj/structure/mineral_door/wood name = "wood door" @@ -230,9 +221,7 @@ sheetType = /obj/item/stack/sheet/mineral/wood resistance_flags = FLAMMABLE max_integrity = 200 - -/obj/structure/mineral_door/wood/ComponentInitialize() - AddComponent(/datum/component/rad_insulation, RAD_VERY_LIGHT_INSULATION) + rad_insulation = RAD_VERY_LIGHT_INSULATION /obj/structure/mineral_door/paperframe name = "paper frame door" diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index 56b43a289b..84add2f65f 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -7,10 +7,7 @@ max_integrity = 100 armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) var/buildable_sign = 1 //unwrenchable and modifiable - -/obj/structure/sign/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) // Since this is on a wall if it becomes irradiated it will smuggle the radiation past the wall + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/structure/sign/basic name = "blank sign" diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 3dcf91ae8f..a26d57e3e1 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -25,7 +25,8 @@ var/real_explosion_block //ignore this, just use explosion_block var/breaksound = "shatter" var/hitsound = 'sound/effects/Glasshit.ogg' - var/rad_insulation = RAD_VERY_LIGHT_INSULATION + rad_insulation = RAD_VERY_LIGHT_INSULATION + rad_flags = RAD_PROTECT_CONTENTS /obj/structure/window/examine(mob/user) ..() @@ -63,7 +64,6 @@ /obj/structure/window/ComponentInitialize() . = ..() - AddComponent(/datum/component/rad_insulation, rad_insulation, TRUE, FALSE) AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated),CALLBACK(src,.proc/after_rotation)) /obj/structure/window/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) @@ -735,4 +735,4 @@ update_icon() return ..() - update_icon() \ No newline at end of file + update_icon() diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 578232fba0..2165dbd8db 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -3,10 +3,8 @@ opacity = 1 density = TRUE blocks_air = 1 - -/turf/closed/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_MEDIUM_INSULATION) + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE + rad_insulation = RAD_MEDIUM_INSULATION /turf/closed/AfterChange() . = ..() diff --git a/code/game/turfs/simulated/wall/reinf_walls.dm b/code/game/turfs/simulated/wall/reinf_walls.dm index c667714273..d52a3bcc23 100644 --- a/code/game/turfs/simulated/wall/reinf_walls.dm +++ b/code/game/turfs/simulated/wall/reinf_walls.dm @@ -12,10 +12,7 @@ sheet_amount = 1 girder_type = /obj/structure/girder/reinforced explosion_block = 2 - -/turf/closed/wall/r_wall/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_HEAVY_INSULATION) + rad_insulation = RAD_HEAVY_INSULATION /turf/closed/wall/r_wall/deconstruction_hints(mob/user) switch(d_state) @@ -229,4 +226,4 @@ /turf/closed/wall/r_wall/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) if(the_rcd.canRturf) - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index c233ce414d..1748813f56 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -126,10 +126,7 @@ equip_delay_other = 60 flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH resistance_flags = NONE - -/obj/item/clothing/head/radiation/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE) + rad_flags = RAD_PROTECT_CONTENTS /obj/item/clothing/suit/radiation name = "radiation suit" @@ -148,9 +145,4 @@ equip_delay_other = 60 flags_inv = HIDEJUMPSUIT resistance_flags = NONE - -/obj/item/clothing/suit/radiation/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, FALSE) - // Just don't want things to be irradiated inside this - // Except things on the mob aren't even inside the suit so ehhhhhh + rad_flags = RAD_PROTECT_CONTENTS diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 0e69db8f51..d0e3fc8b1c 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -11,6 +11,7 @@ weather_immunities = list("ash") possible_a_intents = list(INTENT_HELP, INTENT_HARM) mob_biotypes = list(MOB_ROBOTIC) + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE var/datum/ai_laws/laws = null//Now... THEY ALL CAN ALL HAVE LAWS var/last_lawchange_announce = 0 @@ -52,10 +53,6 @@ diag_hud_set_status() diag_hud_set_health() -/mob/living/silicon/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION, TRUE, TRUE) - /mob/living/silicon/med_hud_set_health() return //we use a different hud diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 4fe77def51..3b9c3a549b 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -26,14 +26,11 @@ var/bitcoinproduction_drain = 0.15 var/bitcoinmining = FALSE + rad_insulation = RAD_EXTREME_INSULATION /obj/machinery/power/rad_collector/anchored anchored = TRUE -/obj/machinery/power/rad_collector/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_EXTREME_INSULATION, FALSE, FALSE) - /obj/machinery/power/rad_collector/Destroy() return ..() @@ -234,4 +231,4 @@ #undef RAD_COLLECTOR_COEFFICIENT #undef RAD_COLLECTOR_STORED_OUT #undef RAD_COLLECTOR_MINING_CONVERSION_RATE -#undef RAD_COLLECTOR_OUTPUT \ No newline at end of file +#undef RAD_COLLECTOR_OUTPUT diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index fd98c54b81..871fd32b16 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -10,6 +10,7 @@ resistance_flags = FIRE_PROOF interaction_flags_machine = INTERACT_MACHINE_OPEN | INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON obj_flags = CAN_BE_HIT | USES_TGUI + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE var/datum/gas_mixture/air_contents // internal reservoir var/full_pressure = FALSE var/pressure_charging = TRUE @@ -42,10 +43,6 @@ return INITIALIZE_HINT_LATELOAD //we need turfs to have air -/obj/machinery/disposal/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) - /obj/machinery/disposal/proc/trunk_check() trunk = locate() in loc if(!trunk) diff --git a/code/modules/recycling/disposal/holder.dm b/code/modules/recycling/disposal/holder.dm index 2c0a6aa646..726149ce24 100644 --- a/code/modules/recycling/disposal/holder.dm +++ b/code/modules/recycling/disposal/holder.dm @@ -7,6 +7,7 @@ invisibility = INVISIBILITY_MAXIMUM resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF dir = NONE + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE var/datum/gas_mixture/gas // gas used to flush, will appear at exit point var/active = FALSE // true if the holder is moving, otherwise inactive var/count = 1000 // can travel 1000 steps before going inactive (in case of loops) @@ -14,10 +15,6 @@ var/tomail = FALSE // contains wrapped package var/hasmob = FALSE // contains a mob -/obj/structure/disposalholder/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) - /obj/structure/disposalholder/Destroy() QDEL_NULL(gas) active = FALSE diff --git a/code/modules/recycling/disposal/outlet.dm b/code/modules/recycling/disposal/outlet.dm index d7a2d5f820..7655988c8f 100644 --- a/code/modules/recycling/disposal/outlet.dm +++ b/code/modules/recycling/disposal/outlet.dm @@ -6,6 +6,7 @@ icon_state = "outlet" density = TRUE anchored = TRUE + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE var/active = FALSE var/turf/target // this will be where the output objects are 'thrown' to. var/obj/structure/disposalpipe/trunk/trunk // the attached pipe trunk @@ -28,10 +29,6 @@ if(trunk) trunk.linked = src // link the pipe trunk to self -/obj/structure/disposaloutlet/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) - /obj/structure/disposaloutlet/Destroy() if(trunk) trunk.linked = null diff --git a/code/modules/recycling/disposal/pipe.dm b/code/modules/recycling/disposal/pipe.dm index bc073d5e32..6c269e44be 100644 --- a/code/modules/recycling/disposal/pipe.dm +++ b/code/modules/recycling/disposal/pipe.dm @@ -12,6 +12,7 @@ max_integrity = 200 armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30) layer = DISPOSAL_PIPE_LAYER // slightly lower than wires and other pipes + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE var/dpdir = NONE // bitmask of pipe directions var/initialize_dirs = NONE // bitflags of pipe directions added on init, see \code\_DEFINES\pipe_construction.dm var/flip_type // If set, the pipe is flippable and becomes this type when flipped @@ -42,10 +43,6 @@ dpdir |= turn(dir, 180) update() -/obj/structure/disposalpipe/ComponentInitialize() - . = ..() - AddComponent(/datum/component/rad_insulation, RAD_NO_INSULATION) - // pipe is deleted // ensure if holder is present, it is expelled /obj/structure/disposalpipe/Destroy() From 7825905a826816ba39de54b3900e42389bea9382 Mon Sep 17 00:00:00 2001 From: Poojawa Date: Wed, 3 Oct 2018 15:16:27 -0500 Subject: [PATCH 05/20] Probably fixes some dress oddities --- code/modules/clothing/under/miscellaneous.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index c3e0cf2b85..0ed6395b15 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -466,6 +466,7 @@ item_color = "black_tango" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE + body_parts_covered = CHEST|GROIN /obj/item/clothing/under/stripeddress name = "striped dress" @@ -495,6 +496,7 @@ item_color = "red_evening_gown" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE + body_parts_covered = CHEST|GROIN /obj/item/clothing/under/maid name = "maid costume" From 595d4c3504a7996e1ef0f2de8da0de081e728ee3 Mon Sep 17 00:00:00 2001 From: nik707 <38332985+nik707@users.noreply.github.com> Date: Wed, 3 Oct 2018 22:32:25 -0500 Subject: [PATCH 06/20] Alternative Miner Suits (#7611) * haha what the fuck this took like a solid 6 hours * allows new suits to spawn on legion corpses. * Update flags.dm * Fix conflict maybe * pls work * im a big gay --- code/__DEFINES/flags.dm | 2 + code/_globalvars/bitfields.dm | 4 +- .../modules/mining/equipment/explorer_gear.dm | 58 ++++++++++++++++++ code/modules/mining/machine_vending.dm | 29 +++++++++ code/modules/mining/mine_items.dm | 1 + .../hostile/mining_mobs/goliath.dm | 9 ++- .../hostile/mining_mobs/hivelord.dm | 2 +- icons/mob/head.dmi | Bin 172488 -> 173066 bytes icons/mob/suit.dmi | Bin 337732 -> 340428 bytes icons/obj/clothing/hats.dmi | Bin 82984 -> 83237 bytes icons/obj/clothing/suits.dmi | Bin 116553 -> 117336 bytes 11 files changed, 102 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index edd77ecf6b..791a6bd9db 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -63,6 +63,8 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define ACID_PROOF (1<<5) //acid stuck on it doesn't melt it. #define INDESTRUCTIBLE (1<<6) //doesn't take damage #define FREEZE_PROOF (1<<7) //can't be frozen +#define GOLIATH_RESISTANCE (1<<8) //CIT CHANGE +#define GOLIATH_WEAKNESS (1<<9) //CIT CHANGE //tesla_zap #define TESLA_MACHINE_EXPLOSIVE (1<<0) diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 0760b81927..9a2f1e0540 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -111,7 +111,9 @@ GLOBAL_LIST_INIT(bitfields, list( "UNACIDABLE" = UNACIDABLE, "ACID_PROOF" = ACID_PROOF, "INDESTRUCTIBLE" = INDESTRUCTIBLE, - "FREEZE_PROOF" = FREEZE_PROOF + "FREEZE_PROOF" = FREEZE_PROOF, + "GOLIATH_RESISTANCE" = GOLIATH_RESISTANCE, + "GOLIATH_WEAKNESS" = GOLIATH_WEAKNESS ), "reagents_holder_flags" = list( "REAGENT_NOREACT" = REAGENT_NOREACT diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index a905a3baa9..7813794206 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -114,3 +114,61 @@ var/mutable_appearance/M = mutable_appearance('icons/mob/head.dmi', "hostile_env_glass") M.appearance_flags = RESET_COLOR . += M + + +// CITADEL ADDITIONS BELOW + +/****************SEVA Suit and Mask****************/ + +/obj/item/clothing/suit/hooded/seva + name = "SEVA suit" + desc = "A fire-proof suit for exploring hot environments." + icon_state = "seva" + item_state = "seva" + body_parts_covered = CHEST|GROIN|LEGS|ARMS + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + hoodtype = /obj/item/clothing/head/hooded/seva + armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 25, "bio" = 50, "rad" = 25, "fire" = 100, "acid" = 25) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) + resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS + +/obj/item/clothing/head/hooded/seva + name = "SEVA hood" + desc = "A fire-proof hood for exploring hot environments." + icon_state = "seva" + item_state = "seva" + body_parts_covered = HEAD + flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 25, "bio" = 50, "rad" = 25, "fire" = 100, "acid" = 25) + resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS + +/****************Exo-Suit and Mask****************/ + +/obj/item/clothing/suit/hooded/exo + name = "Exo-suit" + desc = "A robust suit for exploring dangerous environments." + icon_state = "exo" + item_state = "exo" + body_parts_covered = CHEST|GROIN|LEGS|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + cold_protection = CHEST|GROIN|LEGS|ARMS + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + hoodtype = /obj/item/clothing/head/hooded/exo + armor = list("melee" = 65, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) + resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE + +/obj/item/clothing/head/hooded/exo + name = "Exo-hood" + desc = "A robust helmet for exploring dangerous environments." + icon_state = "exo" + item_state = "exo" + body_parts_covered = HEAD + flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT + max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT + armor = list("melee" = 65, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0) + resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE \ No newline at end of file diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 209a8118fc..63f7a7e414 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -146,6 +146,9 @@ if(istype(I, /obj/item/mining_voucher)) RedeemVoucher(I, user) return + if(istype(I, /obj/item/suit_voucher)) + RedeemSVoucher(I, user) + return if(istype(I, /obj/item/card/id)) var/obj/item/card/id/C = usr.get_active_held_item() if(istype(C) && !istype(inserted_id)) @@ -231,6 +234,13 @@ icon_state = "mining_voucher" w_class = WEIGHT_CLASS_TINY +/obj/item/suit_voucher + name = "suit voucher" + desc = "A token to redeem a new suit. Use it on a mining equipment vendor." + icon = 'icons/obj/mining.dmi' + icon_state = "mining_voucher" + w_class = WEIGHT_CLASS_TINY + /**********************Mining Point Card**********************/ /obj/item/card/mining_point_card @@ -284,3 +294,22 @@ new /obj/item/encryptionkey/headset_cargo(src) new /obj/item/clothing/mask/gas/explorer(src) new /obj/item/card/mining_access_card(src) + + +//CITADEL ADDITIONS BELOW + +/obj/machinery/mineral/equipment_vendor/proc/RedeemSVoucher(obj/item/suit_voucher/voucher, mob/redeemer) + var/items = list("Exo-suit", "SEVA suit") + + var/selection = input(redeemer, "Pick your suit.", "Suit Voucher Redemption") as null|anything in items + if(!selection || !Adjacent(redeemer) || QDELETED(voucher) || voucher.loc != redeemer) + return + var/drop_location = drop_location() + switch(selection) + if("Exo-suit") + new /obj/item/clothing/suit/hooded/exo(drop_location) + if("SEVA suit") + new /obj/item/clothing/suit/hooded/seva(drop_location) + + SSblackbox.record_feedback("tally", "suit_voucher_redeemed", 1, selection) + qdel(voucher) \ No newline at end of file diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index a1ba493d46..637dde45b9 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -60,6 +60,7 @@ new /obj/item/gun/energy/kinetic_accelerator(src) new /obj/item/clothing/glasses/meson(src) new /obj/item/survivalcapsule(src) + new /obj/item/suit_voucher(src) new /obj/item/assault_pod/mining(src) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm index f74f9a436c..2e8f6bc70f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm @@ -184,7 +184,14 @@ if((!QDELETED(spawner) && spawner.faction_check_mob(L)) || L.stat == DEAD) continue visible_message("[src] grabs hold of [L]!") - L.Stun(100) + var/mob/living/carbon/C = L + var/obj/item/clothing/S = C.get_item_by_slot(SLOT_WEAR_SUIT) + if(S && S.resistance_flags & GOLIATH_RESISTANCE) + L.Stun(75) + else if(S && S.resistance_flags & GOLIATH_WEAKNESS) + L.Stun(125) + else + L.Stun(100) L.adjustBruteLoss(rand(10,15)) latched = TRUE if(!latched) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 73356658a3..065f67808e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -289,7 +289,7 @@ gloves = /obj/item/clothing/gloves/color/black mask = /obj/item/clothing/mask/gas/explorer if(prob(20)) - suit = pickweight(list(/obj/item/clothing/suit/hooded/explorer = 18, /obj/item/clothing/suit/hooded/cloak/goliath = 2)) + suit = pickweight(list(/obj/item/clothing/suit/hooded/explorer = 6, /obj/item/clothing/suit/hooded/cloak/goliath = 2, /obj/item/clothing/suit/hooded/exo = 6, /obj/item/clothing/suit/hooded/seva = 6)) if(prob(30)) r_pocket = pickweight(list(/obj/item/stack/marker_beacon = 20, /obj/item/stack/spacecash/c1000 = 7, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/damage = 1 )) if(prob(10)) diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 5f01bb5749ed5ad7c4e3f9f8d4696eb93bb0ae5b..39726a6ece36c19f089bfb8353b733d8cffb196f 100644 GIT binary patch delta 19036 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 diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index fa10f9538abae5efa291205960577ea194b3749c..4bc07f86f5e4c9866a1223025eeb9562bfb5f8bb 100644 GIT binary patch delta 24323 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
iepY-Bh+X7x?gEN>7IN8TN1Ik$G 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 Xvv~HYe0>fL0{m&-&{Ho`H4pqB(lA(8 delta 21606 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 diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 10e45387e5fe84d1c2be01eabac9a799902f33b7..a9d1398c2059f226d779597f23c2191648f0d17e 100644 GIT binary patch delta 8136 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 delta 7881 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 diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index f01f7cac77b4ec69338bed3b8de345ce9098e15a..3737ee694e833349b0ae4b1cd5374e8329a0c308 100644 GIT binary patch delta 22293 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 delta 21450 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 Date: Wed, 3 Oct 2018 22:32:27 -0500 Subject: [PATCH 07/20] Automatic changelog generation for PR #7611 [ci skip] --- html/changelogs/AutoChangeLog-pr-7611.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7611.yml diff --git a/html/changelogs/AutoChangeLog-pr-7611.yml b/html/changelogs/AutoChangeLog-pr-7611.yml new file mode 100644 index 0000000000..a76e79cf39 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7611.yml @@ -0,0 +1,8 @@ +author: "nicc" +delete-after: True +changes: + - rscadd: "Exo-suit" + - rscadd: "SEVA suit" + - rscadd: "Flags for Goliath resistance and weakness" + - rscadd: "suit voucher" + - rscadd: "temp suit sprites" From a794c6f17a3a8747b9cae4fd7fe48ee0f7e92ec3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 3 Oct 2018 22:33:18 -0500 Subject: [PATCH 08/20] Automatic changelog generation for PR #7612 [ci skip] --- html/changelogs/AutoChangeLog-pr-7612.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7612.yml diff --git a/html/changelogs/AutoChangeLog-pr-7612.yml b/html/changelogs/AutoChangeLog-pr-7612.yml new file mode 100644 index 0000000000..2e429013ec --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7612.yml @@ -0,0 +1,4 @@ +author: "Naksu" +delete-after: True +changes: + - code_imp: "default radiation insulation is now handled by atom vars rather than a component, components can still be used." From 1f0093c96262761df0c219d0010d3094def65bdc Mon Sep 17 00:00:00 2001 From: deathride58 Date: Wed, 3 Oct 2018 23:34:40 -0400 Subject: [PATCH 09/20] makes footsteps sound less like ass by shoving the old values into the new system (#7598) --- code/datums/components/footstep.dm | 6 +++--- code/modules/mob/living/carbon/carbon.dm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/datums/components/footstep.dm b/code/datums/components/footstep.dm index ccd3d30463..c93be4dae3 100644 --- a/code/datums/components/footstep.dm +++ b/code/datums/components/footstep.dm @@ -27,11 +27,11 @@ v /= 2 e -= 5 steps++ - if(steps >= 6) + if(steps >= 3) steps = 0 - if(steps % 2) + else return - if(!LM.has_gravity(T) && steps != 0) // don't need to step as often when you hop around + if(prob(80) && !LM.has_gravity(T)) // don't need to step as often when you hop around return playsound(T, pick(GLOB.footstep[T.footstep][1]), GLOB.footstep[T.footstep][2] * v, diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 84b949014c..7bc0e281c5 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -20,7 +20,7 @@ GLOB.carbon_list -= src /mob/living/carbon/initialize_footstep() - AddComponent(/datum/component/footstep, 1, 2) + AddComponent(/datum/component/footstep, 0.6, 2) /mob/living/carbon/relaymove(mob/user, direction) if(user in src.stomach_contents) From 10f5e64d24a22cd512aa8b0507d7a807f995c7cf Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 3 Oct 2018 22:34:42 -0500 Subject: [PATCH 10/20] Automatic changelog generation for PR #7598 [ci skip] --- html/changelogs/AutoChangeLog-pr-7598.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7598.yml diff --git a/html/changelogs/AutoChangeLog-pr-7598.yml b/html/changelogs/AutoChangeLog-pr-7598.yml new file mode 100644 index 0000000000..5c15f79f98 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7598.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - tweak: "Footsteps now sound mostly the same as they did before the hard sync" From 0419301ab051b9c9fd2565399a64b7f368dab4c6 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 3 Oct 2018 23:36:45 -0400 Subject: [PATCH 11/20] Adds in Phobia quirk and Mime Phobia! Good grammar and no conflicts (Maybe) (#7602) * Phobia quirk. * Adds in the words * Should be good now SHOULD * Should work now that I added the missing comma! It will propy fail anyways --- code/controllers/subsystem/traumas.dm | 54 ++++++++++++++++----------- code/datums/traits/negative.dm | 14 +++++++ strings/phobia.json | 11 ++++++ 3 files changed, 57 insertions(+), 22 deletions(-) diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index 39f2eaf08b..a1fd15b806 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -14,7 +14,8 @@ SUBSYSTEM_DEF(traumas) //phobia types is to pull from randomly for brain traumas, e.g. conspiracies is for special assignment only phobia_types = list("spiders", "space", "security", "clowns", "greytide", "lizards", "skeletons", "snakes", "robots", "doctors", "authority", "the supernatural", - "aliens", "strangers", "birds", "falling", "anime") + "aliens", "strangers", "birds", "falling", "anime", "mimes" + ) phobia_words = list("spiders" = strings(PHOBIA_FILE, "spiders"), "space" = strings(PHOBIA_FILE, "space"), @@ -33,8 +34,9 @@ SUBSYSTEM_DEF(traumas) "conspiracies" = strings(PHOBIA_FILE, "conspiracies"), "birds" = strings(PHOBIA_FILE, "birds"), "falling" = strings(PHOBIA_FILE, "falling"), - "anime" = strings(PHOBIA_FILE, "anime") - ) + "anime" = strings(PHOBIA_FILE, "anime"), + "mimes" = strings(PHOBIA_FILE, "mimes") + ) phobia_mobs = list("spiders" = typecacheof(list(/mob/living/simple_animal/hostile/poison/giant_spider)), "security" = typecacheof(list(/mob/living/simple_animal/bot/secbot, /mob/living/simple_animal/bot/ed209)), @@ -42,7 +44,7 @@ SUBSYSTEM_DEF(traumas) "skeletons" = typecacheof(list(/mob/living/simple_animal/hostile/skeleton)), "snakes" = typecacheof(list(/mob/living/simple_animal/hostile/retaliate/poison/snake)), "robots" = typecacheof(list(/mob/living/silicon/robot, /mob/living/silicon/ai, - /mob/living/simple_animal/drone, /mob/living/simple_animal/bot, /mob/living/simple_animal/hostile/swarmer)), + /mob/living/simple_animal/drone, /mob/living/simple_animal/bot, /mob/living/simple_animal/hostile/swarmer, /mob/living/simple_animal/bot/honkbot)), "doctors" = typecacheof(list(/mob/living/simple_animal/bot/medbot)), "the supernatural" = typecacheof(list(/mob/living/simple_animal/hostile/construct, /mob/living/simple_animal/hostile/clockwork, /mob/living/simple_animal/drone/cogscarab, @@ -55,29 +57,30 @@ SUBSYSTEM_DEF(traumas) "anime" = typecacheof(list(/mob/living/simple_animal/hostile/guardian)) ) + phobia_objs = list("snakes" = typecacheof(list(/obj/item/rod_of_asclepius)), - "spiders" = typecacheof(list(/obj/structure/spider)), + "spiders" = typecacheof(list(/obj/structure/spider)), - "security" = typecacheof(list(/obj/item/clothing/under/rank/security, /obj/item/clothing/under/rank/warden, + "security" = typecacheof(list(/obj/item/clothing/under/rank/security, /obj/item/clothing/under/rank/warden, /obj/item/clothing/under/rank/head_of_security, /obj/item/clothing/under/rank/det, /obj/item/melee/baton, /obj/item/gun/energy/taser, /obj/item/restraints/handcuffs, /obj/machinery/door/airlock/security)), - "clowns" = typecacheof(list(/obj/item/clothing/under/rank/clown, /obj/item/clothing/shoes/clown_shoes, + "clowns" = typecacheof(list(/obj/item/clothing/under/rank/clown, /obj/item/clothing/shoes/clown_shoes, /obj/item/clothing/mask/gas/clown_hat, /obj/item/instrument/bikehorn, /obj/item/pda/clown, /obj/item/grown/bananapeel)), - "greytide" = typecacheof(list(/obj/item/clothing/under/color/grey, /obj/item/melee/baton/cattleprod, + "greytide" = typecacheof(list(/obj/item/clothing/under/color/grey, /obj/item/melee/baton/cattleprod, /obj/item/twohanded/spear, /obj/item/clothing/mask/gas)), - "lizards" = typecacheof(list(/obj/item/toy/plush/lizardplushie, /obj/item/reagent_containers/food/snacks/kebab/tail, + "lizards" = typecacheof(list(/obj/item/toy/plush/lizardplushie, /obj/item/reagent_containers/food/snacks/kebab/tail, /obj/item/organ/tail/lizard, /obj/item/reagent_containers/food/drinks/bottle/lizardwine)), - "skeletons" = typecacheof(list(/obj/item/organ/tongue/bone, /obj/item/clothing/suit/armor/bone, /obj/item/stack/sheet/bone, + "skeletons" = typecacheof(list(/obj/item/organ/tongue/bone, /obj/item/clothing/suit/armor/bone, /obj/item/stack/sheet/bone, /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton, /obj/effect/decal/remains/human)), - "conspiracies" = typecacheof(list(/obj/item/clothing/under/rank/captain, /obj/item/clothing/under/rank/head_of_security, + "conspiracies" = typecacheof(list(/obj/item/clothing/under/rank/captain, /obj/item/clothing/under/rank/head_of_security, /obj/item/clothing/under/rank/chief_engineer, /obj/item/clothing/under/rank/chief_medical_officer, /obj/item/clothing/under/rank/head_of_personnel, /obj/item/clothing/under/rank/research_director, /obj/item/clothing/under/rank/head_of_security/grey, /obj/item/clothing/under/rank/head_of_security/alt, @@ -90,10 +93,10 @@ SUBSYSTEM_DEF(traumas) /obj/item/clothing/suit/space/hardsuit/ert/engi, /obj/item/clothing/suit/space/hardsuit/ert/med, /obj/item/clothing/suit/space/hardsuit/deathsquad, /obj/item/clothing/head/helmet/space/hardsuit/deathsquad, /obj/machinery/door/airlock/centcom)), - "robots" = typecacheof(list(/obj/machinery/computer/upload, /obj/item/aiModule/, /obj/machinery/recharge_station, + "robots" = typecacheof(list(/obj/machinery/computer/upload, /obj/item/aiModule/, /obj/machinery/recharge_station, /obj/item/aicard, /obj/item/deactivated_swarmer, /obj/effect/mob_spawn/swarmer)), - "doctors" = typecacheof(list(/obj/item/clothing/under/rank/medical, /obj/item/clothing/under/rank/chemist, + "doctors" = typecacheof(list(/obj/item/clothing/under/rank/medical, /obj/item/clothing/under/rank/chemist, /obj/item/clothing/under/rank/nursesuit, /obj/item/clothing/under/rank/chief_medical_officer, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/pill/, /obj/item/reagent_containers/hypospray, /obj/item/storage/firstaid, /obj/item/storage/pill_bottle, /obj/item/healthanalyzer, @@ -102,14 +105,14 @@ SUBSYSTEM_DEF(traumas) /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/plaguedoctorhat, /obj/item/clothing/mask/gas/plaguedoctor)), - "authority" = typecacheof(list(/obj/item/clothing/under/rank/captain, /obj/item/clothing/under/rank/head_of_personnel, + "authority" = typecacheof(list(/obj/item/clothing/under/rank/captain, /obj/item/clothing/under/rank/head_of_personnel, /obj/item/clothing/under/rank/head_of_security, /obj/item/clothing/under/rank/research_director, /obj/item/clothing/under/rank/chief_medical_officer, /obj/item/clothing/under/rank/chief_engineer, /obj/item/clothing/under/rank/centcom_officer, /obj/item/clothing/under/rank/centcom_commander, /obj/item/melee/classic_baton/telescopic, /obj/item/card/id/silver, /obj/item/card/id/gold, /obj/item/card/id/captains_spare, /obj/item/card/id/centcom, /obj/machinery/door/airlock/command)), - "the supernatural" = typecacheof(list(/obj/structure/destructible/cult, /obj/item/tome, + "the supernatural" = typecacheof(list(/obj/structure/destructible/cult, /obj/item/tome, /obj/item/melee/cultblade, /obj/item/twohanded/required/cult_bastard, /obj/item/restraints/legcuffs/bola/cult, /obj/item/clothing/suit/cultrobes, /obj/item/clothing/suit/space/hardsuit/cult, /obj/item/clothing/suit/hooded/cultrobes, /obj/item/clothing/head/hooded/cult_hoodie, /obj/effect/rune, @@ -123,7 +126,7 @@ SUBSYSTEM_DEF(traumas) /obj/item/gun/magic/staff, /obj/item/gun/magic/wand, /obj/item/nullrod, /obj/item/clothing/under/rank/chaplain)), - "aliens" = typecacheof(list(/obj/item/clothing/mask/facehugger, /obj/item/organ/body_egg/alien_embryo, + "aliens" = typecacheof(list(/obj/item/clothing/mask/facehugger, /obj/item/organ/body_egg/alien_embryo, /obj/structure/alien, /obj/item/toy/toy_xeno, /obj/item/clothing/suit/armor/abductor, /obj/item/abductor, /obj/item/gun/energy/alien, /obj/item/abductor_baton, /obj/item/radio/headset/abductor, /obj/item/scalpel/alien, /obj/item/hemostat/alien, @@ -132,19 +135,26 @@ SUBSYSTEM_DEF(traumas) /obj/structure/table/abductor, /obj/structure/table/optable/abductor, /obj/structure/closet/abductor, /obj/item/organ/heart/gland, /obj/machinery/abductor, /obj/item/crowbar/abductor, /obj/item/screwdriver/abductor, /obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/wrench/abductor, /obj/item/stack/sheet/mineral/abductor)), - - "birds" = typecacheof(list(/obj/item/clothing/mask/gas/plaguedoctor, /obj/item/reagent_containers/food/snacks/cracker, + + "birds" = typecacheof(list(/obj/item/clothing/mask/gas/plaguedoctor, /obj/item/reagent_containers/food/snacks/cracker, /obj/item/clothing/suit/chickensuit, /obj/item/clothing/head/chicken, /obj/item/clothing/suit/toggle/owlwings, /obj/item/clothing/under/owl, /obj/item/clothing/mask/gas/owl_mask, /obj/item/clothing/under/griffin, /obj/item/clothing/shoes/griffin, /obj/item/clothing/head/griffin, /obj/item/clothing/head/helmet/space/freedom, /obj/item/clothing/suit/space/freedom)), - - "anime" = typecacheof(list(/obj/item/clothing/under/schoolgirl, /obj/item/katana, /obj/item/reagent_containers/food/snacks/sashimi, /obj/item/reagent_containers/food/snacks/chawanmushi, + + "anime" = typecacheof(list(/obj/item/clothing/under/schoolgirl, /obj/item/katana, /obj/item/reagent_containers/food/snacks/sashimi, /obj/item/reagent_containers/food/snacks/chawanmushi, /obj/item/reagent_containers/food/drinks/bottle/sake, /obj/item/throwing_star, /obj/item/clothing/head/kitty/genuine, /obj/item/clothing/suit/space/space_ninja, /obj/item/clothing/mask/gas/space_ninja, /obj/item/clothing/shoes/space_ninja, /obj/item/clothing/gloves/space_ninja, /obj/item/twohanded/vibro_weapon, - /obj/item/nullrod/scythe/vibro, /obj/item/energy_katana, /obj/item/toy/katana, /obj/item/nullrod/claymore/katana, /obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe)) + /obj/item/nullrod/scythe/vibro, /obj/item/energy_katana, /obj/item/toy/katana, /obj/item/nullrod/claymore/katana, /obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe)), + + "mimes" = typecacheof(list(/obj/item/pda/mime, /obj/item/clothing/under/rank/mime, /obj/item/clothing/mask/gas/mime, + /obj/item/clothing/head/frenchberet, /obj/item/clothing/suit/suspenders, /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing, + /obj/item/storage/backpack/mime, /obj/item/reagent_containers/food/snacks/grown/banana/mime, + /obj/item/grown/bananapeel/mimanapeel, /obj/item/cartridge/virus/mime, /obj/item/clothing/shoes/sneakers/mime, + /obj/item/bedsheet/mime, /obj/item/reagent_containers/food/snacks/burger/mime, /obj/item/clothing/head/beret, /obj/item/clothing/mask/gas/sexymime, + /obj/item/clothing/under/sexymime, /obj/item/toy/figure/mime, /obj/item/toy/crayon/mime, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced, /obj/mecha/combat/reticence)) ) - + phobia_turfs = list("space" = typecacheof(list(/turf/open/space, /turf/open/floor/holofloor/space, /turf/open/floor/fakespace)), "the supernatural" = typecacheof(list(/turf/open/floor/clockwork, /turf/closed/wall/clockwork, /turf/open/floor/plasteel/cult, /turf/closed/wall/mineral/cult)), diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index b05e00d35c..8e067fc47e 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -254,3 +254,17 @@ dumb_thing = FALSE //only once per life if(prob(1)) new/obj/item/reagent_containers/food/snacks/pastatomato(get_turf(H)) //now that's what I call spaghetti code + +/datum/quirk/phobia + name = "Phobia" + desc = "You've had a traumatic past, that has scared you for life while dealing with your greatest fear." + value = -2 // It can hardstun you. You can be a job that your phobia targets... + gain_text = "You feel your fears manifest themselfs." + lose_text = "You feel your fears fade away." + medical_record_text = "Patient has an extreme or irrational fear of or aversion to something." + var/datum/brain_trauma/mild/phobia/phobia + +/datum/quirk/phobia/add() + var/mob/living/carbon/human/H = quirk_holder + phobia = new + H.gain_trauma(phobia, TRAUMA_RESILIENCE_SURGERY) diff --git a/strings/phobia.json b/strings/phobia.json index 379dd1829a..3be9794bf9 100644 --- a/strings/phobia.json +++ b/strings/phobia.json @@ -71,6 +71,17 @@ "slipping" ], + "mimes": [ + "mime", + "silence", + "mimic", + "invisible", + "french", + "oui", + "pretending", + "nothing" + ], + "greytide": [ "assistant", "grey", From c95dcbe6acbd8990428ce31a24bd7757ca4e70e5 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Wed, 3 Oct 2018 23:37:45 -0400 Subject: [PATCH 12/20] HOPEFULLY fixes jukebox destruction not taking jukeboxes out of active jukebox list (#7604) --- code/game/machinery/dance_machine.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index cc50492818..3a6cf2b922 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -406,6 +406,8 @@ lying_prev = 0 /obj/machinery/jukebox/proc/dance_over() + SSjukeboxes.removejukebox(SSjukeboxes.findjukeboxindex(src)) + STOP_PROCESSING(SSobj, src) for(var/mob/living/L in rangers) if(!L || !L.client) continue @@ -420,8 +422,6 @@ /obj/machinery/jukebox/process() if(active && world.time >= stop) active = FALSE - SSjukeboxes.removejukebox(SSjukeboxes.findjukeboxindex(src)) - STOP_PROCESSING(SSobj, src) dance_over() playsound(src,'sound/machines/terminal_off.ogg',50,1) update_icon() From efa066a3263f56337f645bf1ce521beb01008fd7 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 3 Oct 2018 22:37:47 -0500 Subject: [PATCH 13/20] Automatic changelog generation for PR #7604 [ci skip] --- html/changelogs/AutoChangeLog-pr-7604.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7604.yml diff --git a/html/changelogs/AutoChangeLog-pr-7604.yml b/html/changelogs/AutoChangeLog-pr-7604.yml new file mode 100644 index 0000000000..3dcc7c542c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7604.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "Jukeboxes now properly remove themselves from the active jukebox list when destroyed" From d7bca1922d3e850d96586c538daa492506ceb78f Mon Sep 17 00:00:00 2001 From: deathride58 Date: Wed, 3 Oct 2018 23:44:09 -0400 Subject: [PATCH 14/20] Mostly fixes stamina by making knockdown() apply its staminaloss to the chest, giving adjuststaminaloss() new args, disabling limb-specific stamina regen for the chest, and disabling head stamina (#7596) * fixes stamina (hopefully) * makes adjuststaminaloss() apply to the chest by default, makes it possible to target specific zones with adjuststaminaloss. * i dropped out of first grade dont bulli * REE * be patient im a dum * come on --- code/game/objects/items/stunbaton.dm | 2 +- code/modules/mob/living/carbon/damage_procs.dm | 8 ++++---- code/modules/mob/living/carbon/human/species.dm | 8 ++++---- code/modules/surgery/bodyparts/bodyparts.dm | 6 +++--- code/modules/surgery/bodyparts/head.dm | 2 +- .../code/modules/mob/living/carbon/damage_procs.dm | 8 ++------ 6 files changed, 15 insertions(+), 19 deletions(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 1d77dfcf8b..c0e81a7949 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -163,7 +163,7 @@ return 0 L.Knockdown(stunforce) - L.adjustStaminaLoss(stunforce*0.1)//CIT CHANGE - makes stunbatons deal extra staminaloss. Todo: make this also deal pain when pain gets implemented. + L.adjustStaminaLoss(stunforce*0.1, affected_zone = (istype(user) ? user.zone_selected : BODY_ZONE_CHEST))//CIT CHANGE - makes stunbatons deal extra staminaloss. Todo: make this also deal pain when pain gets implemented. L.apply_effect(EFFECT_STUTTER, stunforce) SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK) if(user) diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 124fd622d7..b22498670a 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -2,7 +2,7 @@ /mob/living/carbon/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked = FALSE) var/hit_percent = (100-blocked)/100 - if(!damage || hit_percent <= 0) + if(hit_percent <= 0) return 0 var/obj/item/bodypart/BP = null @@ -18,13 +18,13 @@ switch(damagetype) if(BRUTE) if(BP) - if(BP.receive_damage(damage * hit_percent, 0)) + if(damage > 0 ? BP.receive_damage(damage * hit_percent, 0) : BP.heal_damage(abs(damage * hit_percent), 0)) update_damage_overlays() else //no bodypart, we deal damage with a more general method. adjustBruteLoss(damage * hit_percent) if(BURN) if(BP) - if(BP.receive_damage(0, damage * hit_percent)) + if(damage > 0 ? BP.receive_damage(0, damage * hit_percent) : BP.heal_damage(0, abs(damage * hit_percent))) update_damage_overlays() else adjustFireLoss(damage * hit_percent) @@ -36,7 +36,7 @@ adjustCloneLoss(damage * hit_percent) if(STAMINA) if(BP) - if(BP.receive_damage(0, 0, damage * hit_percent)) + if(damage > 0 ? BP.receive_damage(0, 0, damage * hit_percent) : BP.heal_damage(0, 0, abs(damage * hit_percent))) update_damage_overlays() else adjustStaminaLoss(damage * hit_percent) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 1f68431771..79ea11682d 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1600,7 +1600,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) /datum/species/proc/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H) var/hit_percent = (100-(blocked+armor))/100 hit_percent = (hit_percent * (100-H.physiology.damage_resistance))/100 - if(!damage || hit_percent <= 0) + if(hit_percent <= 0) return 0 var/obj/item/bodypart/BP = null @@ -1617,14 +1617,14 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(BRUTE) H.damageoverlaytemp = 20 if(BP) - if(BP.receive_damage(damage * hit_percent * brutemod * H.physiology.brute_mod, 0)) + if(damage > 0 ? BP.receive_damage(damage * hit_percent * brutemod * H.physiology.brute_mod, 0) : BP.heal_damage(abs(damage * hit_percent * brutemod * H.physiology.brute_mod), 0)) H.update_damage_overlays() else//no bodypart, we deal damage with a more general method. H.adjustBruteLoss(damage * hit_percent * brutemod * H.physiology.brute_mod) if(BURN) H.damageoverlaytemp = 20 if(BP) - if(BP.receive_damage(0, damage * hit_percent * burnmod * H.physiology.burn_mod)) + if(damage > 0 ? BP.receive_damage(0, damage * hit_percent * burnmod * H.physiology.burn_mod) : BP.heal_damage(0, abs(damage * hit_percent * burnmod * H.physiology.burn_mod))) H.update_damage_overlays() else H.adjustFireLoss(damage * hit_percent * burnmod * H.physiology.burn_mod) @@ -1636,7 +1636,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) H.adjustCloneLoss(damage * hit_percent * H.physiology.clone_mod) if(STAMINA) if(BP) - if(BP.receive_damage(0, 0, damage * hit_percent * H.physiology.stamina_mod)) + if(damage > 0 ? BP.receive_damage(0, 0, damage * hit_percent * H.physiology.stamina_mod) : BP.heal_damage(0, 0, abs(damage * hit_percent * H.physiology.stamina_mod))) H.update_stamina() else H.adjustStaminaLoss(damage * hit_percent * H.physiology.stamina_mod) diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index d8918b609f..1841ac52b5 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -31,7 +31,7 @@ var/stamina_dam = 0 var/max_stamina_damage = 0 var/max_damage = 0 - var/stam_heal_tick = 3 //per Life(). + var/stam_heal_tick = 0 //per Life(). Defaults to 0 due to citadel changes var/brute_reduction = 0 //Subtracted to brute damage taken var/burn_reduction = 0 //Subtracted to burn damage taken @@ -135,7 +135,7 @@ //Return TRUE to get whatever mob this is in to update health. /obj/item/bodypart/proc/on_life() - if(stamina_dam > DAMAGE_PRECISION) //DO NOT update health here, it'll be done in the carbon's life. + if(stam_heal_tick && stamina_dam > DAMAGE_PRECISION) //DO NOT update health here, it'll be done in the carbon's life. if(heal_damage(brute = 0, burn = 0, stamina = stam_heal_tick, only_robotic = FALSE, only_organic = FALSE, updating_health = FALSE)) . |= BODYPART_LIFE_UPDATE_HEALTH @@ -441,7 +441,7 @@ px_x = 0 px_y = 0 stam_damage_coeff = 1 - max_stamina_damage = 100 + max_stamina_damage = 200 var/obj/item/cavity_item /obj/item/bodypart/chest/Destroy() diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index c08e6e5673..1f0fa00632 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -12,7 +12,7 @@ px_x = 0 px_y = -8 stam_damage_coeff = 1 - max_stamina_damage = 100 + max_stamina_damage = 0 //Setting this to 0 since this has the same exact effects as the chest when disabled var/mob/living/brain/brainmob = null //The current occupant. var/obj/item/organ/brain/brain = null //The brain organ diff --git a/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm b/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm index 217eb9d749..9921e4ed47 100644 --- a/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm +++ b/modular_citadel/code/modules/mob/living/carbon/damage_procs.dm @@ -9,12 +9,8 @@ if(updating_stamina) update_health_hud() -/mob/living/carbon/adjustStaminaLoss(amount, updating_health = TRUE, forced = FALSE) +/mob/living/carbon/adjustStaminaLoss(amount, updating_health = TRUE, forced = FALSE, affected_zone = BODY_ZONE_CHEST) if(!forced && (status_flags & GODMODE)) return FALSE - if(amount > 0) - amount = CLAMP(amount, 0, 200 - getStaminaLoss()) - take_overall_damage(0, 0, amount, updating_health) - else - heal_overall_damage(0, 0, abs(amount), FALSE, FALSE, updating_health) + apply_damage(amount, STAMINA, affected_zone) return amount From 9787a98be8ab736ded37e920cc4282c86dc62d2a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 3 Oct 2018 22:44:11 -0500 Subject: [PATCH 15/20] Automatic changelog generation for PR #7596 [ci skip] --- html/changelogs/AutoChangeLog-pr-7596.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7596.yml diff --git a/html/changelogs/AutoChangeLog-pr-7596.yml b/html/changelogs/AutoChangeLog-pr-7596.yml new file mode 100644 index 0000000000..a0dfbfe151 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7596.yml @@ -0,0 +1,9 @@ +author: "deathride58" +delete-after: True +changes: + - bugfix: "Stamina no longer regenerates at hyper speeds." + - tweak: "To accommodate for upstream's stamina changes, knockdown() now applies staminaloss only to the chest." + - tweak: "adjuststaminaloss() now has a new argument that allows you to specify a zone to apply staminaloss to. This defaults to the chest" + - tweak: "apply_damage() is now capable of healing carbon mobs and human mobs." + - tweak: "Since the head has the same exact effects as the chest when disabled, and doesn't really make much sense to be affected by stamina, the head no longer has stamina." + - tweak: "The chest now has a stamina cap of 200 stamina due to the above." From db7bbfc714b4af94b96ddf2e6c1df0cfb77b0f97 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Wed, 3 Oct 2018 23:45:44 -0400 Subject: [PATCH 16/20] super turbo lavaland 2 tournament edition (Buffs a bunch of lavaland mobs by increasing their speed) (#7550) * super turbo lavaland 2 tournament edition * Nerfs bubblegum by decreasing his base movement speed to the original value and nerfing the max movement speed from once per 2 ticks to once per 3 ticks * Nerfs goliaths by reducing their damage, decreasing their vision range, and increasing their ranged cooldown time * mass vision range reduction * slows goliaths down a tad bit --- .../hostile/megafauna/blood_drunk_miner.dm | 2 +- .../simple_animal/hostile/megafauna/bubblegum.dm | 5 +++-- .../simple_animal/hostile/megafauna/colossus.dm | 6 +++--- .../simple_animal/hostile/megafauna/drake.dm | 2 +- .../hostile/megafauna/hierophant.dm | 8 ++++---- .../simple_animal/hostile/megafauna/legion.dm | 11 +++++++---- .../simple_animal/hostile/megafauna/megafauna.dm | 4 ++-- .../simple_animal/hostile/mining_mobs/goliath.dm | 16 ++++++++-------- .../hostile/mining_mobs/hivelord.dm | 11 ++++------- 9 files changed, 33 insertions(+), 32 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 97dede3d2f..899e901827 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -33,7 +33,7 @@ Difficulty: Medium movement_type = GROUND speak_emote = list("roars") speed = 1 - move_to_delay = 3 + move_to_delay = 2 projectiletype = /obj/item/projectile/kinetic/miner projectilesound = 'sound/weapons/kenetic_accel.ogg' ranged = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 1784405f30..c60dae6a35 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -41,6 +41,7 @@ Difficulty: Hard melee_damage_upper = 40 speed = 1 move_to_delay = 10 + ranged_cooldown_time = 10 ranged = 1 pixel_x = -32 del_on_death = 1 @@ -62,7 +63,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/Life() ..() - move_to_delay = CLAMP(round((health/maxHealth) * 10), 5, 10) + move_to_delay = CLAMP(round((health/maxHealth) * 10), 3, 10) /mob/living/simple_animal/hostile/megafauna/bubblegum/OpenFire() anger_modifier = CLAMP(((maxHealth - health)/50),0,20) @@ -235,4 +236,4 @@ Difficulty: Hard return 1 return 0 -#undef MEDAL_PREFIX \ No newline at end of file +#undef MEDAL_PREFIX diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 2c5d004054..c491b3e78d 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -79,14 +79,14 @@ Difficulty: Very Hard INVOKE_ASYNC(src, .proc/spiral_shoot, pick(TRUE, FALSE)) else if(prob(20)) - ranged_cooldown = world.time + 30 + ranged_cooldown = world.time + 2 random_shots() else if(prob(70)) - ranged_cooldown = world.time + 20 + ranged_cooldown = world.time + 10 blast() else - ranged_cooldown = world.time + 40 + ranged_cooldown = world.time + 20 INVOKE_ASYNC(src, .proc/alternating_dir_shots) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index fac14eeb0e..b1694a6172 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -48,7 +48,7 @@ Difficulty: Medium melee_damage_lower = 40 melee_damage_upper = 40 speed = 1 - move_to_delay = 10 + move_to_delay = 5 ranged = 1 pixel_x = -16 crusher_loot = list(/obj/structure/closet/crate/necropolis/dragon/crusher) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 99d13cab24..293e3e21fd 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -65,9 +65,9 @@ Difficulty: Hard var/burst_range = 3 //range on burst aoe var/beam_range = 5 //range on cross blast beams - var/chaser_speed = 3 //how fast chasers are currently - var/chaser_cooldown = 101 //base cooldown/cooldown var between spawning chasers - var/major_attack_cooldown = 60 //base cooldown for major attacks + var/chaser_speed = 2 //how fast chasers are currently + var/chaser_cooldown = 50 //base cooldown/cooldown var between spawning chasers + var/major_attack_cooldown = 40 //base cooldown for major attacks var/arena_cooldown = 200 //base cooldown/cooldown var for creating an arena var/blinking = FALSE //if we're doing something that requires us to stand still and not attack var/obj/effect/hierophant/spawned_beacon //the beacon we teleport back to @@ -204,7 +204,7 @@ Difficulty: Hard return target_slowness += L.movement_delay() target_slowness = max(target_slowness, 1) - chaser_speed = max(1, (3 - anger_modifier * 0.04) + ((target_slowness - 1) * 0.5)) + chaser_speed = max(1, (2 - anger_modifier * 0.04) + ((target_slowness - 1) * 0.5)) arena_trap(target) ranged_cooldown = world.time + max(5, ranged_cooldown_time - anger_modifier * 0.75) //scale cooldown lower with high anger. diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 2710d58a67..5bfabe376e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -31,12 +31,13 @@ Difficulty: Medium armour_penetration = 50 melee_damage_lower = 25 melee_damage_upper = 25 - speed = 2 + speed = 1 + move_to_delay = 2 ranged = 1 del_on_death = 1 retreat_distance = 5 minimum_distance = 5 - ranged_cooldown_time = 20 + ranged_cooldown_time = 10 var/size = 5 var/charging = 0 medal_type = BOSS_MEDAL_LEGION @@ -44,7 +45,7 @@ Difficulty: Medium pixel_y = -90 pixel_x = -75 loot = list(/obj/item/stack/sheet/bone = 3) - vision_range = 13 + vision_range = 10 wander = FALSE elimination = 1 appearance_flags = 0 @@ -87,6 +88,7 @@ Difficulty: Medium retreat_distance = 0 minimum_distance = 0 speed = 0 + move_to_delay = 1 charging = 1 addtimer(CALLBACK(src, .proc/reset_charge), 50) @@ -94,7 +96,8 @@ Difficulty: Medium ranged = 1 retreat_distance = 5 minimum_distance = 5 - speed = 2 + speed = 1 + move_to_delay = 2 charging = 0 /mob/living/simple_animal/hostile/megafauna/legion/death() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index 6af5174ec5..43bc2c26f8 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -19,8 +19,8 @@ damage_coeff = list(BRUTE = 1, BURN = 0.5, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) minbodytemp = 0 maxbodytemp = INFINITY - vision_range = 5 - aggro_vision_range = 18 + vision_range = 4 + aggro_vision_range = 15 anchored = TRUE mob_size = MOB_SIZE_LARGE layer = LARGE_MOB_LAYER //Looks weird with them slipping under mineral walls and cameras and shit otherwise diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm index 2e8f6bc70f..23f08ab234 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm @@ -10,24 +10,23 @@ icon_gib = "syndicate_gib" mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) mouse_opacity = MOUSE_OPACITY_OPAQUE - move_to_delay = 40 + move_to_delay = 10 ranged = 1 - ranged_cooldown_time = 120 + ranged_cooldown_time = 60 friendly = "wails at" speak_emote = list("bellows") - vision_range = 4 speed = 3 maxHealth = 300 health = 300 harm_intent_damage = 0 obj_damage = 100 - melee_damage_lower = 25 - melee_damage_upper = 25 + melee_damage_lower = 18 + melee_damage_upper = 18 attacktext = "pulverizes" attack_sound = 'sound/weapons/punch1.ogg' throw_message = "does nothing to the rocky hide of the" - vision_range = 5 - aggro_vision_range = 9 + vision_range = 4 + aggro_vision_range = 7 anchored = TRUE //Stays anchored until death as to be unpullable var/pre_attack = 0 var/pre_attack_icon = "Goliath_preattack" @@ -67,7 +66,7 @@ pre_attack = 0 /mob/living/simple_animal/hostile/asteroid/goliath/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - ranged_cooldown -= 10 + ranged_cooldown -= 5 handle_preattack() . = ..() @@ -111,6 +110,7 @@ maxHealth = 400 health = 400 speed = 4 + ranged_cooldown_time = 80 pre_attack_icon = "Goliath_preattack" throw_message = "does nothing to the rocky hide of the" loot = list(/obj/item/stack/sheet/animalhide/goliath_hide) //A throwback to the asteroid days diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 065f67808e..cf4401c68a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -11,8 +11,8 @@ mouse_opacity = MOUSE_OPACITY_OPAQUE move_to_delay = 14 ranged = 1 - vision_range = 5 - aggro_vision_range = 9 + vision_range = 4 + aggro_vision_range = 7 speed = 3 maxHealth = 75 health = 75 @@ -24,7 +24,7 @@ attack_sound = 'sound/weapons/pierce.ogg' throw_message = "falls right through the strange body of the" ranged_cooldown = 0 - ranged_cooldown_time = 20 + ranged_cooldown_time = 15 obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE retreat_distance = 3 @@ -131,6 +131,7 @@ maxHealth = 60 health = 60 speed = 2 //faster! + move_to_delay = 10 //actually faster! crusher_drop_mod = 20 dwarf_mob = TRUE @@ -377,7 +378,3 @@ id = /obj/item/card/id/knight //END OF CIT CHANGE id_job = "Knight" . = ..() - - - - From 2d7666812f2d8626c34a23bad22cb59e794baac6 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 3 Oct 2018 22:45:46 -0500 Subject: [PATCH 17/20] Automatic changelog generation for PR #7550 [ci skip] --- html/changelogs/AutoChangeLog-pr-7550.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7550.yml diff --git a/html/changelogs/AutoChangeLog-pr-7550.yml b/html/changelogs/AutoChangeLog-pr-7550.yml new file mode 100644 index 0000000000..2bef8d3854 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7550.yml @@ -0,0 +1,13 @@ +author: "deathride58" +delete-after: True +changes: + - balance: "Most of Lavaland's mobs are now on crack." + - balance: "Blood drunk miners now move once every two ticks, rather than once every three ticks." + - balance: "Bubblegum now has a maximum movement speed of once every three ticks. Buffed from the original value of once per 5 ticks." + - balance: "The minimum time for the Colossus to attack again after firing a random shot is two deciseconds, Sped up from the original value of three seconds. The minimum time for the Colossus to attack again after performing a blast is now one second, with the original value being two seconds. The minimum time for it to attack again after performing its alternating shot pattern is now two seconds, original value being four seconds." + - balance: "Ashdrakes now move once every five ticks, rather than once every ten ticks." + - balance: "Heirophant chasers now move once every two ticks rather than three ticks by default, and the chaser cooldown has been reduced from 10 seconds to 5 seconds. The cooldown for the Heirophant's major attacks has also been sped up to 4 seconds from the original value of 6 seconds." + - balance: "The Legion (megafauna) now moves at two ticks per second rather than three ticks. It additionally now actually moves faster while charging. The cooldown timer for it's special attacks has been reduced from 2 seconds to 1 second. Additionally, The Legion's view range has been decreased from 13 tiles to 10 tiles." + - balance: "All megafauna now have a default view range of 4 tiles, decreased from the original of 5 tiles, and an aggro'd view range of 15 tiles, decreased from the original of 18" + - balance: "Goliaths now move once every ten ticks, sped up from the original value of 40(!!!) ticks. Additionally, their cooldown for their tentacles has been reduced from 12 seconds to 6 seconds. To compensate, their cooldown now only decreases by 5 deciseconds every time they're attacked, rather than 10 deciseconds, their melee damage has been reduced to 18 per hit from 25 per hit, and their vision range has been decreased from 5 tiles unaggroed, 9 tiles when aggroed, to 4 tiles and 7 tiles respectively. Ancient goliaths have a default attack cooldown of 8 seconds, sped up from the original value of 12 seconds." + - balance: "Legion (the common mob) now has a cooldown of 1.5 seconds on their skull attack, sped up from the original value of 2 seconds. Additionally, their view range has been decreased from 5 tiles, 9 tiles when aggroed, to 4 tiles, 7 tiles when aggroed." From 33d2a20ef2f8c0dd769956bd2845297264cbb036 Mon Sep 17 00:00:00 2001 From: nik707 <38332985+nik707@users.noreply.github.com> Date: Thu, 4 Oct 2018 21:37:26 -0500 Subject: [PATCH 18/20] first nerf of Mining armor, F in chat --- code/modules/jobs/job_types/cargo_service.dm | 1 + code/modules/mining/equipment/explorer_gear.dm | 2 ++ code/modules/mining/mine_items.dm | 1 - 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/jobs/job_types/cargo_service.dm b/code/modules/jobs/job_types/cargo_service.dm index aae4324e65..053373c05a 100644 --- a/code/modules/jobs/job_types/cargo_service.dm +++ b/code/modules/jobs/job_types/cargo_service.dm @@ -93,6 +93,7 @@ Shaft Miner /obj/item/storage/bag/ore=1,\ /obj/item/kitchen/knife/combat/survival=1,\ /obj/item/mining_voucher=1,\ + /obj/item/suit_voucher=1,\ /obj/item/stack/marker_beacon/ten=1) backpack = /obj/item/storage/backpack/explorer diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 7813794206..a300e08dba 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -125,6 +125,7 @@ desc = "A fire-proof suit for exploring hot environments." icon_state = "seva" item_state = "seva" + w_class = WEIGHT_CLASS_BULKY body_parts_covered = CHEST|GROIN|LEGS|ARMS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -151,6 +152,7 @@ desc = "A robust suit for exploring dangerous environments." icon_state = "exo" item_state = "exo" + w-_class = WEIGHT_CLASS_BULKY body_parts_covered = CHEST|GROIN|LEGS|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT cold_protection = CHEST|GROIN|LEGS|ARMS diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 637dde45b9..a1ba493d46 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -60,7 +60,6 @@ new /obj/item/gun/energy/kinetic_accelerator(src) new /obj/item/clothing/glasses/meson(src) new /obj/item/survivalcapsule(src) - new /obj/item/suit_voucher(src) new /obj/item/assault_pod/mining(src) From 636f3e7d211c060f91bdcce94dd7dcad88d06b8f Mon Sep 17 00:00:00 2001 From: Poojawa Date: Thu, 4 Oct 2018 21:57:06 -0500 Subject: [PATCH 19/20] black_tang_l --- code/modules/clothing/under/miscellaneous.dm | 1 - modular_citadel/icons/mob/uniform_digi.dmi | Bin 264379 -> 264381 bytes 2 files changed, 1 deletion(-) diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 0ed6395b15..bcd9642662 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -496,7 +496,6 @@ item_color = "red_evening_gown" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE - body_parts_covered = CHEST|GROIN /obj/item/clothing/under/maid name = "maid costume" diff --git a/modular_citadel/icons/mob/uniform_digi.dmi b/modular_citadel/icons/mob/uniform_digi.dmi index 1a95d6a3bd70a183692e8dff6968879297af9f8f..5d9f0ad235c68439f69b932ca0e668e854013496 100644 GIT binary patch delta 392 zcmV;30eAkpkr2I+5RfDRcd;dB1Akj6Ld~(VZTY}a;?NGTK!Ao}5OpaNqkauoG#I#H4sBg4y4)XYvm#+s<%@1sfs`aZ zO+G2)UF#F2^pF6fJhmo*z7$xNvjhXk-$!IzDLc#r+SWyu0{IvvPu@f+-IU=EebPz+W)?Z;1&5*q0f(Xm0*9gn1Gl0D1Q`Qv@32My delta 390 zcmV;10eSwtkr2C)5RfDRb+IL91AhyiyRvQhz)|AR4zNCeMqvsXvd75*!X+lJMKI~*!ojZ4W7qDW(Rg|ThC z^0>Hi9+8ydfGm0IluMevpRA9_DhHLm$DR<8+;CQmD>@wPS5~*`9CxmxM2?MTq~N~A8WHBVN~UdZdQSWBtA_( zDdb)23#Igs{-Qj#CWSx|Y66wVmgA5asWOZ5*ao)Qe510HY6Ko$qDGO9E_vvYWqT?H zBi_K09YM)VsThX@uvx)}je~fP{k~<%0u{U+$Zhc(Y;9l;Rm)He7C~VS(mqK?umHTE zr~r#%&=qAU@D>K;K{Suz8Pt-FsMRZrSYFtB=y8+g1UUp>#IJ9YBLy=75|dX2C;=yv kfCU@~gxi}Gbs#-~gQNwAqy+(oqy++pqy+=Fqy+>S1KFLe2><{9 From 153280251140bdcb297e63449ffe26e8fb6227db Mon Sep 17 00:00:00 2001 From: nik707 <38332985+nik707@users.noreply.github.com> Date: Thu, 4 Oct 2018 22:04:12 -0500 Subject: [PATCH 20/20] fixes dumb --- code/modules/mining/equipment/explorer_gear.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index a300e08dba..2c7eaf09ba 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -152,7 +152,7 @@ desc = "A robust suit for exploring dangerous environments." icon_state = "exo" item_state = "exo" - w-_class = WEIGHT_CLASS_BULKY + w_class = WEIGHT_CLASS_BULKY body_parts_covered = CHEST|GROIN|LEGS|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT cold_protection = CHEST|GROIN|LEGS|ARMS