From f373b2c9e6797c2e05ad6f0a845f0b37a4864375 Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Mon, 30 Apr 2018 01:32:23 +0300 Subject: [PATCH 01/14] Kills off three more flags from flags_2 --- code/__DEFINES/flags.dm | 7 ++++-- code/__DEFINES/obj_flags.dm | 15 +++++++++++++ code/__HELPERS/icons.dm | 8 +++---- code/_globalvars/bitfields.dm | 22 +++++++++++++++---- code/datums/components/material_container.dm | 2 +- code/datums/components/wet_floor.dm | 2 +- code/game/mecha/equipment/tools/work_tools.dm | 2 +- code/game/objects/items/RCD.dm | 2 +- code/game/objects/items/bodybag.dm | 4 ++-- code/game/objects/items/cards_ids.dm | 2 +- code/game/objects/items/holy_weapons.dm | 2 +- code/game/objects/items/storage/backpack.dm | 2 +- code/game/objects/items/storage/bags.dm | 2 +- code/game/objects/objs.dm | 2 +- code/game/turfs/open.dm | 2 +- code/game/turfs/turf.dm | 2 +- code/modules/antagonists/cult/cult_items.dm | 2 +- code/modules/awaymissions/capture_the_flag.dm | 2 +- .../mob/living/carbon/human/species.dm | 2 +- .../computers/item/laptop.dm | 2 +- .../guns/ballistic/laser_gatling.dm | 4 +--- code/modules/projectiles/guns/magic/staff.dm | 2 +- .../xenobiology/crossbreeding/burning.dm | 4 ++-- 23 files changed, 63 insertions(+), 33 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index f871ac6a44..6a52f15dec 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -35,10 +35,10 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 /* Secondary atom flags, for the flags_2 var, denoted with a _2 */ -#define SLOWS_WHILE_IN_HAND_2 (1<<0) + #define NO_EMP_WIRES_2 (1<<1) #define HOLOGRAM_2 (1<<2) -#define FROZEN_2 (1<<3) + #define BANG_PROTECT_2 (1<<6) // An item worn in the ear slot with HEALS_EARS will heal your ears each @@ -54,12 +54,15 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 // TESLA_IGNORE grants immunity from being targeted by tesla-style electricity #define TESLA_IGNORE_2 (1<<9) +<<<<<<< HEAD // Stops you from putting things like an RCD or other items into an ORM or protolathe for materials. #define NO_MAT_REDEMPTION_2 (1<<10) // LAVA_PROTECT used on the flags_2 variable for both SUIT and HEAD items, and stops lava damage. Must be present in both to stop lava damage. #define LAVA_PROTECT_2 (1<<11) +======= +>>>>>>> ccf8fc5... Kills off three more flags from flags_2 (#37529) //turf-only flags #define NOJAUNT_1 (1<<0) #define UNUSED_TRANSIT_TURF_1 (1<<1) diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index bfbf6f866a..c637e9c14c 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -9,6 +9,7 @@ #define ON_BLUEPRINTS (1<<5) //Are we visible on the station blueprints at roundstart? #define UNIQUE_RENAME (1<<6) // can you customize the description/name of the thing? #define USES_TGUI (1<<7) //put on things that use tgui on ui_interact instead of custom/old UI. +#define FROZEN (1<<8) // If you add new ones, be sure to add them to /obj/Initialize as well for complete mapping support @@ -18,3 +19,17 @@ #define IN_INVENTORY (1<<1) //is this item equipped into an inventory slot or hand of a mob? used for tooltips #define FORCE_STRING_OVERRIDE (1<<2) // used for tooltips #define NEEDS_PERMIT (1<<3) //Used by security bots to determine if this item is safe for public use. +<<<<<<< HEAD +======= +#define SLOWS_WHILE_IN_HAND (1<<4) +#define NO_MAT_REDEMPTION (1<<5) // Stops you from putting things like an RCD or other items into an ORM or protolathe for materials. + +// Flags for the clothing_flags var on /obj/item/clothing + +#define LAVAPROTECT (1<<0) +#define STOPSPRESSUREDAMAGE (1<<1) //SUIT and HEAD items which stop pressure damage. To stop you taking all pressure damage you must have both a suit and head item with this flag. +#define BLOCK_GAS_SMOKE_EFFECT (1<<2) // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! +#define MASKINTERNALS (1<<3) // mask allows internals +#define NOSLIP (1<<4) //prevents from slipping on wet floors, in space etc +#define THICKMATERIAL (1<<5) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. +>>>>>>> ccf8fc5... Kills off three more flags from flags_2 (#37529) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 7caa28642e..9a8a249159 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1072,19 +1072,19 @@ GLOBAL_LIST_INIT(freon_color_matrix, list("#2E5E69", "#60A2A8", "#A1AFB1", rgb(0 // Used to make the frozen item visuals for Freon. if(resistance_flags & FREEZE_PROOF) return - if(!(flags_2 & FROZEN_2)) + if(!(obj_flags & FROZEN)) name = "frozen [name]" add_atom_colour(GLOB.freon_color_matrix, TEMPORARY_COLOUR_PRIORITY) alpha -= 25 - flags_2 |= FROZEN_2 + obj_flags |= FROZEN //Assumes already frozed /obj/proc/make_unfrozen() - if(flags_2 & FROZEN_2) + if(obj_flags & FROZEN) name = replacetext(name, "frozen ", "") remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, GLOB.freon_color_matrix) alpha += 25 - flags_2 &= ~FROZEN_2 + obj_flags &= ~FROZEN //Converts an icon to base64. Operates by putting the icon in the iconCache savefile, diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 168863708c..9117f9a95a 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -30,7 +30,8 @@ GLOBAL_LIST_INIT(bitfields, list( "DANGEROUS_POSSESSION" = DANGEROUS_POSSESSION, "ON_BLUEPRINTS" = ON_BLUEPRINTS, "UNIQUE_RENAME" = UNIQUE_RENAME, - "USES_TGUI" = USES_TGUI + "USES_TGUI" = USES_TGUI, + "FROZEN" = FROZEN, ), "datum_flags" = list( "DF_USE_TAG" = DF_USE_TAG, @@ -40,7 +41,9 @@ GLOBAL_LIST_INIT(bitfields, list( "BEING_REMOVED" = BEING_REMOVED, "IN_INVENTORY" = IN_INVENTORY, "FORCE_STRING_OVERRIDE" = FORCE_STRING_OVERRIDE, - "NEEDS_PERMIT" = NEEDS_PERMIT + "NEEDS_PERMIT" = NEEDS_PERMIT, + "SLOWS_WHILE_IN_HAND" = SLOWS_WHILE_IN_HAND, + "NO_MAT_REDEMPTION" = NO_MAT_REDEMPTION, ), "admin_flags" = list( "BUILDMODE" = R_BUILDMODE, @@ -119,15 +122,26 @@ GLOBAL_LIST_INIT(bitfields, list( "NOSLIP_1" = NOSLIP_1 ), "flags_2" = list( - "SLOWS_WHILE_IN_HAND_2" = SLOWS_WHILE_IN_HAND_2, "NO_EMP_WIRES_2" = NO_EMP_WIRES_2, "HOLOGRAM_2" = HOLOGRAM_2, - "FRONZE_2" = FROZEN_2, "BANG_PROTECT_2" = BANG_PROTECT_2, "HEALS_EARS_2" = HEALS_EARS_2, "OMNITONGUE_2" = OMNITONGUE_2, +<<<<<<< HEAD "TESLA_IGNORE_2" = TESLA_IGNORE_2, "NO_MAT_REDEMPTION_2" = NO_MAT_REDEMPTION_2, "LAVA_PROTECT_2" = LAVA_PROTECT_2 ) +======= + "TESLA_IGNORE_2" = TESLA_IGNORE_2 + ), + "clothing_flags" = list( + "LAVAPROTECT" = LAVAPROTECT, + "STOPSPRESSUREDAMAGE" = STOPSPRESSUREDAMAGE, + "BLOCK_GAS_SMOKE_EFFECT" = BLOCK_GAS_SMOKE_EFFECT, + "MASKINTERNALS" = MASKINTERNALS, + "NOSLIP" = NOSLIP, + "THICKMATERIAL" = THICKMATERIAL, + ) +>>>>>>> ccf8fc5... Kills off three more flags from flags_2 (#37529) )) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 6f4e8d586d..37154e2282 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -53,7 +53,7 @@ var/list/tc = allowed_typecache if(user.a_intent != INTENT_HELP) return - if((I.flags_2 & (HOLOGRAM_2 | NO_MAT_REDEMPTION_2)) || (tc && !is_type_in_typecache(I, tc))) + if((I.flags_2 & HOLOGRAM_2) || (I.item_flags & NO_MAT_REDEMPTION) || (tc && !is_type_in_typecache(I, tc))) to_chat(user, "[parent] won't accept [I]!") return . = COMPONENT_NO_AFTERATTACK diff --git a/code/datums/components/wet_floor.dm b/code/datums/components/wet_floor.dm index 78b31802c9..aaff5e5dd8 100644 --- a/code/datums/components/wet_floor.dm +++ b/code/datums/components/wet_floor.dm @@ -117,7 +117,7 @@ decrease = max(0, decrease) if((is_wet() & TURF_WET_ICE) && t > T0C) //Ice melts into water! for(var/obj/O in T.contents) - if(O.flags_2 & FROZEN_2) + if(O.obj_flags & FROZEN) O.make_unfrozen() add_wet(TURF_WET_WATER, max_time_left()) dry(TURF_WET_ICE) diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 2054a6ba9a..8aaee8d759 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -194,7 +194,7 @@ equip_cooldown = 10 energy_drain = 250 range = MELEE|RANGED - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION var/mode = 0 //0 - deconstruct, 1 - wall or floor, 2 - airlock. /obj/item/mecha_parts/mecha_equipment/rcd/Initialize() diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 12360ec353..9c10035d0f 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -129,7 +129,7 @@ RLD lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' max_matter = 160 - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION has_ammobar = TRUE var/mode = 1 var/ranged = FALSE diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 72481f335d..4e2b0baf75 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -30,7 +30,7 @@ user.forceMove(R) playsound(src, 'sound/items/zip.ogg', 15, 1, -3) return (OXYLOSS) - ..() + ..() // Bluespace bodybag @@ -41,7 +41,7 @@ icon_state = "bluebodybag_folded" unfoldedbag_path = /obj/structure/closet/body_bag/bluespace w_class = WEIGHT_CLASS_SMALL - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION /obj/item/bodybag/bluespace/examine(mob/user) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 08e6204c63..bad9f32089 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -60,7 +60,7 @@ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi' flags_1 = NOBLUDGEON_1 - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION var/prox_check = TRUE //If the emag requires you to be in range /obj/item/card/emag/bluespace diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 13ca2b35d6..cbb0e11db7 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -436,7 +436,7 @@ slot_flags = null hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND /obj/item/nullrod/tribal_knife/Initialize(mapload) . = ..() diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index a236ebeff6..848be02179 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -44,7 +44,7 @@ icon_state = "holdingpack" item_state = "holdingpack" resistance_flags = FIRE_PROOF - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 50) component_type = /datum/component/storage/concrete/bluespace/bag_of_holding diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index 5c6a354356..e655525317 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -77,7 +77,7 @@ name = "trash bag of holding" desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage." icon_state = "bluetrashbag" - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION /obj/item/storage/bag/trash/bluespace/ComponentInitialize() . = ..() diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 75cef4e92c..65ed2281f0 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -72,7 +72,7 @@ /obj/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) ..() - if(flags_2 & FROZEN_2) + if(obj_flags & FROZEN) visible_message("[src] shatters into a million pieces!") qdel(src) diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index 02df5ed3fb..593a0f864d 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -159,7 +159,7 @@ for(var/obj/I in contents) if(I.resistance_flags & FREEZE_PROOF) return - if(!(I.flags_2 & FROZEN_2)) //let it go + if(!(I.obj_flags & FROZEN)) I.make_frozen_visual() for(var/mob/living/L in contents) if(L.bodytemperature <= 50) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index a40991b954..9d4956cbee 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -184,7 +184,7 @@ //melting if(isobj(AM) && air && air.temperature > T0C) var/obj/O = AM - if(O.flags_2 & FROZEN_2) + if(O.obj_flags & FROZEN) O.make_unfrozen() /turf/proc/is_plasteel_floor() diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 30d150e3ee..01999f0650 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -103,7 +103,7 @@ inhand_x_dimension = 64 inhand_y_dimension = 64 actions_types = list() - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND var/datum/action/innate/dash/cult/jaunt var/datum/action/innate/cult/spin2win/linked_action var/spinning = FALSE diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index c864469783..3e29854393 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -24,7 +24,7 @@ armour_penetration = 1000 resistance_flags = INDESTRUCTIBLE anchored = TRUE - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND var/team = WHITE_TEAM var/reset_cooldown = 0 var/anyonecanpickup = TRUE diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 83b22c7e15..551a3d7c5d 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1251,7 +1251,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(H.back) . += H.back.slowdown for(var/obj/item/I in H.held_items) - if(I.flags_2 & SLOWS_WHILE_IN_HAND_2) + if(I.item_flags & SLOWS_WHILE_IN_HAND) . += I.slowdown var/stambufferinfluence = (H.bufferedstam*(100/H.stambuffer))*0.2 //CIT CHANGE - makes stamina buffer influence movedelay var/health_deficiency = ((100 + stambufferinfluence) - H.health + (H.getStaminaLoss()*0.75))//CIT CHANGE - reduces the impact of staminaloss on movement speed and makes stamina buffer influence movedelay diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm index f0970f3ce0..e3758a70ec 100644 --- a/code/modules/modular_computers/computers/item/laptop.dm +++ b/code/modules/modular_computers/computers/item/laptop.dm @@ -13,7 +13,7 @@ w_class = WEIGHT_CLASS_NORMAL // No running around with open laptops in hands. - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND screen_on = 0 // Starts closed var/start_open = TRUE // unless this var is set to 1 diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/ballistic/laser_gatling.dm index cc719f98ee..bfc95ecc52 100644 --- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm +++ b/code/modules/projectiles/guns/ballistic/laser_gatling.dm @@ -111,7 +111,7 @@ fire_sound = 'sound/weapons/laser.ogg' mag_type = /obj/item/ammo_box/magazine/internal/minigun casing_ejector = FALSE - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = NEEDS_PERMIT | SLOWS_WHILE_IN_HAND var/obj/item/minigunpack/ammo_pack /obj/item/gun/ballistic/minigun/Initialize() @@ -146,5 +146,3 @@ /obj/item/gun/ballistic/minigun/dropped(mob/living/user) ammo_pack.attach_gun(user) - - diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm index c268c15272..ee49046392 100644 --- a/code/modules/projectiles/guns/magic/staff.dm +++ b/code/modules/projectiles/guns/magic/staff.dm @@ -2,7 +2,7 @@ slot_flags = SLOT_BACK lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NEEDS_PERMIT | NO_MAT_REDEMPTION /obj/item/gun/magic/staff/change name = "staff of change" diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index ab0000626c..ccbfcb03e7 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -392,7 +392,7 @@ Burning extracts: throw_speed = 2 force = 15 //Heavy, but hard to wield. attack_verb = list("bashed","pounded","slammed") - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND /obj/effect/proc_holder/spell/targeted/shapeshift/slimeform @@ -417,4 +417,4 @@ Burning extracts: /mob/living/simple_animal/slime/transformedslime/Reproduce() //Just in case. to_chat(src, "I can't reproduce...") - return \ No newline at end of file + return From ec2de88a653d0888d3162cba94c569a8bb9bcd19 Mon Sep 17 00:00:00 2001 From: vuonojenmustaturska Date: Mon, 30 Apr 2018 01:32:59 +0300 Subject: [PATCH 02/14] Replaces HEALS_EARS_2 with a component, adds a wearertargeting parent component for future use --- code/__DEFINES/components.dm | 1 + code/__DEFINES/flags.dm | 4 -- code/_globalvars/bitfields.dm | 1 - code/datums/components/earhealing.dm | 30 +++++++++++++ code/datums/components/wearertargeting.dm | 26 +++++++++++ code/modules/clothing/ears/_ears.dm | 53 +++++++++++++++++++++++ code/modules/surgery/organs/ears.dm | 11 ++--- tgstation.dme | 2 + 8 files changed, 115 insertions(+), 13 deletions(-) create mode 100644 code/datums/components/earhealing.dm create mode 100644 code/datums/components/wearertargeting.dm diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 67a44bbe01..d955ed23d4 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -83,6 +83,7 @@ #define COMSIG_MOVABLE_UNBUCKLE "unbuckle" //from base of atom/movable/unbuckle_mob(): (mob, force) #define COMSIG_MOVABLE_THROW "movable_throw" //from base of atom/movable/throw_at(): (datum/thrownthing, spin) #define COMSIG_MOVABLE_Z_CHANGED "movable_ztransit" //from base of atom/movable/onTransitZ(): (old_z, new_z) + // /obj signals #define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" //from base of obj/deconstruct(): (disassembled) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index f871ac6a44..58cbdb3eef 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -41,10 +41,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define FROZEN_2 (1<<3) #define BANG_PROTECT_2 (1<<6) -// An item worn in the ear slot with HEALS_EARS will heal your ears each -// Life() tick, even if normally your ears would be too damaged to heal. -#define HEALS_EARS_2 (1<<7) - // A mob with OMNITONGUE has no restriction in the ability to speak // languages that they know. So even if they wouldn't normally be able to // through mob or tongue restrictions, this flag allows them to ignore diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 168863708c..28af96e3c3 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -124,7 +124,6 @@ GLOBAL_LIST_INIT(bitfields, list( "HOLOGRAM_2" = HOLOGRAM_2, "FRONZE_2" = FROZEN_2, "BANG_PROTECT_2" = BANG_PROTECT_2, - "HEALS_EARS_2" = HEALS_EARS_2, "OMNITONGUE_2" = OMNITONGUE_2, "TESLA_IGNORE_2" = TESLA_IGNORE_2, "NO_MAT_REDEMPTION_2" = NO_MAT_REDEMPTION_2, diff --git a/code/datums/components/earhealing.dm b/code/datums/components/earhealing.dm new file mode 100644 index 0000000000..79303ff701 --- /dev/null +++ b/code/datums/components/earhealing.dm @@ -0,0 +1,30 @@ +// An item worn in the ear slot with this component will heal your ears each +// Life() tick, even if normally your ears would be too damaged to heal. + +/datum/component/earhealing + var/mob/living/carbon/wearer + +/datum/component/earhealing/Initialize() + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + RegisterSignal(list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), .proc/equippedChanged) + +/datum/component/earhealing/proc/equippedChanged(mob/living/carbon/user, slot) + if (slot == SLOT_EARS && istype(user)) + if (!wearer) + START_PROCESSING(SSobj, src) + wearer = user + else + if (wearer) + STOP_PROCESSING(SSobj, src) + wearer = null + +/datum/component/earhealing/process() + if (!wearer) + STOP_PROCESSING(SSobj, src) + return + if(!wearer.has_trait(TRAIT_DEAF)) + var/obj/item/organ/ears/ears = wearer.getorganslot(ORGAN_SLOT_EARS) + if (ears) + ears.deaf = max(ears.deaf - 1, (ears.ear_damage < UNHEALING_EAR_DAMAGE ? 0 : 1)) // Do not clear deafness while above the unhealing ear damage threshold + ears.ear_damage = max(ears.ear_damage - 0.1, 0) diff --git a/code/datums/components/wearertargeting.dm b/code/datums/components/wearertargeting.dm new file mode 100644 index 0000000000..adf8acceb9 --- /dev/null +++ b/code/datums/components/wearertargeting.dm @@ -0,0 +1,26 @@ +// A dummy parent type used for easily making components that target an item's wearer rather than the item itself. + +/datum/component/wearertargeting + var/datum/component/mobhook + var/list/valid_slots = list() + var/list/signals = list() + var/datum/callback/callback = CALLBACK(GLOBAL_PROC, .proc/pass) + var/mobtype = /mob/living + +/datum/component/wearertargeting/Initialize() + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + RegisterSignal(list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), .proc/checkMobHook) + +/datum/component/wearertargeting/Destroy() + QDEL_NULL(mobhook) + return ..() + +/datum/component/wearertargeting/proc/checkMobHook(mob/user, slot) + if ((slot in valid_slots) && istype(user, mobtype)) + if (mobhook && mobhook.parent != user) + QDEL_NULL(mobhook) + if (!mobhook) + mobhook = user.AddComponent(/datum/component/redirect, signals, callback) + else + QDEL_NULL(mobhook) diff --git a/code/modules/clothing/ears/_ears.dm b/code/modules/clothing/ears/_ears.dm index 0ff1bdefe3..e05bdb4b9f 100644 --- a/code/modules/clothing/ears/_ears.dm +++ b/code/modules/clothing/ears/_ears.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD //Ears: currently only used for headsets and earmuffs /obj/item/clothing/ears @@ -44,3 +45,55 @@ H.update_inv_neck() H.update_inv_head() to_chat(owner, "You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]") +======= + +//Ears: currently only used for headsets and earmuffs +/obj/item/clothing/ears + name = "ears" + w_class = WEIGHT_CLASS_TINY + throwforce = 0 + slot_flags = ITEM_SLOT_EARS + resistance_flags = NONE + +/obj/item/clothing/ears/earmuffs + name = "earmuffs" + desc = "Protects your hearing from loud noises, and quiet ones as well." + icon_state = "earmuffs" + item_state = "earmuffs" + strip_delay = 15 + equip_delay_other = 25 + resistance_flags = FLAMMABLE + flags_2 = BANG_PROTECT_2 + +/obj/item/clothing/ears/earmuffs/ComponentInitialize() + . = ..() + AddComponent(/datum/component/earhealing) + +/obj/item/clothing/ears/headphones + name = "headphones" + desc = "Unce unce unce unce. Boop!" + icon = 'icons/obj/clothing/accessories.dmi' + icon_state = "headphones" + item_state = "headphones" + slot_flags = ITEM_SLOT_EARS | ITEM_SLOT_HEAD | ITEM_SLOT_NECK //Fluff item, put it whereever you want! + actions_types = list(/datum/action/item_action/toggle_headphones) + var/headphones_on = FALSE + +/obj/item/clothing/ears/headphones/Initialize() + . = ..() + update_icon() + +/obj/item/clothing/ears/headphones/update_icon() + icon_state = "[initial(icon_state)]_[headphones_on? "on" : "off"]" + item_state = "[initial(item_state)]_[headphones_on? "on" : "off"]" + +/obj/item/clothing/ears/headphones/proc/toggle(owner) + headphones_on = !headphones_on + update_icon() + var/mob/living/carbon/human/H = owner + if(istype(H)) + H.update_inv_ears() + H.update_inv_neck() + H.update_inv_head() + to_chat(owner, "You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]") +>>>>>>> 3eb30b1... Replaces HEALS_EARS_2 with a component, adds a wearertargeting parent component for future use (#37530) diff --git a/code/modules/surgery/organs/ears.dm b/code/modules/surgery/organs/ears.dm index fff342a101..c54d3bb532 100644 --- a/code/modules/surgery/organs/ears.dm +++ b/code/modules/surgery/organs/ears.dm @@ -27,14 +27,9 @@ // genetic deafness prevents the body from using the ears, even if healthy if(C.has_trait(TRAIT_DEAF)) deaf = max(deaf, 1) - else - if(C.ears && (C.ears.flags_2 & HEALS_EARS_2)) - deaf = max(deaf - 1, 1) - ear_damage = max(ear_damage - 0.1, 0) - // if higher than UNHEALING_EAR_DAMAGE, no natural healing occurs. - if(ear_damage < UNHEALING_EAR_DAMAGE) - ear_damage = max(ear_damage - 0.05, 0) - deaf = max(deaf - 1, 0) + else if(ear_damage < UNHEALING_EAR_DAMAGE) // if higher than UNHEALING_EAR_DAMAGE, no natural healing occurs. + ear_damage = max(ear_damage - 0.05, 0) + deaf = max(deaf - 1, 0) /obj/item/organ/ears/proc/restoreEars() deaf = 0 diff --git a/tgstation.dme b/tgstation.dme index 3c02f56858..eae3dcd5bf 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -323,6 +323,7 @@ #include "code\datums\components\cleaning.dm" #include "code\datums\components\construction.dm" #include "code\datums\components\decal.dm" +#include "code\datums\components\earhealing.dm" #include "code\datums\components\forensics.dm" #include "code\datums\components\infective.dm" #include "code\datums\components\jousting.dm" @@ -344,6 +345,7 @@ #include "code\datums\components\stationloving.dm" #include "code\datums\components\swarming.dm" #include "code\datums\components\thermite.dm" +#include "code\datums\components\wearertargeting.dm" #include "code\datums\components\wet_floor.dm" #include "code\datums\components\decals\blood.dm" #include "code\datums\components\storage\storage.dm" From e1fef511cf414b6455d5e625aefb12a6cfb6fc4b Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 10:17:28 -0500 Subject: [PATCH 03/14] Update flags.dm --- code/__DEFINES/flags.dm | 9 --------- 1 file changed, 9 deletions(-) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 6a52f15dec..23742f8066 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -54,15 +54,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 // TESLA_IGNORE grants immunity from being targeted by tesla-style electricity #define TESLA_IGNORE_2 (1<<9) -<<<<<<< HEAD -// Stops you from putting things like an RCD or other items into an ORM or protolathe for materials. -#define NO_MAT_REDEMPTION_2 (1<<10) - -// LAVA_PROTECT used on the flags_2 variable for both SUIT and HEAD items, and stops lava damage. Must be present in both to stop lava damage. -#define LAVA_PROTECT_2 (1<<11) - -======= ->>>>>>> ccf8fc5... Kills off three more flags from flags_2 (#37529) //turf-only flags #define NOJAUNT_1 (1<<0) #define UNUSED_TRANSIT_TURF_1 (1<<1) From 37f972dc6ce6b531f347a9704e85bd8593e69f37 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 10:17:36 -0500 Subject: [PATCH 04/14] Update obj_flags.dm --- code/__DEFINES/obj_flags.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index c637e9c14c..f8287cf34e 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -19,8 +19,6 @@ #define IN_INVENTORY (1<<1) //is this item equipped into an inventory slot or hand of a mob? used for tooltips #define FORCE_STRING_OVERRIDE (1<<2) // used for tooltips #define NEEDS_PERMIT (1<<3) //Used by security bots to determine if this item is safe for public use. -<<<<<<< HEAD -======= #define SLOWS_WHILE_IN_HAND (1<<4) #define NO_MAT_REDEMPTION (1<<5) // Stops you from putting things like an RCD or other items into an ORM or protolathe for materials. @@ -32,4 +30,3 @@ #define MASKINTERNALS (1<<3) // mask allows internals #define NOSLIP (1<<4) //prevents from slipping on wet floors, in space etc #define THICKMATERIAL (1<<5) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. ->>>>>>> ccf8fc5... Kills off three more flags from flags_2 (#37529) From b90ca78092e413b5f57cbcac50591b80880f6cc1 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 13 May 2018 10:17:50 -0500 Subject: [PATCH 05/14] Update bitfields.dm --- code/_globalvars/bitfields.dm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 9117f9a95a..e3f7d21ab0 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -127,12 +127,6 @@ GLOBAL_LIST_INIT(bitfields, list( "BANG_PROTECT_2" = BANG_PROTECT_2, "HEALS_EARS_2" = HEALS_EARS_2, "OMNITONGUE_2" = OMNITONGUE_2, -<<<<<<< HEAD - "TESLA_IGNORE_2" = TESLA_IGNORE_2, - "NO_MAT_REDEMPTION_2" = NO_MAT_REDEMPTION_2, - "LAVA_PROTECT_2" = LAVA_PROTECT_2 - ) -======= "TESLA_IGNORE_2" = TESLA_IGNORE_2 ), "clothing_flags" = list( @@ -143,5 +137,4 @@ GLOBAL_LIST_INIT(bitfields, list( "NOSLIP" = NOSLIP, "THICKMATERIAL" = THICKMATERIAL, ) ->>>>>>> ccf8fc5... Kills off three more flags from flags_2 (#37529) )) From 65ef45eac630633921d92c490ad7a5f0cc8ab475 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Sun, 20 May 2018 02:37:36 -0500 Subject: [PATCH 06/14] Update _ears.dm --- code/modules/clothing/ears/_ears.dm | 64 ++++------------------------- 1 file changed, 7 insertions(+), 57 deletions(-) diff --git a/code/modules/clothing/ears/_ears.dm b/code/modules/clothing/ears/_ears.dm index e05bdb4b9f..10da082503 100644 --- a/code/modules/clothing/ears/_ears.dm +++ b/code/modules/clothing/ears/_ears.dm @@ -1,11 +1,9 @@ -<<<<<<< HEAD - //Ears: currently only used for headsets and earmuffs /obj/item/clothing/ears name = "ears" w_class = WEIGHT_CLASS_TINY throwforce = 0 - slot_flags = SLOT_EARS + slot_flags = ITEM_SLOT_EARS resistance_flags = NONE /obj/item/clothing/ears/earmuffs @@ -16,7 +14,11 @@ strip_delay = 15 equip_delay_other = 25 resistance_flags = FLAMMABLE - flags_2 = BANG_PROTECT_2|HEALS_EARS_2 + flags_2 = BANG_PROTECT_2 + +/obj/item/clothing/ears/earmuffs/ComponentInitialize() + . = ..() + AddComponent(/datum/component/earhealing) /obj/item/clothing/ears/headphones name = "headphones" @@ -24,7 +26,7 @@ icon = 'icons/obj/clothing/accessories.dmi' icon_state = "headphones" item_state = "headphones" - slot_flags = SLOT_EARS | SLOT_HEAD | SLOT_NECK //Fluff item, put it whereever you want! + slot_flags = ITEM_SLOT_EARS | ITEM_SLOT_HEAD | ITEM_SLOT_NECK //Fluff item, put it whereever you want! actions_types = list(/datum/action/item_action/toggle_headphones) var/headphones_on = FALSE @@ -45,55 +47,3 @@ H.update_inv_neck() H.update_inv_head() to_chat(owner, "You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]") -======= - -//Ears: currently only used for headsets and earmuffs -/obj/item/clothing/ears - name = "ears" - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - slot_flags = ITEM_SLOT_EARS - resistance_flags = NONE - -/obj/item/clothing/ears/earmuffs - name = "earmuffs" - desc = "Protects your hearing from loud noises, and quiet ones as well." - icon_state = "earmuffs" - item_state = "earmuffs" - strip_delay = 15 - equip_delay_other = 25 - resistance_flags = FLAMMABLE - flags_2 = BANG_PROTECT_2 - -/obj/item/clothing/ears/earmuffs/ComponentInitialize() - . = ..() - AddComponent(/datum/component/earhealing) - -/obj/item/clothing/ears/headphones - name = "headphones" - desc = "Unce unce unce unce. Boop!" - icon = 'icons/obj/clothing/accessories.dmi' - icon_state = "headphones" - item_state = "headphones" - slot_flags = ITEM_SLOT_EARS | ITEM_SLOT_HEAD | ITEM_SLOT_NECK //Fluff item, put it whereever you want! - actions_types = list(/datum/action/item_action/toggle_headphones) - var/headphones_on = FALSE - -/obj/item/clothing/ears/headphones/Initialize() - . = ..() - update_icon() - -/obj/item/clothing/ears/headphones/update_icon() - icon_state = "[initial(icon_state)]_[headphones_on? "on" : "off"]" - item_state = "[initial(item_state)]_[headphones_on? "on" : "off"]" - -/obj/item/clothing/ears/headphones/proc/toggle(owner) - headphones_on = !headphones_on - update_icon() - var/mob/living/carbon/human/H = owner - if(istype(H)) - H.update_inv_ears() - H.update_inv_neck() - H.update_inv_head() - to_chat(owner, "You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]") ->>>>>>> 3eb30b1... Replaces HEALS_EARS_2 with a component, adds a wearertargeting parent component for future use (#37530) From 63aa6eeee6ade6cd4850dd510ed98f893a29a3aa Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 22 May 2018 07:58:44 -0500 Subject: [PATCH 07/14] Update lava.dm --- code/game/turfs/simulated/lava.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm index f8ab060853..b6f862cab5 100644 --- a/code/game/turfs/simulated/lava.dm +++ b/code/game/turfs/simulated/lava.dm @@ -10,6 +10,7 @@ light_range = 2 light_power = 0.75 light_color = LIGHT_COLOR_LAVA + bullet_bounce_sound = 'sound/items/welder2.ogg' /turf/open/lava/ex_act(severity, target) contents_explosion(severity, target) @@ -127,10 +128,10 @@ continue if(iscarbon(L)) var/mob/living/carbon/C = L - var/obj/item/clothing/S = C.get_item_by_slot(slot_wear_suit) - var/obj/item/clothing/H = C.get_item_by_slot(slot_head) + var/obj/item/clothing/S = C.get_item_by_slot(SLOT_WEAR_SUIT) + var/obj/item/clothing/H = C.get_item_by_slot(SLOT_HEAD) - if(S && H && S.flags_2 & LAVA_PROTECT_2 && H.flags_2 & LAVA_PROTECT_2) + if(S && H && S.clothing_flags & LAVAPROTECT && H.clothing_flags & LAVAPROTECT) return L.adjustFireLoss(20) From a610e635f1a5b5466967715e53f1207741348098 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 22 May 2018 08:00:04 -0500 Subject: [PATCH 08/14] Update ids.dm --- modular_citadel/code/game/objects/ids.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_citadel/code/game/objects/ids.dm b/modular_citadel/code/game/objects/ids.dm index dc8f38bd25..f07d0ea23b 100644 --- a/modular_citadel/code/game/objects/ids.dm +++ b/modular_citadel/code/game/objects/ids.dm @@ -55,7 +55,7 @@ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi' flags_1 = NOBLUDGEON_1 - flags_2 = NO_MAT_REDEMPTION_2 + item_flags = NO_MAT_REDEMPTION color = rgb(35, 20, 11) /obj/item/card/emag @@ -71,4 +71,4 @@ var/obj/item/card/emag_broken/junk = new(user.loc) junk.add_fingerprint(user) qdel(src) - return \ No newline at end of file + return From 488842a52015ab2c7011441f73ee8df9b94af69e Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 22 May 2018 08:01:29 -0500 Subject: [PATCH 09/14] Update charged.dm --- code/modules/research/xenobiology/crossbreeding/charged.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index 01f22d20b6..98ef1d8308 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -371,7 +371,7 @@ Charged extracts: C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) C.add_atom_colour("#800000", FIXED_COLOUR_PRIORITY) C.resistance_flags |= LAVA_PROOF - C.flags_2 |= LAVA_PROTECT_2 + C.obj_flags |= LAVA_PROTECT uses-- if(!uses) qdel(src) From e4c8e1b4167244e302481f0412c59957f1b14366 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 22 May 2018 09:29:23 -0500 Subject: [PATCH 10/14] Update eutactic_blades.dm --- .../code/game/objects/items/melee/eutactic_blades.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm b/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm index 9573e8706d..f2e2cee4a7 100644 --- a/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm +++ b/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm @@ -254,7 +254,7 @@ armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 70) resistance_flags = FIRE_PROOF var/brightness_on = 6 //TWICE AS BRIGHT AS A REGULAR ESWORD - flags_2 = SLOWS_WHILE_IN_HAND_2 + item_flags = SLOWS_WHILE_IN_HAND /obj/item/twohanded/hypereutactic/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes altafterattack(A, user, TRUE, params) @@ -453,4 +453,4 @@ update_icon() /obj/item/twohanded/hypereutactic/toy/rainbow/AltClick(mob/living/user) - return \ No newline at end of file + return From 647aa4f306f40aa6c147ea48472fc769775bdee6 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 22 May 2018 12:30:43 -0500 Subject: [PATCH 11/14] Update charged.dm --- code/modules/research/xenobiology/crossbreeding/charged.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index e27ce333d0..7183ece045 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -366,7 +366,6 @@ Charged extracts: C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) C.add_atom_colour("#800000", FIXED_COLOUR_PRIORITY) C.resistance_flags |= LAVA_PROOF - C.obj_flags |= LAVA_PROTECT if (istype(C, /obj/item/clothing)) var/obj/item/clothing/CL = C CL.clothing_flags |= LAVAPROTECT From 292c5dfa960cde6b298d359ab57dddb9251f7c6b Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 22 May 2018 22:09:37 -0500 Subject: [PATCH 12/14] Automatic changelog generation for PR #6573 [ci skip] --- html/changelogs/AutoChangeLog-pr-6573.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6573.yml diff --git a/html/changelogs/AutoChangeLog-pr-6573.yml b/html/changelogs/AutoChangeLog-pr-6573.yml new file mode 100644 index 0000000000..565f505337 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6573.yml @@ -0,0 +1,4 @@ +author: "Naksu" +delete-after: True +changes: + - code_imp: "More flags have been moved to their appropriate places" From 646ebc9c01a2684cb7a6fdc4b491c47e7e1ada8b Mon Sep 17 00:00:00 2001 From: LetterJay Date: Tue, 22 May 2018 22:14:41 -0500 Subject: [PATCH 13/14] Update _ears.dm --- code/modules/clothing/ears/_ears.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/ears/_ears.dm b/code/modules/clothing/ears/_ears.dm index bb2a489030..f22fa8b9dc 100644 --- a/code/modules/clothing/ears/_ears.dm +++ b/code/modules/clothing/ears/_ears.dm @@ -15,11 +15,11 @@ strip_delay = 15 equip_delay_other = 25 resistance_flags = FLAMMABLE + flags_2 = BANG_PROTECT_2 /obj/item/clothing/ears/earmuffs/ComponentInitialize() . = ..() AddComponent(/datum/component/earhealing) - AddComponent(/datum/component/wearertargeting/earprotection, list(SLOT_EARS)) /obj/item/clothing/ears/headphones name = "headphones" From ae279fed73e222c00d7fe1a46a629ca3cd3b1e12 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 23 May 2018 05:18:18 -0500 Subject: [PATCH 14/14] Automatic changelog generation for PR #6574 [ci skip] --- html/changelogs/AutoChangeLog-pr-6574.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-6574.yml diff --git a/html/changelogs/AutoChangeLog-pr-6574.yml b/html/changelogs/AutoChangeLog-pr-6574.yml new file mode 100644 index 0000000000..26ded8adac --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6574.yml @@ -0,0 +1,5 @@ +author: "Naksu" +delete-after: True +changes: + - code_imp: "HEALS_EARS_2 is removed in favor of the earhealing component" + - code_imp: "wearertargeting component is available to subtype for components that want to target the wearer of an item rather than the item itself"