From 9ee9f79fdcb4b25e39a3e4b03f01095c5b77a878 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 23:52:33 -0700 Subject: [PATCH 001/271] checks --- code/game/gamemodes/clock_cult/clock_cult.dm | 7 +++++-- code/game/gamemodes/cult/cult.dm | 7 +++++-- code/modules/antagonists/clockcult/clockcult.dm | 4 ++++ code/modules/antagonists/cult/cult.dm | 3 +++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index a76e8234ba..dcf5779f97 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -45,8 +45,11 @@ Credit where due: // PROCS // /////////// -/proc/is_servant_of_ratvar(mob/M) - return istype(M) && !isobserver(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/clockcult) +/proc/is_servant_of_ratvar(mob/M, require_full_power = FALSE) + if(!istype(M) || isobserver(M)) + return FALSE + var/datum/antagonist/clockcult/D = M?.mind?.has_antag_datum(/datum/antagonist/clockcult) + return D && (!require_full_power || !D.neutered) /proc/is_eligible_servant(mob/M) if(!istype(M)) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 497cc2f1c3..1b295bcc50 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -3,8 +3,11 @@ /datum/game_mode var/list/datum/mind/cult = list() -/proc/iscultist(mob/living/M) - return istype(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/cult) +/proc/iscultist(mob/living/M, require_full_power = FALSE) + if(!istype(M)) + return FALSE + var/datum/antagonist/cult/D = M?.mind?.has_antag_datum(/datum/antagonist/cult) + return D && (!require_full_power || !D.neutered) /datum/team/cult/proc/is_sacrifice_target(datum/mind/mind) for(var/datum/objective/sacrifice/sac_objective in objectives) diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index d68e9b594d..7462620287 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -8,11 +8,15 @@ var/datum/action/innate/hierophant/hierophant_network = new() var/datum/team/clockcult/clock_team var/make_team = TRUE //This should be only false for tutorial scarabs + var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact /datum/antagonist/clockcult/silent silent = TRUE show_in_antagpanel = FALSE //internal +/datum/antagonist/clockcult/neutered + neutered = TRUE + /datum/antagonist/clockcult/Destroy() qdel(hierophant_network) return ..() diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index df2383f892..4dbdf6a7d5 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -12,7 +12,10 @@ var/ignore_implant = FALSE var/give_equipment = FALSE var/datum/team/cult/cult_team + var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact +/datum/antagonist/cult/neutered + neutered = TRUE /datum/antagonist/cult/get_team() return cult_team From c3b916fb4dacb9dcd9080ebd94f4a1dadca43658 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Jan 2020 00:00:42 -0700 Subject: [PATCH 002/271] clockcult limits --- .../clockcult/clock_effects/clock_sigils.dm | 10 ++++++++-- code/modules/antagonists/clockcult/clock_scripture.dm | 10 ++++++++-- .../clockcult/clock_scriptures/scripture_drivers.dm | 3 ++- .../clockcult/clock_scriptures/scripture_scripts.dm | 5 ++++- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm b/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm index eb7f83735d..c9f8a53aab 100644 --- a/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm +++ b/code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm @@ -278,9 +278,15 @@ sigil_name = "Vitality Matrix" var/revive_cost = 150 var/sigil_active = FALSE + var/min_drain_health = -INFINITY + var/can_dust = TRUE var/animation_number = 3 //each cycle increments this by 1, at 4 it produces an animation and resets var/static/list/damage_heal_order = list(CLONE, TOX, BURN, BRUTE, OXY) //we heal damage in this order +/obj/effect/clockwork/sigil/vitality/neutered + min_drain_health = 20 + can_dust = FALSE + /obj/effect/clockwork/sigil/vitality/examine(mob/user) . = ..() if(is_servant_of_ratvar(user) || isobserver(user)) @@ -305,7 +311,7 @@ animation_number++ if(!is_servant_of_ratvar(L)) var/vitality_drained = 0 - if(L.stat == DEAD && !consumed_vitality) + if(L.stat == DEAD && !consumed_vitality && can_dust) consumed_vitality = TRUE //Prevent the target from being consumed multiple times vitality_drained = L.maxHealth var/obj/effect/temp_visual/ratvar/sigil/vitality/V = new /obj/effect/temp_visual/ratvar/sigil/vitality(get_turf(src)) @@ -317,7 +323,7 @@ if(!L.dropItemToGround(W)) qdel(W) L.dust() - else + else if(L.health > min_drain_health) if(!GLOB.ratvar_awakens && L.stat == CONSCIOUS) vitality_drained = L.adjustToxLoss(1, forced = TRUE) else diff --git a/code/modules/antagonists/clockcult/clock_scripture.dm b/code/modules/antagonists/clockcult/clock_scripture.dm index 753de786dc..d2ee044e28 100644 --- a/code/modules/antagonists/clockcult/clock_scripture.dm +++ b/code/modules/antagonists/clockcult/clock_scripture.dm @@ -30,6 +30,7 @@ Applications: 8 servants, 3 caches, and 100 CV var/primary_component var/important = FALSE //important scripture will be italicized in the slab's interface var/sort_priority = 1 //what position the scripture should have in a list of scripture. Should be based off of component costs/reqs, but you can't initial() lists. + var/require_full_power = FALSE //requires the user to be a full, non neutered servant of ratvar //messages for offstation scripture recital, courtesy ratvar's generals(and neovgre) var/static/list/neovgre_penalty = list("Go to the station.", "Useless.", "Don't waste time.", "Pathetic.", "Wasteful.") @@ -77,6 +78,8 @@ Applications: 8 servants, 3 caches, and 100 CV /datum/clockwork_scripture/proc/can_recite() //If the words can be spoken if(!invoker || !slab || invoker.get_active_held_item() != slab) return FALSE + if(!is_servant_of_ratvar(invoker, require_full_power)) + return FALSE if(!invoker.can_speak_vocal()) to_chat(invoker, "You are unable to speak the words of the scripture!") return FALSE @@ -236,18 +239,21 @@ Applications: 8 servants, 3 caches, and 100 CV return FALSE return TRUE +/datum/clockwork_scripture/create_object/proc/get_spawn_path(mob/user) + return object_path + /datum/clockwork_scripture/create_object/scripture_effects() if(creator_message && observer_message) invoker.visible_message(observer_message, creator_message) else if(creator_message) to_chat(invoker, creator_message) - var/obj/O = new object_path (get_turf(invoker)) + var/to_spawn = get_spawn_path(invoker) + var/obj/O = new to_spawn(get_turf(invoker)) O.ratvar_act() //update the new object so it gets buffed if ratvar is alive if(isitem(O) && put_object_in_hands) invoker.put_in_hands(O) return TRUE - //Used specifically to create construct shells. /datum/clockwork_scripture/create_object/construct put_object_in_hands = FALSE diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm index 4ab481cfe2..6751f94588 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm @@ -88,7 +88,7 @@ sort_priority = 4 quickbind = TRUE quickbind_desc = "Creates a Sigil of Submission, which will convert non-Servants that remain on it." - + requires_full_power = TRUE //Kindle: Charges the slab with blazing energy. It can be released to stun and silence a target. /datum/clockwork_scripture/ranged_ability/kindle @@ -211,6 +211,7 @@ quickbind = TRUE quickbind_desc = "Returns you to Reebe." var/client_color + requires_full_power = TRUE /datum/clockwork_scripture/abscond/check_special_requirements() if(is_reebe(invoker.z)) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm index 4e1a5b42cb..fb32eda309 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm @@ -50,7 +50,6 @@ return FALSE return ..() - //Vitality Matrix: Creates a sigil which will drain health from nonservants and can use that health to heal or even revive servants. /datum/clockwork_scripture/create_object/vitality_matrix descname = "Trap, Damage to Healing" @@ -77,6 +76,10 @@ return FALSE return ..() +/datum/clockwork_Scripture/create_object/vitality_matrix/get_spawn_path(mob/user) + if(!is_servant_of_ratvar(user, TRUE)) + return /obj/effect/clockwork/sigil/vitality/neutered + return ..() //Judicial Visor: Creates a judicial visor, which can smite an area. /datum/clockwork_scripture/create_object/judicial_visor From 4c69c73983e0f61e4d86e787e9bd5bada5015284 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Jan 2020 00:09:40 -0700 Subject: [PATCH 003/271] cult stuff --- .../modules/antagonists/clockcult/clock_scripture.dm | 1 + code/modules/antagonists/cult/ritual.dm | 3 +++ code/modules/antagonists/cult/runes.dm | 4 ++++ .../antagonists/wizard/equipment/soulstone.dm | 12 ++++++------ 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_scripture.dm b/code/modules/antagonists/clockcult/clock_scripture.dm index d2ee044e28..98b0fff084 100644 --- a/code/modules/antagonists/clockcult/clock_scripture.dm +++ b/code/modules/antagonists/clockcult/clock_scripture.dm @@ -79,6 +79,7 @@ Applications: 8 servants, 3 caches, and 100 CV if(!invoker || !slab || invoker.get_active_held_item() != slab) return FALSE if(!is_servant_of_ratvar(invoker, require_full_power)) + to_chat(invoker, "You aren't strongly connected enough to Ratvar to invoke this!") return FALSE if(!invoker.can_speak_vocal()) to_chat(invoker, "You are unable to speak the words of the scripture!") diff --git a/code/modules/antagonists/cult/ritual.dm b/code/modules/antagonists/cult/ritual.dm index ba2a96289d..6d4c8cd4b9 100644 --- a/code/modules/antagonists/cult/ritual.dm +++ b/code/modules/antagonists/cult/ritual.dm @@ -59,6 +59,9 @@ This file contains the cult dagger and rune list code rune_to_scribe = GLOB.rune_types[entered_rune_name] if(!rune_to_scribe) return + if(!iscultist(user, initial(rune_to_scribe.requires_full_power))) + to_chat(user, "You aren't strongly connected enough to Nar'sie to do draw this.") + return if(initial(rune_to_scribe.req_keyword)) chosen_keyword = stripped_input(user, "Enter a keyword for the new rune.", "Words of Power") if(!chosen_keyword) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 7948b30035..be5dae2c81 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -32,6 +32,7 @@ Runes can either be invoked by one's self or with many different cultists. Each var/scribe_delay = 40 //how long the rune takes to create var/scribe_damage = 0.1 //how much damage you take doing it + var/requires_full_power = FALSE //requires full power to draw or invoke var/invoke_damage = 0 //how much damage invokers take when invoking it var/construct_invoke = TRUE //if constructs can invoke it @@ -185,6 +186,7 @@ structure_check() searches for nearby cultist structures required for the invoca color = RUNE_COLOR_OFFER req_cultists = 1 rune_in_use = FALSE + requires_full_power = TRUE /obj/effect/rune/convert/do_invoke_glow() return @@ -458,6 +460,7 @@ structure_check() searches for nearby cultist structures required for the invoca pixel_y = -32 scribe_delay = 500 //how long the rune takes to create scribe_damage = 40.1 //how much damage you take doing it + requires_full_power = TRUE var/used = FALSE /obj/effect/rune/narsie/Initialize(mapload, set_keyword) @@ -942,6 +945,7 @@ structure_check() searches for nearby cultist structures required for the invoca color = RUNE_COLOR_DARKRED req_cultists = 3 scribe_delay = 100 + requires_full_power = TRUE /obj/effect/rune/apocalypse/invoke(var/list/invokers) if(rune_in_use) diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 962c2b2da4..114a7e41cd 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -31,12 +31,12 @@ /obj/item/soulstone/pickup(mob/living/user) ..() - if(!iscultist(user) && !iswizard(user) && !usability) + if(!iscultist(user, TRUE) && !iswizard(user) && !usability) to_chat(user, "An overwhelming feeling of dread comes over you as you pick up the soulstone. It would be wise to be rid of this quickly.") /obj/item/soulstone/examine(mob/user) . = ..() - if(usability || iscultist(user) || iswizard(user) || isobserver(user)) + if(usability || iscultist(user, TRUE) || iswizard(user) || isobserver(user)) if (old_shard) . += "A soulstone, used to capture a soul, either from dead humans or from freed shades." else @@ -53,7 +53,7 @@ //////////////////////////////Capturing//////////////////////////////////////////////////////// /obj/item/soulstone/attack(mob/living/carbon/human/M, mob/living/user) - if(!iscultist(user) && !iswizard(user) && !usability) + if(!iscultist(user, TRUE) && !iswizard(user) && !usability) user.Unconscious(100) to_chat(user, "Your body is wracked with debilitating pain!") return @@ -74,7 +74,7 @@ /obj/item/soulstone/attack_self(mob/living/user) if(!in_range(src, user)) return - if(!iscultist(user) && !iswizard(user) && !usability) + if(!iscultist(user, TRUE) && !iswizard(user) && !usability) user.Unconscious(100) to_chat(user, "Your body is wracked with debilitating pain!") return @@ -103,7 +103,7 @@ /obj/structure/constructshell/examine(mob/user) . = ..() - if(iscultist(user) || iswizard(user) || user.stat == DEAD) + if(iscultist(user, TRUE) || iswizard(user) || user.stat == DEAD) . += "A construct shell, used to house bound souls from a soulstone." . += "Placing a soulstone with a soul into this shell allows you to produce your choice of the following:" . += "An Artificer, which can produce more shells and soulstones, as well as fortifications." @@ -113,7 +113,7 @@ /obj/structure/constructshell/attackby(obj/item/O, mob/user, params) if(istype(O, /obj/item/soulstone)) var/obj/item/soulstone/SS = O - if(!iscultist(user) && !iswizard(user) && !SS.usability) + if(!iscultist(user, TRUE) && !iswizard(user) && !SS.usability) to_chat(user, "An overwhelming feeling of dread comes over you as you attempt to place the soulstone into the shell. It would be wise to be rid of this quickly.") user.Dizzy(30) return From 01152d6d0f368068f8698dd8df6c249f4d95d6dd Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Jan 2020 00:41:58 -0700 Subject: [PATCH 004/271] traitor items --- code/game/gamemodes/clock_cult/clock_cult.dm | 7 +++--- .../clockcult/clock_items/clockwork_slab.dm | 24 +++++++++++++++++++ code/modules/antagonists/cult/cult_items.dm | 24 +++++++++++++++++++ 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index dcf5779f97..2f395cc149 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -73,12 +73,14 @@ Credit where due: return TRUE return FALSE -/proc/add_servant_of_ratvar(mob/L, silent = FALSE, create_team = TRUE) +/proc/add_servant_of_ratvar(mob/L, silent = FALSE, create_team = TRUE, neutered = FALSE) if(!L || !L.mind) return var/update_type = /datum/antagonist/clockcult if(silent) update_type = /datum/antagonist/clockcult/silent + if(neutered) //prioritizes + update_type = /datum/antagonist/clockcult/neutered var/datum/antagonist/clockcult/C = new update_type(L.mind) C.make_team = create_team C.show_in_roundend = create_team //tutorial scarabs begone @@ -108,9 +110,6 @@ Credit where due: L.playsound_local(get_turf(L), 'sound/ambience/antag/clockcultalr.ogg', 40, TRUE, frequency = 100000, pressure_affected = FALSE) flash_color(L, flash_color = list("#BE8700", "#BE8700", "#BE8700", rgb(0,0,0)), flash_time = 5) - - - /proc/remove_servant_of_ratvar(mob/L, silent = FALSE) if(!L || !L.mind) return diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index b12c72b4af..b1539c0ad9 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -36,6 +36,30 @@ speed_multiplier = 0 no_cost = TRUE +/obj/item/clockwork/slab/traitor + var/spent = FALSE + +/obj/item/clockwork/slab/traitor/attack_self(mob/living/user) + if(!is_servant_of_ratvar(user) && !spent) + to_chat(user, "You press your hand onto [src], golden tendrils of light latching onto you. Was this the best of ideas?") + if(add_servant_of_ratvar(user, FALSE, FALSE, TRUE)) + spent = TRUE + else + var/has_mindshield = locate(/obj/item/implant/mindshield) in user + var/str = "It looks like your mind is protected. You can probably refund this with your uplink." + if(has_midnshield) + str = "It looks like your mind is shielded, offering you a choice." + to_chat(user, "[src] pulses, the tendrils wrapping around your head. [str]") + if(alert(user, "Would you like to attempt to force the shielding influence from your mind? This will destroy your mindshield implant.", "Destroy mindshield?", "Yes", "No") == "Yes") + if(spent || !user.CanReach(src) || user.incapacitated() || user.IsKnockdown() || user.IsStun()) + return + qdel(has_mindshield) + if(add_servant_of_ratvar(user, FALSE, FALSE, TRUE)) + spent = TRUE + else + to_chat(user, "[src] falls dark. It appears you weren't worthy.") + return ..() + //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/clockwork/slab/debug/attack_hand(mob/living/user) if(!is_servant_of_ratvar(user)) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index f14aeede9a..f63c99a9ed 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -6,6 +6,30 @@ throw_range = 5 w_class = WEIGHT_CLASS_SMALL +/obj/item/tome/traitor + var/spent = FALSE + +/obj/item/tome/traitor/attack_self(mob/living/user) + if(!iscultist(user) && !spent) + to_chat(user, "You press your hand onto [src], sinister tendrils of corrupted magic swirling around you. Was this the best of ideas?") + if(user.mind.add_antag_datum(/datum/antagonist/cult/neutered)) + spent = TRUE + else + var/has_mindshield = locate(/obj/item/implant/mindshield) in user + var/str = "It looks like your mind is protected. You can probably refund this with your uplink." + if(has_midnshield) + str = "It looks like your mind is shielded, offering you a choice." + to_chat(user, "[src] pulses, the tendrils wrapping around your head. [str]") + if(alert(user, "Would you like to attempt to force the shielding influence from your mind? This will destroy your mindshield implant.", "Destroy mindshield?", "Yes", "No") == "Yes") + if(spent || !user.CanReach(src) || user.incapacitated() || user.IsKnockdown() || user.IsStun()) + return + qdel(has_mindshield) + if(user.mind.add_antag_datum(/datum/antagonist/cult/neutered)) + spent = TRUE + else + to_chat(user, "[src] falls dark. It appears you weren't worthy.") + return ..() + /obj/item/melee/cultblade/dagger name = "ritual dagger" desc = "A strange dagger said to be used by sinister groups for \"preparing\" a corpse before sacrificing it to their dark gods." From 7e88d05b1d224d2ac907a8d49f056f7db8647c4c Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Jan 2020 00:50:26 -0700 Subject: [PATCH 005/271] items --- .../clockcult/clock_items/clockwork_slab.dm | 5 ++++- .../antagonists/clockcult/clock_scripture.dm | 4 ++-- .../clock_scriptures/scripture_scripts.dm | 2 +- code/modules/antagonists/cult/cult_items.dm | 5 ++++- code/modules/uplink/uplink_items/uplink_roles.dm | 16 ++++++++++++++++ 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index b1539c0ad9..f0e9ee4944 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -39,6 +39,9 @@ /obj/item/clockwork/slab/traitor var/spent = FALSE +/obj/item/clockwork/slab/traitor/check_uplink_validity() + return !spent + /obj/item/clockwork/slab/traitor/attack_self(mob/living/user) if(!is_servant_of_ratvar(user) && !spent) to_chat(user, "You press your hand onto [src], golden tendrils of light latching onto you. Was this the best of ideas?") @@ -47,7 +50,7 @@ else var/has_mindshield = locate(/obj/item/implant/mindshield) in user var/str = "It looks like your mind is protected. You can probably refund this with your uplink." - if(has_midnshield) + if(has_mindshield) str = "It looks like your mind is shielded, offering you a choice." to_chat(user, "[src] pulses, the tendrils wrapping around your head. [str]") if(alert(user, "Would you like to attempt to force the shielding influence from your mind? This will destroy your mindshield implant.", "Destroy mindshield?", "Yes", "No") == "Yes") diff --git a/code/modules/antagonists/clockcult/clock_scripture.dm b/code/modules/antagonists/clockcult/clock_scripture.dm index 98b0fff084..16d251fe92 100644 --- a/code/modules/antagonists/clockcult/clock_scripture.dm +++ b/code/modules/antagonists/clockcult/clock_scripture.dm @@ -30,7 +30,7 @@ Applications: 8 servants, 3 caches, and 100 CV var/primary_component var/important = FALSE //important scripture will be italicized in the slab's interface var/sort_priority = 1 //what position the scripture should have in a list of scripture. Should be based off of component costs/reqs, but you can't initial() lists. - var/require_full_power = FALSE //requires the user to be a full, non neutered servant of ratvar + var/requires_full_power = FALSE //requires the user to be a full, non neutered servant of ratvar //messages for offstation scripture recital, courtesy ratvar's generals(and neovgre) var/static/list/neovgre_penalty = list("Go to the station.", "Useless.", "Don't waste time.", "Pathetic.", "Wasteful.") @@ -78,7 +78,7 @@ Applications: 8 servants, 3 caches, and 100 CV /datum/clockwork_scripture/proc/can_recite() //If the words can be spoken if(!invoker || !slab || invoker.get_active_held_item() != slab) return FALSE - if(!is_servant_of_ratvar(invoker, require_full_power)) + if(!is_servant_of_ratvar(invoker, requires_full_power)) to_chat(invoker, "You aren't strongly connected enough to Ratvar to invoke this!") return FALSE if(!invoker.can_speak_vocal()) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm index fb32eda309..d6296aeaa0 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_scripts.dm @@ -76,7 +76,7 @@ return FALSE return ..() -/datum/clockwork_Scripture/create_object/vitality_matrix/get_spawn_path(mob/user) +/datum/clockwork_scripture/create_object/vitality_matrix/get_spawn_path(mob/user) if(!is_servant_of_ratvar(user, TRUE)) return /obj/effect/clockwork/sigil/vitality/neutered return ..() diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index f63c99a9ed..47762e366c 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -9,6 +9,9 @@ /obj/item/tome/traitor var/spent = FALSE +/obj/item/tome/traitor/check_uplink_validity() + return !spent + /obj/item/tome/traitor/attack_self(mob/living/user) if(!iscultist(user) && !spent) to_chat(user, "You press your hand onto [src], sinister tendrils of corrupted magic swirling around you. Was this the best of ideas?") @@ -17,7 +20,7 @@ else var/has_mindshield = locate(/obj/item/implant/mindshield) in user var/str = "It looks like your mind is protected. You can probably refund this with your uplink." - if(has_midnshield) + if(has_mindshield) str = "It looks like your mind is shielded, offering you a choice." to_chat(user, "[src] pulses, the tendrils wrapping around your head. [str]") if(alert(user, "Would you like to attempt to force the shielding influence from your mind? This will destroy your mindshield implant.", "Destroy mindshield?", "Yes", "No") == "Yes") diff --git a/code/modules/uplink/uplink_items/uplink_roles.dm b/code/modules/uplink/uplink_items/uplink_roles.dm index 89d3c25700..cf5f708093 100644 --- a/code/modules/uplink/uplink_items/uplink_roles.dm +++ b/code/modules/uplink/uplink_items/uplink_roles.dm @@ -92,6 +92,22 @@ restricted_roles = list("Chaplain") surplus = 5 //Very low chance to get it in a surplus crate even without being the chaplain +/datum/uplink_item/role_restricted/his_grace + name = "Clockwork Slab" + desc = "A reverse engineered clockwork slab. Is this really a good idea?." + item = /obj/item/clockwork/slab/traitor + cost = 20 + refundable = TRUE + restricted_roles = list("Chaplain") + +/datum/uplink_item/role_restricted/his_grace + name = "Arcane Tome" + desc = "A replica of a Nar'sian tome. This is probably a bad idea.." + item = /obj/item/tome/traitor + cost = 20 + refundable = TRUE + restricted_roles = list("Chaplain") + /datum/uplink_item/role_restricted/explosive_hot_potato name = "Exploding Hot Potato" desc = "A potato rigged with explosives. On activation, a special mechanism is activated that prevents it from being dropped. \ From fc5eb82a6b7e2786aa14ec23418b7728d3c9a685 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Jan 2020 00:56:38 -0700 Subject: [PATCH 006/271] limit summon ghost --- code/modules/antagonists/cult/runes.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index be5dae2c81..2da4b4d155 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -815,6 +815,7 @@ structure_check() searches for nearby cultist structures required for the invoca invoke_damage = 10 construct_invoke = FALSE color = RUNE_COLOR_DARKRED + requires_full_power = TRUE var/mob/living/affecting = null var/ghost_limit = 3 var/ghosts = 0 From c49da64f075fee16239c7571823c0216a3a688b2 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Jan 2020 13:24:51 -0700 Subject: [PATCH 007/271] <3 google --- code/modules/antagonists/cult/blood_magic.dm | 10 ++++++++-- code/modules/antagonists/cult/cult_items.dm | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 794010d9c0..95e6c50750 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -570,7 +570,9 @@ var/turf/T = get_turf(target) if(istype(target, /obj/item/stack/sheet/metal)) var/obj/item/stack/sheet/candidate = target - if(candidate.use(50)) + if(!iscultist(user, TRUE)) + to_chat(user, "You are not strongly connected enough to Nar'sie to use make constructs...") + else if(candidate.use(50)) uses-- to_chat(user, "A dark cloud emanates from your hand and swirls around the metal, twisting it into a construct shell!") new /obj/structure/constructshell(T) @@ -593,7 +595,9 @@ SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) else if(istype(target,/mob/living/silicon/robot)) var/mob/living/silicon/robot/candidate = target - if(candidate.mmi) + if(!iscultist(user, TRUE)) + to_chat(user, "You are not strongly connected enough to Nar'sie to use make constructs...") + else if(candidate.mmi) user.visible_message("A dark cloud emanates from [user]'s hand and swirls around [candidate]!") playsound(T, 'sound/machines/airlock_alien_prying.ogg', 80, 1) var/prev_color = candidate.color @@ -812,6 +816,8 @@ if("Blood Beam (500)") if(uses < 500) to_chat(user, "You need 500 charges to perform this rite.") + else if(!iscultist(user, TRUE)) + to_chat(user, "You are not strongly connected to Nar'sie enough to use something of this power.") else var/obj/rite = new /obj/item/blood_beam() uses -= 500 diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 47762e366c..5d7cb86ca4 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -524,7 +524,7 @@ var/static/curselimit = 0 /obj/item/shuttle_curse/attack_self(mob/living/user) - if(!iscultist(user)) + if(!iscultist(user, TRUE)) user.dropItemToGround(src, TRUE) user.Knockdown(100) to_chat(user, "A powerful force shoves you away from [src]!") From f5b60b52bf1671ecce97c097b9d61ba633c18398 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Jan 2020 13:51:10 -0700 Subject: [PATCH 008/271] fuck woops --- code/modules/uplink/uplink_items/uplink_roles.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/uplink/uplink_items/uplink_roles.dm b/code/modules/uplink/uplink_items/uplink_roles.dm index cf5f708093..2e3665cd29 100644 --- a/code/modules/uplink/uplink_items/uplink_roles.dm +++ b/code/modules/uplink/uplink_items/uplink_roles.dm @@ -92,7 +92,7 @@ restricted_roles = list("Chaplain") surplus = 5 //Very low chance to get it in a surplus crate even without being the chaplain -/datum/uplink_item/role_restricted/his_grace +/datum/uplink_item/role_restricted/clockwork_slab name = "Clockwork Slab" desc = "A reverse engineered clockwork slab. Is this really a good idea?." item = /obj/item/clockwork/slab/traitor @@ -100,7 +100,7 @@ refundable = TRUE restricted_roles = list("Chaplain") -/datum/uplink_item/role_restricted/his_grace +/datum/uplink_item/role_restricted/arcane_tome name = "Arcane Tome" desc = "A replica of a Nar'sian tome. This is probably a bad idea.." item = /obj/item/tome/traitor From 7471f59bc3cb83b383eb4dccc8c04be98647885a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Jan 2020 13:56:04 -0700 Subject: [PATCH 009/271] ignore eligibility checks --- code/game/gamemodes/clock_cult/clock_cult.dm | 3 ++- .../clockcult/clock_items/clockwork_slab.dm | 16 ++-------------- code/modules/antagonists/clockcult/clockcult.dm | 3 ++- code/modules/antagonists/cult/cult.dm | 6 +++++- code/modules/antagonists/cult/cult_items.dm | 16 ++-------------- 5 files changed, 13 insertions(+), 31 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index 2f395cc149..be05a0a9bf 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -73,7 +73,7 @@ Credit where due: return TRUE return FALSE -/proc/add_servant_of_ratvar(mob/L, silent = FALSE, create_team = TRUE, neutered = FALSE) +/proc/add_servant_of_ratvar(mob/L, silent = FALSE, create_team = TRUE, neutered = FALSE, ignore_eligibility = FALSE) if(!L || !L.mind) return var/update_type = /datum/antagonist/clockcult @@ -84,6 +84,7 @@ Credit where due: var/datum/antagonist/clockcult/C = new update_type(L.mind) C.make_team = create_team C.show_in_roundend = create_team //tutorial scarabs begone + C.ignore_eligibility_check = ignore_eligibility if(iscyborg(L)) var/mob/living/silicon/robot/R = L diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index f0e9ee4944..f10d9daba9 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -45,22 +45,10 @@ /obj/item/clockwork/slab/traitor/attack_self(mob/living/user) if(!is_servant_of_ratvar(user) && !spent) to_chat(user, "You press your hand onto [src], golden tendrils of light latching onto you. Was this the best of ideas?") - if(add_servant_of_ratvar(user, FALSE, FALSE, TRUE)) + if(add_servant_of_ratvar(user, FALSE, FALSE, TRUE, TRUE)) spent = TRUE else - var/has_mindshield = locate(/obj/item/implant/mindshield) in user - var/str = "It looks like your mind is protected. You can probably refund this with your uplink." - if(has_mindshield) - str = "It looks like your mind is shielded, offering you a choice." - to_chat(user, "[src] pulses, the tendrils wrapping around your head. [str]") - if(alert(user, "Would you like to attempt to force the shielding influence from your mind? This will destroy your mindshield implant.", "Destroy mindshield?", "Yes", "No") == "Yes") - if(spent || !user.CanReach(src) || user.incapacitated() || user.IsKnockdown() || user.IsStun()) - return - qdel(has_mindshield) - if(add_servant_of_ratvar(user, FALSE, FALSE, TRUE)) - spent = TRUE - else - to_chat(user, "[src] falls dark. It appears you weren't worthy.") + to_chat(user, "[src] falls dark. It appears you weren't worthy.") return ..() //ATTACK HAND IGNORING PARENT RETURN VALUE diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index 7462620287..ef52975da3 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -9,6 +9,7 @@ var/datum/team/clockcult/clock_team var/make_team = TRUE //This should be only false for tutorial scarabs var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact + var/ignore_eligibility_check = FALSE /datum/antagonist/clockcult/silent silent = TRUE @@ -41,7 +42,7 @@ /datum/antagonist/clockcult/can_be_owned(datum/mind/new_owner) . = ..() - if(.) + if(. && !ignore_eligibility_check) . = is_eligible_servant(new_owner.current) /datum/antagonist/clockcult/greet() diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 4dbdf6a7d5..ce60045817 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -13,10 +13,14 @@ var/give_equipment = FALSE var/datum/team/cult/cult_team var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact + var/ignore_eligibility_checks = FALSE /datum/antagonist/cult/neutered neutered = TRUE +/datum/antagonist/cult/neutered/traitor + ignore_eligibility_checks = TRUE + /datum/antagonist/cult/get_team() return cult_team @@ -46,7 +50,7 @@ /datum/antagonist/cult/can_be_owned(datum/mind/new_owner) . = ..() - if(. && !ignore_implant) + if(. && !ignore_implant && !ignore_eligibility_checks) . = is_convertable_to_cult(new_owner.current,cult_team) /datum/antagonist/cult/greet() diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 5d7cb86ca4..c4fd2a657b 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -15,22 +15,10 @@ /obj/item/tome/traitor/attack_self(mob/living/user) if(!iscultist(user) && !spent) to_chat(user, "You press your hand onto [src], sinister tendrils of corrupted magic swirling around you. Was this the best of ideas?") - if(user.mind.add_antag_datum(/datum/antagonist/cult/neutered)) + if(user.mind.add_antag_datum(/datum/antagonist/cult/neutered/traitor)) spent = TRUE else - var/has_mindshield = locate(/obj/item/implant/mindshield) in user - var/str = "It looks like your mind is protected. You can probably refund this with your uplink." - if(has_mindshield) - str = "It looks like your mind is shielded, offering you a choice." - to_chat(user, "[src] pulses, the tendrils wrapping around your head. [str]") - if(alert(user, "Would you like to attempt to force the shielding influence from your mind? This will destroy your mindshield implant.", "Destroy mindshield?", "Yes", "No") == "Yes") - if(spent || !user.CanReach(src) || user.incapacitated() || user.IsKnockdown() || user.IsStun()) - return - qdel(has_mindshield) - if(user.mind.add_antag_datum(/datum/antagonist/cult/neutered)) - spent = TRUE - else - to_chat(user, "[src] falls dark. It appears you weren't worthy.") + to_chat(user, "[src] falls dark. It appears you weren't worthy.") return ..() /obj/item/melee/cultblade/dagger From 8f26325822347f599d85167ab5a225d607301144 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Jan 2020 21:05:51 -0700 Subject: [PATCH 010/271] more stuff --- code/game/gamemodes/clock_cult/clock_cult.dm | 11 +++++------ code/game/gamemodes/cult/cult.dm | 4 ++-- .../clockcult/clock_items/clockwork_slab.dm | 2 +- code/modules/antagonists/clockcult/clockcult.dm | 5 +++++ code/modules/antagonists/cult/cult.dm | 2 ++ .../reagents/chemistry/reagents/other_reagents.dm | 4 ++-- 6 files changed, 17 insertions(+), 11 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index be05a0a9bf..8201d6472a 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -45,11 +45,11 @@ Credit where due: // PROCS // /////////// -/proc/is_servant_of_ratvar(mob/M, require_full_power = FALSE) +/proc/is_servant_of_ratvar(mob/M, require_full_power = FALSE, holy_water_check = FALSE) if(!istype(M) || isobserver(M)) return FALSE var/datum/antagonist/clockcult/D = M?.mind?.has_antag_datum(/datum/antagonist/clockcult) - return D && (!require_full_power || !D.neutered) + return D && (!require_full_power || !D.neutered) && (!holy_water_check || !D.ignore_holy_water) /proc/is_eligible_servant(mob/M) if(!istype(M)) @@ -73,18 +73,17 @@ Credit where due: return TRUE return FALSE -/proc/add_servant_of_ratvar(mob/L, silent = FALSE, create_team = TRUE, neutered = FALSE, ignore_eligibility = FALSE) +/proc/add_servant_of_ratvar(mob/L, silent = FALSE, create_team = TRUE, override_type) if(!L || !L.mind) return var/update_type = /datum/antagonist/clockcult if(silent) update_type = /datum/antagonist/clockcult/silent - if(neutered) //prioritizes - update_type = /datum/antagonist/clockcult/neutered + if(override_type) //prioritizes + update_type = override_type var/datum/antagonist/clockcult/C = new update_type(L.mind) C.make_team = create_team C.show_in_roundend = create_team //tutorial scarabs begone - C.ignore_eligibility_check = ignore_eligibility if(iscyborg(L)) var/mob/living/silicon/robot/R = L diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 1b295bcc50..6329f5ad18 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -3,11 +3,11 @@ /datum/game_mode var/list/datum/mind/cult = list() -/proc/iscultist(mob/living/M, require_full_power = FALSE) +/proc/iscultist(mob/living/M, require_full_power = FALSE, holy_water_check = FALSE) if(!istype(M)) return FALSE var/datum/antagonist/cult/D = M?.mind?.has_antag_datum(/datum/antagonist/cult) - return D && (!require_full_power || !D.neutered) + return D && (!require_full_power || !D.neutered) && (!holy_water_check || !D.ignore_holy_water) /datum/team/cult/proc/is_sacrifice_target(datum/mind/mind) for(var/datum/objective/sacrifice/sac_objective in objectives) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index f10d9daba9..8e3b7f10de 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -45,7 +45,7 @@ /obj/item/clockwork/slab/traitor/attack_self(mob/living/user) if(!is_servant_of_ratvar(user) && !spent) to_chat(user, "You press your hand onto [src], golden tendrils of light latching onto you. Was this the best of ideas?") - if(add_servant_of_ratvar(user, FALSE, FALSE, TRUE, TRUE)) + if(add_servant_of_ratvar(user, FALSE, FALSE, /datum/antagonist/clockcult/neutered/traitor)) spent = TRUE else to_chat(user, "[src] falls dark. It appears you weren't worthy.") diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index ef52975da3..64637d0635 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -10,6 +10,7 @@ var/make_team = TRUE //This should be only false for tutorial scarabs var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact var/ignore_eligibility_check = FALSE + var/ignore_holy_water = FALSE /datum/antagonist/clockcult/silent silent = TRUE @@ -18,6 +19,10 @@ /datum/antagonist/clockcult/neutered neutered = TRUE +/datum/antagonist/clockcult/neutered/traitor + ignore_eligibility_check = TRUE + ignore_holy_water = TRUE + /datum/antagonist/clockcult/Destroy() qdel(hierophant_network) return ..() diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index ce60045817..195a37aec5 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -14,12 +14,14 @@ var/datum/team/cult/cult_team var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact var/ignore_eligibility_checks = FALSE + var/ignore_holy_water = FALSE /datum/antagonist/cult/neutered neutered = TRUE /datum/antagonist/cult/neutered/traitor ignore_eligibility_checks = TRUE + ignore_holy_water = TRUE /datum/antagonist/cult/get_team() return cult_team diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index ccc966e7e4..8e28365d7d 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -341,7 +341,7 @@ data = 1 data++ M.jitteriness = min(M.jitteriness+4,10) - if(iscultist(M)) + if(iscultist(M, FALSE, TRUE)) for(var/datum/action/innate/cult/blood_magic/BM in M.actions) if(!BM.holy_dispel) BM.holy_dispel = TRUE @@ -370,7 +370,7 @@ if("emote") M.visible_message("[M] [pick("whimpers quietly", "shivers as though cold", "glances around in paranoia")].") if(data >= 60) // 30 units, 135 seconds - if(iscultist(M) || is_servant_of_ratvar(M)) + if(iscultist(M, FALSE, TRUE) || is_servant_of_ratvar(M, FALSE, TRUE)) if(iscultist(M)) SSticker.mode.remove_cultist(M.mind, FALSE, TRUE) else if(is_servant_of_ratvar(M)) From e5a8c7801eed9435608f58214d323fc16fabfc27 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Jan 2020 21:26:54 -0700 Subject: [PATCH 011/271] tweak --- .../antagonists/clockcult/clock_items/clockwork_slab.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index 8e3b7f10de..6e7d830db6 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -47,6 +47,9 @@ to_chat(user, "You press your hand onto [src], golden tendrils of light latching onto you. Was this the best of ideas?") if(add_servant_of_ratvar(user, FALSE, FALSE, /datum/antagonist/clockcult/neutered/traitor)) spent = TRUE + // Add some (5 KW) power so they don't suffer for 100 ticks + GLOB.clockwork_power += 5000 + // This intentionally does not use adjust_clockwork_power. else to_chat(user, "[src] falls dark. It appears you weren't worthy.") return ..() From c8dff8fbc5c8f4c82f75847fcb7d6c5d7b9b3ac3 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Tue, 4 Feb 2020 04:18:44 -0500 Subject: [PATCH 012/271] it just works --- code/game/objects/items/bodybag.dm | 11 +++++ .../items/stacks/sheets/sheet_types.dm | 17 ++++++- .../crates_lockers/closets/bodybag.dm | 9 ++++ .../structures/crates_lockers/crates.dm | 1 + .../research/designs/medical_designs.dm | 44 ++++++++++++++---- code/modules/research/techweb/all_nodes.dm | 29 +++++++----- icons/obj/bodybag.dmi | Bin 875 -> 1188 bytes 7 files changed, 88 insertions(+), 23 deletions(-) diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index e93bfb9976..ec60515192 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -81,3 +81,14 @@ return loc.visible_message("[user] suddenly appears in front of [loc]!", "[user] breaks free of [src]!") qdel(src) + +// Containment bodybag + +/obj/item/bodybag/containment + name = "radiation containment body bag" + desc = "A folded heavy body bag designed for the storage and transportation of cadavers with heavy radiation." + icon = 'icons/obj/bodybag.dmi' + icon_state = "radbodybag_folded" + unfoldedbag_path = /obj/structure/closet/body_bag/containment + w_class = WEIGHT_CLASS_NORMAL + item_flags = NO_MAT_REDEMPTION | RAD_NO_CONTAMINATE diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 2bd7dd0d38..40618d1cbf 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -154,8 +154,21 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = TRUE), \ new/datum/stack_recipe("bomb assembly", /obj/machinery/syndicatebomb/empty, 10, time = 50), \ - new/datum/stack_recipe("crate", /obj/structure/closet/crate, 5, time = 90, one_per_turf = TRUE), \ - null, \ + new /datum/stack_recipe_list("crates", list( \ + new /datum/stack_recipe("gray crate", /obj/structure/closet/crate, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("internals crate", /obj/structure/closet/crate/internals, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("trash cart", /obj/structure/closet/crate/trashcart, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("medical crate", /obj/structure/closet/crate/medical, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("freezer crate", /obj/structure/closet/crate/freezer, 8, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("blood bag crate", /obj/structure/closet/crate/freezer/blood, 8, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("surplus limbs crate", /obj/structure/closet/crate/freezer/surplus_limbs, 8, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("radiation containment crate", /obj/structure/closet/crate/radiation, 20, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("hydroponics crate", /obj/structure/closet/crate/hydroponics, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("engineering crate", /obj/structure/closet/crate/engineering, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("eletrical crate", /obj/structure/closet/crate/engineering/electrical, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("RCD storge crate", /obj/structure/closet/crate/rcd, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("science crate", /obj/structure/closet/crate/science, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + )), \ new /datum/stack_recipe_list("airlock assemblies", list( \ new/datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 6, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("vault door assembly", /obj/structure/door_assembly/door_assembly_vault, 8, time = 50, one_per_turf = 1, on_floor = 1), \ diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index 1c34850274..6dd3ac4a08 100644 --- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm @@ -100,3 +100,12 @@ if(isliving(A)) to_chat(A, "You're suddenly forced into a tiny, compressed space!") qdel(src) + +/obj/structure/closet/body_bag/containment + name = "containment body bag" + desc = "A folded heavy body bag designed for the storage and transportation of cadavers with heavy radiation." + icon = 'icons/obj/bodybag.dmi' + icon_state = "radbodybag" + mob_storage_capacity = 1 + foldedbag_path = /obj/item/bodybag/containment + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index f6b2b6cd51..6d129c2623 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -169,6 +169,7 @@ desc = "A crate with a radiation sign on it." name = "radiation crate" icon_state = "radiation" + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/structure/closet/crate/hydroponics name = "hydroponics crate" diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index bef25456ca..35e420e857 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -122,16 +122,6 @@ category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL -/datum/design/bluespacebodybag - name = "Bluespace Body Bag" - desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures." - id = "bluespacebodybag" - build_type = PROTOLATHE - materials = list(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500, MAT_BLUESPACE = 500) - build_path = /obj/item/bodybag/bluespace - category = list("Medical Designs") - departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE - /datum/design/plasmarefiller name = "Plasma-Man Jumpsuit Refill" desc = "A refill pack for the auto-extinguisher on Plasma-man suits." @@ -232,6 +222,40 @@ category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE +//////////////////////////////////////// +//////////Body Bags///////////////////// +//////////////////////////////////////// + +/datum/design/bodybag + name = "Body Bag" + desc = "A normal body bag used for storge of dead crew." + id = "bodybag" + build_type = PROTOLATHE + materials = list(MAT_PLASTIC = 4000) + build_path = /obj/item/bodybag + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE + +/datum/design/bluespacebodybag + name = "Bluespace Body Bag" + desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures." + id = "bluespacebodybag" + build_type = PROTOLATHE + materials = list(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500, MAT_BLUESPACE = 500) + build_path = /obj/item/bodybag/bluespace + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE + +/datum/design/containmentbodybag + name = "Containment Body Bag" + desc = "A containment body bag, heavy and radiation proof." + id = "containmentbodybag" + build_type = PROTOLATHE + materials = list(MAT_METAL = 6000, MAT_PLASTIC = 4000, MAT_TITANIUM = 2000) + build_path = /obj/item/bodybag/containment + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE + //////////////////////////////////////// //////////Defibrillator Tech//////////// //////////////////////////////////////// diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index c02fdc7c72..d0ce943da2 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -75,12 +75,20 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 +/datum/techweb_node/aftercare + id = "aftercare" + display_name = "Aftercare" + description = "What you use when its to late." + prereq_ids = list("biotech", "adv_engi") + design_ids = list("bodybag", "containmentbodybag", "harvester") + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) + /datum/techweb_node/adv_biotech id = "adv_biotech" display_name = "Advanced Biotechnology" description = "Advanced Biotechnology" prereq_ids = list("biotech") - design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "meta_beaker", "healthanalyzer_advanced", "harvester", "holobarrier_med", "defibrillator_compact", "smartdartgun", "medicinalsmartdart", "pHmeter") + design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "meta_beaker", "healthanalyzer_advanced", "holobarrier_med", "defibrillator_compact", "smartdartgun", "medicinalsmartdart", "pHmeter") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -239,17 +247,16 @@ prereq_ids = list("adv_engi", "high_efficiency") design_ids = list("meteor_defence", "meteor_console") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000) - export_price = 5000 -*/ -//datum/techweb_node/adv_meteor_defense - //id = "adv_meteor_defense" - //display_name = "Meteor Defense Research" - //description = "New and improved coding and lock on tech for meteor defence!" - //prereq_ids = list("basic_meteor_defense", "adv_datatheory", "emp_adv") - //design_ids = list("meteor_disk") - //research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500) - //export_price = 5000 +/datum/techweb_node/adv_meteor_defense + id = "adv_meteor_defense" + display_name = "Meteor Defense Research" + description = "New and improved coding and lock on tech for meteor defence!" + prereq_ids = list("basic_meteor_defense", "adv_datatheory", "emp_adv") + design_ids = list("meteor_disk") + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500) + +*/ /datum/techweb_node/computer_board_gaming id = "computer_board_gaming" diff --git a/icons/obj/bodybag.dmi b/icons/obj/bodybag.dmi index 7fcc193ad690ec167ba0826467bd49bd93dabdb2..c3267d3fc924ecfb093d63f945158ca929d3882e 100644 GIT binary patch delta 1034 zcmV+l1oivt2BZlkiBL{Q4GJ0x0000DNk~Le0001h0001B2m=5B0OF*IdjJ3cJdq_O zFy6L3V`XVOFFZs&Nm5W*FE>ai9U~%FXu!b0)YRN_00001bW%=J06^y0W&i*HqmgBa zf06DfN=zZvIS8f1xdur+e#a;)xca$(;~xOOmz$pj35me~00U=9L_t(&f$dq_wxb{n zmCI>I)7q*3|FHvzkObnT)mdw1v3)x|$=)Q0BQn zEW}v6AvKABMk_#ux30VEUs~Tp0h~OEs6~<}&^ZFe;?vx)+}#{Z;VW7S^c6oI+8V2i z0Jw9&D@YGN#eG=n{2j8YJ*9!M%Lf7RcagSyKeus^-^DBg`55S#Z3UCZeYUK z)94j9NBBR1Kd7(fXlQ6?XlVHVf3WLI-_7-ZKjWKQMfqb-A&D@mH z1oD9+h^X)<`XGVU|42Wf_ctW)w|H;}*Lgtw1yzzK5k>t!V0y*sf9xn*Dh*3D^6&y4 zsW^dfHC*AR3S9F0p7G=QzgO5Y$2a#Ep5q8Gj!#-!E@rI$XMSvr9Y?^ee?t%u*I(@~ zKosEr#MT}~?63a^Nq|lL1sDJ4Gwy=iUkGMD)dV;RsQ#}-0M-9%0%CRV^8b20AZ>}c zzc8EC6%4HYFEp5)0u}|YaeO6ywg>9q_5Z*m>`Ot!Z~Jz@T>?u5Oba9dE(`;G5e*hF ztqB0qUjQy(n%GGgRh0Gre=s2hJ&8b%R)7V7&|iQ>04Gl(Dgvm2K1X00@M%8b*HG>+ zgx64_r+!cprj&&qpF>_jdeA|?)n7nXwWko^LlC!OkL&-LHiZVAgj@CfL4FqlpBo<^ zTK`Li+x-RMkW)&o|NYl<+FSo0_P+zI{%>e#XlQ7-5_$d)mv{ARfAGT&ST6l1&Hs<_ zpFjUULccNphty)YB0VAXK>6wXA5e?oYymbkZiEQ9T{QoeP`9GXB|38d2|NpD_1KZ#+&0Xv0b^rhX07*qoM6N<$ EfJos#Of zp|D+1;(Ixyl`O4n=guyexdH!`C*DuHE6MxE^JdL@ObV42_&3HVrSX|?suUw6$f;O@ z3=tuJO>!+78zQBUlq`Djz6qCVSKJ+RnJ;?)!SVS4R(!G(*X_n2!O?*)li0awxTQ%z*CfAplMOk`%VvUZ4b*q0Bh0iQhZ<2dA1kAfR`Lh z)1RMz`{Dw7ebOwoK#)NSvi6>NU%$V=Kt`>9SZohJaeT2 z`$NS=MAQ;KeDUga$d8p4FAVX9!3Z6~4RJ-D?bf!01Ss=pkRjK_!l!r!t zrJo?+LWF65*osH+hYffA!OtClF}?h)KnDGx1N^iV-EP4jYz8&hIzaWo57g z*c|J%H$}5Q%=%x1{b7uJ_~QHjde6qI8Gkbxh%Tl9{&6Z${R_b5R3MTD(u@b12u}Lf zXy9}MlX~=J5)&RSU-59LR@XcpP7zMM-hWen02J#bK>#NfhyVZp07*qoM6N;tV1h#L BLN)*Z From 4dfb002d0099e08dcb11fb56e5e3da67da91ea13 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Tue, 4 Feb 2020 14:24:37 -0500 Subject: [PATCH 013/271] Update code/modules/research/techweb/all_nodes.dm Co-Authored-By: dapnee <33661984+dapnee@users.noreply.github.com> --- code/modules/research/techweb/all_nodes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index d0ce943da2..48bb9b7572 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -78,7 +78,7 @@ /datum/techweb_node/aftercare id = "aftercare" display_name = "Aftercare" - description = "What you use when its to late." + description = "What you use when it's too late." prereq_ids = list("biotech", "adv_engi") design_ids = list("bodybag", "containmentbodybag", "harvester") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) From 3c5e8df7ba2e6575bf1b8091fe6fdb9d8b91dc00 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 5 Feb 2020 03:16:35 -0500 Subject: [PATCH 014/271] engis can now have it --- code/modules/research/designs/medical_designs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 35e420e857..54982b7a5d 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -254,7 +254,7 @@ materials = list(MAT_METAL = 6000, MAT_PLASTIC = 4000, MAT_TITANIUM = 2000) build_path = /obj/item/bodybag/containment category = list("Medical Designs") - departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING //////////////////////////////////////// //////////Defibrillator Tech//////////// From 980d26df76b0966ca95129b34bdddec3a4d58928 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Thu, 6 Feb 2020 02:48:30 -0500 Subject: [PATCH 015/271] Cadaver Management --- code/modules/research/techweb/all_nodes.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 48bb9b7572..fa3b3368ac 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -75,9 +75,9 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 -/datum/techweb_node/aftercare - id = "aftercare" - display_name = "Aftercare" +/datum/techweb_node/cadaver_management + id = "cadaver_management" + display_name = "Cadaver Management" description = "What you use when it's too late." prereq_ids = list("biotech", "adv_engi") design_ids = list("bodybag", "containmentbodybag", "harvester") From 99147003ed331ec963bc078868e134be871b1f1d Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sun, 9 Feb 2020 13:07:04 +0800 Subject: [PATCH 016/271] wall walking boooooooooooooooots --- code/modules/clothing/shoes/miscellaneous.dm | 64 +++++++++++++++++++ icons/mob/feet.dmi | Bin 20692 -> 21180 bytes icons/mob/feet_digi.dmi | Bin 26894 -> 27423 bytes icons/obj/clothing/shoes.dmi | Bin 15636 -> 15994 bytes 4 files changed, 64 insertions(+) diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index c0e566cc0e..764197155e 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -365,3 +365,67 @@ name = "black cowboy boots" desc = "A pair of black cowboy boots, pretty easy to scuff up." icon_state = "cowboyboots_black" + +/obj/item/clothing/shoes/wallwalkers + name = "wall walking boots" + desc = "Contrary to popular belief, these do not allow you to walk on walls. Through bluespace magic stolen from an organisation that hoards technology, they simply allow you to slip through the atoms that make up anything, but only while walking, for safety reasons. As well as this, they unfortunately cause minor breath loss as the majority of atoms in your lungs are sucked out into any solid object you walk through. Make sure not to overuse them." + icon_state = "walkboots" + var/walkcool = 0 + var/wallcharges = 4 + //sparks, maybe oxydamage instead + +/obj/item/clothing/shoes/wallwalkers/equipped(mob/user,slot) + ..() + if (slot == SLOT_SHOES) + LAZYADD(user.user_movement_hooks,src) + else + LAZYREMOVE(user.user_movement_hooks,src) + +/obj/item/clothing/shoes/wallwalkers/dropped(mob/user) + ..() + LAZYREMOVE(user.user_movement_hooks,src) + +/obj/item/clothing/shoes/wallwalkers/attackby(obj/item/I, mob/user, params) + . = ..() //yes this is shamelessly copied + if(istype(I, /obj/item/stack/ore/bluespace_crystal)) + var/obj/item/stack/ore/bluespace_crystal/B = I + wallcharges += 1 + to_chat(user, "You tap the [src] with the [I].") + if(B.amount > 1) + B.amount -= 1 + else + qdel(I) + +/obj/item/clothing/shoes/wallwalkers/examine(mob/user) + . = ..() + . += "It has [wallcharges] charges left. Recharge with bluespace crystals." + +/obj/item/clothing/shoes/wallwalkers/intercept_user_move(dir,mob/living/m,newloc,oldloc) + if (walkcool < world.time && m.m_intent == MOVE_INTENT_WALK && wallcharges > 0) + walkcool = world.time + m.movement_delay() + var/issolid = FALSE + var/turf/K = newloc + if (istype(K)) + if (K.density) + issolid = TRUE + if (!issolid) + for (var/atom/T in newloc) //stuff on the new turf + if (!T.CanPass(m,newloc) && T != m) + issolid = TRUE + break + if (!issolid) + for (var/atom/T in oldloc) //directional shit on the old turf + if (!T.CanPass(m,newloc) && T != m) + issolid = TRUE + break + m.forceMove(newloc) + if (issolid) + m.adjustOxyLoss(rand(5,15)) + if (prob(10)) + m.adjustBruteLoss(rand(3,5)) + to_chat(m,"You feel as if travelling through the solid object left something behind and it hurts!") + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(5, 1, oldloc) + s.start() + flash_lighting_fx(3, 3, LIGHT_COLOR_ORANGE) + wallcharges-- \ No newline at end of file diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index 1a4b8019cd35886754837c6f52696bd774504fa4..2774976b26c08696d3940895dd55d7d3247bf052 100644 GIT binary patch delta 2679 zcmbtU`8U)L7yir;m8>oHFj>POOOkylg)fE1R+xlrA^S3)ks4E3tFa7ODq1wQY}3ft zvJ^>}v6Qh-2u-$T81wp`_aAuAdG8PRoO{oG&Uv1D&vS=LAWfx^OnJy`mI9o+SYeEk zg@A!sHZOh!Y^^Vsj1jcDCj++F)noi(+h%YXE7PyTD~iR%IWe920irNb1nFe}Rm;}J zV|i1?$41_&bO-(PAi?6uhhqEM`LaWI<6Jw75ousj8=6CgNixA@wFh=yIobwZ zQ9*Wp2$|S7US9CEtr|OV$jyDsDdE0rY(>qHZ3<$W`{$38(86NsQH_EM zM7oq%_T$VTZM~sHJcg9?qF25mYMcFICW91sswfU+cO%U;Gg!DzM6w-x zOCO2UlALPL42CXEO~tARW%f;eP}rn-JEA6w&Ir4I$?VQhWsK}U!QKAev^usPmm6=y zAM8})prm#u$fIrvovZg$^18qQ@Vtpcr+gW@RpY83_D$}WZck=1!7Kk*Z5C?M#plj9 zkqZMaOHGeeH5c#ZQ1YWkd(SNk)>j)zUW`$p5YZ7vW+6Y;mRhB+r4O5gbjksS!1Vcd z0#FH4s8Ia7ljc8p!Og?t9k?#Y&XWE}`s0}C5wS{3PG+!GT`)f4w&^omsKmexoJAPl zLze>r)&z%qxGMMM4)4QpBUbU)+78JB&eM&m>JIps`Zt#4^A0!ptlgcQ(?rz2b{?pI z9CmQ`aMwHDwcga39SfAU+#1_@AZAydw&g2DrZq8!%Mo@YkV`1oKLnmQ8Ebg_J1N>e zK=OE@W1qMhA^O@_`sYdy3wr5ts1ahUJ{L$Zrj_-Ic6N43@rGFH0CV4W^h24rz_M!` zuG28Qv5aOVf9pKY3z^wNOZSP0Wd4_EjlVc3iH#egI z)A;za(+p7mR9@;-V_&vsTGx!0YJf$9*(z&eDckr#jX}}R3pMjugACRZW+C0Q+TZ11 ztF`5)TI?_rw_@b+VETDYVhvU*EB@BU=YdKRX#t+;6G?C0%(Y(W_BrL?d~~lg(~-c1 zAAdIRYJO`Q(Yv+H{`N=p;|$|ZV9w`zez=gqGA^*l`Mqw=XXiTg8Yz6jI;gOsUrt!c z7`J7X3%`TrtJ^ec$6edj()GM{Yn*~~fwpA4j{Pofq){4tgc(QX5rhPo)dPs-> zP!;I8-^j@5n+bPZTwLwdZF2xkBohBjYK+OZCrJwTiE|gUo=*<;Zu54T@3Pr`+Bzoa zaD|Te=C}ATgN>LKO=2BNZ1#VA2z$Sz`Ho&46xd;n$O2xg3*HGuQBSrOGH7Z{ z+-Bi%xJkGW(f23>`J1|RTC1paVz519V~esQjqZ=&Qa{O4V1wuRxoNWDVmCU%#I4^; z$$R_BPG02m3JK&iPt~Q;tM)dPeX|Vr<(`_L@zveLEq_fof!Z*km1<|W4d=Io-@J?8I27xx2V%_&}G>&f3A{o;F>KAE;< z;;}^w_aH?P&h^1y&y+66i&Vcq;3J2MPsd`rF)o0Ru<)o59{_{FB#{tPOG_UMH2{mn z24VLB!open)qpGv2G+XV|NDLK8 zPQ`@WO-MZJj|&rAKKj?)_N8+C>TlNMk7~z@Cf1@%6*sBOcC7Wdpmz396c>$|9A$T2?)$ma9_03Ls&QBnc`8aSunx+dGQ$;%mX#KOG}Renf<<{^J$z7 z@gZg#P&WCSrO9474?M_4ZJp3>GTtKwYHEGp``AC{k<4)C#O7waVX|g?w9ETdU033S z2wiv?2$nu!dQ&zeFpvwVt*gWF&M)MN-yEF&*Uq#sUMK{+3d=P!@O7l^PKrs&vIczji6znQb+W$p9l&ee97Db5swj%s4rNZFvEfVS>#YrB4n8>qx_ z8_W)?KIg@}#--AJX=!QwL7E1eRkW~5H83!!`n4hJmZJMZ&(_vfZ8U2A=cNv$*81iq z6g`!fKyZEP+4I2mgU>0VJgK2UwA#h?;x+hV6?-C=vORODr+_EgV2QETbTFko$qC6L zKz|OtcOHE3H`bV+pr3-Q#^(K1E72?<4!MP_@4c!=N?ZjOO6u7eg=U+GADiXMEPn|>mJ!R^aNCDhRcU#;C^ z9G?%!=B!p+k6|o&#eUF44OWpgQHLW-H1&NQRrY>J<5B63cwHOM0HQIX-Uh>Ij+3Gp fQHlR*&ERm6Ttc$RZS8}=UR<#H$FjoQ>&|}wsHQ78 delta 2187 zcmbW1c{J1u8^?cxNK8x!Q`a)rk}V>X{mr^Y%C z(5?|}r1k_X9-FTzdh^@~8OU3!hE~>L_sahj0@^4U#iULBIY%%fM^b^#G!g60iSC`E zum^@~gi42Fx)#H6$?|D7DVeIg=h(m~(Z;)j`q;*etZKFBvF+l%DN-8Aps-f3uDj1a zV!TFS{c`NgPu2Njg#}3{d|BBR?cxGd&PySpT2J>*Cjb4r641K|N>>CerzOiz&?NU&zy>jY8kdfy-~%%S_ge_1 z@6DnmgD&p2982b_F8_NKdwlaVQWEmrxy;aD<`Z|Jt(_3!A!O)KG)=M_Ki>r7f}3!i z%xhA+vd#xauxLm)1#&R2X8kl-(?li6L&S9Ig#hn#BENVBavGXnI|A2zJD{MTFohDr z(BbM>WU1_c`k8h&XiT`L;f9wkS|6bQYA;c=p7_}TJ&Td@ z4h#$&iCNlRro@NZh$sLmZ3kTKSk%ZQm9s!g@}crA)W}LfD;jQvjD5(5>Xt{E-Pd9h z{{ZxQ_wS5G&vw85_UnZzcuM^3^QrOi5TLKG4+!ZvD>xA3Kkd)P-*A|$t#Wlur00N& zHU>RntKmj(-AJ3+T0!rVmP5>mx5BR{MMDVrKmi^i0cW zJYTb?{f%5JzwFh6u~d#q@XLO-9eU$H(100sLTaE@Cvk=#dwR&e$Ix zCY7JutikngqA#mP3P)Ww@K0CGM%SC?p)`Gz(-Q_L6;tnA&WWD2AJ7Qej{-&0%P+lHOaJI?0i1ciMsD!{}HU-^_Dmi^#mm5 z=du;hH+;s~K!t}Gz6WmN<;jajBQq~?D7=PWIFTF+vPOBW7l-ao{XqYaj59`at9{}v z;-~TWGsy=;yNJm9hS=pLh58T{`@npq4^20$PX(s#H` zkjNENe*lNW#o(X-43;g_2$4Y`KFjI=NF>te1#cV%xZ{$JGpgd!#Yl%}Kz zVD~Jy;98|l_i3irt{%h9T(4LMB2#Sb!Vb7rX_pCKm;)mb2;YJx~QdmRaur_bjf>1HHQ0szi*WCs`dg|7j`K$V$9!<1^|Pfl@IrS zwwW}6YXX0~&MfHn*mPGECJuIF`zdB7cev@xF_~gV#F8%*+1$3dej-i+^@*x8*uBwY zThC%{rZffU`aQ<7;Dx6X34=1c^i~~cS&+n$LId3_U#Zu@aTKiXN?S{t=|kjBoo!a3 zdeT6xx8L-esk$A22pR*WWHJN( zn1jdXL^v<}d)Hc9PO7}RCEONA;mykg6#Y~@#UHw}E_}fQ8Rj0{W)bswoX{YCS`^#Fm9ac(QvGAD%nCVeR0tU1hQHgc$jlfPb>~u z{-*gnPURF5Ip0#tYa&=}NT*M&?%{OT? zU?O;U2h6BE73ONLgMXA4%^uM{@|2}bCXqIr0!yR~^pZwz)@gsa^q`pR5i!`=*y{!X za!1W5m`I?1FdR0Khvujd6`CCdnrRHQ|5eq>^9C%pl!O ztKvs9n>{fY%mB$U|GZ~R%-M>H3gBJ4BE$R05DP&I@bvUF-CJKj_mV=XTzMqOEkDq( zX1cVKf#let`~#qKE^Yt- diff --git a/icons/mob/feet_digi.dmi b/icons/mob/feet_digi.dmi index ddc5ff0c5f9999c5c14bdca347015b739974dcf4..79b25af58f728ab601a56a60c87fb4d5405abb65 100644 GIT binary patch delta 8448 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 delta 7306 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

HyLiM#vLZ~{a30(FP; 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 From 366075b38e0d58179f471c44405fe2ac16032287 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sun, 9 Feb 2020 13:10:28 +0800 Subject: [PATCH 017/271] yeet forgot this --- code/modules/uplink/uplink_items/uplink_clothing.dm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items/uplink_clothing.dm b/code/modules/uplink/uplink_items/uplink_clothing.dm index fcbe0fb9a6..b38e6cffe4 100644 --- a/code/modules/uplink/uplink_items/uplink_clothing.dm +++ b/code/modules/uplink/uplink_items/uplink_clothing.dm @@ -83,4 +83,10 @@ name = "Thieving Gloves" desc = "A pair of gloves that are insulated and frictionless, allowing you to steal easily from anyone you see." item = /obj/item/clothing/gloves/thief - cost = 4 \ No newline at end of file + cost = 4 + +/datum/uplink_item/suits/wallwalkers + name = "Wall Walking Boots" + desc = "Through bluespace magic stolen from an organisation that hoards technology, these boots simply allow you to slip through the atoms that make up anything, but only while walking, for safety reasons. As well as this, they unfortunately cause minor breath loss as the majority of atoms in your lungs are sucked out into any solid object you walk through." + item = /obj/item/clothing/shoes/wallwalkers + cost = 6 \ No newline at end of file From 577cfdc582ef39bc4e32752c78b6f0596a1c7a12 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sun, 9 Feb 2020 17:04:17 +0800 Subject: [PATCH 018/271] yay much better --- code/modules/clothing/shoes/miscellaneous.dm | 60 +++++++++++++++---- icons/obj/module.dmi | Bin 20524 -> 20750 bytes 2 files changed, 47 insertions(+), 13 deletions(-) diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 764197155e..35082be03e 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -372,6 +372,7 @@ icon_state = "walkboots" var/walkcool = 0 var/wallcharges = 4 + var/newlocobject = null //sparks, maybe oxydamage instead /obj/item/clothing/shoes/wallwalkers/equipped(mob/user,slot) @@ -385,20 +386,22 @@ ..() LAZYREMOVE(user.user_movement_hooks,src) -/obj/item/clothing/shoes/wallwalkers/attackby(obj/item/I, mob/user, params) - . = ..() //yes this is shamelessly copied - if(istype(I, /obj/item/stack/ore/bluespace_crystal)) - var/obj/item/stack/ore/bluespace_crystal/B = I - wallcharges += 1 - to_chat(user, "You tap the [src] with the [I].") - if(B.amount > 1) - B.amount -= 1 +/obj/item/clothing/shoes/wallwalkers/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/bluespacerecharge)) + var/obj/item/bluespacerecharge/ER = W + if(ER.uses) + wallcharges += ER.uses + to_chat(user, "You charged the bluespace crystal in the [src]. It now has [wallcharges] charges left.") + ER.uses = 0 + ER.icon_state = "[initial(ER.icon_state)]0" else - qdel(I) + to_chat(user, "[ER] has no crystal on it.") + return + . = ..() /obj/item/clothing/shoes/wallwalkers/examine(mob/user) . = ..() - . += "It has [wallcharges] charges left. Recharge with bluespace crystals." + . += "It has [wallcharges] charges left." /obj/item/clothing/shoes/wallwalkers/intercept_user_move(dir,mob/living/m,newloc,oldloc) if (walkcool < world.time && m.m_intent == MOVE_INTENT_WALK && wallcharges > 0) @@ -412,15 +415,17 @@ for (var/atom/T in newloc) //stuff on the new turf if (!T.CanPass(m,newloc) && T != m) issolid = TRUE + newlocobject = T break if (!issolid) for (var/atom/T in oldloc) //directional shit on the old turf - if (!T.CanPass(m,newloc) && T != m) + if (!T.CanPass(m,newloc) && T != m && T != newlocobject) issolid = TRUE break + newlocobject = null //stopping structures from using two charges because of how shitty the canpass code is m.forceMove(newloc) if (issolid) - m.adjustOxyLoss(rand(5,15)) + m.adjustOxyLoss(rand(5,13)) if (prob(10)) m.adjustBruteLoss(rand(3,5)) to_chat(m,"You feel as if travelling through the solid object left something behind and it hurts!") @@ -428,4 +433,33 @@ s.set_up(5, 1, oldloc) s.start() flash_lighting_fx(3, 3, LIGHT_COLOR_ORANGE) - wallcharges-- \ No newline at end of file + wallcharges-- + +/obj/item/bluespacerecharge + name = "bluespace crystal recharging device" + desc = "A small cell with two prongs lazily jabbed into it. It looks like it's made for replacing the crystals in bluespace devices." + icon = 'icons/obj/module.dmi' + icon_state = "bluespace_charge" + item_flags = NOBLUDGEON + var/uses = 6 + +/obj/item/bluespacerecharge/examine(mob/user) + . = ..() + if(uses) + . += "It can add up to [uses] charges to compatible devices." + else + . += "The crystal is gone." + +/obj/item/bluespacerecharge/attackby(obj/item/I, mob/user, params) + ..() + if(istype(I, /obj/item/stack/ore/bluespace_crystal) && !uses) + var/obj/item/stack/ore/bluespace_crystal/B = I + if (B.amount < 10) + return + uses += 3 + to_chat(user, "You insert [I] into [src].") + if(B.amount > 10) + B.amount -= 10 + else + qdel(I) + icon_state = initial(icon_state) \ No newline at end of file diff --git a/icons/obj/module.dmi b/icons/obj/module.dmi index ace24db5ff709c2284095cda6c1e73daf5cc8a09..a647bebd57fbc6db02209dcdeef76ca03767bd40 100644 GIT binary patch literal 20750 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%0D9v?u$ZHwYs&cq-mB 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 B!rlM? literal 20524 zcmcG0XIN8Rm-Yz(LI(xuO-1RwNe?PbK@gDM5ouCHdP@+bBPhKnMT$u8ASHlO1O%i@ z2c@?lgc2b64$u3}d~?mO`7v`{oRgdYyR5zTTKBrw+KJM6q((``Oa=e|rH1-_T>yX} zFE0{e@RR(WIurm9*!$}ndEU2sY3t$W?&;{}3IM)Y?^BdrXGCaJCMS3!pE}c}{LY{A z{VAoqr1EMW$@tbbN~G&bc&+)`q4^!Bq}yU@AyQY-C#Mmt(Rh;!-;+8&-Q)PoWh5&b zQJq1FaEy(&r<9~qnQKZ{sj{K;#`zUmE`4XOYl-86ze;SLv8mM=*on@F)%phGd!Dd& zKDy6rmHt#s?dg?`r>}H=wQ6vUN_-f2{i^Mncntd^r?TDE6|`TnL&xiA@sfK`d23X7se^*xtCY&2g|%grT11;2i_lj7gyLp|4#f=%bS9|aeVzJSK*@O09EyU zdB^q{K3AeACxW)HHa@e3qN^_AMrvXY>g^Sr?g-BSrd!L8DEb5_9HPiW=bgnTzH=aH zJ?%28zq;R65tnY4tlkxfG^Tcugy3;!MQIAMgA0VBCOaX{S9o=4%Ql(l1V7hpQ~3p$ zYQK-&o_fvIsAqY{Iuqb_;UScW`a7MxV7uMUDe_grW`&8Gu@pXSqxQ2P8u!PXb34K7 z-aOgF%^Mtl&#oPH-$b9_?Y3dg*F(HsH1ryt++BV7POiSPb-cEn=^0 zk2VhilMLaM71D$iJ>M(#@+Qx=@f361bm0%5YBLb_t$d1zAFHPsy;Wx#GToAu+EwT8 z`^E559fSkE@r*6?pa=ng6VSM?tnZt((;DD=ZKd@HK^^gqFhj@cR!DhvxPNrj6NmO6 zt|jRYv_wrvoSZZIQoaOz?QoTM53+W?o@AK{gj3ize^-3 z`wbrT;af5Sks4uK@Tc=is|m*Z{NH5<1|EnVuYK|OQJT)Z6})=bn!R>5PG;}UVqMH08d9+Gq^*RMGNM^jl!(VtCLTM+QH_NbBE@b;iUA}A zfIKi8IyPaO<^xUdWqp1|{FG}Q@8cp^Jr{cM(F^;Q#wCbSFtX>{w?+OUrFg?`jxD{_ z!kW~jy+ox>!$$~qME3cW<=?;e>negMBdFNOOdG(?yZjzF^ZBWgA-|?2CPpWXF-ou+ z2-U0kK)Q6Lb#rT50M1*I#4J)0>kEnZf;OoiUqC3~Jd~9>&AsDRIs{fx^sJpRFLO7j z!`QIXN7AXl#zP%~#rKWLebxLyF%uuzYcxwI9y}>R&)rRG3}FT&CE;3EEC2Q-w7KnimY>$0t^A&??aemd^BP~fbJ1_$ z?5?qX)hZJH8ZUGv>%J}QTX4oWGCKM;Ese3>TTl8h#?5da0<@PeLwhY`VQ?tD+q$ZU z2OqHLPV3%Su5~dKWz;H5bk>(SJT?~hH~HX?pUn5PJNC}%8%QfmVq)TBLv9rz#c4xY-cW5Zyj5VmC`O_zowOtt)Ty#!eS|_o5 ztmyKCRlcp#Sv(sX+eOOW`uh3~Z(2@;sMn@GtE?x9&-n~n`%AAo7s;fJOW`bN!}Dtn zkT1>26T=JK2tw8~^7#xL=`g|A*x3F2W>B9?2kGq|Kkv+v`HuZ--UZVU(7F#wKvz$X zQ{#-YTOzj{;*T4jA~0oo#_lU}!6be^KR@4Uvb^l^PlhhmfwZ^LotEq&$!qta}J-K+b24SxhA_f zx#gH5wx+@5cgbxF`yzY)F^csaoyx^uo1|2RmuEMJslUJ$KYMp<9UYk(NWZf3=u*BK z-FEHp=fc(#f1q2;iMrj%Y+T4Q=bmVCaXVti(>k{!(5t4(9sji;uR z2BdW0EoZc-QHxkt5z&PHBoYb(Wvz9;YAkL!S=86_-UBys0T~aMO}z!Gi^U#btQ{pC zAYA>SZ}VkOgmck|yo9(8Y@~q}aS>Vo@3&ak5q<&PYj2}Vn1J$xTqjDR8rzfhLD$8% zvG}?wD?EDwz!-A&YKiZpm23XUZ*FE$i)UBy@sSonoqGhHo3Ww6O>zFW|L4?HWFP7| z34fUjd5Xl0Qq&BLaMvAWTf(ZABcN1}iijYthQ?OS=0KNTETpKYZQ z2pM`dEYyt>HO$0K|EdF$o+qtRikH}T{@yn#UsyPTqFe6`5C(Cg&EWucmS}8lE-rJB z&j)g`JY|XQJF)dW`ek3`k8z@-qYEo&l{HN=ta!BFL=FY2QwNpx-tU>iwX`DMCg#n) zek*I6hvR&6gno3#Cxo!1VvdMTFla|8&0)jYr^Eg1-XwJ!Y*92nL_aqBEI&-M-4X#8 zSigRYHDm`L$y4+jplY<$6cc1`ah#@&ibobT!REO1O` zgm#Gyhu!|_R>dk5zr9?fh$)+BsD;5J6B*y2h&6)jw?+Yy>)&$GlWUP>~PTL{3 zPMr4g1uSK>-yFVAyQi$APew-ev|^IHVlrlDrh&SjHk2lB8L~+H;6ZXce#N6hZe~mG zX`{tKC^Ovp4G(t@01A^}({v*f7Fp?MNDpQ_%FwuwAaQ4ZS7EZCdg=!|~B))(=HDt1PR3aEVkON`E&o`CZ0gp|kS zSOB#DwU=binqd;iPS(ftYrJI}f0%dyD%(eo_;ht`huw`x>*IF`q6=K}?>hQH;SZcB zq@Ftrqqw;TD5LA!sM&M!n+SnQE=N*{dqy?_AJgwcE1kyqDU6Ja96Ii7o0x9t`aN5e7(H$~RyaRuKy~#c^FKB+ip<8JuZ0HhA&G~_C>2h2 z`4jPaB*>){&U(7sGLr~c@Xinq5^bd2<(yLl!yo3_f|i|hylfW^fuEBtHU4?Nz9 zz8IWHFuP-P@#oLev2l&Ut+Peql*V!Qy~jAQ0I@1egs|-puIbe ztxpL|JP5OH4D_qG> zI zoZ{u{pMP>&H;WMX^j?<3bx(X%KavJ^Jqa5u^nza@c=8cLaQ$%1tq=2d26}#~R|%+8 zS!|T=P&fb&&`&(JACRe9Qvo@oUAi({q&yZfP~MkceuCD%>@}r&d5rQSZ!xOLI#7ag zEg3`w!nx&xvO$!Fb>tQe?+i;c_RK&08b(mJ$I>MXk){!4hi-rNhKwTt;ct(wjrLbA^A8$pMC+xn^_ z(Zmv8?%Mv5MYq!TR%JyC@9Yk%E|$6b3f>bFIhhX?E;5>dCL92oKp6KE+Ucz)L-2d) zo{L+11mH5A{3z*x01No(!+8SZc);!cJQVFlNf}9Gz8rG+5D?f9<}u38K5{Z?_rO?| zG^lVOJ(m6hIkQQgYINyW-2iD6v~!pi}fcR8Sp zXywXenX7=+eji=wJYQa=*|*KI8}t>L5PZI$mmX=bW#i$5uO{mEwq^2!!q4I_O& z{UPa;>395^uYS^=FAtnBx&AB`LQ?Pm4b!LX+caM@Uw`eB%g|}1mC(9%qa2p={9~51 zuMFGJqRNe*!lDii=I)b^QsG8AWjJcF~H}4 zK>+lUSX!GDab>MLxTkRIgBA4>wd}|VvC4cHfZ_7w=f1$t*E1Mv+hM+6NJ>bo3*y6x z6Zx#*%`~waB66Y@k>ySdDUGfE%md9jtvg!pGuQ$zFp{-NnNs6*g1e9=GocFuB^M4( z^V9R~nxW1e@87@dv+M4ozHN0yzxbWhY^77O_fqhVlh1c6H`0Vt*yv%L0sw9x$$(b> z2u`+kxu_`gvj!e=O<7#`mfJJTfT9m%d~))5p4dqgrvU6duNZ1tHD8xhBC7pQ^Z>g= z4;@)DltwMNtP#{jHX9@3JVNuxtRyMSBi5I@olItyclGr6o(<4kzcg~r4$2j`NwHLJ zbHiluJ)zFoUncC$;Bu#$98eyjtL8$!0o8}Hjoy5icjZY*Sttnaqr1H*hYtCiAtRQSozcP!T5>hlO~iL%?xPr)cj-pbGoq!jVu`yG`Z7Pr=+?Q$m9 zF(=t(kSuvfY1A+xb~1aSxul|EvdI5)f9Jtqua!0n107wj@MJ7;LTq}fgtfLN#WXP% zMqvYd7uDHoaDyL>$lTE>pN&`mjaT^BIbR7DU(ZQvItDj5Uq*uLO?1%7()?@M(qJ%F zcz7sTOD@#P1g{y{$@DztQlKfC&WSI~A2$g#pbeR7H9(=CW=g6d8dmZIUgUmYX*4^F6Kk`XAEL?8R-~43SDW1%miGtm*+~?+r`U zeH2||*UBp&!xZ)ta96_**g*)I@eOWj`nd*N&`8T%0M3ziNv z@hp$%&yaM!>$*<%j*HTSCuw2%ZT|ei@-M@A!e#_{FWChILD7frJO;#B>VY-l#+{XFuG9XUop2}Z176*lMs+(Tw;A2;3tc^> zxGhqXK@9Izx8}k#e<~)1)9tpMxn6|jLTK)W^GN`ANnY>--ekNUc887`_&>cTi5dj^ zfiu{~_-h48m-9qVLXC(Q9|CU(ruZ~Q6vf*DcqXlRo=b1#>FDUtpxLUNCrX#Ll%k5) zh4ZCbUYa44nwqnR!aYXfVZnw~1;kcTc|7#NOXQX(Ljk)@FiY%6Dtak`qi}Dk>bKBi zx)|VG{at?fTce2F%DK{q!j6uPXkU5v=4AfCJ8m$Wbe?`cqz)NlQL_EEpQsGRWy}X! z{$41D89jJJ0F=vmCs*&Lx&6F(hX8PY(hMA?a70?$0(m^;nUc;Eh;s90dZASEhQU)q z0KTH-W^;kX^!N4k4ML4%Mm9z0>NCAW*HfbY_BFO!@~1>qCpo*&^ntF~@QKCiu?LHM z?e_j$U)eA0KBiiqinmw)M5ogSIaMgq&l2Y{8AmQCXtk@VZR6h4iFTl>fwkSy6 z3!k5Mb8*4&iaU;QE&N>^bBC|CrE4)5|sNxyn6+njwR? zr|mNTLybtbpE&^l6K#@NQYAf-C7}nnORb};_o^p@LvM5KlsBQ_ zzE6qf({O`K-03vPUj3Y&j()i|m|ItO4Wt1gqoN?d;o;%pW=Vyrt?h4lKs)`GEaAU} zvsSfIyoQ2RlfbdTGU#tw>H?(wUqkP%?#ogXt7O+y&qKtNJ zrc^0Vsb3%3?CY9ceYV}QuL`txe&#zDmu7f%4f|nOSN37-3Imme;yOE0XL>8x?R=4v zgz~f1$kj%(XwK@Coby7Dma3&VE0mOxjnc)TUe=u#1lnc&J(+H8QD45uj*X8mz4w{# zpx!f%Jy;up!b^X3J}&>NGvzwb6*=A6H#9WKuyG(o0d<(P;@o}?fxtV#`WtEkn@oN(O_3sSD%Kp ztIx@JN(#MitHnTC0IlN5BD4jB0(U(Akjw`in-Ab|Hmoupgn)(U6G^NWBiYQ4FN9Vg zr3P6mdzQl~uH#;PS4mKi64dYdE#a9O7;@zA!ec!s-1u244r6BrB&Fa%@c?~d4-e!XXziv&N(YiztTRY6In z@ytIa zhZLA;^!C!);Z12?>jt=nCVAYtZhP12qIr8lo9~ql+4HEB;L<$A@PiBZT9RD52i{Kk zLk!rz@-@2t`xi^8(!pqAaP8k7m{C0{*GbVjd*XI$ehN)oZXP5E#!l89p;j@u@+XN@ zIqdD?Ks1+ztXuan^|&m>>z!xjffZ1ojUmI7l*VBFs{KgzFDJbmyjO>OCQU8mWR^&R zCcJ3$G5`ZjzOOv{x2~@JPR_3%aO?!tXVzSI2RI#|BoQEK?>Abg)!Wx6RtAHEAw8>r zBxuyH-%GXL=Mn)^1qYXwKJwoG;$5xE?<=t%S~u(t^gmq23p)G34{_etNSMU_MIyvT zc@y>a7Ubl>kNjKF{;iMwxIJqzq)eL>PQdc-JTZq=DS^XJdOk|olq>lh53iW}KAPmd zM-CECZ1;~CSI2*6|4N7gEp6a<-t8#DZ>b-Zdqp4!f4rBQEE>RFoCWnm+Zdh_9u_GXHm9u(#=QxCStE!I zGI<|r?J@L~8%De9ckKRs#z#8xjDmoeapFDUjiC^NX3cw_mywGfx>;p zba3cEkuW3aoz%-~Ds7*<-L|alMP|<%HgdS*inCdZFFVMQ0d%3mt3Ou1QY$6JA&MTo zAHmNf@Ij}S&kNuiKae|1QP_Gbs=WQNV#DCc6XQbuBxYt#W1Uy1Xpo-=ee%NAwGV-@in^${f;1}$`Wbabe{i#K)CZs+?WzdnO)(s&>eK4UW1Cms@z$grY~ zITf`{div@a&9g*N<)nBHrQMqC&rEZT&r)KYpM6*Cerku+;32B@cfe+pC-?dx&+pmI zKiS#bA!6*$kHEEB7a;*oLBTRNYw5+;lP!x3aKx_<3hlE^Q;$cT{rZo#mEUS%CsUIl zFV}3WpCntXVynf*jPj|a7rl;&Gp$yC+;@f$4|K4gsUw-=6?VIic8)d>t|LaCUYPZM z1lE@N(w{U5cE;#e^q3S7Q30Z<7_0Fr4#>Joh^Y*54hEQBo*tek6gmV@ZT+%8K(#g_ zvZJuto~l~k*ibezV->PElpK5WhN|BL-z}lfX#*ytq)x074v;-Zdg%L2J4Px3MFR{GSY?pmML>|fH1DNp7ruUM?`jG?!gqhI#AxG^H|vVNW3fj5#;Du z$)i819+arbiNvdSlH zUy`~9PU8=fIqhG-jCN52rTVp_mK)JfpffUzM@S0nfjqTfQ}rhKC^`Hy##JMQ4)pea+Z||S`Cwf-QS!Z zkUin+9(xGd!|pe1mjWJ#;x4DKVxS9>Zo8Y@bKZsse$DoxD@jF#>68ktwpa{i+C)Af zjdARl$_emjyTP}1s&x<`tl6rGtbSXs`o3I=4lQ#!mN*EqzH)o1cE8SdZ}x7J?tJ*; zjtRl_a15ySdCi9g>6UW|AiSE)jE$pWV`G*34Gj!3EMU2GMp7n@e%kM4>lQrX;^OXj zt|!5>TZ_Ky~Peh4Q=nUS~CR0OWiBXk|)u{NCpj5)$H5I$C3w z`;S@xqAOZKHteAB^*a^sCl)M9A4(B4^=%17qKNJba0?4l&)jUHbV%Du>}BG?*nI1g z7*G#W_$TB#mvOj^y#5t`{a@b$xkawiKi1LV3~03gQRef7wz;F!BsJ4)ilFcUi2j3! zr!H+}Wm=YPoN}SuGS}}BG7k^iPcb1+8hI+3aj7S>`BeaNNXr8PD7v-+`!61+1Pkon zuZf~~oWx)7wizYAO|U>OS`*IXPv_-fs54Q=L{T$^0SwA)SMF`ST;f+QN-)6VLB6e>VP!3|G9) z0?!VusMDknq$?qKRoL2e@OJ+7`!=sCF;1q2pt)Mh&Hg%xq(ogEJa$#>2=*^1j(|iIxz?vl2$kfI;lgvCix*EtJUnK zpUzr)cx! z>g3xAxx{VfYEU*?RIV%q(({`pQk>)8$V;5(KUsNgb}Rc?)UoY8ruL_vVM z4{r}VCf)D$dhcc`BXl41%b(txlr*%Dj??>s`OnSc$xP;xyfU|M3$cJo4SgMSFjGZm zL*#3nn+o4l5moTi969|1NFxOFo3nAQV}n#~hzL)XPda2I+IJUD{b_2iV{~~nUL~xQ zTr{9iVGUdO@C{3M-eS%MFE3vH61qq8w@(7`9~7D^?T3V%386WA(8HPwslS(l?sOjf zZJOF@S0Xe#16B8FI&7~CTLS&-Da>2FM_UF%^SAHIcjX{S^xtv4l z8|UTa& zIQ#2JbhF2S6XIrd-Zc*Eu*%=X8BvxNh9W!Ztq=gslpry*Ji;P*$%+rEN4gVG^AnS_C$pxzx=s- zo7wa_@i4L6s1ox#F49k>wfZ-8$O=I~lSY=*p72To2Cgo(Oi)?G{P?vdh=Z3#OBYea zOw5b3aWnkv%ZtIxs5a`c+K6NJarecY@s}mpg3-`!S%+dNtp(RV@&$_6V5*my_t*)g zR=?z(98Q-aMbSdvp=NTwm%N)FZ|1CpS8YpR_4}CfO9e(^*8c`&f@HoW4+$UstYq;!q#Xh0R&Q2HBJ-&6rt@nUXBtyxT063@(@*cG6c}^#z_zc(opQFR#{Nx zH>in;70Z82Gi?+syNs=7>Rr&jom<&zrYO{xNV~k}5;wC?U$@=1OKC$fITgnvc{yV) zH4@P%woL)YR&nWXe@=obkaQOzzw2;ax_|~Z4pD5!5%w~1SaWz&@}4*&nU@F)=wBQr zLul@*(=84u)Bf*9Xkcqh-g{8a!Dsy`Wq<#!#1H`|kAD%KGBnu};#UmBjusC*L{@|b zOuqT(C0wTt0G{^N*!3G2XC5*9NfovfVC*-39A5>?PL1bKc-4V(TJRNj_{hnXF${Dr zE}tI!?K)WV3z_NVMll2(9mn_G?)CHQ^UU#hmP>^1aM+TMk9v_^l}8qqMn%baU+9C9 zFydl0b03rGMy%D&o&vTnzh@rXp)22!LVk@HA*Q>;2r&J9{;T>)@KTT4a(NGI@Bn5i zM0b}GSAN3iEBEC`!fj=bFU1-kva$pm^!O!qO&WCEwtqySM6J@HY)=3r1N$#Wf40(* zB1jnA(XlviVYy4O|7dq^rifv2-xsW{=~0H$4*xw32-brxKAftyD+zqQOr4Ml8yf>Q zHXbmqSJxLUS`G@(rUjoqQBIZ{_2{IKxq2fzQ-YLXC_7b2+VNe1?C4(B=YbZAQj0n= zj`#9W97z{)ANqobhm`OwZMbqTayt;mkOeU#Nx${tkZsf>2Zs|+w zB~NnuW1KS3_uaLKbT;UC?(fmg3~Y?NQ1cU`o*c@k&FJLu2BD0Cxv`Eq<<{of$zNaA zc8DNac(l)9Wo;;1c*dFltT`hp6O{ldO)!4g>@S;`@Z~#ZYR(t<$uS0irGI~Idk#c{ zu%2d;A6YJA4YaYop%;P906fJG^S-&&!iZ)hojlmIAjU)<>$$bf=B*4{K8vefcu zBn1ydF|9gN+D*z1e^!L7UCgVK{k_mkiaL4y*KfXMMoNKgO-{$JZk$r z2*NvUCB3Van#)PWX(%g2Am{wG3nSQvRg=0g0Z$o%N8xe}Sns$4Ky*$9GW2M&2sCEc1@kJFD7`{rfg&P2N*(d- zxGg}~duRSi)N?o}*y^mJZv;OG^$+s{Bu3zfsa6(43%`P)>Y@hMy1?_DkfINrT?g46 zLwoX3+1qL1*$aMGmF5(PWa%yTuxv5==LSjkKJCsvhF~ThXQ0YI+%Xk42i>BRdQf~7C^5}M`$Ih6^ z!nJA9$I!0>-RUAFn2Ov2@2f|rLYB*r^C4M&T{wKPR-2O+?d|!y>G*f$Z302TozeLT zDxkNwcfH|xfT^5Cg&fjtHtBVZ{g7(Tw9;M2y~}dFiWzcX{lp}K{l$aXzI`x{PMzE{ zlR~_?z5T7Htn9=wSdrbddBRDCO%P3>Q?%wXIw5gE$-_!4i3CGSK>s_)rN+}=Fui?2 z(MhG~>Y_63HJOVWz8*L`9SySXd0_Pz7?h1u{(KblBM=O?Tto=~Bnu;m6v3(uq-w$B zrBjq^rgxAq?2{&<+e@701&2T+VDC!CljN!Gc){~6O@x^Bfsj%F?)@FVzg#v0G*rl} zBF)#j?Q%0EnL+0z`~KwX*K;Jlryj+ieJ|EV`KedD+;Znq1Q+ zHQPuidjEINnV@|{+cP-wYGhd(@ZgBx;TTfK(lY+!#Mig=K@3gJk4f=DB$A;DRKBT( zy{-b_w%|TEq%;Wx?!3UnkDr|oN~8Y>53UT5c0d6?I+qLOYe3+GgW8&BGS;a1hSXny z$tZtp4`mJn02zmrUq7eaoSpCK>Rv5;w4)WlRDlBNV318VHm3y8q_~@3U{(|@3_@n@ zX`;4=$d8ogPQM{*L#7S1we0QSctNQK5g@<`DpFO|*3-u~LH|T+=9HCD9t)a=7sW*D zAl7MiP3tKdW<6rGnfSFkI}X8#T`F5-Jb%a~h6kt*J&}{Y$NP>b zgSU5iE1w@Op1xjA7l)LoI6;954?2k)0&({#4rw-q>haaJ5zcag4yXk(4{ zU6BEJ9CHTPv)6#=*wA(ZBD|n!{rW<4;Higk*1o9s2Lk#>kT(+Ak{72i#G5^bZztr^ zi)B?G_v0SgqSt8WPL^M52PslZUx3_62cbpD+XLjvreK9POd$?zhy)Cpjd_SH2B2Xh z@%sktt&jeD17*Tscf z&?U$s_;lr>{OnJn_Ar>M%9sGDVE26+beSLj-Zz%#h-u7X>RW8Z_-~iG{amvcOv)ya zfAtZb;;-MGb=WvG(tD98sr}`oIW(0Q4Eq~gX2MHL1s-lKahz;_`?SY(>9|0=$BN)& z_sMUe*vaME`L1tRMlKxh$28))HE@!st=RGQrW!&0U`6w;Y*27#80i&f3`n@nHifu- z8Sd`5-@>{IWVtUh zW*}T_FwdMq!a%bHOZjx_U|9FCiJxe=$YA8xuc)c1DMg?6US3|gH8pzp7Mm_IJxvD@ zs7O8b-i9Deo;B7D;^^1mhB%vfhLC(A>$)x&>yd6zbMl__IWJLxD2a9vQjQfjJQe# z@)Y5mE-o&Of8ISL7K8$b;FWj^9G3v0#=AUo*xksGWTo@?gkW5HM|K!FC6eYYE7=06 zCdqZG*Ti6E;(vBmB2p%~9*Q15H(lxPj{92mat-}$H#Mw7QLVYHqmw&?^!ihPJp)m4 zev!}HxO!0Kd-hRCzb@z%3wLn+!Vt<)QS!Ma@{(g=LWaM1aiVp=Yc^3>i-rI$@S|~# z-1Qw_RyiN4o{XW5Etc*sm4?pi?d)LQ`|xW6>cYjCt_!)vjB8}zU7$EWQr38fK3l*C z_Z|~WK{>+`ASde|;|YY^7#Sj}E=pO12wedF6uS+j$8r~ana~s&+-^1ip!lYpzZ}f% zm%%(QD(2`;d`2vTR-iyT2hP4`1IxdMFDyrFtQ-)e$h`360CLci2nqAcQx>C`il)^J zq}_b*nG4W9s;%VmrS0VA<4Ma!3z|yJ*J^&0pAN|n7W&U_?njpISyW0}F=@XZVLp59 znY@9eRya&3S8|!IMcO_3AWsVTE=O^P2lmHPJTfpa$j)9-3^)>)57<)x+VK_$QrA;^ zHefNDzr6iq|94QIot@qHfa45W@-BPINy`AGNy~R&>XjIA@!FGRy}I#XrNAT7wi3g# z&ODVEkzLGWrNhq~*%;Ltk;IZB!H)6Kl#_M*$7-#~$qAMpothIBA0ja&+}L%W;B#(s zOH(%qa`AK#>sL6ZPWahBk9yzr@D$il$+>BcI$(&QT&xB7q|F7#C#5}J;uL@ z@VWm4zr>dK@iWS4{PU+x+AVc;_2JM)(bkVIel@q;sV19SwM~j03FscQ=_yS+! zxC+!p9C=w|0CwNaVq||w@Ij_~+Z*gyQ8160cY4ca!=4Su29W^1C&zBqzmLla->}ti z|8W0h2L^`O9bZuha-b47WBKjVP*%f}g}$AIW}k|jf{^n7U~OCsHuRwj?3n7d=E$UZ zZn^joaH+C2qe|DPp8&#;#wX@EKTynApV#jRoZMXZPqPx9y7XsWb}qbyx=_gmW?3?} zmzEY#NNjI2@_E0P zZZ>voufNK+vs>n42=xL4c%CKBe8+ph;No$HP|oDnM?rG+O8@!~qs|f?;=sBr)Cq|Au-(e;C0(-f{2}8?vtXK+;Js zEjmF$a`G)_?Ng^f+(C8(y||B=IFnCX5HkQ0l0)&`j!KlGNuf&cOLH0gy|3?`{Xp6k z_ql+*)-_uyRd7p%2clsortmNtF;4rT50s7aD`xhnt#I;fFiG7DfQ3!pCu6VVv>q_% ze1Pbi<9-Iw79)^1Oad|_*)4E$Xg!4vj3ti+<7su z>$P;lYvW45zfC_nzE4WPq*mSdj`68Dv9n&(t2Uj_=gDJ9Ir)WzXrBHRd8=RRc1E}X zF{_S;G#Qqg7u!b{Z+@^yg_&ntf#pmW*J{4tm?baX>E?LS=M^F<={{AdFZ2%m<>&w} z2q1sh4mCoToi=Voi3yxc1ZHEptz2&Z98(IYCl{U%pp=?BGzQwSuWp<#!jxWfv2{`h zqxFFHm}863z9$KNjj{`o>D*5iKddH%^3`Q1HFB#jR_&DbL5SVQ5U|k6 zrhMW{mK?*`@gA7f4}7V$=aUt+*qW=nAuX-;gyZEJ-(R@?A&bD6w8zQ%+sFxOpCGZn zkyF42f2`8Lr=EoINj++IPV=}L$qlE^xu;SCJDZ*FH#Ptyo1`SqmmMj(Wcm%#$ZXtH zsLRkT(>$dT@KjA^=4I|20+5${Mi0%Jkw|T%4)PJK4yyFM_aOk7y|>$A^KOu2chX;E z7^^s>$uanR!Xl=spm^76oRz0xvgy&>S7k)c8=hGUev)<`$ilB$i&KG_^VkKF5$ZYM zYSQ=cI2LGyGj+4jJzYz;kn$%4@!>jToM@deZSupap1H{Qz1sUqL61E#4~b7WjMRunl<*tAU=6#SJ| z`?Q=cOwlgUgCj4PCTtw~$yc4}dDp|uSEl0|B};*(X;@(<&pJQy!?@7+4aq)z=MW*p zGinhZA@8xVb-R?EU!z4t*#2dSn8SW#)61&L&kuxO1{tRZVZkamp`;X)>Rh#5kUyuv z7QQ0~KTvI#W|tStx$B=Nu=tmOea`0dARLR|+IPXsEz>_Ao%F!rp3gSkUi1+2Bvm4! z;{oE~{x65&lsVKQPBQBkXU8Ac>t_I-4$CtRTXN5{BSGtUDx!~gQ2tT8uASUGcZb8huBESCbsq~daX!Lo;`19L5F3u&|-8ZV>DAA-=eTdKT zCojbQa=j3w-#k{6fQrzVL&b>k{fhji&cxG((EBIAY>hCaum-jItDFR>bS*T8StMh=Qkl z>gM?v1jJNB6^B{Q>rSJ`q{n9t$|m zKvpM_uoQ}J(y*-p(@a3SOM~6--xK6m{Mh8=&6_u&AW0v}-APA?`B>ui^z7wI<0(1s zougo=(3U-Rnn71{l;r{TcTdl9hoPdf7p9q}Yl~AOg5Z(3)C2|2?ky*YgPY>(=n`$) z4mnFgK;P_we%cfn_U-$GQwbKzoIr_%D-qKXE3+UyD^8X6Xvlt!Ozz#);HXR+Y-(Bq zfO*vw@0OMp`R5Dl!B<~le~wR9F0Wk+PsDwU$9eQ#e9-Lz4`v;=&zRO7rHuX*=QNfY zM~3flR%$W693I_FYH^$K`TKK%*evnriDuTFss@bXIq56a#Sa0yxi}H9DvD4UP>oj| zH^6i>z^Ro^sb86tX2&Z*04lbI#|V(%LI$FCDrDI|v~g;@(~#s+{inc}MCJD+Pcesi zkPQ`o%G{0kC@sn}{7szX;FWUie_UcGL+Af;UD$uiVK5ygC-A4t=b?-pvDc&z1vx(+ zOFpfpAR%~zGAs!6Gjsam_AOTtQ>+c1Y|G=&r(OhIQzL3Q4CjXlJ+^(k%f@JUEZfcI z&lcn1){{3ogYgk}UI~z;K0b)c1&?Wg&~8lHQt4Z2CwX{rhY?|iTk8|>Ec+OE)a}Q} z8slXxa}rGe!1oG>y^4OXwUsn|2OOf04F*odmL><4@|uD^(OIYZ#K#}&7{4c#hV;Q7}OwMVFZY-mpX z(n<_SxVi#ZpeAQ6W7_l)1mM%vF3wKAK^mnO*nIODMKo+!TRn?_x9X=b@MuHOz6#gA zQZ{)k%~|F2*%h9$MgB4Aw{U-7mt`vid6i~oMB80!#PG~4?3Gna8}+nIuH#G{99@iL{U&r+OHG;+aSx zo^N5+vazIVClS<aii_oGj|<83eq=S8NKL;7p$(zvSuZv{o(gm10j!ZKAJC-D_^B zn?&N8*xMc9G~04G;`gx+_wKDk6}kMxbf83Uq+M}&^|95M6yBUU0Yz_Oy)6*nc6>_P zOzlbtfPFv6Za5dxxp|vyZ;=x2lLH|rTkSNk8s0<2Dqweh1QU;y(rKt?*u(^*i1U+c zlu>`7x7Ifptl#BkbzzYm$gz#xP0D%>{ArD0Nq13T{m#kpB=nu|bPXPg39Iw+-p1eV z@(iRP(eb|xzW??epjZpevy>^pBod2E(_rrHK}ZOuGn3z!7hLDlT_6-u?;7arPEkc* zAFI$Dl5^%je&tpWwHud=wU_(}t0VvF1b&A=FL6*#!W}2I!*{}d@bVOFIV0vDvV_G(L#z|n6WB;zeF&YPRDXDH3O;s>kf7|%2AWQm@;OY% z91b1yT>?OqDUAPRkIDVLE=OW}I~bc__viOe>$C|I3kI6Pw1GA4kBG(Pwk`l@`voy6 zH^j9zNY1Qxkljq&dDPj0^%{x^tIP!d?t@|)NhJWhFRs|y=-tCB{j)WT+61v+oop^b z=6YCyHFY-OZ4ie43yl9?+{M;eIt&C_RS?Hhhy1SVrf}6g=iaenz5iFswT45vuHkXW z3}Tc}4vmp=S`Lx(YB1tL?Hr308VRjdG!kVIGbTxn9i-aIND&Dsv8|Y4Q>}=Q!;r?L zYZkE_7REG(@B8*UxYqu+um0>mbIo1orb;;ba)mn>2YKPE8%lYhxs!*I^ zP&^%sXFl_6!d?nBS`QWv$kk0Cfyx_gD1f=A&U~5Bu1^k@sR7V*2g>7)U)}vDwHq5M zKAE}jd<1%^woM;#F)456k-`sYJk>|6=g6hh(cEY6ATnPt?>aS!aO8jxQk+gHe*jcO zBz5t1-`A_to9kifsLfPk1~W>ejC&ca$N6kLqsdy3QM>mm4=%hs4NcAPP1Q3{)Lg;i#y z3!}%~>mg>?N_RyCe1kDo2-=O|d}gUh4+E<< zs8t#V?>8vUunV@v3rbCe@FatQ#Qe5PXkDUz%T(y92Y*xjgMnqE0??byTd-=TP)IcK zo0_~E&bd{QfIpd~B(zG~f77iW{UWVvT=tMhN(tdfn00WA3T-Xz&uaJf>IX`k|~KIp8I+{VEl(x+D}!{ANb=) zl1>eURSeO$L|_du#5pMs96?5Z^uos*^wi`fFd7kTgjVe6MyFqlK&9*X1Ey`8qG&Nwn5DWJgL`K?VEwX_L=t}KYLrW^Jo z?Rnf#$X7rcACJ_yy-J*wyN_ExbSlusV>?wb;t-&RB~Et}eA#t~X>Q zoxuEj<&p64@3ql>bFRk%v(|&vLhuJ=jtL*4msA-=aAfRXcIa955Oqd17J6h0=C3Fk86sVNi!r4-4^S!$0GYig`*gVsQ#t=Xv%C2L-_Ha)xB>d&-q& zE;HB=_K}n`Ne;%a;1TuL#&iIZk4%oR2yZ>G;?FLIm>iO&?_c@1M8AA28E3~ST;+lT zFQ*U#{g=yw6J=KTdluT+hIbLg8s<;-1~L7^D@<=4c&ER;!7K}bI&ixqcP-+eIxa99 zFZg1 zOv92QYOaXcGQt;Ym>$>2@S+Z4FS>;sVefGRkPYI)PPSi1OTRv}8eqD$Q>w-1R?|pq9)Er-aIz#@gS#Tq% zeKII0MZ6)B$**kZ*_wb;JC}FL!waYZHRZ{^RJl zgLr>AfjkM@mg;2t@LVO39+1+AVa&eG&zg1;nLQQR{P02;X|DAG^OQ4=4s(*j2$ z4iH@4KZVZu`9deScC2P3*P-tqg2J#=>oqA~8o@ZZ{((CKC+@_Hc~g7dZJeZ=%B90! z@`3BUV!X2+W$}?cfYL@U$30~gdd7X&Ffhm;s?S$`c0PSoJBvl^^8{QbCJF1?@<8iF)5%oR4F?s1H6XpT&>-G%27}V3o1xPzaDJKJ9GJ{#A|@$ zan5{LtoRSYa@%%wq>lts-R<8do z!f4ctD)D#BP5{%DLjM$*r@FepL~KjY-10IW0Hcbv=!#muD&6I^sAfP*I5MaehFvpuB*I{jH?WQg=?9B vLF#8z4*mU@WB1&Y^a Date: Sun, 9 Feb 2020 17:07:39 +0800 Subject: [PATCH 019/271] forgot that shit again --- code/modules/uplink/uplink_items/uplink_devices.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/uplink/uplink_items/uplink_devices.dm b/code/modules/uplink/uplink_items/uplink_devices.dm index 05731722f7..a9b554566a 100644 --- a/code/modules/uplink/uplink_items/uplink_devices.dm +++ b/code/modules/uplink/uplink_items/uplink_devices.dm @@ -20,6 +20,12 @@ item = /obj/item/emagrecharge cost = 2 +/datum/uplink_item/device_tools/bluespacerecharge + name = "Bluespace Crystal Recharging Device" + desc = "A small device intended for recharging Wall Walking boots. Using it will add six charges to them. Use ten bluespace crystals on this recharger to add three more charges to it. " + item = /obj/item/bluespacerecharge + cost = 2 + /datum/uplink_item/device_tools/phantomthief name = "Syndicate Mask" desc = "A cheap plastic mask fitted with an adrenaline autoinjector, which can be used by simply tensing your muscles" From 5df75aee57370d1b9e522bee0c75bf1b06695f1f Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Mon, 10 Feb 2020 23:59:16 -0500 Subject: [PATCH 020/271] Update code/game/objects/items/stacks/sheets/sheet_types.dm Co-Authored-By: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/game/objects/items/stacks/sheets/sheet_types.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 40618d1cbf..e9a867e40d 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -166,7 +166,7 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ new /datum/stack_recipe("hydroponics crate", /obj/structure/closet/crate/hydroponics, 5, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("engineering crate", /obj/structure/closet/crate/engineering, 5, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("eletrical crate", /obj/structure/closet/crate/engineering/electrical, 5, time = 50, one_per_turf = 1, on_floor = 1), \ - new /datum/stack_recipe("RCD storge crate", /obj/structure/closet/crate/rcd, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("RCD storage crate", /obj/structure/closet/crate/rcd, 5, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("science crate", /obj/structure/closet/crate/science, 5, time = 50, one_per_turf = 1, on_floor = 1), \ )), \ new /datum/stack_recipe_list("airlock assemblies", list( \ @@ -808,4 +808,3 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra merge_type = /obj/item/stack/sheet/cotton/durathread pull_effort = 70 loom_result = /obj/item/stack/sheet/durathread - From 0683c21d1d36e58a05b35fbdc203e6da0b4b6689 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Tue, 11 Feb 2020 00:00:33 -0500 Subject: [PATCH 021/271] Ghommie changes --- code/game/objects/items/bodybag.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index ec60515192..62c1b0ca1a 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -38,7 +38,6 @@ /obj/item/bodybag/bluespace name = "bluespace body bag" desc = "A folded bluespace body bag designed for the storage and transportation of cadavers." - icon = 'icons/obj/bodybag.dmi' icon_state = "bluebodybag_folded" unfoldedbag_path = /obj/structure/closet/body_bag/bluespace w_class = WEIGHT_CLASS_SMALL @@ -86,9 +85,8 @@ /obj/item/bodybag/containment name = "radiation containment body bag" - desc = "A folded heavy body bag designed for the storage and transportation of cadavers with heavy radiation." - icon = 'icons/obj/bodybag.dmi' + desc = "A folded heavy body bag designed for the storage and transportation of heavily irradiated cadavers." icon_state = "radbodybag_folded" unfoldedbag_path = /obj/structure/closet/body_bag/containment w_class = WEIGHT_CLASS_NORMAL - item_flags = NO_MAT_REDEMPTION | RAD_NO_CONTAMINATE + rad_flags = NO_MAT_REDEMPTION | RAD_NO_CONTAMINATE From 90e18f9254d4933d914f6d84b549c7e0b015cb1a Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Wed, 12 Feb 2020 14:31:47 -0500 Subject: [PATCH 022/271] Update bodybag.dm --- code/game/objects/items/bodybag.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 62c1b0ca1a..dbc66b1899 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -89,4 +89,4 @@ icon_state = "radbodybag_folded" unfoldedbag_path = /obj/structure/closet/body_bag/containment w_class = WEIGHT_CLASS_NORMAL - rad_flags = NO_MAT_REDEMPTION | RAD_NO_CONTAMINATE + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE From 59acbe01250775601c4ead43d9f156043cee8e59 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 22 Feb 2020 20:45:16 +0800 Subject: [PATCH 023/271] yee --- code/modules/clothing/shoes/miscellaneous.dm | 94 ++++++++++---------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 35082be03e..45c7ad4102 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -387,53 +387,55 @@ LAZYREMOVE(user.user_movement_hooks,src) /obj/item/clothing/shoes/wallwalkers/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/bluespacerecharge)) - var/obj/item/bluespacerecharge/ER = W - if(ER.uses) - wallcharges += ER.uses - to_chat(user, "You charged the bluespace crystal in the [src]. It now has [wallcharges] charges left.") - ER.uses = 0 - ER.icon_state = "[initial(ER.icon_state)]0" - else - to_chat(user, "[ER] has no crystal on it.") - return . = ..() + if(!istype(W, /obj/item/bluespacerecharge)) + return + var/obj/item/bluespacerecharge/ER = W + if(ER.uses) + wallcharges += ER.uses + to_chat(user, "You charged the bluespace crystal in the [src]. It now has [wallcharges] charges left.") + ER.uses = 0 + ER.icon_state = "[initial(ER.icon_state)]0" + else + to_chat(user, "[ER] has no crystal on it.") /obj/item/clothing/shoes/wallwalkers/examine(mob/user) . = ..() . += "It has [wallcharges] charges left." /obj/item/clothing/shoes/wallwalkers/intercept_user_move(dir,mob/living/m,newloc,oldloc) - if (walkcool < world.time && m.m_intent == MOVE_INTENT_WALK && wallcharges > 0) - walkcool = world.time + m.movement_delay() - var/issolid = FALSE - var/turf/K = newloc - if (istype(K)) - if (K.density) + if (walkcool >= world.time || m.m_intent != MOVE_INTENT_WALK || wallcharges <= 0) + return + walkcool = world.time + m.movement_delay() + var/issolid = FALSE + var/turf/K = newloc + if (istype(K)) + if (K.density) + issolid = TRUE + if (!issolid) + for (var/atom/T in newloc) //stuff on the new turf + if (!T.CanPass(m,newloc) && T != m) issolid = TRUE + newlocobject = T + break if (!issolid) - for (var/atom/T in newloc) //stuff on the new turf - if (!T.CanPass(m,newloc) && T != m) + for (var/atom/T in oldloc) //directional shit on the old turf + if (!T.CanPass(m,newloc) && T != m && T != newlocobject) issolid = TRUE - newlocobject = T break - if (!issolid) - for (var/atom/T in oldloc) //directional shit on the old turf - if (!T.CanPass(m,newloc) && T != m && T != newlocobject) - issolid = TRUE - break - newlocobject = null //stopping structures from using two charges because of how shitty the canpass code is - m.forceMove(newloc) - if (issolid) - m.adjustOxyLoss(rand(5,13)) - if (prob(10)) - m.adjustBruteLoss(rand(3,5)) - to_chat(m,"You feel as if travelling through the solid object left something behind and it hurts!") - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, oldloc) - s.start() - flash_lighting_fx(3, 3, LIGHT_COLOR_ORANGE) - wallcharges-- + newlocobject = null //stopping structures from using two charges because of how shitty the canpass code is + m.forceMove(newloc) + if (!issolid) + return + m.adjustOxyLoss(rand(5,13)) + if (prob(10)) + m.adjustBruteLoss(rand(3,5)) + to_chat(m,"You feel as if travelling through the solid object left something behind and it hurts!") + var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread + s.set_up(5, 1, oldloc) + s.start() + flash_lighting_fx(3, 3, LIGHT_COLOR_ORANGE) + wallcharges-- /obj/item/bluespacerecharge name = "bluespace crystal recharging device" @@ -452,14 +454,12 @@ /obj/item/bluespacerecharge/attackby(obj/item/I, mob/user, params) ..() - if(istype(I, /obj/item/stack/ore/bluespace_crystal) && !uses) - var/obj/item/stack/ore/bluespace_crystal/B = I - if (B.amount < 10) - return - uses += 3 - to_chat(user, "You insert [I] into [src].") - if(B.amount > 10) - B.amount -= 10 - else - qdel(I) - icon_state = initial(icon_state) \ No newline at end of file + if(!istype(I, /obj/item/stack/ore/bluespace_crystal) || uses) + return + var/obj/item/stack/ore/bluespace_crystal/B = I + if (B.amount < 10) + return + uses += 3 + to_chat(user, "You insert [I] into [src].") + B.use(10) + icon_state = initial(icon_state) \ No newline at end of file From 74d6473c3be5ee1f9f3153a4d246145afb18c112 Mon Sep 17 00:00:00 2001 From: Artur Date: Tue, 25 Feb 2020 17:07:40 +0200 Subject: [PATCH 024/271] Initial Commit Changes isvamp() to isbloodsucker(), adds a isvampire() check for the race itself, reworks regen cores codewise, adds a defib check for bloodsuckers --- code/__DEFINES/is_helpers.dm | 3 +- .../game/gamemodes/bloodsucker/bloodsucker.dm | 99 +++++-------------- code/game/machinery/cloning.dm | 2 +- .../bloodsucker/objects/bloodsucker_crypt.dm | 14 +-- .../mining/equipment/regenerative_core.dm | 27 +++-- .../living/carbon/alien/special/facehugger.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 2 +- 7 files changed, 48 insertions(+), 101 deletions(-) diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 55bfcaff79..e69f5df05e 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -67,6 +67,7 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list( #define iscatperson(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/felinid) ) #define isdwarf(A) (is_species(A, /datum/species/dwarf)) #define isdullahan(A) (is_species(A, /datum/species/dullahan)) +#define isbloodsuckerire(A) (is_species(A,/datum/species/vampire)) // Citadel specific species #define isipcperson(A) (is_species(A, /datum/species/ipc)) @@ -263,4 +264,4 @@ GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list( #define isblobmonster(O) (istype(O, /mob/living/simple_animal/hostile/blob)) -#define isshuttleturf(T) (length(T.baseturfs) && (/turf/baseturf_skipover/shuttle in T.baseturfs)) \ No newline at end of file +#define isshuttleturf(T) (length(T.baseturfs) && (/turf/baseturf_skipover/shuttle in T.baseturfs)) diff --git a/code/game/gamemodes/bloodsucker/bloodsucker.dm b/code/game/gamemodes/bloodsucker/bloodsucker.dm index a45e989318..3737d0a5b1 100644 --- a/code/game/gamemodes/bloodsucker/bloodsucker.dm +++ b/code/game/gamemodes/bloodsucker/bloodsucker.dm @@ -9,7 +9,7 @@ var/list/vassal_allowed_antags = list(/datum/antagonist/brother, /datum/antagonist/traitor, /datum/antagonist/traitor/internal_affairs, /datum/antagonist/survivalist, \ /datum/antagonist/rev, /datum/antagonist/nukeop, /datum/antagonist/pirate, /datum/antagonist/cult, /datum/antagonist/abductee, /datum/antagonist/valentine, /datum/antagonist/heartbreaker,) // The antags you're allowed to be if turning Vassal. -/proc/isvamp(mob/living/M) +/proc/isbloodsucker(mob/living/M) return istype(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/bloodsucker) /datum/game_mode/bloodsucker @@ -70,49 +70,28 @@ // Gamemode is all done being set up. We have all our Vamps. We now pick objectives and let them know what's happening. /datum/game_mode/bloodsucker/post_setup() - // Sunlight (Creating Bloodsuckers manually will check to create this, too) check_start_sunlight() - // Vamps for(var/datum/mind/bloodsucker in bloodsuckers) - // spawn() --> Run block of code but game continues on past it. - // sleep() --> Run block of code and freeze code there (including whoever called us) until it's resolved. - - //Clean Bloodsucker Species (racist?) - //clean_invalid_species(bloodsucker) - // TO-DO !!! - - // Add Bloodsucker Antag Datum (or remove from list on Fail) - if (!make_bloodsucker(bloodsucker)) + if(!make_bloodsucker(bloodsucker)) bloodsuckers -= bloodsucker - - // NOTE: Hunters are done in ..() parent proc - return ..() -// Checking for ACTUALLY Dead Vamps -/datum/game_mode/bloodsucker/are_special_antags_dead() - // Bloodsucker not Final Dead - for(var/datum/mind/bloodsucker in bloodsuckers) - if(!bloodsucker.AmFinalDeath()) - return FALSE - return TRUE - // Init Sunlight (called from datum_bloodsucker.on_gain(), in case game mode isn't even Bloodsucker /datum/game_mode/proc/check_start_sunlight() // Already Sunlight (and not about to cancel) - if (istype(bloodsucker_sunlight) && !bloodsucker_sunlight.cancel_me) + if(istype(bloodsucker_sunlight) && !bloodsucker_sunlight.cancel_me) return bloodsucker_sunlight = new () // End Sun (last bloodsucker removed) /datum/game_mode/proc/check_cancel_sunlight() // No Sunlight - if (!istype(bloodsucker_sunlight)) + if(!istype(bloodsucker_sunlight)) return - if (bloodsuckers.len <= 0) + if(bloodsuckers.len <= 0) bloodsucker_sunlight.cancel_me = TRUE qdel(bloodsucker_sunlight) bloodsucker_sunlight = null @@ -158,64 +137,36 @@ /datum/game_mode/proc/make_bloodsucker(datum/mind/bloodsucker, datum/mind/creator = null) // NOTE: This is a game_mode/proc, NOT a game_mode/bloodsucker/proc! We need to access this function despite the game mode. - if (!can_make_bloodsucker(bloodsucker)) + if(!can_make_bloodsucker(bloodsucker)) return FALSE - // Create Datum: Fledgling var/datum/antagonist/bloodsucker/A - - // [FLEDGLING] - if (creator) + // [FLEDGLING] AKA a young vampire. + if(creator) A = new (bloodsucker) A.creator = creator bloodsucker.add_antag_datum(A) // Log message_admins("[bloodsucker] has become a Bloodsucker, and was created by [creator].") log_admin("[bloodsucker] has become a Bloodsucker, and was created by [creator].") - // [MASTER] else A = bloodsucker.add_antag_datum(ANTAG_DATUM_BLOODSUCKER) - - return TRUE - /datum/game_mode/proc/remove_bloodsucker(datum/mind/bloodsucker) bloodsucker.remove_antag_datum(ANTAG_DATUM_BLOODSUCKER) - /datum/game_mode/proc/clean_invalid_species(datum/mind/bloodsucker) // Only checking for Humans here - if (!ishuman(bloodsucker.current) || !bloodsucker.current.client) - return - var/am_valid = TRUE - var/mob/living/carbon/human/H = bloodsucker.current - - // Check if PLASMAMAN? - if(NOBLOOD in H.dna.species.species_traits) - am_valid = FALSE - - // PROBLEM: - // - // Setting species leaves clothes on. If you were a plasmaman, we need to reassign your entire outfit. Otherwise - // everyone will wonder why you're a human with Plasma clothes (jk they'll know you're antag) - - // Convert to HUMAN (along with ID and PDA) - if (!am_valid) - H.set_species(/datum/species/human) - H.real_name = H.client.prefs.custom_names["human"] - var/obj/item/card/id/ID = H.wear_id?.GetID() - if(ID) - ID.registered_name = H.real_name - ID.update_label() - + if(ishuman(bloodsucker.current) || bloodsucker.current.client && NOBLOOD in H.dna.species.species_traits) + var/mob/living/carbon/human/H = bloodsucker.current + //Give them blood if they dont have any. + H.dna.species.species_traits =- NOBLOOD /datum/game_mode/proc/can_make_vassal(mob/living/target, datum/mind/creator, display_warning=TRUE)//, check_antag_or_loyal=FALSE) // Not Correct Type: Abort - if (!iscarbon(target) || !creator) - return FALSE - if (target.stat > UNCONSCIOUS) + if(!iscarbon(target) || !creator || target.stat > UNCONSCIOUS) return FALSE // Check Overdose: Am I even addicted to blood? Do I even have any in me? //if (!target.reagents.addiction_list || !target.reagents.reagent_list) @@ -233,23 +184,23 @@ //message_admins("DEBUG4: can_make_vassal() Abort: No Blood") // return 0 // No Mind! - if (!target.mind || !target.mind.key) - if (display_warning) + if(!target.mind || !target.mind.key) + if(display_warning) to_chat(creator, "[target] isn't self-aware enough to be made into a Vassal.") return FALSE // Already MY Vassal var/datum/antagonist/vassal/V = target.mind.has_antag_datum(ANTAG_DATUM_VASSAL) - if (istype(V) && V.master) - if (V.master.owner == creator) - if (display_warning) + if(istype(V) && V.master) + if(V.master.owner == creator) + if(display_warning) to_chat(creator, "[target] is already your loyal Vassal!") else - if (display_warning) + if(display_warning) to_chat(creator, "[target] is the loyal Vassal of another Bloodsucker!") return FALSE // Already Antag or Loyal (Vamp Hunters count as antags) - if (target.mind.enslaved_to || AmInvalidAntag(target.mind)) //!VassalCheckAntagValid(target.mind, check_antag_or_loyal)) // HAS_TRAIT(target, TRAIT_MINDSHIELD, "implant") || - if (display_warning) + if(target.mind.enslaved_to || AmInvalidAntag(target.mind)) //!VassalCheckAntagValid(target.mind, check_antag_or_loyal)) // HAS_TRAIT(target, TRAIT_MINDSHIELD, "implant") || + if(display_warning) to_chat(creator, "[target] resists the power of your blood to dominate their mind!") return FALSE return TRUE @@ -268,15 +219,15 @@ return FALSE // Does even ONE antag appear in this mind that isn't in the list? Then FAIL! for(var/datum/antagonist/antag_datum in M.antag_datums) - if (!(antag_datum.type in vassal_allowed_antags)) // vassal_allowed_antags is a list stored in the game mode, above. - //message_admins("DEBUG VASSAL: Found Invalid: [antag_datum] // [antag_datum.type]") + // vassal_allowed_antags is a list stored in the game mode, above. + if(!(antag_datum.type in vassal_allowed_antags)) return TRUE //message_admins("DEBUG VASSAL: Valid Antags! (total of [M.antag_datums.len])") // WHEN YOU DELETE THE ABOVE: Remove the 3 second timer on converting the vassal too. return FALSE /datum/game_mode/proc/make_vassal(mob/living/target, datum/mind/creator) - if (!can_make_vassal(target,creator)) + if(!can_make_vassal(target,creator)) return FALSE // Make Vassal var/datum/antagonist/vassal/V = new (target.mind) @@ -285,7 +236,7 @@ target.mind.add_antag_datum(V, V.master.get_team()) // Update Bloodsucker Title (we're a daddy now) B.SelectTitle(am_fledgling = FALSE) // Only works if you have no title yet. - // Log + // lOg it message_admins("[target] has become a Vassal, and is enslaved to [creator].") log_admin("[target] has become a Vassal, and is enslaved to [creator].") return TRUE diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 62304112b2..266fcd0e40 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -157,7 +157,7 @@ mess = TRUE update_icon() return FALSE - if(isvamp(clonemind)) //If the mind is a bloodsucker + if(isbloodsucker(clonemind)) //If the mind is a bloodsucker return FALSE attempting = TRUE //One at a time!! diff --git a/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm b/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm index 9e46203483..2eace3a94d 100644 --- a/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm +++ b/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm @@ -116,7 +116,7 @@ /obj/structure/bloodsucker/vassalrack/examine(mob/user) . = ..() - if(isvamp(user) || isobserver(user)) + if(isbloodsucker(user) || isobserver(user)) . += {"This is the vassal rack, which allows you to thrall crewmembers into loyal minions in your service."} . += {"You need to first secure the vassal rack by clicking on it while it is in your lair."} . += {"Simply click and hold on a victim, and then drag their sprite on the vassal rack. Alt click on the vassal rack to unbuckle them."} @@ -130,7 +130,7 @@ /obj/structure/bloodsucker/vassalrack/MouseDrop_T(atom/movable/O, mob/user) if(!O.Adjacent(src) || O == user || !isliving(O) || !isliving(user) || useLock || has_buckled_mobs() || user.incapacitated()) return - if(!anchored && isvamp(user)) + if(!anchored && isbloodsucker(user)) to_chat(user, "Until this rack is secured in place, it cannot serve its purpose.") return // PULL TARGET: Remember if I was pullin this guy, so we can restore this @@ -183,7 +183,7 @@ /obj/structure/bloodsucker/vassalrack/user_unbuckle_mob(mob/living/M, mob/user) // Attempt Unbuckle - if(!isvamp(user)) + if(!isbloodsucker(user)) if(M == user) M.visible_message("[user] tries to release themself from the rack!",\ "You attempt to release yourself from the rack!") // For sound if not seen --> "You hear a squishy wet noise.") @@ -454,7 +454,7 @@ /obj/structure/bloodsucker/candelabrum/examine(mob/user) . = ..() - if((isvamp()) || isobserver(user)) + if((isbloodsucker()) || isobserver(user)) . += {"This is a magical candle which drains at the sanity of mortals who are not under your command while it is active."} . += {"You can alt click on it from any range to turn it on remotely, or simply be next to it and click on it to turn it on and off normally."} /* if(user.mind.has_antag_datum(ANTAG_DATUM_VASSAL) @@ -463,12 +463,12 @@ /obj/structure/bloodsucker/candelabrum/attack_hand(mob/user) var/datum/antagonist/vassal/T = user.mind.has_antag_datum(ANTAG_DATUM_VASSAL) - if(isvamp(user) || istype(T)) + if(isbloodsucker(user) || istype(T)) toggle() /obj/structure/bloodsucker/candelabrum/AltClick(mob/user) // Bloodsuckers can turn their candles on from a distance. SPOOOOKY. - if(isvamp(user)) + if(isbloodsucker(user)) toggle() /obj/structure/bloodsucker/candelabrum/proc/toggle(mob/user) @@ -485,7 +485,7 @@ if(lit) for(var/mob/living/carbon/human/H in viewers(7, src)) var/datum/antagonist/vassal/T = H.mind.has_antag_datum(ANTAG_DATUM_VASSAL) - if(isvamp(H) || T) //We dont want vassals or vampires affected by this + if(isbloodsucker(H) || T) //We dont want vassals or vampires affected by this return H.hallucination = 20 SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "vampcandle", /datum/mood_event/vampcandle) diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index e8ba72e62f..65304c5460 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -69,14 +69,15 @@ /obj/item/organ/regenerative_core/afterattack(atom/target, mob/user, proximity_flag) . = ..() - if(proximity_flag && ishuman(target)) + if(proximity_flag) + apply_healing_core(target, user) + +/obj/item/organ/regenerative_core/apply_healing_core(atom/target, mob/user) + if(ishuman(target)) var/mob/living/carbon/human/H = target if(inert) to_chat(user, "[src] has decayed and can no longer be used to heal.") return - if(isvamp(user)) - to_chat(user, "[src] breaks down as it fails to heal your unholy self") - return else if(H.stat == DEAD) to_chat(user, "[src] are useless on the dead.") @@ -87,22 +88,16 @@ else to_chat(user, "You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments.") SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) - H.revive(full_heal = 1) + if(!isbloodsucker(H)) + H.revive(full_heal = TRUE) + else + H.revive(full_heal = FALSE) qdel(src) user.log_message("[user] used [src] to heal [H]! Wake the fuck up, Samurai!", LOG_ATTACK, color="green") //Logging for 'old' style legion core use, when clicking on a sprite of yourself or another. /obj/item/organ/regenerative_core/attack_self(mob/user) //Knouli's first hack! Allows for the use of the core in hand rather than needing to click on the target, yourself, to selfheal. Its a rip of the proc just above - but skips on distance check and only uses 'user' rather than 'target' - if(ishuman(user)) //Check if user is human, no need for distance check as it's self heal - var/mob/living/carbon/human/H = user //Set H to user rather than target - if(inert) //Inert cores are useless - to_chat(user, "[src] has decayed and can no longer be used to heal.") - return - else //Skip on check if the target to be healed is dead as, if you are dead, you're not going to be able to use it on yourself! - to_chat(user, "You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments.") - SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) - H.revive(full_heal = 1) - qdel(src) - H.log_message("[H] used [src] to heal themselves! Making use of Knouli's sexy and intelligent use-in-hand proc!", LOG_ATTACK, color="green") //Logging for 'new' style legion core use, when using the core in-hand. + . = ..() + apply_healing_core(user) /obj/item/organ/regenerative_core/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 6947ab28f8..de65b775b4 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -252,7 +252,7 @@ return 0 if(M.getorgan(/obj/item/organ/alien/hivenode)) return 0 - if(isvamp(M)) + if(isbloodsucker(M)) return 0 if(ismonkey(M)) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 574a5aedd2..d07785873a 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -837,7 +837,7 @@ /mob/living/carbon/proc/can_defib() var/tlimit = DEFIB_TIME_LIMIT * 10 var/obj/item/organ/heart = getorgan(/obj/item/organ/heart) - if(suiciding || hellbound || HAS_TRAIT(src, TRAIT_HUSK)) + if(suiciding || hellbound || HAS_TRAIT(src, TRAIT_HUSK) || isbloodsucker()) return if((world.time - timeofdeath) > tlimit) return From fc64c0a0084668834ca3caff4ec19f265b4f13b7 Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Wed, 26 Feb 2020 18:02:07 +0800 Subject: [PATCH 025/271] yeah woops forgot that --- code/modules/clothing/shoes/miscellaneous.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 45c7ad4102..4d4589bb6d 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -443,6 +443,7 @@ icon = 'icons/obj/module.dmi' icon_state = "bluespace_charge" item_flags = NOBLUDGEON + w_class = WEIGHT_CLASS_TINY var/uses = 6 /obj/item/bluespacerecharge/examine(mob/user) @@ -462,4 +463,4 @@ uses += 3 to_chat(user, "You insert [I] into [src].") B.use(10) - icon_state = initial(icon_state) \ No newline at end of file + icon_state = initial(icon_state) From 5d3f3fc06aca9da08a723127a2736e72ad18db59 Mon Sep 17 00:00:00 2001 From: Artur Date: Fri, 28 Feb 2020 14:11:38 +0200 Subject: [PATCH 026/271] WIP --- code/__DEFINES/is_helpers.dm | 1 + code/__HELPERS/unsorted.dm | 18 +++++- .../game/gamemodes/bloodsucker/bloodsucker.dm | 61 +++++++++--------- .../bloodsucker/bloodsucker_life.dm | 16 ++--- .../bloodsucker/datum_bloodsucker.dm | 24 +++---- .../bloodsucker/objects/bloodsucker_crypt.dm | 10 +-- .../antagonists/bloodsucker/powers/feed.dm | 12 +++- .../food_and_drinks/food/snacks_bread.dm | 12 ++++ .../food_and_drinks/food/snacks_meat.dm | 4 +- .../recipes/tablecraft/recipes_bread.dm | 10 +++ .../recipes/tablecraft/recipes_misc.dm | 3 +- code/modules/hydroponics/grown/garlic.dm | 28 ++++++++ .../carbon/human/species_types/vampire.dm | 6 ++ .../mob/living/simple_animal/hostile/mimic.dm | 1 + code/modules/projectiles/projectile/magic.dm | 2 +- .../chemistry/reagents/food_reagents.dm | 52 +++++++++++++++ icons/obj/hydroponics/growing.dmi | Bin 74172 -> 75144 bytes icons/obj/hydroponics/harvest.dmi | Bin 87028 -> 87285 bytes icons/obj/hydroponics/seeds.dmi | Bin 25641 -> 25871 bytes .../code/modules/reagents/objects/clothes.dm | 4 +- tgstation.dme | 1 + 21 files changed, 200 insertions(+), 65 deletions(-) create mode 100644 code/modules/hydroponics/grown/garlic.dm diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 55bfcaff79..22abe1e4c8 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -67,6 +67,7 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list( #define iscatperson(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/felinid) ) #define isdwarf(A) (is_species(A, /datum/species/dwarf)) #define isdullahan(A) (is_species(A, /datum/species/dullahan)) +#define isvampire(A) (is_species(A,/datum/species/vampire)) // Citadel specific species #define isipcperson(A) (is_species(A, /datum/species/ipc)) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index af2fb281e6..4193e813fa 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1562,4 +1562,20 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) channels_to_use += channel if(channels_to_use.len) - world.TgsChatBroadcast() \ No newline at end of file + world.TgsChatBroadcast() + +//Checks to see if either the victim has a garlic necklace or garlic in their blood +/proc/sucking_checks(var/mob/living/carbon/target, check_neck, check_blood) + //Byppass this if the target isnt carbon. + if(!iscarbon) + return TRUE + if(check_neck) + if(istype(target.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/garlic_necklace)) + to_chat(owner, "[victim] is wearing a garlic clove around their neck! You cant drink from them while it is on them!") + return FALSE + if(check_blood) + if(target.reagents.has_reagent(/datum/reagent/consumable/garlic)) + to_chat(target, "[H] tries to bite you, but recoils in disgust!") + to_chat(owner, "[victim] reeks of garlic! you can't bring yourself to drain such tainted blood.") + return FALSE + return TRUE diff --git a/code/game/gamemodes/bloodsucker/bloodsucker.dm b/code/game/gamemodes/bloodsucker/bloodsucker.dm index a45e989318..3cd68e3758 100644 --- a/code/game/gamemodes/bloodsucker/bloodsucker.dm +++ b/code/game/gamemodes/bloodsucker/bloodsucker.dm @@ -91,28 +91,19 @@ return ..() -// Checking for ACTUALLY Dead Vamps -/datum/game_mode/bloodsucker/are_special_antags_dead() - // Bloodsucker not Final Dead - for(var/datum/mind/bloodsucker in bloodsuckers) - if(!bloodsucker.AmFinalDeath()) - return FALSE - return TRUE - - // Init Sunlight (called from datum_bloodsucker.on_gain(), in case game mode isn't even Bloodsucker /datum/game_mode/proc/check_start_sunlight() // Already Sunlight (and not about to cancel) - if (istype(bloodsucker_sunlight) && !bloodsucker_sunlight.cancel_me) + if(istype(bloodsucker_sunlight) && !bloodsucker_sunlight.cancel_me) return bloodsucker_sunlight = new () // End Sun (last bloodsucker removed) /datum/game_mode/proc/check_cancel_sunlight() // No Sunlight - if (!istype(bloodsucker_sunlight)) + if(!istype(bloodsucker_sunlight)) return - if (bloodsuckers.len <= 0) + if(bloodsuckers.len <= 0) bloodsucker_sunlight.cancel_me = TRUE qdel(bloodsucker_sunlight) bloodsucker_sunlight = null @@ -158,14 +149,14 @@ /datum/game_mode/proc/make_bloodsucker(datum/mind/bloodsucker, datum/mind/creator = null) // NOTE: This is a game_mode/proc, NOT a game_mode/bloodsucker/proc! We need to access this function despite the game mode. - if (!can_make_bloodsucker(bloodsucker)) + if(!can_make_bloodsucker(bloodsucker)) return FALSE // Create Datum: Fledgling var/datum/antagonist/bloodsucker/A // [FLEDGLING] - if (creator) + if(creator) A = new (bloodsucker) A.creator = creator bloodsucker.add_antag_datum(A) @@ -187,7 +178,7 @@ /datum/game_mode/proc/clean_invalid_species(datum/mind/bloodsucker) // Only checking for Humans here - if (!ishuman(bloodsucker.current) || !bloodsucker.current.client) + if(!ishuman(bloodsucker.current) || !bloodsucker.current.client) return var/am_valid = TRUE var/mob/living/carbon/human/H = bloodsucker.current @@ -202,7 +193,7 @@ // everyone will wonder why you're a human with Plasma clothes (jk they'll know you're antag) // Convert to HUMAN (along with ID and PDA) - if (!am_valid) + if(!am_valid) H.set_species(/datum/species/human) H.real_name = H.client.prefs.custom_names["human"] var/obj/item/card/id/ID = H.wear_id?.GetID() @@ -211,12 +202,13 @@ ID.update_label() -/datum/game_mode/proc/can_make_vassal(mob/living/target, datum/mind/creator, display_warning=TRUE)//, check_antag_or_loyal=FALSE) +/datum/game_mode/proc/can_make_vassal(mob/living/target, datum/mind/creator, display_warning = TRUE)//, check_antag_or_loyal=FALSE) // Not Correct Type: Abort - if (!iscarbon(target) || !creator) + if(!iscarbon(target) || !creator) return FALSE - if (target.stat > UNCONSCIOUS) + if(target.stat > UNCONSCIOUS) return FALSE + // Check Overdose: Am I even addicted to blood? Do I even have any in me? //if (!target.reagents.addiction_list || !target.reagents.reagent_list) //message_admins("DEBUG2: can_make_vassal() Abort: No reagents") @@ -233,23 +225,23 @@ //message_admins("DEBUG4: can_make_vassal() Abort: No Blood") // return 0 // No Mind! - if (!target.mind || !target.mind.key) - if (display_warning) + if(!target.mind || !target.mind.key) + if(display_warning) to_chat(creator, "[target] isn't self-aware enough to be made into a Vassal.") return FALSE // Already MY Vassal var/datum/antagonist/vassal/V = target.mind.has_antag_datum(ANTAG_DATUM_VASSAL) - if (istype(V) && V.master) - if (V.master.owner == creator) - if (display_warning) + if(istype(V) && V.master) + if(V.master.owner == creator) + if(display_warning) to_chat(creator, "[target] is already your loyal Vassal!") else - if (display_warning) + if(display_warning) to_chat(creator, "[target] is the loyal Vassal of another Bloodsucker!") return FALSE // Already Antag or Loyal (Vamp Hunters count as antags) - if (target.mind.enslaved_to || AmInvalidAntag(target.mind)) //!VassalCheckAntagValid(target.mind, check_antag_or_loyal)) // HAS_TRAIT(target, TRAIT_MINDSHIELD, "implant") || - if (display_warning) + if(target.mind.enslaved_to || AmInvalidAntag(target.mind)) //!VassalCheckAntagValid(target.mind, check_antag_or_loyal)) // HAS_TRAIT(target, TRAIT_MINDSHIELD, "implant") || + if(display_warning) to_chat(creator, "[target] resists the power of your blood to dominate their mind!") return FALSE return TRUE @@ -268,15 +260,15 @@ return FALSE // Does even ONE antag appear in this mind that isn't in the list? Then FAIL! for(var/datum/antagonist/antag_datum in M.antag_datums) - if (!(antag_datum.type in vassal_allowed_antags)) // vassal_allowed_antags is a list stored in the game mode, above. + if(!(antag_datum.type in vassal_allowed_antags)) // vassal_allowed_antags is a list stored in the game mode, above. //message_admins("DEBUG VASSAL: Found Invalid: [antag_datum] // [antag_datum.type]") return TRUE //message_admins("DEBUG VASSAL: Valid Antags! (total of [M.antag_datums.len])") // WHEN YOU DELETE THE ABOVE: Remove the 3 second timer on converting the vassal too. return FALSE -/datum/game_mode/proc/make_vassal(mob/living/target, datum/mind/creator) - if (!can_make_vassal(target,creator)) +/datum/game_mode/proc/make_vassal(/mob/living/target, /datum/mind/creator) + if(!can_make_vassal(target, creator)) return FALSE // Make Vassal var/datum/antagonist/vassal/V = new (target.mind) @@ -292,3 +284,12 @@ /datum/game_mode/proc/remove_vassal(datum/mind/vassal) vassal.remove_antag_datum(ANTAG_DATUM_VASSAL) + +/datum/game_mode/proc/count_vassals(datum/mind/master) + var/datum/antagonist/bloodsucker/B = master.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) + var/vassal_amount + len(B.vassals) + return vassal_amount + + + \ No newline at end of file diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index 0179c60ef1..4101d55df1 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -25,7 +25,7 @@ HandleStarving() // Death HandleDeath() // Standard Update update_hud()// Daytime Sleep in Coffin - if (SSticker.mode.is_daylight() && !HAS_TRAIT_FROM(owner.current, TRAIT_DEATHCOMA, "bloodsucker")) + if(SSticker.mode.is_daylight() && !HAS_TRAIT_FROM(owner.current, TRAIT_DEATHCOMA, "bloodsucker")) if(istype(owner.current.loc, /obj/structure/closet/crate/coffin)) Torpor_Begin() // Wait before next pass @@ -82,15 +82,15 @@ /datum/antagonist/bloodsucker/proc/HandleHealing(mult = 1) // NOTE: Mult of 0 is just a TEST to see if we are injured and need to go into Torpor! //It is called from your coffin on close (by you only) - if(poweron_masquerade == TRUE || owner.current.AmStaked()) + if(poweron_masquerade == TRUE || owner.current.AmStaked() || owner?.reagents?.has_reagent(/datum/reagent/consumable/garlic) return FALSE owner.current.adjustStaminaLoss(-1.5 + (regenRate * -7) * mult, 0) // Humans lose stamina damage really quickly. Vamps should heal more. owner.current.adjustCloneLoss(-0.1 * (regenRate * 2) * mult, 0) owner.current.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1 * (regenRate * 4) * mult) //adjustBrainLoss(-1 * (regenRate * 4) * mult, 0) // No Bleeding - if(ishuman(owner.current)) //NOTE Current bleeding is horrible, not to count the amount of blood ballistics delete. + if(ishuman(owner.current) && bleed_rate => 0) //NOTE Current bleeding is horrible, not to count the amount of blood ballistics delete. var/mob/living/carbon/human/H = owner.current - H.bleed_rate = 0 + H.bleed_rate =- 1 if(iscarbon(owner.current)) // Damage Heal: Do I have damage to ANY bodypart? var/mob/living/carbon/C = owner.current var/costMult = 1 // Coffin makes it cheaper @@ -305,17 +305,17 @@ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /mob/proc/CheckBloodsuckerEatFood(var/food_nutrition) - if (!isliving(src)) + if(!isliving(src)) return var/mob/living/L = src if(!L.AmBloodsucker()) return - // We're a vamp? Try to eat food... + // We're a bloodsucker? Try to eat food... var/datum/antagonist/bloodsucker/bloodsuckerdatum = mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) - bloodsuckerdatum.handle_eat_human_food(food_nutrition) + bloodsuckerdatum.bloodsucker_disgust(food_nutrition) -/datum/antagonist/bloodsucker/proc/handle_eat_human_food(var/food_nutrition) // Called from snacks.dm and drinks.dm +/datum/antagonist/bloodsucker/proc/bloodsucker_disgust(var/food_nutrition) // Called from snacks.dm and drinks.dm set waitfor = FALSE if(!owner.current || !iscarbon(owner.current)) return diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index 5207f7a66d..19a7a2889e 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -655,13 +655,13 @@ var/datum/antagonist/vassal/mob_V = M.mind.has_antag_datum(ANTAG_DATUM_VASSAL) // Check 2) If they are a BLOODSUCKER, then are they my Master? if (mob_V && atom_B == mob_V.master) - return TRUE // SUCCESS! + return TRUE // Check 3) If I am a BLOODSUCKER, then are they my Vassal? if (mob_B && atom_V && (atom_V in mob_B.vassals)) - return TRUE // SUCCESS! + return TRUE // Check 4) If we are both VASSAL, then do we have the same master? if (atom_V && mob_V && atom_V.master == mob_V.master) - return TRUE // SUCCESS! + return TRUE return FALSE @@ -719,12 +719,12 @@ invisibility = INVISIBILITY_ABSTRACT /obj/screen/bloodsucker/proc/update_counter(value, valuecolor) - invisibility = 0 // Make Visible + invisibility = 0 -/obj/screen/bloodsucker/blood_counter // NOTE: Look up /obj/screen/devil/soul_counter in _onclick / hud / human.dm - icon = 'icons/mob/actions/bloodsucker.dmi'//'icons/mob/screen_gen.dmi' +/obj/screen/bloodsucker/blood_counter + icon = 'icons/mob/actions/bloodsucker.dmi' name = "Blood Consumed" - icon_state = "blood_display"//"power_display" + icon_state = "blood_display" screen_loc = ui_blood_display /obj/screen/bloodsucker/blood_counter/update_counter(value, valuecolor) @@ -749,22 +749,22 @@ /datum/antagonist/bloodsucker/proc/update_sunlight(value, amDay = FALSE) // No Hud? Get out. - if (!owner.current.hud_used) + if(!owner.current.hud_used) return // Update Sun Time - if (owner.current.hud_used.sunlight_display) + if(owner.current.hud_used.sunlight_display) var/valuecolor = "#BBBBFF" - if (amDay) + if(amDay) valuecolor = "#FF5555" else if(value <= 25) valuecolor = "#FFCCCC" else if(value < 10) valuecolor = "#FF5555" - var/value_string = (value >= 60) ? "[round(value / 60, 1)] m" : "[round(value,1)] s" + var/value_string = (value >= 60) ? "[round(value / 60, 1)] m" : "[round(value, 1)] s" owner.current.hud_used.sunlight_display.update_counter( value_string, valuecolor ) owner.current.hud_used.sunlight_display.icon_state = "sunlight_" + (amDay ? "day":"night") /obj/screen/bloodsucker/sunlight_counter/update_counter(value, valuecolor) ..() - maptext = "

[value]
" + maptext = "
[value]
" diff --git a/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm b/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm index 9e46203483..f9ba36e2c2 100644 --- a/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm +++ b/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm @@ -258,7 +258,7 @@ /obj/structure/bloodsucker/vassalrack/proc/torture_victim(mob/living/user, mob/living/target) var/datum/antagonist/bloodsucker/bloodsuckerdatum = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) // Check Bloodmob/living/M, force = FALSE, check_loc = TRUE - var/convert_cost = 200 + 200 * bloodsuckerdatum.vassals + var/convert_cost = 200 if(user.blood_volume < convert_cost + 5) to_chat(user, "You don't have enough blood to initiate the Dark Communion with [target].") return @@ -321,15 +321,15 @@ // to_chat(user, "The ritual has been interrupted!") // useLock = FALSE // return - user.playsound_local(null, 'sound/effects/explosion_distant.ogg', 40, 1) // Play THIS sound for user only. The "null" is where turf would go if a location was needed. Null puts it right in their head. - target.playsound_local(null, 'sound/effects/explosion_distant.ogg', 40, 1) // Play THIS sound for user only. The "null" is where turf would go if a location was needed. Null puts it right in their head. - target.playsound_local(null, 'sound/effects/singlebeat.ogg', 40, 1) // Play THIS sound for user only. The "null" is where turf would go if a location was needed. Null puts it right in their head. + user.playsound_local(null, 'sound/effects/explosion_distant.ogg', 40, TRUE) + target.playsound_local(null, 'sound/effects/explosion_distant.ogg', 40, TRUE) + target.playsound_local(null, 'sound/effects/singlebeat.ogg', 40, TRUE) target.Jitter(25) target.emote("laugh") //remove_victim(target) // Remove on CLICK ONLY! useLock = FALSE -/obj/structure/bloodsucker/vassalrack/proc/do_torture(mob/living/user, mob/living/target, mult=1) +/obj/structure/bloodsucker/vassalrack/proc/do_torture(mob/living/user, mob/living/target, mult = 1) var/torture_time = 15 // Fifteen seconds if you aren't using anything. Shorter with weapons and such. var/torture_dmg_brute = 2 var/torture_dmg_burn = 0 diff --git a/code/modules/antagonists/bloodsucker/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm index f9ff31d94a..2ae41e7c02 100644 --- a/code/modules/antagonists/bloodsucker/powers/feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -67,6 +67,12 @@ if(display_error) to_chat(owner, "Your victim's blood is not suitable for you to take.") return FALSE + if(iscarbon(owner)) + //We want to check if the target is wearing a garlic necklance. + if(istype(owner.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/garlic_necklace)) + if(display_error) + to_chat(owner, "Your victim is wearing a garlic clove on their neck! Disgusting!") + return FALSE return TRUE // If I'm not grabbing someone, find me someone nearby. @@ -140,7 +146,7 @@ to_chat(user, "You lean quietly toward [target] and secretly draw out your fangs...") else to_chat(user, "You pull [target] close to you and draw out your fangs...") - if(!do_mob(user, target, feed_time,0,1,extra_checks=CALLBACK(src, .proc/ContinueActive, user, target)))//sleep(10) + if(!do_mob(user, target, feed_time, 0, 1, extra_checks = CALLBACK(src, .proc/ContinueActive, user, target)))//sleep(10) to_chat(user, "Your feeding was interrupted.") //DeactivatePower(user,target) return @@ -166,7 +172,7 @@ var/deadmessage = target.stat == DEAD ? "" : " [target.p_they(TRUE)] looks dazed, and will not remember this." user.visible_message("[user] puts [target]'s wrist up to [user.p_their()] mouth.", \ "You secretly slip your fangs into [target]'s wrist.[deadmessage]", \ - vision_distance = notice_range, ignored_mobs=target) // Only people who AREN'T the target will notice this action. + vision_distance = notice_range, ignored_mobs = target) // Only people who AREN'T the target will notice this action. // Warn Feeder about Witnesses... var/was_unnoticed = TRUE for(var/mob/living/M in viewers(notice_range, owner)) @@ -299,7 +305,7 @@ SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "drankkilled", /datum/mood_event/drankkilled) // BAD // in bloodsucker_life.dm /datum/action/bloodsucker/feed/ContinueActive(mob/living/user, mob/living/target) - return ..() && target && (!target_grappled || user.pulling == target)// Active, and still Antag, + return ..() && target && (!target_grappled || user.pulling == target) && sucking_checks(target, TRUE, TRUE) // Active, and still Antag, // NOTE: We only care about pulling if target started off that way. Mostly only important for Aggressive feed. /datum/action/bloodsucker/feed/proc/ApplyVictimEffects(mob/living/target) diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index b18dfc7968..9866e306c6 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -179,6 +179,18 @@ tastes = list("bread" = 1) foodtype = GRAIN +/obj/item/reagent_containers/food/snacks/garlicbread + name = "garlic bread" + desc = "Alas, it is limited." + icon = 'icons/obj/food/burgerbread.dmi' + icon_state = "garlicbread" + item_state = "garlicbread" + bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/vitamin = 2) + list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/vitamin = 4, /datum/reagent/consumable/garlic = 2) + bitesize = 3 + tastes = list("bread" = 1, "garlic" = 1, "butter" = 1) + foodtype = GRAIN + /obj/item/reagent_containers/food/snacks/deepfryholder name = "Deep Fried Foods Holder Obj" desc = "If you can see this description the code for the deep fryer fucked up." diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index 9bf95f65db..53299b9c5b 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -196,7 +196,7 @@ name = "raw khinkali" desc = "One hundred khinkalis? Do I look like a pig?" icon_state = "khinkali" - list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) + list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1, /datum/reagent/consumable/garlic = 1) cooked_type = /obj/item/reagent_containers/food/snacks/khinkali tastes = list("meat" = 1, "onions" = 1, "garlic" = 1) foodtype = MEAT @@ -205,7 +205,7 @@ name = "khinkali" desc = "One hundred khinkalis? Do I look like a pig?" icon_state = "khinkali" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 2) + list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/consumable/garlic = 1) bitesize = 3 filling_color = "#F0F0F0" tastes = list("meat" = 1, "onions" = 1, "garlic" = 1) diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm index c3890b28eb..335078eb4c 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm @@ -125,6 +125,16 @@ result = /obj/item/reagent_containers/food/snacks/baguette subcategory = CAT_BREAD +/datum/crafting_recipe/food/garlicbread + name = "Garlic Bread" + time = 40 + reqs = list(/obj/item/reagent_containers/food/snacks/grown/garlic = 1, + /obj/item/reagent_containers/food/snacks/breadslice/plain = 1, + /obj/item/reagent_containers/food/snacks/butter = 1 + ) + result = /obj/item/reagent_containers/food/snacks/garlicbread + subcategory = CAT_BREAD + /datum/crafting_recipe/food/butterbiscuit name = "Butter Biscuit" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm index 6a622d6719..8f9e7ff0b7 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm @@ -28,7 +28,8 @@ name = "Raw Khinkali" reqs = list( /obj/item/reagent_containers/food/snacks/doughslice = 1, - /obj/item/reagent_containers/food/snacks/faggot = 1 + /obj/item/reagent_containers/food/snacks/faggot = 1, + /obj/item/reagent_containers/food/snacks/grown/garlic = 1 ) result = /obj/item/reagent_containers/food/snacks/rawkhinkali subcategory = CAT_MISCFOOD diff --git a/code/modules/hydroponics/grown/garlic.dm b/code/modules/hydroponics/grown/garlic.dm new file mode 100644 index 0000000000..7ee8aab9a8 --- /dev/null +++ b/code/modules/hydroponics/grown/garlic.dm @@ -0,0 +1,28 @@ +/obj/item/seeds/garlic + name = "pack of garlic seeds" + desc = "A packet of extremely pungent seeds." + icon_state = "seed-garlic" + species = "garlic" + plantname = "Garlic Sprouts" + product = /obj/item/reagent_containers/food/snacks/grown/garlic + yield = 6 + potency = 25 + growthstages = 3 + growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi' + reagents_add = list(/datum/reagent/consumable/garlic = 0.15, /datum/reagent/consumable/nutriment = 0.1) + +/obj/item/reagent_containers/food/snacks/grown/garlic + seed = /obj/item/seeds/garlic + name = "garlic" + desc = "Delicious, but with a potentially overwhelming odor." + icon_state = "garlic" + filling_color = "#C0C9A0" + bitesize_mod = 2 + tastes = list("garlic" = 1) + wine_power = 10 + +/obj/item/clothing/neck/garlic_necklace + name = "garlic necklace" + desc = "A clove of garlic on a string, tied to itself in a circle, just might fit around your neck. For paranoid people who fear getting their blood sucked." + icon_state = "garlic_necklace" + \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 8bbd870149..b62b8304da 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -81,6 +81,9 @@ if(H.blood_volume >= BLOOD_VOLUME_MAXIMUM) to_chat(H, "You're already full!") return + //This checks whether or not they are wearing a garlic clove on their neck + if(sucking_checks(victim, TRUE, FALSE)) + return if(victim.stat == DEAD) to_chat(H, "You need a living victim!") return @@ -92,6 +95,9 @@ to_chat(victim, "[H] tries to bite you, but stops before touching you!") to_chat(H, "[victim] is blessed! You stop just in time to avoid catching fire.") return + //Here we check now for both the garlic cloves on the neck and for blood in the victims bloodstream. + if(sucking_checks(victim, TRUE, TRUE)) + return if(!do_after(H, 30, target = victim)) return var/blood_volume_difference = BLOOD_VOLUME_MAXIMUM - H.blood_volume //How much capacity we have left to absorb blood diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 16a55421b8..83af522962 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -11,6 +11,7 @@ speed = 0 maxHealth = 250 health = 250 + blood_volume = 0 gender = NEUTER mob_biotypes = NONE diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 7608e5f4a8..11523d3afa 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -284,7 +284,7 @@ if(L.mind) L.mind.transfer_to(S) if(owner) - to_chat(S, "You are an animate statue. You cannot move when monitored, but are nearly invincible and deadly when unobserved! Do not harm [owner], your creator.") + to_chat(S, "You are an animated statue. You cannot move when monitored, but are nearly invincible and deadly when unobserved! Do not harm [owner], your creator.") P.forceMove(S) return else diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 52eee9f8ea..9218df1ad1 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -423,6 +423,58 @@ M.emote(pick("twitch","giggle")) ..() +/datum/reagent/consumable/garlic //NOTE: having garlic in your blood stops vampires from biting you. + name = "Garlic Juice" + id = "garlic" + description = "Crushed garlic. Chefs love it, but it can make you smell bad." + color = "#FEFEFE" + taste_description = "garlic" + metabolization_rate = 0.15 * REAGENTS_METABOLISM + +/datum/reagent/consumable/garlic/on_mob_life(mob/living/carbon/M) + if(isvampire(M)) //incapacitating but not lethal. Unfortunately, vampires cannot vomit. + if(prob(min(25, current_cycle))) + to_chat(M, "You can't get the scent of garlic out of your nose! You can barely think...") + M.Paralyze(10) + M.Jitter(10) + return + else if(isbloodsucker(M)) + var/datum/antagonist/bloodsucker/bloodsuckerdatum = M.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) + switch(method) + if(INGEST) + if(prob(min(30, current_cycle))) + to_chat(M, "You cant get the smell of garlic out of your nose! You cant think straight because of it!") + M.Jitter(15) + return + if(prob(min(15, current_cycle))) + M.visible_message("Something you ate is burning your stomach!", / + "[M] clutches their stomach and falls to the ground!" + ) + M.Knockdown(20) + M.emote("scream") + return + if(prob(min(5, current_cycle))) + M.vomit() + return + if(INJECT) + if(prob(min(20, current_cycle))) + to_chat(M, "You feel like your veins are boiling!") + M.emote("scream") + M.adjustFireLoss(5) + return + if(prob(min(5, current_cycle))) + to_chat(M, "You are trying to purge the contaminants from your blood!") + M.vomit() + return + + else if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.job == "Cook") + if(prob(20)) //stays in the system much longer than sprinkles/banana juice, so heals slower to partially compensate + H.heal_bodypart_damage(1, 1, 0) + . = 1 + ..() + /datum/reagent/consumable/sprinkles name = "Sprinkles" value = 3 diff --git a/icons/obj/hydroponics/growing.dmi b/icons/obj/hydroponics/growing.dmi index 712ea11a3b7a0e1a6c1f595882d26ca9f4136fe2..c93865ca77bae041846d0069c1ae0c5dece1e9a1 100644 GIT binary patch delta 19548 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

8&ogCVpgZVyQwxxvgAJjpH0A);f0~9xx>R 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 WEBG994ch|%G~7>mJJ%j3(*6O8_^8tW diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi index e746d8f43d7b16c2207e5f00623f75c7e9c80688..c7c31581f3eb486c34e22574f4a3cedcd88ff062 100644 GIT binary patch delta 20535 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 diff --git a/icons/obj/hydroponics/seeds.dmi b/icons/obj/hydroponics/seeds.dmi index 43e231cbab93cca9acc55113aa042b547f75eb07..62843e3f54f903007e1dd9bfd61e3e883ddbf5a6 100644 GIT binary patch delta 6140 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 PB7b_?##-f?juHO@f?zAP delta 5908 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 diff --git a/modular_citadel/code/modules/reagents/objects/clothes.dm b/modular_citadel/code/modules/reagents/objects/clothes.dm index 4707d5b460..457f1dfb39 100644 --- a/modular_citadel/code/modules/reagents/objects/clothes.dm +++ b/modular_citadel/code/modules/reagents/objects/clothes.dm @@ -5,7 +5,7 @@ name = "Synthetic hat" icon = 'icons/obj/clothing/hats.dmi' icon_state = "cowboy" - desc = "A sythesized hat, you can't seem to take it off. And tips their hat." + desc = "A synthesized hat, you can't seem to take it off. And tips their hat." armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //item_flags = NODROP //Tips their hat! @@ -25,7 +25,7 @@ /obj/item/clothing/head/hattip/MouseDrop(atom/over_object) //You sure do love tipping your hat. - if(usr) + if(user) var/mob/living/carbon/C = usr if(is_ninja(C)) to_chat(C, "Using your superior ninja reflexes, you take the hat off before tipping.") diff --git a/tgstation.dme b/tgstation.dme index ee098a0ec7..f9a4b3fe7b 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1902,6 +1902,7 @@ #include "code\modules\hydroponics\grown\cotton.dm" #include "code\modules\hydroponics\grown\eggplant.dm" #include "code\modules\hydroponics\grown\flowers.dm" +#include "code\modules\hydroponics\grown\garlic.dm" #include "code\modules\hydroponics\grown\grass_carpet.dm" #include "code\modules\hydroponics\grown\kudzu.dm" #include "code\modules\hydroponics\grown\melon.dm" From 97315940fe84c70069854f7c7129f944dbf28d6e Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 8 Mar 2020 01:01:21 +0100 Subject: [PATCH 027/271] Polychromic element. --- code/__DEFINES/components.dm | 1 + code/__HELPERS/_lists.dm | 21 +++ code/controllers/subsystem/dcs.dm | 5 +- code/datums/action.dm | 49 ++++--- code/datums/components/storage/storage.dm | 2 +- code/datums/components/virtual_reality.dm | 2 +- code/datums/elements/polychromic.dm | 127 ++++++++++++++++++ .../elements/update_icon_updates_onmob.dm | 2 +- code/game/objects/items.dm | 7 + .../modules/mob/living/carbon/update_icons.dm | 9 -- icons/mob/actions/backgrounds.dmi | Bin 6061 -> 18620 bytes tgstation.dme | 1 + 12 files changed, 188 insertions(+), 38 deletions(-) create mode 100644 code/datums/elements/polychromic.dm diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 56cf681a27..ff0750a28c 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -255,6 +255,7 @@ #define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" //return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user) #define COMSIG_ITEM_HIT_REACT "item_hit_react" //from base of obj/item/hit_reaction(): (list/args) #define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable) +#define COMSIG_ITEM_WORN_OVERLAYS "item_worn_overlays" //from base of obj/item/worn_overlays(): (isinhands, icon_file, style_flags, list/overlays) // /obj/item/clothing signals #define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): () diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index f16b566b00..8887a2aa1d 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -550,6 +550,27 @@ for(var/thing in flat_list) .[thing] = TRUE +/proc/deep_list2params(list/deep_list) + var/list/L = list() + for(var/i in deep_list) + var/key = i + if(isnum(key)) + key = "[key]" + continue + if(islist(key)) + key = deep_list2params(key) + else if(!istext(key)) + key = "[REF(key)]" + L += "[key]" + var/value = deep_list[key] + if(!isnull(value)) + if(islist(value)) + value = deep_list2params(value) + else if(!(istext(key) || isnum(key))) + value = "[REF(value)]" + L["[key]"] = "[value]" + return list2params(L) + //Picks from the list, with some safeties, and returns the "default" arg if it fails #define DEFAULTPICK(L, default) ((islist(L) && length(L)) ? pick(L) : default) diff --git a/code/controllers/subsystem/dcs.dm b/code/controllers/subsystem/dcs.dm index faf95fd319..19a1ac26b5 100644 --- a/code/controllers/subsystem/dcs.dm +++ b/code/controllers/subsystem/dcs.dm @@ -16,7 +16,10 @@ PROCESSING_SUBSYSTEM_DEF(dcs) if(istext(argument) || isnum(argument)) fullid += "[argument]" else - fullid += "[REF(argument)]" + if(islist(argument)) + fullid += deep_list2params(argument) + else + fullid += "[REF(argument)]" element_id = fullid.Join("&") . = elements_by_type[element_id] diff --git a/code/datums/action.dm b/code/datums/action.dm index f1df2a80d8..65db324b2b 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -6,13 +6,15 @@ /datum/action var/name = "Generic Action" var/desc = null - var/obj/target = null + var/atom/target = null var/check_flags = 0 var/required_mobility_flags = MOBILITY_USE var/processing = FALSE var/obj/screen/movable/action_button/button = null var/buttontooltipstyle = "" var/transparent_when_unavailable = TRUE + var/use_target_appearance = FALSE + var/list/target_appearance_matrix //if set, will be used to transform the target button appearance as an arglist. var/button_icon = 'icons/mob/actions/backgrounds.dmi' //This is the file for the BACKGROUND icon var/background_icon_state = ACTION_BUTTON_DEFAULT_BACKGROUND //And this is the state for the background icon @@ -88,7 +90,7 @@ /datum/action/proc/Trigger() if(!IsAvailable()) return FALSE - if(SEND_SIGNAL(src, COMSIG_ACTION_TRIGGER, src) & COMPONENT_ACTION_BLOCK_TRIGGER) + if(SEND_SIGNAL(src, COMSIG_ACTION_TRIGGER, target) & COMPONENT_ACTION_BLOCK_TRIGGER) return FALSE return TRUE @@ -116,7 +118,9 @@ return TRUE /datum/action/proc/UpdateButtonIcon(status_only = FALSE, force = FALSE) - if(button) + if(!button) + return + if(button_icon && button_icon_state) if(!status_only) button.name = name button.desc = desc @@ -134,11 +138,22 @@ ApplyIcon(button, force) - if(!IsAvailable()) - button.color = transparent_when_unavailable ? rgb(128,0,0,128) : rgb(128,0,0) - else - button.color = rgb(255,255,255,255) - return 1 + else if(use_target_appearance && target && button.appearance_cache != target.appearance) //replace with /ref comparison if this is not valid. + var/mutable_appearance/M = new(target) + M.layer = FLOAT_LAYER + M.plane = FLOAT_PLANE + if(target_appearance_matrix) + var/list/L = target_appearance_matrix + M.transform = matrix(L[1], L[2], L[3], L[4], L[5], L[6]) + button.cut_overlays() + button.add_overlay(M) + button.appearance_cache = target.appearance + + if(!IsAvailable()) + button.color = transparent_when_unavailable ? rgb(128,0,0,128) : rgb(128,0,0) + else + button.color = rgb(255,255,255,255) + return 1 /datum/action/proc/ApplyIcon(obj/screen/movable/action_button/current_button, force = FALSE) if(icon_icon && button_icon_state && ((current_button.button_icon_state != button_icon_state) || force)) @@ -165,6 +180,7 @@ /datum/action/item_action check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_LYING|AB_CHECK_CONSCIOUS button_icon_state = null + use_target_appearance = TRUE // If you want to override the normal icon being the item // then change this to an icon state @@ -188,23 +204,6 @@ I.ui_action_click(owner, src) return 1 -/datum/action/item_action/ApplyIcon(obj/screen/movable/action_button/current_button, force) - if(button_icon && button_icon_state) - // If set, use the custom icon that we set instead - // of the item appearence - ..() - else if(target && current_button.appearance_cache != target.appearance) //replace with /ref comparison if this is not valid. - var/obj/item/I = target - var/old_layer = I.layer - var/old_plane = I.plane - I.layer = FLOAT_LAYER //AAAH - I.plane = FLOAT_PLANE //^ what that guy said - current_button.cut_overlays() - current_button.add_overlay(I) - I.layer = old_layer - I.plane = old_plane - current_button.appearance_cache = I.appearance - /datum/action/item_action/toggle_light name = "Toggle Light" diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index ea72a8a6dd..3ed66dcf92 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -790,7 +790,7 @@ user.visible_message("[user] draws [I] from [parent]!", "You draw [I] from [parent].") return TRUE -/datum/component/storage/proc/action_trigger(datum/signal_source, datum/action/source) +/datum/component/storage/proc/action_trigger(datum/action/source, obj/target) gather_mode_switch(source.owner) return COMPONENT_ACTION_BLOCK_TRIGGER diff --git a/code/datums/components/virtual_reality.dm b/code/datums/components/virtual_reality.dm index 63e4f4f092..cd5820d21f 100644 --- a/code/datums/components/virtual_reality.dm +++ b/code/datums/components/virtual_reality.dm @@ -174,7 +174,7 @@ /** *The following procs simply acts as hooks for quit(), since components do not use callbacks anymore */ -/datum/component/virtual_reality/proc/action_trigger(datum/signal_source, datum/action/source) +/datum/component/virtual_reality/proc/action_trigger(datum/action/source, obj/target) quit() return COMPONENT_ACTION_BLOCK_TRIGGER diff --git a/code/datums/elements/polychromic.dm b/code/datums/elements/polychromic.dm new file mode 100644 index 0000000000..4301a280f3 --- /dev/null +++ b/code/datums/elements/polychromic.dm @@ -0,0 +1,127 @@ +#define POLYCHROMIC_ALTCLICK (1<<0) +#define POLYCHROMIC_ACTION (1<<1) +#define POLYCHROMIC_NO_HELD (1<<2) +#define POLYCHROMIC_NO_WORN (1<<3) + +/datum/element/polychromic + element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH + id_arg_index = 3 + var/list/overlays_by_atom = list() + var/list/overlays_states //also used for worn/held overlsays + var/icon_file + var/list/overlays_names //wrap numbers into text strings please. + var/list/actions_by_atom = list() + var/poly_flags + //item variables + var/worn_file //used for boths held and worn overlays if present. + +/datum/element/polychromic/Attach(datum/target, list/colors, list/states, _icon, _flags = POLYCHROMIC_ALTCLICK|POLYCHROMIC_NO_HELD, _worn, list/names = list("Primary", "Secondary", "Tertiary", "Quaternary", "Quinary", "Senary")) + . = ..() + var/states_len = length(overlays_states) + var/names_len = length(names) + if(!states_len || names_len || !isatom(target)) + return ELEMENT_INCOMPATIBLE + var/atom/A = target + + overlays_states = states + icon_file = _icon + worn_file = _worn + poly_flags = _flags + + var/mut_icon = icon_file || A.icon + var/list/L = list() + for(var/I in overlays_states) + var/col = popleft(colors) || "#FFFFFF" + L += mutable_appearance(mut_icon, I, color = col) + A.add_overlay(L) + overlays_by_atom[A] = L + + if(_flags & POLYCHROMIC_ALTCLICK) + RegisterSignal(A, COMSIG_PARENT_EXAMINE, .proc/on_examine) + RegisterSignal(A, COMSIG_CLICK_ALT, .proc/set_color) + + if(!overlays_names && names) + overlays_names = names + var/diff = states_len - names_len + if(diff > 0) //It will be ugly, but still functional. + for(var/i in 1 to diff) + overlays_names += "[names_len + i]" + else if(diff < 0) + overlays_names.len += diff + + if(isitem(A)) + if(_flags & POLYCHROMIC_ACTION) + RegisterSignal(src, COMSIG_ITEM_EQUIPPED, .proc/grant_user_action) + RegisterSignal(src, COMSIG_ITEM_DROPPED, .proc/remove_user_action) + AddElement(A, /datum/element/update_icon_updates_onmob) //Since we can change the overall aspect of the item. + RegisterSignal(A, COMSIG_ITEM_WORN_OVERLAYS, .proc/apply_worn_overlays) + else if(_flags & POLYCHROMIC_ACTION && ismob(A)) //Not safe until mob icon updating procs are standarized and stop using cut_overlays() + var/datum/action/polychromic/P = new(A) + RegisterSignal(P, COMSIG_ACTION_TRIGGER, .proc/activate_action) + actions_by_atom[A] = P + P.Grant(A) + +/datum/element/polychromic/Detach(atom/A) + . = ..() + A.cut_overlay(overlays_by_atom[A]) + overlays_by_atom -= A + var/datum/action/polychromic/P = actions_by_atom[A] + if(P) + qdel(P) + actions_by_atom -= A + if(poly_flags & POLYCHROMIC_ALTCLICK) + UnregisterSignal(A, list(COMSIG_PARENT_EXAMINE, COMSIG_CLICK_ALT)) + +/datum/element/polychromic/proc/apply_worn_overlays(obj/item/source, isinhands, icon_file, style_flags, list/overlays) + if(poly_flags & (isinhands ? POLYCHROMIC_NO_HELD : POLYCHROMIC_NO_WORN)) + return + var/f_icon = worn_file || icon_file + var/list/L = overlays_by_atom[source] + + for(var/I in 1 to length(overlays_states)) + var/mutable_appearance/M = L[I] + overlays += mutable_appearance(f_icon, overlays_states[I], color = M.color) + +/datum/element/polychromic/proc/set_color(atom/source, mob/user) + var/choice = input(user,"Polychromic options", "Recolor [source]") as null|anything in overlays_names + if(!choice || QDELETED(source) || !user.canUseTopic(src, BE_CLOSE, NO_DEXTERY)) + return + choice = overlays_names.Find(choice) + var/ncolor = input(user, "Polychromic options", "Choose [choice] Color") as color|null + if(!ncolor || QDELETED(source) || !user.canUseTopic(src, BE_CLOSE, NO_DEXTERY)) + return + var/list/L = overlays_by_atom[source] + if(!L) // Ummmmmh. + return + var/mutable_appearance/M = L[choice] + M.color = sanitize_hexcolor(ncolor, 6, TRUE, M.color) + source.update_icon() + return TRUE + +/datum/element/polychromic/proc/grant_user_action(atom/source, mob/user, slot) + if(slot == SLOT_IN_BACKPACK || slot == SLOT_LEGCUFFED || slot == SLOT_HANDCUFFED || slot == SLOT_GENERC_DEXTROUS_STORAGE) + return + var/datum/action/polychromic/P = actions_by_atom[source] + if(!P) + P = new (source) + actions_by_atom[source] = P + P.check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_LYING|AB_CHECK_CONSCIOUS + RegisterSignal(P, COMSIG_ACTION_TRIGGER, .proc/activate_action) + P.Grant(user) + +/datum/element/polychromic/proc/remove_user_action(atom/source, mob/user) + var/datum/action/polychromic/P = actions_by_atom[source] + P?.Remove(user) + +/datum/element/polychromic/proc/activate_action(datum/action/source, atom/target) + set_color(target, source.owner) + +/datum/element/polychromic/proc/on_examine(atom/source, mob/user, list/examine_list) + examine_list += "Alt-click to recolor it." + +/datum/action/polychromic + name = "Modify Polychromic Colors" + background_icon_state = "bg_polychromic" + use_target_appearance = TRUE + button_icon_state = null + target_appearance_matrix = list(0.7,0,0,0,0.7,0) diff --git a/code/datums/elements/update_icon_updates_onmob.dm b/code/datums/elements/update_icon_updates_onmob.dm index ca0e8b1641..5c71547f62 100644 --- a/code/datums/elements/update_icon_updates_onmob.dm +++ b/code/datums/elements/update_icon_updates_onmob.dm @@ -5,7 +5,7 @@ . = ..() if(!istype(target, /obj/item)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ATOM_UPDATED_ICON, .proc/update_onmob) + RegisterSignal(target, COMSIG_ATOM_UPDATED_ICON, .proc/update_onmob, override = TRUE) /datum/element/update_icon_updates_onmob/proc/update_onmob(obj/item/target) if(ismob(target.loc)) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index fd6ae1bb43..7a155ca932 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -425,6 +425,13 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) item_flags |= IN_INVENTORY user.update_equipment_speed_mods() +//Overlays for the worn overlay so you can overlay while you overlay +//eg: ammo counters, primed grenade flashing, etc. +//"icon_file" is used automatically for inhands etc. to make sure it gets the right inhand file +/obj/item/proc/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) + . = list() + SEND_SIGNAL(src, COMSIG_ITEM_WORN_OVERLAYS, isinhands, icon_file, style_flags, .) + //sometimes we only want to grant the item's action if it's equipped in a specific slot. /obj/item/proc/item_action_slot_check(slot, mob/user, datum/action/A) if(slot == SLOT_IN_BACKPACK || slot == SLOT_LEGCUFFED) //these aren't true slots, so avoid granting actions there diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index e5483e8d73..0d6195e4dd 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -195,15 +195,6 @@ /mob/living/carbon/proc/update_hud_back(obj/item/I) return - - -//Overlays for the worn overlay so you can overlay while you overlay -//eg: ammo counters, primed grenade flashing, etc. -//"icon_file" is used automatically for inhands etc. to make sure it gets the right inhand file -/obj/item/proc/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) - . = list() - - /mob/living/carbon/update_body() update_body_parts() diff --git a/icons/mob/actions/backgrounds.dmi b/icons/mob/actions/backgrounds.dmi index 3697fe4ff5b3cc76b1c4abd6ec5f7fdd4f1d5a35..07839588ce366d2783e503982b7817658fb5def0 100644 GIT binary patch literal 18620 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 LSLNdatI+=k=$XBH diff --git a/tgstation.dme b/tgstation.dme index 7ce9569f9a..b12baa9c47 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -501,6 +501,7 @@ #include "code\datums\elements\firestacker.dm" #include "code\datums\elements\ghost_role_eligibility.dm" #include "code\datums\elements\mob_holder.dm" +#include "code\datums\elements\polychromic.dm" #include "code\datums\elements\swimming.dm" #include "code\datums\elements\sword_point.dm" #include "code\datums\elements\update_icon_blocker.dm" From 2b4b626facaefedebbbcea6f15080b08ecf6c194 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Tue, 10 Mar 2020 16:55:30 +0100 Subject: [PATCH 028/271] support for items that switch states through update_icon. --- code/__DEFINES/components.dm | 2 +- code/datums/elements/polychromic.dm | 65 +++++++++++++------ code/game/objects/items.dm | 4 +- code/game/objects/items/RCL.dm | 2 +- code/game/objects/items/holy_weapons.dm | 2 +- code/game/objects/items/melee/energy.dm | 2 +- code/game/objects/items/storage/belt.dm | 2 +- code/game/objects/items/tanks/watertank.dm | 2 +- code/game/objects/items/tools/screwdriver.dm | 2 +- code/game/objects/items/toys.dm | 2 +- code/game/objects/items/twohanded.dm | 2 +- code/game/objects/structures/bedsheet_bin.dm | 2 +- .../clockcult/clock_items/clockwork_slab.dm | 2 +- code/modules/antagonists/cult/cult_items.dm | 2 +- code/modules/clothing/glasses/_glasses.dm | 2 +- code/modules/clothing/gloves/_gloves.dm | 2 +- code/modules/clothing/head/_head.dm | 2 +- code/modules/clothing/head/hardhat.dm | 2 +- code/modules/clothing/head/misc_special.dm | 2 +- code/modules/clothing/masks/_masks.dm | 2 +- code/modules/clothing/neck/_neck.dm | 4 +- code/modules/clothing/shoes/_shoes.dm | 2 +- code/modules/clothing/spacesuits/hardsuit.dm | 6 +- code/modules/clothing/spacesuits/plasmamen.dm | 2 +- code/modules/clothing/suits/_suits.dm | 2 +- code/modules/clothing/suits/miscellaneous.dm | 4 +- code/modules/clothing/under/_under.dm | 2 +- .../clothing/under/polychromic_clothes.dm | 2 +- code/modules/food_and_drinks/pizzabox.dm | 2 +- .../modules/mining/equipment/explorer_gear.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 2 +- .../clothing/suits/polychromic_cloaks.dm | 2 +- .../projectiles/guns/energy/energy_gun.dm | 2 +- .../modules/projectiles/guns/pumpenergy.dm | 2 +- 34 files changed, 82 insertions(+), 59 deletions(-) diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index ff0750a28c..85a8d7a37d 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -255,7 +255,7 @@ #define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" //return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user) #define COMSIG_ITEM_HIT_REACT "item_hit_react" //from base of obj/item/hit_reaction(): (list/args) #define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable) -#define COMSIG_ITEM_WORN_OVERLAYS "item_worn_overlays" //from base of obj/item/worn_overlays(): (isinhands, icon_file, style_flags, list/overlays) +#define COMSIG_ITEM_WORN_OVERLAYS "item_worn_overlays" //from base of obj/item/worn_overlays(): (isinhands, icon_file, used_state, style_flags, list/overlays) // /obj/item/clothing signals #define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): () diff --git a/code/datums/elements/polychromic.dm b/code/datums/elements/polychromic.dm index 4301a280f3..d7057cfdf7 100644 --- a/code/datums/elements/polychromic.dm +++ b/code/datums/elements/polychromic.dm @@ -6,8 +6,8 @@ /datum/element/polychromic element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH id_arg_index = 3 - var/list/overlays_by_atom = list() - var/list/overlays_states //also used for worn/held overlsays + var/overlays_states //A list or a number of states. In the latter case, the atom icon_state/item_state will be used followed by a number for the overlays. + var/list/colors_by_atom = list() //list of color strings or mutable appearance depending on the above variable. var/icon_file var/list/overlays_names //wrap numbers into text strings please. var/list/actions_by_atom = list() @@ -15,7 +15,7 @@ //item variables var/worn_file //used for boths held and worn overlays if present. -/datum/element/polychromic/Attach(datum/target, list/colors, list/states, _icon, _flags = POLYCHROMIC_ALTCLICK|POLYCHROMIC_NO_HELD, _worn, list/names = list("Primary", "Secondary", "Tertiary", "Quaternary", "Quinary", "Senary")) +/datum/element/polychromic/Attach(datum/target, list/colors, states, _icon, _flags = POLYCHROMIC_ALTCLICK|POLYCHROMIC_NO_HELD, _worn, list/names = list("Primary", "Secondary", "Tertiary", "Quaternary", "Quinary", "Senary")) . = ..() var/states_len = length(overlays_states) var/names_len = length(names) @@ -30,11 +30,17 @@ var/mut_icon = icon_file || A.icon var/list/L = list() - for(var/I in overlays_states) - var/col = popleft(colors) || "#FFFFFF" - L += mutable_appearance(mut_icon, I, color = col) - A.add_overlay(L) - overlays_by_atom[A] = L + if(islist(overlays_states)) + for(var/I in overlays_states) + var/col = popleft(colors) || "#FFFFFF" + L += mutable_appearance(mut_icon, I, color = col) + else + for(var/I in 1 to overlays_states) + var/col = LAZYACCESS(colors, I) || "#FFFFFF" + L += col + colors_by_atom[A] = L + + RegisterSignal(A, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/apply_overlays) if(_flags & POLYCHROMIC_ALTCLICK) RegisterSignal(A, COMSIG_PARENT_EXAMINE, .proc/on_examine) @@ -61,40 +67,57 @@ actions_by_atom[A] = P P.Grant(A) + A.update_icon() + /datum/element/polychromic/Detach(atom/A) . = ..() - A.cut_overlay(overlays_by_atom[A]) - overlays_by_atom -= A + A.cut_overlay(colors_by_atom[A]) + colors_by_atom -= A var/datum/action/polychromic/P = actions_by_atom[A] if(P) qdel(P) actions_by_atom -= A if(poly_flags & POLYCHROMIC_ALTCLICK) - UnregisterSignal(A, list(COMSIG_PARENT_EXAMINE, COMSIG_CLICK_ALT)) + UnregisterSignal(A, list(COMSIG_PARENT_EXAMINE, COMSIG_CLICK_ALT, COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) -/datum/element/polychromic/proc/apply_worn_overlays(obj/item/source, isinhands, icon_file, style_flags, list/overlays) +/datum/element/polychromic/proc/apply_overlays(atom/source, list/overlays) + var/list/L = colors_by_atom[source] + if(isnum(overlays_states)) + for(var/i in 1 to overlays_states) + overlays += mutable_appearance(source.icon, "[source.icon_state]-[i]", color = L[i]) + else + overlays += colors_by_atom[source] + +/datum/element/polychromic/proc/apply_worn_overlays(obj/item/source, isinhands, icon_file, used_state, style_flags, list/overlays) if(poly_flags & (isinhands ? POLYCHROMIC_NO_HELD : POLYCHROMIC_NO_WORN)) return var/f_icon = worn_file || icon_file - var/list/L = overlays_by_atom[source] + var/list/L = colors_by_atom[source] - for(var/I in 1 to length(overlays_states)) - var/mutable_appearance/M = L[I] - overlays += mutable_appearance(f_icon, overlays_states[I], color = M.color) + if(isnum(overlays_states)) + for(var/i in 1 to overlays_states) + overlays += mutable_appearance(f_icon, "[used_state]-[i]", color = L[i]) + else + for(var/I in 1 to length(overlays_states)) + var/mutable_appearance/M = L[I] + overlays += mutable_appearance(f_icon, overlays_states[I], color = M.color) /datum/element/polychromic/proc/set_color(atom/source, mob/user) var/choice = input(user,"Polychromic options", "Recolor [source]") as null|anything in overlays_names if(!choice || QDELETED(source) || !user.canUseTopic(src, BE_CLOSE, NO_DEXTERY)) return - choice = overlays_names.Find(choice) var/ncolor = input(user, "Polychromic options", "Choose [choice] Color") as color|null if(!ncolor || QDELETED(source) || !user.canUseTopic(src, BE_CLOSE, NO_DEXTERY)) return - var/list/L = overlays_by_atom[source] + var/list/L = colors_by_atom[source] if(!L) // Ummmmmh. return - var/mutable_appearance/M = L[choice] - M.color = sanitize_hexcolor(ncolor, 6, TRUE, M.color) + var/K = L[overlays_names.Find(choice)] + if(istext(K)) + K = sanitize_hexcolor(ncolor, 6, TRUE, K) + else + var/mutable_appearance/M = K + M.color = sanitize_hexcolor(ncolor, 6, TRUE, M.color) source.update_icon() return TRUE @@ -105,7 +128,7 @@ if(!P) P = new (source) actions_by_atom[source] = P - P.check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_LYING|AB_CHECK_CONSCIOUS + P.check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS RegisterSignal(P, COMSIG_ACTION_TRIGGER, .proc/activate_action) P.Grant(user) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 7a155ca932..5d3725200c 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -428,9 +428,9 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) //Overlays for the worn overlay so you can overlay while you overlay //eg: ammo counters, primed grenade flashing, etc. //"icon_file" is used automatically for inhands etc. to make sure it gets the right inhand file -/obj/item/proc/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/proc/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() - SEND_SIGNAL(src, COMSIG_ITEM_WORN_OVERLAYS, isinhands, icon_file, style_flags, .) + SEND_SIGNAL(src, COMSIG_ITEM_WORN_OVERLAYS, isinhands, icon_file, used_state, style_flags, .) //sometimes we only want to grant the item's action if it's equipped in a specific slot. /obj/item/proc/item_action_slot_check(slot, mob/user, datum/action/A) diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index 9513519fa9..5444b0c557 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -113,7 +113,7 @@ cable_overlay.color = GLOB.cable_colors[colors[current_color_index]] . += cable_overlay -/obj/item/twohanded/rcl/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/twohanded/rcl/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands || !(loaded?.amount)) return diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 4d275e2034..65c188918f 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -309,7 +309,7 @@ block_chance = 50 var/shield_icon = "shield-red" -/obj/item/nullrod/staff/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/nullrod/staff/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = list() if(isinhands) . += mutable_appearance('icons/effects/effects.dmi', shield_icon, MOB_LAYER + 0.01) diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index aba07c9120..83d7ec1b6d 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -337,7 +337,7 @@ . = ..() . += "Alt-click to recolor it." -/obj/item/melee/transforming/energy/sword/cx/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/melee/transforming/energy/sword/cx/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(active) if(isinhands) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 4e03d029a8..3ee4fbead8 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -22,7 +22,7 @@ for(var/obj/item/I in contents) . += I.get_belt_overlay() -/obj/item/storage/belt/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/storage/belt/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands && onmob_overlays) for(var/obj/item/I in contents) diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index c1cbf534ca..5210f00e99 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -376,7 +376,7 @@ filling.color = mix_color_from_reagents(reagents.reagent_list) add_overlay(filling) -/obj/item/reagent_containers/chemtank/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) //apply chemcolor and level +/obj/item/reagent_containers/chemtank/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) //apply chemcolor and level . = list() //inhands + reagent_filling if(!isinhands && reagents.total_volume) diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index 0d2892cb4a..24fe73ba12 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -53,7 +53,7 @@ base_overlay.appearance_flags = RESET_COLOR . += base_overlay -/obj/item/screwdriver/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/screwdriver/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() if(isinhands && random_color) var/mutable_appearance/M = mutable_appearance(icon_file, "screwdriver_head") diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index ba51fa3d65..08b87fe1d6 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -352,7 +352,7 @@ update_light() return TRUE -/obj/item/toy/sword/cx/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/toy/sword/cx/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(active) if(isinhands) diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index 11a06e149d..7f2e322c69 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -530,7 +530,7 @@ update_light() return TRUE -/obj/item/twohanded/dualsaber/hypereutactic/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/twohanded/dualsaber/hypereutactic/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(isinhands) var/mutable_appearance/gem_inhand = mutable_appearance(icon_file, "hypereutactic_gem") diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 8dc7caa5ad..7859b888f2 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -252,7 +252,7 @@ LINEN BINS add_overlay(g_mouth) add_overlay(g_eyes) -/obj/item/bedsheet/gondola/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/bedsheet/gondola/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands) . += mutable_appearance(icon_file, g_mouth) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index b12c72b4af..b0ba3ccaaa 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -103,7 +103,7 @@ . = ..() addtimer(CALLBACK(src, .proc/check_on_mob, user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later -/obj/item/clockwork/slab/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clockwork/slab/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() if(isinhands && item_state && inhand_overlay) var/mutable_appearance/M = mutable_appearance(icon_file, "slab_[inhand_overlay]") diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 3dc199b56d..888e99f1ad 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -425,7 +425,7 @@ return 1 return 0 -/obj/item/clothing/suit/hooded/cultrobes/cult_shield/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/clothing/suit/hooded/cultrobes/cult_shield/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = list() if(!isinhands && current_charges) . += mutable_appearance('icons/effects/cult_effects.dmi', "shield-cult", MOB_LAYER + 0.01) diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 5ae86636d6..2b6036498e 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -333,7 +333,7 @@ add_atom_colour("#[user.eye_color]", FIXED_COLOUR_PRIORITY) colored_before = TRUE -/obj/item/clothing/glasses/sunglasses/blindfold/white/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clothing/glasses/sunglasses/blindfold/white/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() if(!isinhands && ishuman(loc) && !colored_before) var/mob/living/carbon/human/H = loc diff --git a/code/modules/clothing/gloves/_gloves.dm b/code/modules/clothing/gloves/_gloves.dm index 0729317eac..21ebeaa2bb 100644 --- a/code/modules/clothing/gloves/_gloves.dm +++ b/code/modules/clothing/gloves/_gloves.dm @@ -26,7 +26,7 @@ user.visible_message("\the [src] are forcing [user]'s hands around [user.p_their()] neck! It looks like the gloves are possessed!") return OXYLOSS -/obj/item/clothing/gloves/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clothing/gloves/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() if(!isinhands) if(damaged_clothes) diff --git a/code/modules/clothing/head/_head.dm b/code/modules/clothing/head/_head.dm index d599fbf6f7..121217c128 100644 --- a/code/modules/clothing/head/_head.dm +++ b/code/modules/clothing/head/_head.dm @@ -48,7 +48,7 @@ -/obj/item/clothing/head/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clothing/head/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() if(!isinhands) if(damaged_clothes) diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index e7a8243889..9715709e00 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -125,7 +125,7 @@ playsound(src, 'sound/mecha/mechmove03.ogg', 50, TRUE) //Visors don't just come from nothing update_icon() -/obj/item/clothing/head/hardhat/weldhat/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/clothing/head/hardhat/weldhat/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands) . += mutable_appearance('icons/mob/head.dmi', "weldhelmet") diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 4be949a65e..ec5573e4d7 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -208,7 +208,7 @@ M.color = hair_color add_overlay(M) -/obj/item/clothing/head/wig/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clothing/head/wig/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() if(!isinhands) var/datum/sprite_accessory/S = GLOB.hair_styles_list[hair_style] diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index 5019633cf0..ac087fd9e2 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -28,7 +28,7 @@ /obj/item/clothing/mask/proc/handle_speech() -/obj/item/clothing/mask/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clothing/mask/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() if(!isinhands) if(body_parts_covered & HEAD) diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 2b43460257..cfc806b4db 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -6,7 +6,7 @@ strip_delay = 40 equip_delay_other = 40 -/obj/item/clothing/neck/worn_overlays(isinhands = FALSE, icon_flag, style_flags = NONE) +/obj/item/clothing/neck/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() if(!isinhands) if(body_parts_covered & HEAD) @@ -192,7 +192,7 @@ tagname = stripped_input(user, "Would you like to change the name on the tag?", "Name your new pet", "Spot", MAX_NAME_LEN) name = "[initial(name)] - [tagname]" -/obj/item/clothing/neck/petcollar/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/clothing/neck/petcollar/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(hasprimary | hassecondary | hastertiary) if(!isinhands) //prevents the worn sprites from showing up if you're just holding them diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index 4c6d3a8f88..7ac4f062f3 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -49,7 +49,7 @@ last_bloodtype = blood_dna[blood_dna[blood_dna.len]]//trust me this works last_blood_DNA = blood_dna[blood_dna.len] -/obj/item/clothing/shoes/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clothing/shoes/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() if(!isinhands) var/bloody = FALSE diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index d9e4f17649..a391a3807f 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -793,7 +793,7 @@ var/mob/living/carbon/human/C = loc C.update_inv_wear_suit() -/obj/item/clothing/suit/space/hardsuit/shielded/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/clothing/suit/space/hardsuit/shielded/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands) var/file2use = style_flags & STYLE_ALL_TAURIC ? 'modular_citadel/icons/mob/64x32_effects.dmi' : 'icons/effects/effects.dmi' @@ -956,7 +956,7 @@ add_overlay(helm_overlay) -/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands) var/mutable_appearance/energy_overlay = mutable_appearance(icon_file, "knight_cydonia_overlay", ABOVE_LIGHTING_LAYER) @@ -993,7 +993,7 @@ add_overlay(suit_overlay) -/obj/item/clothing/suit/space/hardsuit/lavaknight/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clothing/suit/space/hardsuit/lavaknight/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands) var/mutable_appearance/energy_overlay = mutable_appearance(icon_file, "knight_cydonia_overlay", ABOVE_LIGHTING_LAYER) diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index fee8dbce33..f17eb91b74 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -67,7 +67,7 @@ var/datum/action/A=X A.UpdateButtonIcon() -/obj/item/clothing/head/helmet/space/plasmaman/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/clothing/head/helmet/space/plasmaman/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands && on) . += mutable_appearance(icon_file, light_overlay) diff --git a/code/modules/clothing/suits/_suits.dm b/code/modules/clothing/suits/_suits.dm index 1b2080feb1..3d312e260a 100644 --- a/code/modules/clothing/suits/_suits.dm +++ b/code/modules/clothing/suits/_suits.dm @@ -11,7 +11,7 @@ var/suittoggled = FALSE mutantrace_variation = STYLE_DIGITIGRADE -/obj/item/clothing/suit/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clothing/suit/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands) if(damaged_clothes) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 6f61bf56cb..febecd9f71 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -987,7 +987,7 @@ item_color = "winterhood_poly" item_state = "winterhood_poly" -/obj/item/clothing/head/hooded/winterhood/polychromic/worn_overlays(isinhands, icon_file, style_flags = NONE) //this is where the main magic happens. +/obj/item/clothing/head/hooded/winterhood/polychromic/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) //this is where the main magic happens. . = ..() if(suit.hasprimary | suit.hassecondary) if(!isinhands) //prevents the worn sprites from showing up if you're just holding them @@ -1000,7 +1000,7 @@ secondary_worn.color = suit.secondary_color . += secondary_worn -/obj/item/clothing/suit/hooded/wintercoat/polychromic/worn_overlays(isinhands, icon_file, style_flags = NONE) //this is where the main magic happens. +/obj/item/clothing/suit/hooded/wintercoat/polychromic/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) //this is where the main magic happens. . = ..() if(hasprimary | hassecondary | hastertiary) if(!isinhands) //prevents the worn sprites from showing up if you're just holding them diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 63e3a63968..d0cfef4f71 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -16,7 +16,7 @@ var/mutable_appearance/accessory_overlay mutantrace_variation = STYLE_DIGITIGRADE -/obj/item/clothing/under/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) +/obj/item/clothing/under/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = list() if(!isinhands) if(damaged_clothes) diff --git a/code/modules/clothing/under/polychromic_clothes.dm b/code/modules/clothing/under/polychromic_clothes.dm index 53011d42d1..e56e1eb265 100644 --- a/code/modules/clothing/under/polychromic_clothes.dm +++ b/code/modules/clothing/under/polychromic_clothes.dm @@ -27,7 +27,7 @@ can_adjust = FALSE mutantrace_variation = NONE //Not all clothes are currently digi-compatible (only the shorts are as of time of writing) -/obj/item/clothing/under/polychromic/worn_overlays(isinhands, icon_file, style_flags = NONE) //this is where the main magic happens. +/obj/item/clothing/under/polychromic/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) //this is where the main magic happens. . = ..() if(hasprimary | hassecondary | hastertiary) if(!isinhands) //prevents the worn sprites from showing up if you're just holding them diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index b163c6ba97..3505a35487 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -86,7 +86,7 @@ tag_overlay.pixel_y = boxes.len * 3 add_overlay(tag_overlay) -/obj/item/pizzabox/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/pizzabox/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = list() var/current_offset = 2 if(isinhands) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 5165d95340..d3bf4368f7 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -117,7 +117,7 @@ glass_overlay.appearance_flags = RESET_COLOR add_overlay(glass_overlay) -/obj/item/clothing/head/helmet/space/hostile_environment/worn_overlays(isinhands, icon_file, style_flags = NONE) +/obj/item/clothing/head/helmet/space/hostile_environment/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(!isinhands) var/mutable_appearance/M = mutable_appearance('icons/mob/head.dmi', "hostile_env_glass") diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index f1b1570e24..fa138e38f8 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -593,7 +593,7 @@ generate/load female uniform sprites matching all previously decided variables //Get the overlays for this item when it's being worn //eg: ammo counters, primed grenade flashes, etc. - var/list/worn_overlays = worn_overlays(isinhands, file2use, style_flags) + var/list/worn_overlays = worn_overlays(isinhands, file2use, state, style_flags) if(worn_overlays && worn_overlays.len) standing.overlays.Add(worn_overlays) diff --git a/modular_citadel/code/modules/clothing/suits/polychromic_cloaks.dm b/modular_citadel/code/modules/clothing/suits/polychromic_cloaks.dm index ade6cee3ba..ac7d2e80b0 100644 --- a/modular_citadel/code/modules/clothing/suits/polychromic_cloaks.dm +++ b/modular_citadel/code/modules/clothing/suits/polychromic_cloaks.dm @@ -13,7 +13,7 @@ secondary_color = "#FFFFFF" tertiary_color = "#808080" -/obj/item/clothing/neck/cloak/polychromic/worn_overlays(isinhands, icon_file, style_flags = NONE) //this is where the main magic happens. Also mandates that ALL polychromic stuff MUST USE alternate_worn_icon +/obj/item/clothing/neck/cloak/polychromic/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) //this is where the main magic happens. Also mandates that ALL polychromic stuff MUST USE alternate_worn_icon . = ..() if(hasprimary | hassecondary | hastertiary) if(!isinhands) //prevents the worn sprites from showing up if you're just holding them diff --git a/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm b/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm index 49a8a26f35..49d48e0000 100644 --- a/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/modular_citadel/code/modules/projectiles/guns/energy/energy_gun.dm @@ -39,7 +39,7 @@ obj/item/gun/energy/e_gun/cx/AltClick(mob/living/user) body_color = sanitize_hexcolor(body_color_input, desired_format=6, include_crunch=1) update_icon() -obj/item/gun/energy/e_gun/cx/worn_overlays(isinhands, icon_file, style_flags = NONE) +obj/item/gun/energy/e_gun/cx/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() if(isinhands) var/mutable_appearance/body_inhand = mutable_appearance(icon_file, "cxe_body") diff --git a/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm b/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm index f7c0b343c3..fcead7f179 100644 --- a/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm +++ b/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm @@ -87,7 +87,7 @@ . = ..() . += "Alt-click to change firing modes." -/obj/item/gun/energy/pumpaction/worn_overlays(isinhands, icon_file, style_flags = NONE) //ammo counter for inhands +/obj/item/gun/energy/pumpaction/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) //ammo counter for inhands . = ..() var/ratio = CEILING((cell.charge / cell.maxcharge) * charge_sections, 1) var/obj/item/ammo_casing/energy/shot = ammo_type[current_firemode_index] From a43f9ec7be659659689c335f08055d81fdb0c101 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 10 Mar 2020 19:57:30 -0700 Subject: [PATCH 029/271] refactor time fuck you --- code/modules/antagonists/clockcult/clockcult.dm | 4 +++- code/modules/antagonists/cult/cult.dm | 9 ++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index 8ef8d2e11c..a6840f3d85 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -5,7 +5,7 @@ antagpanel_category = "Clockcult" job_rank = ROLE_SERVANT_OF_RATVAR antag_moodlet = /datum/mood_event/cult - var/datum/action/innate/hierophant/hierophant_network = new() + var/datum/action/innate/hierophant/hierophant_network = new var/datum/team/clockcult/clock_team var/make_team = TRUE //This should be only false for tutorial scarabs var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact @@ -22,6 +22,8 @@ /datum/antagonist/clockcult/neutered/traitor ignore_eligibility_check = TRUE ignore_holy_water = TRUE + show_in_roundend = FALSE + make_team = FALSE /datum/antagonist/clockcult/Destroy() qdel(hierophant_network) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 5ae1ea0711..2eb89a66e9 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -10,8 +10,9 @@ var/datum/action/innate/cult/blood_magic/magic = new job_rank = ROLE_CULTIST var/ignore_implant = FALSE + var/make_team = TRUE var/give_equipment = FALSE - var/datum/team/cult/cult_team + var/datum/team/cult/_cult_team var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact var/ignore_eligibility_checks = FALSE var/ignore_holy_water = FALSE @@ -22,12 +23,14 @@ /datum/antagonist/cult/neutered/traitor ignore_eligibility_checks = TRUE ignore_holy_water = TRUE + show_in_roundend = FALSE + make_team = FALSE /datum/antagonist/cult/get_team() return cult_team /datum/antagonist/cult/create_team(datum/team/cult/new_team) - if(!new_team) + if(!new_team && make_team) //todo remove this and allow admin buttons to create more than one cult for(var/datum/antagonist/cult/H in GLOB.antagonists) if(!H.owner) @@ -38,7 +41,7 @@ cult_team = new /datum/team/cult cult_team.setup_objectives() return - if(!istype(new_team)) + if(make_team && !istype(new_team)) stack_trace("Wrong team type passed to [type] initialization.") cult_team = new_team From 18471be4ce24f79831764a4548ea5a554d0aca93 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 10 Mar 2020 20:11:18 -0700 Subject: [PATCH 030/271] cult team --- code/_onclick/hud/alert.dm | 2 +- code/game/gamemodes/cult/cult.dm | 2 +- code/modules/antagonists/cult/blood_magic.dm | 2 +- code/modules/antagonists/cult/cult.dm | 8 ++++---- code/modules/antagonists/cult/cult_comms.dm | 20 +++++++++++++++---- code/modules/antagonists/cult/ritual.dm | 4 ++-- code/modules/antagonists/cult/runes.dm | 6 ++++++ .../antagonists/wizard/equipment/soulstone.dm | 2 +- .../mob/living/simple_animal/constructs.dm | 3 +++ code/modules/power/singularity/narsie.dm | 3 ++- 10 files changed, 37 insertions(+), 15 deletions(-) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index bdc6ea2980..7c116cc606 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -334,7 +334,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." return var/datum/antagonist/cult/antag = mob_viewer.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!antag) + if(!antag?.cult_team) return var/datum/objective/sacrifice/sac_objective = locate() in antag.cult_team.objectives diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 6329f5ad18..8ec4123201 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -96,7 +96,7 @@ add_cultist(cult_mind, 0, equip=TRUE) if(!main_cult) var/datum/antagonist/cult/C = cult_mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(C && C.cult_team) + if(C?.cult_team) main_cult = C.cult_team ..() diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 774a978886..46ecb130f5 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -439,7 +439,7 @@ "A feeling of warmth washes over you, rays of holy light surround your body and protect you from the flash of light!") else // cult doesn't stun any longer when halos are out, instead it does burn damage + knockback! var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(user_antag.cult_team.cult_ascendent) + if(user_antag.cult_team?.cult_ascendent) if(!iscultist(L)) L.adjustFireLoss(20) if(L.move_resist < MOVE_FORCE_STRONG) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 2eb89a66e9..18c39c05b4 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -12,7 +12,7 @@ var/ignore_implant = FALSE var/make_team = TRUE var/give_equipment = FALSE - var/datum/team/cult/_cult_team + var/datum/team/cult/cult_team var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact var/ignore_eligibility_checks = FALSE var/ignore_holy_water = FALSE @@ -122,7 +122,7 @@ if(ishuman(current)) magic.Grant(current) current.throw_alert("bloodsense", /obj/screen/alert/bloodsense) - if(cult_team.cult_risen) + if(cult_team?.cult_risen) cult_team.rise(current) if(cult_team.cult_ascendent) cult_team.ascend(current) @@ -155,7 +155,7 @@ owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just reverted to [owner.current.p_their()] old faith!", null, null, null, owner.current) to_chat(owner.current, "An unfamiliar white light flashes through your mind, cleansing the taint of the Geometer and all your memories as her servant.") owner.current.log_message("has renounced the cult of Nar'Sie!", LOG_ATTACK, color="#960000") - if(cult_team.blood_target && cult_team.blood_target_image && owner.current.client) + if(cult_team?.blood_target && cult_team.blood_target_image && owner.current.client) owner.current.client.images -= cult_team.blood_target_image . = ..() @@ -217,7 +217,7 @@ throwing.Grant(current) current.update_action_buttons_icon() current.apply_status_effect(/datum/status_effect/cult_master) - if(cult_team.cult_risen) + if(cult_team?.cult_risen) cult_team.rise(current) if(cult_team.cult_ascendent) cult_team.ascend(current) diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm index 761412e9f8..da03b6dc1c 100644 --- a/code/modules/antagonists/cult/cult_comms.dm +++ b/code/modules/antagonists/cult/cult_comms.dm @@ -74,7 +74,7 @@ /datum/action/innate/cult/mastervote/IsAvailable() var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!C || C.cult_team.cult_vote_called || !ishuman(owner)) + if(!C?.cult_team || C.cult_team.cult_vote_called || !ishuman(owner)) return FALSE return ..() @@ -82,6 +82,9 @@ var/choice = alert(owner, "The mantle of leadership is heavy. Success in this role requires an expert level of communication and experience. Are you sure?",, "Yes", "No") if(choice == "Yes" && IsAvailable()) var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) + if(!C.cult_team) + to_chat(owner, "Do you not alreaady lead yourself?") + returns pollCultists(owner,C.cult_team) /proc/pollCultists(var/mob/living/Nominee,datum/team/cult/team) //Cult Master Poll @@ -151,6 +154,9 @@ var/datum/antagonist/cult/antag = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) if(!antag) return + if(!antag.cult_team) + to_chat(owner, "You have no team. You are alone.") + return for(var/i in 1 to 4) chant(i) var/list/destinations = list() @@ -261,7 +267,10 @@ return FALSE var/datum/antagonist/cult/C = caller.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - + if(!C.cult_team) + to_chat(ranged_ability_user, "What is the point of marking a target for yourself?") + remove_ranged_ability() + return if(target in view(7, get_turf(ranged_ability_user))) if(C.cult_team.blood_target) to_chat(ranged_ability_user, "The cult has already designated a target!") @@ -330,8 +339,11 @@ /datum/action/innate/cult/ghostmark/Activate() var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) + if(!C.cult_team) + to_chat(owmer, "You are alone. You do not have a team.") + return if(C.cult_team.blood_target) - if(cooldown>world.time) + if(cooldown > world.time) reset_blood_target(C.cult_team) to_chat(owner, "You have cleared the cult's blood target!") deltimer(C.cult_team.blood_target_reset_timer) @@ -339,7 +351,7 @@ else to_chat(owner, "The cult has already designated a target!") return - if(cooldown>world.time) + if(cooldown > world.time) to_chat(owner, "You aren't ready to place another blood mark yet!") return target = owner.orbiting?.parent || get_turf(owner) diff --git a/code/modules/antagonists/cult/ritual.dm b/code/modules/antagonists/cult/ritual.dm index 769f2827dc..40804ccc24 100644 --- a/code/modules/antagonists/cult/ritual.dm +++ b/code/modules/antagonists/cult/ritual.dm @@ -87,8 +87,8 @@ This file contains the cult dagger and rune list code to_chat(user, "Only one ritual site remains - it must be reserved for the final summoning!") return if(ispath(rune_to_scribe, /obj/effect/rune/narsie)) - var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives - var/datum/objective/sacrifice/sac_objective = locate() in user_antag.cult_team.objectives + var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team?.objectives + var/datum/objective/sacrifice/sac_objective = locate() in user_antag.cult_team?.objectives if(!summon_objective) to_chat(user, "Nar'Sie does not wish to be summoned!") return diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index f4f2dd2103..43ca43d04c 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -485,6 +485,9 @@ structure_check() searches for nearby cultist structures required for the invoca fail_invoke() return var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) + if(!user_antag.cult_team) + to_chat(user, "You can't seem to make the arcane links to your fellows that you'd need to use this.") + return var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives var/area/place = get_area(src) if(!(place in summon_objective.summon_spots)) @@ -955,6 +958,9 @@ structure_check() searches for nearby cultist structures required for the invoca var/area/place = get_area(src) var/mob/living/user = invokers[1] var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) + if(!user_antag.cult_team) + to_chat(user, "You can't seem to make the arcane links to your fellows that you'd need to use this.") + return var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives if(summon_objective.summon_spots.len <= 1) to_chat(user, "Only one ritual site remains - it must be reserved for the final summoning!") diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 59b9aa33d5..d7f1046cd7 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -145,7 +145,7 @@ if("VICTIM") var/mob/living/carbon/human/T = target var/datum/antagonist/cult/C = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(C && C.cult_team.is_sacrifice_target(T.mind)) + if(C && C.cult_team?.is_sacrifice_target(T.mind)) if(iscultist(user)) to_chat(user, "\"This soul is mine. SACRIFICE THEM!\"") else diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 708c9ea2cd..6bcaea9b4a 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -389,6 +389,9 @@ var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult) if(!C) return + if(!C.cult_team) + to_chat(the_construct, "You are alone, and have no team.") + return var/datum/objective/eldergod/summon_objective = locate() in C.cult_team.objectives if(summon_objective.check_completion()) diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index a073997b9d..c471047682 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -51,7 +51,8 @@ for(var/datum/antagonist/cult/C in GLOB.antagonists) if(!C.owner) continue - all_cults |= C.cult_team + if(C.cult_team) + all_cults |= C.cult_team for(var/datum/team/cult/T in all_cults) deltimer(T.blood_target_reset_timer) T.blood_target = src From 3071dec0d6bcd7daf63f37f11747e6b38e152087 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 10 Mar 2020 20:14:31 -0700 Subject: [PATCH 031/271] probably needs a testmerge --- code/modules/antagonists/cult/cult_comms.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm index da03b6dc1c..8021443217 100644 --- a/code/modules/antagonists/cult/cult_comms.dm +++ b/code/modules/antagonists/cult/cult_comms.dm @@ -84,7 +84,7 @@ var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) if(!C.cult_team) to_chat(owner, "Do you not alreaady lead yourself?") - returns + return pollCultists(owner,C.cult_team) /proc/pollCultists(var/mob/living/Nominee,datum/team/cult/team) //Cult Master Poll @@ -340,7 +340,7 @@ /datum/action/innate/cult/ghostmark/Activate() var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) if(!C.cult_team) - to_chat(owmer, "You are alone. You do not have a team.") + to_chat(owner, "You are alone. You do not have a team.") return if(C.cult_team.blood_target) if(cooldown > world.time) From aad3953355503bd5679d551a6867392d0c8117aa Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Thu, 12 Mar 2020 20:52:07 -0400 Subject: [PATCH 032/271] Update all_nodes.dm --- code/modules/research/techweb/all_nodes.dm | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 78643255d0..2857e447e0 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -74,20 +74,12 @@ design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibrillator", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag", "bloodbankgen", "telescopiciv", "medspray") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) -/datum/techweb_node/cadaver_management - id = "cadaver_management" - display_name = "Cadaver Management" - description = "What you use when it's too late." - prereq_ids = list("biotech", "adv_engi") - design_ids = list("bodybag", "containmentbodybag", "harvester") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) - /datum/techweb_node/adv_biotech id = "adv_biotech" display_name = "Advanced Biotechnology" description = "Advanced Biotechnology" prereq_ids = list("biotech") - design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "meta_beaker", "healthanalyzer_advanced", "holobarrier_med", "defibrillator_compact", "smartdartgun", "medicinalsmartdart", "pHmeter") + design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "meta_beaker", "healthanalyzer_advanced", "harvester", "holobarrier_med", "defibrillator_compact", "smartdartgun", "medicinalsmartdart", "pHmeter") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) /datum/techweb_node/bio_process From 7b02915cc7d0b4de13ffdd765ad423ec650f31d4 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Thu, 12 Mar 2020 21:24:20 -0400 Subject: [PATCH 033/271] Update sheet_types.dm --- code/game/objects/items/stacks/sheets/sheet_types.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 55a28645fc..33e3224efb 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -185,7 +185,7 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ new /datum/stack_recipe("freezer crate", /obj/structure/closet/crate/freezer, 8, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("blood bag crate", /obj/structure/closet/crate/freezer/blood, 8, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("surplus limbs crate", /obj/structure/closet/crate/freezer/surplus_limbs, 8, time = 50, one_per_turf = 1, on_floor = 1), \ - new /datum/stack_recipe("radiation containment crate", /obj/structure/closet/crate/radiation, 20, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("radiation containment crate", /obj/structure/closet/crate/radiation, 5, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("hydroponics crate", /obj/structure/closet/crate/hydroponics, 5, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("engineering crate", /obj/structure/closet/crate/engineering, 5, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("eletrical crate", /obj/structure/closet/crate/engineering/electrical, 5, time = 50, one_per_turf = 1, on_floor = 1), \ From a2baa47600a4ec16c531c981820036c98822a181 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Thu, 12 Mar 2020 21:27:12 -0400 Subject: [PATCH 034/271] 50 commits of hell --- code/game/objects/items/stacks/sheets/sheet_types.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 33e3224efb..56482499a9 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -185,7 +185,7 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ new /datum/stack_recipe("freezer crate", /obj/structure/closet/crate/freezer, 8, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("blood bag crate", /obj/structure/closet/crate/freezer/blood, 8, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("surplus limbs crate", /obj/structure/closet/crate/freezer/surplus_limbs, 8, time = 50, one_per_turf = 1, on_floor = 1), \ - new /datum/stack_recipe("radiation containment crate", /obj/structure/closet/crate/radiation, 5, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("radiation containment crate", /obj/structure/closet/crate/radiation, 8, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("hydroponics crate", /obj/structure/closet/crate/hydroponics, 5, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("engineering crate", /obj/structure/closet/crate/engineering, 5, time = 50, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("eletrical crate", /obj/structure/closet/crate/engineering/electrical, 5, time = 50, one_per_turf = 1, on_floor = 1), \ From 8c1f1cb5d0cc62e2f30231b4cc68032fde44eaa2 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 14 Mar 2020 11:50:32 +0800 Subject: [PATCH 035/271] merge fixes --- icons/mob/feet.dmi | Bin 21180 -> 22505 bytes icons/mob/feet_digi.dmi | Bin 27423 -> 28901 bytes icons/obj/clothing/shoes.dmi | Bin 15994 -> 16721 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index 2774976b26c08696d3940895dd55d7d3247bf052..123525d49808aa7ae8dd3b06e89b65738532776f 100644 GIT binary patch literal 22505 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 literal 21180 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%0Ag(KoW8Wk0+yqTwo> zJQIgvlf|j-s-To6f>+GCmCeL15>Q!ggC>oJhV5 zLnDO(Wt>(2c9khOYLvTb@=wzFR5U=|%9eeXSJ@md^5+78?oDQaQ@CtLPJ5&#?p>!| zlY)PD9O1RjPk+RY!8qatw*5}sB zcMhr0fsq~GBy@FVCyql$zGM$=AO;nRV4Xdp>1IpS(ENhP-TH@Q5-_3So~;ecT1+Lc z3%0s4gMeXj5@6d6jDoe_AHW!MNgg(&$Cj>*z%J<3x#dNG`U-sahl4S05Lk&n*FmkI zLMwM$d9r}+s{bV^n+KsVS1{%e5Xd%T;e$PN)4lkqel)^V`1x~^<|o`v zH4zy_7-MsJ>zaO5dLMp~Ip3Z3{7*<|bC_Xczw)NL5tV5u+J6cpLx?<1$xn}cI>bT+ z*QcIxKh4Mi$BnQ(P6kTJiT-Bv8*mOD;f6a23fC5~sI~;1yXWiXBi?fEZh1`~`ec~{%`(dtthfamBx*)4hyoL{2@RAP zcIV{AZ#D~163_zrhcXY&0i%eBwV9f;4$amRpMCXl+vaN22*}C!p-cgf?$?UTv_Bf^ zZBU+EH;;9kO_AIMXa>>U7~V*wo+RokKm_JM-ZkhCr)%}DzzYsRNpmUo3gg#lA>58a zef6LekqN%&5UckfGes0oxwcz<0)T0mGZJJ$u6=X0r~f0QPczK*deY~G4ST5FYqFC* zW&&N?HOC)rJCV+5ymzRaPvbF|jLj=u!LoZ!eEcH z5Oq)eSR0Wn*GythGyQspu(Hjz`QMz@NO%48;se3%J;Uo-lE_;>G#t&1cd(^6Gu^+IlQ}Y|GsgyOK0kZ&nQr zpoZ&qgW9LODjI3g^+RF+>Q%=J>cPB=rtRd=HUfGl4G7LrgzpuMuFKSPfz}FiNzAjJ zRu^*mV!ckK%nHfzfU{?)PK$*tv_CTK$JTh;-p1Hf^szqUd%c4iMYhOz3O|uxFHEIi zFc(zvZI(K#Jab^*pCD-pb-Y(+&WOk;Wz)>$94by3vK1&GLMjM%sW`!m!IbN2GQLl~ z6B2Has_q&a(wmf^+Y}7k_mqi{C>nMqDmJLDeNmGv;cui1s@Gfhm%`>J!*{B9(BSbp zSkk*e_GPA0F2GT%#A*r#(vBU%sh9zvldu)68icnY0|1L~N)Y4f z6|<49)YbdOrP)$RJ$v5|WMKHnG{P;b!Ii}A)VOLs`ZgySwTA6<%Hp~LRzLdb%SQv^Ut-Rk}azNAGZ`~{b2!#@U(zJ3uk8oZ|4`i76y@$oem2XE<(ClKQK)Jh%A z;C&E+9Z6^ovuIeE!|#F=t54;Z&NX++D`6sQKD^vr#D(+E@{dQ=AWm)obOG=XPcFnb zLr>4{z5dhPitT%69S1$}NK}V{od8J?^0{de5nn6ztKl-G@!Gf~>K`u90KW>F5HqMjaqXXIklEfI9 z<-g_tvQ_LtAf7k_F(_tflS#gG=?FvZ5u~~lm*HC)WieN_8exVzUDWn1@t^*I56t7o z193G47uv9BPv~f6^fdIQKTSy(YB%!nlH<-H?WOZ>^mMXNUT^)%W;_VS8Qr1c>SrSL zqUNW^@(u_Yw$md=SoF^9PWTWHNaq5BwO?cU!bg3JVN57~{I)J@CSef~#Pt&&((^wT zDXd*>cJ6w;>n*X57pJYIgTRC0Ici>)&Mb`DipAFctIySWOTxJ<;*nGJk91WIkcdHFdM-33QG!*-( zD>>zS?qWp!qPjjf;HqJ0%-REx?wBm80JoFo}_iBN${X0tu{)h<+WG|N7DuDi!^@mMGGG z^?u>09~;(Yn`PN~b&Lv^#ERay;sWg9U%)si`}MUO7kPQE_ri+?+%_I1nn(-|xf2HZ z`jxd`l7wEv%0J2^+F*7ie4{mHQ%qtCE`TQ8Jc1!`@RF&?>NL&%{REI&mSRB^oGLLN zuQRs1f&amwsH9pgU2Qj)Te?jue^2r|(IxqX9lzZE3v-iW!C!^t)YaLy?n}L`(w7#6 z)L7^;a0JK2(cGTEemzpVY~2})VrfI(WOyV-3r5NZM@C3&TTmZ`vZQ?UY?0JNKtxlx zOFyRVCtQY?Ci@e=hvPJwa)(ji<VKETId{kXaGI8T&@<3`-_J z7T!1vJbMFH7*p*Q#=jTXfiWKjZYMqNAL&>A!qDHaFGbVEk;)Y4Oh0y%8PexWKH^SF z0%%q?qsJam=6F(c2z0%y<6~~hgpyNgHAWnG5-tK_qP1*jKRoZt(m#o*5PU25&RI95 zb6s`GX^j=8J`DT9)=7f+roq6_OjL4Rg<;vT`Kk%R4_!dot7$W!4J|b6A6}^es1nCo zbrJJZd`ZLlq;l?}tbkN1?RXGIS;vo4#T9*_0MtEdgltW62MgAjw zs~mDO^v#>WnHiq*j1JyJORRY(-LGH2hVCNtAmPK6eBsrrl(r>h{!F1?UjGu4-gJ8; zbC5D}wz_(ULru}vwpKMrO^xA8U5Cw$n}DW!^sl;O;rZ{Uynn`o{FRjyhC?};6%WTz z7r*3Q)bY%ewI_R0ILQATh&vV1(Meos-Ut+U+!YWj( zZ;1l^yqcZxTK?G!Q3FcuykLsWv-K#cQ_+;IeEs-{NXm}=CCY)&Q@e%i14y_^jAlsn zf?|~t{A>MUvcErK&44Y02y2oF4>9DG)K zHcVMsG++TQdT1*L-SRuVc^|p(RTD;UmYsc1{MEV;Y*~-1wN+t%Fdv~__Qv)#k-<}9 zTZOVclY!filam~IMer0z4Ne>`6?p6c&rwy@^b~)psrBpq)D!eHTWbD-k|P&bmIteM z^p3uLK7^h(@=<#0UoN^@^GK8!Xub6{cjffj=-rE+F|4mtE&v-Wk~E{p211{AA<=+y z9s9lS?Z1W$UXJ?)8G0Jifa`uy?r{m6*SB&FgI#22p6<7R;ZIDzrw2d_H$!LKs|zm= z&_kQp=6=SV2RH`5s#<^?;2)C?-%5`gr?riZDZyxvD@ZW}*~0n!t^dmTX&HmT`rDsE z;v8|Ow{G2P`*=t0{|gh?_s?72YW}N^WD@Rsp>K-Cz;uBXzy%||&C z(|`*9V(?hm19DITqqh$GMLQC z$=RD>mUJ=sytzO4qNP~0NF&~(Tg8z`yShkj*j9PNEP zTFtDboN(6v<>gDAg|)%2+Z(Pw$Bo5>Sj7%_saP;$I59D?iNMi3=%www!6(;~SjZj` zQOYyen+J_{8NAGJXgEZ26MlC|jErP@AphjvymV7OaA3yms_>}rx9_DPVH{Oe>8%m_ z&%ZwNbC3-U&EWtIcIVgP@8iD6#9^>PrhOW=#7n_nICN{cNX-8j$!?a*rcq5`>q>is zDQ#c>3U=o9f7x6U!EW^S$4zAReW~K@?Mp;&1C4ov>4DZe#=-f6ZPVSnB%Dl4v}e78 zPSROm0;C2r3ur?J%I-n`!TCV{N>9=TQ@@@t$7NmsFmRSEKWFsM-tlsT@|VM=tcF{H zZv8+1<{f0I61ya}uY?1Q^mNeaxkI!OEALYfs>x;d`q6LWLPf_*l+(+(=5;RqZI4Y#+4!S_ob2-3K97hCoqF`ctrf=Ju?^?N)H z4cSMi@fNEjM@*mWm-9DZMGt^f!V7>?x+J}TfWY6}3j0c%emVfuLD5NLCB(q*4tSaj zl{9o;8vP}^yxcg*M~@*<7L!|b9s{4Nw4wf+(L{Tm+w}3{N1&=Kyja6VIqy7M5HcLc zavK0heW`fGg^U3?`N*(GH{(8KL{FTE4a4IT6ZzaKDrqGxE`EGN@<35R`(THT7i8#g zmVUoX%FC3_EYbp|Fq{R5!_X2Ccdt=GINc~gI{x!#5(sK-!<|ueO<@ ziKiS;Jk19zo&zTh+_Uur%guc(dZT~1n&Y&g6?BJ`n7uL9-I(ohFg$DO zgZ~IBIo#R{NWRO~@_Vf8%|hK8QOjIYDf`zGpOF2fG#YmPo?f({iL{pPpakENm=%Z< z?>Hd;ul$NoFqI|!dl@kR9uz%2g%7G7;9y&a*dqNrOQqBqvC>!EfADe73-5*5BQ_Um^Iv(Rf@Mi;Gcby8?B1e-aLm zu|xXu^7WS&{L%Ht+q2UWiG^c0ntKmE8bbd?;hEGSjPrgYZ0=y$`MDKGVp!QwYY%p* ziR$UPsu>4d4qM)$D45yl%8 zkbG}=VPH;EYj=)Jidr`PL1PwTt#V9OrJ@us+5OoUMP0l4 zIVqD*#)vKybRZ{V5|b>}hw^sd&zf3Y3g^Zd&ziRYMhfClm@7J$>ogh_`LOn?aFjd}6By$m??(88s$P5Gk z7lyRi(_q0U<&Rw$b=RC#s_Uy&j<7K*2i%_$HaK6eeF^M0dvLWlp};fJ9%MW}_02AM zP?*j-_O)mx>zq@}>A6SvXJttKSHk8ykCpiwf2_%YWU+jzKV!n2qN2KKGJ*Aaf}#{z z&>NQly;{qrJ7(!frDn8PBb-xmywiU!_^eL0*0LN3&W+^%g&^R)(U>eD8>-`gb+_mv zUu4;LV&LtS`JI}Tn4384G)by32mSrumjHmq|NM6Wti@awIataF`s%P_uaM*gIZpwg zWxpdUH~MdDhff0T%c4HpZ=7c_LS+oW<5UzxF*~1AcLidsb$fcaFV6pTg!6Qv7~aV2 zI>L>ZLrKAB)%~$pdrrJ}Og0Jx#~yb8wjR!qglq3N?8ckl8MDgMUuWHUr@^n=7mk(cYRTIaRh7TL(v>Koe$p*;qo?Qi8zAPKY zZl{Sjx{X8f!FW2$1L-g=a@f%~!ucozKS0pYckLQu$lKZ=&ce#FZehb3ItoU_$C=hW_}}KDJ!lJ8J_pCxO$aq|o5OJIEXJqV%1}cD|a?b+(EUx1dm68$WW*q1e80K9ker#L+=G>Lt??|#7uGb54(s! zG@iS-ju<_)6G6qUF1lDCH#t^a^tW|M3Y@zrxT2&~!1ElSxIb=VPo7jf9^|$@&NdAN zkLThmvVwK^zWYWaZLz-F$Q0eUk}o@k{^ONfHL|op_(;wZcnZJu0!HqVTlLa!wI@aB zCs`8j_?`S*ABU{ukD=!U>%R2+D5cye@7d#q)l`tTxEYJWRj}UYMb%>26MZtd>Qwyl zgXmj6V72OG3>(~Dl)hT?%rl;t2<8@Dc|yRAE8`v%gF~@xXS-L6B@}jH4foD(Fx7o? z#y$AXn}3jne>VFU<{gp>33qAq2(RAT;Yu8VuD%^+l}X$=q0iJM6vXJIId^&>NX78& z`pv&;oN(NKzZYvR>G*`A7~2j3KegJ@iQ(0Xk~un48VClxVpE-`x54#Uxl9~fzfJlK z^n?<@)Gc?j%E=jB&Q~eo?)mxr)%Ta+^2e=Z{w|Ylj^Of~sCxZL6({OA^%k5^y#pdS zW6T2X|Gd+iv)FAVUvmc&c4fX>b1VQj*r`Db-FX)_KN1=3v;O-r&=OhjbO9`Y3eIkw zY`>ab>87w0i&n?)`7u#MRU^Kp8Iyl(sX_6)t&Nv}^KPvA;@JG_LQK-m4@-Q^IHCBa zb?xQ{!aU5FnYwwyk40!~hqEx!dyOA)BYCvwYK3U&wg?cW5Rpkj^NV>hg}r#a%y;8M*7ufc_S`=<%Y zA9{7J@C>i0y0DS`m8TcAvQboa5jbmEoayA)gzgf_Rb2`Q^p({(`9=rCU1f<1OlmiM zxoN?@)xg6<-?aPtH9#mWY8y@D^2d4`vsSHI8y$VWcFMOK&Rs%5U0%KJa_z$Uo91_4 zb5Y*>ehfqXl2=q8=U6GK$(Aw1421xN!8uT%wztB8TA2V;S&Ka(;|$bxt;tjXi8rfM zAHb+%pYK`hdD`2#{dWU`ly&hnbbr7r4uEv~1+B@wxoKsvUu6hU39SbTY+F4U0sBqJk{4$^NkX z-QDk)dK_~m?Tx!nm&n|A(G2Ii=~APt0XjKi_gcs^p`DEb28mf9ib?p%%e!|tUm~=h zFU}z;JRM6eJ}k^t>O7IB@MzvS_`^>>H|-$83{oL|2sm^efrdm-c7VSnq>tD; zI34#kVlN8p%Ha0yt_Sh?m-Di@Xq~jg-IOz7qoQC8EjNLm2S#0*cW`LLcvX*vKy@Ce zfV})Sr`Ph&v}u$~GPz)9A>Hi4cAt|4t*&5En`FR5qi>}@BKI*EUey8P;PY>&b9n)< zD@_FaX)2iic=__>Z)Ig6;_}cXE1US*zrr1QxC!fU$hB75WoTKtj$5an@ zxts(Sra`L&MOX4jy~|W;CE96x+$7I`n_cspQ1*|g`ptYS37m7x=^WTRr@u$ zn&C^G=&QT~9ha*=xn99vgIAIr_Czh6DFzAMJjAID`rvOP(AF$4MC1Nwk*;O~F^!|G z6JOxGuN2!%gSVC)Gh611UPhi0ZVAY2B&nWFSBWk>5k#(b2&|=A`rp zSeZE!bHOCo=bI3SMLAPt*dLZr{#w15%f3vp`5qI+ILOQi74j|K1*%3yOKSPjMloKu zFOF*5dE+A$bA0Rt$oczAF7As7rbI2&_9jB2;Y$MCc8WFfyWk)u%6zDh$Xa_`u^K1U#~hX z1+{fZ~< z1{^`TcEpNGHe;tXFh#VL7t(muYlZwwP6dP^CeG7i=6V-eV!!*&FiP|1Ile-c{YH8& z4Z{dsRYv<~FuJjqK*W7yNxh>eD^=T7pjzhaJId77Gbm5eV7;H9&9fM8P8$*~>)o(I zb-}x#K{%eP0<|5_1@@aSiJX7;H6L~Jy2sRy9!o(VUo9acKHXk2vv^r?@j7$-@^bFy zvnQNFY_S$jPE^1Td&nheY3U(Z5#+zPOu}&{8=tHjO`Y`(BJ;g*w5UMVuess2SQL8fj5WC5gP8Zh#dP)5i)+WS zC_T-|2~5J#yYQ6aZq3_Q|LinC3C#;XqmVzqaY}rhpV0S?hg!xMABeVn$X7C6Gm3W~ z*f?7eEHU*u_V$k6t>Fdu2rIEZOE_xRg%Mf@qKD7+FEuA-{Q~=4@3L_TU}z3E%|CiG z^Kpy3AZ9)qEo+2ExSglKtMr07k9Qy6zFJ;?+45$Pe+>9TR$+SQN$Zm|vhZ=+C_1E5<|ag**mB|+r(1yDKv|8mnySmvAXu&}C6ceNz2SnMMp zqTM`f+#D7a=JYloQ1Yct`(&jJD={&#fnbUf58bECqVe(Z|0jn8c>AXX0)cWH6h(m< zeJ6X`|4p4HUcdVJIn1U~`184Qjx+uJn!mLbV?F)lV?XIC*8F{Fb-tbznU$71A7-|J zo_y<`0T>t<&;o&gVOt;&z`($O=5f1g*07D54*(vw8;YV}XlO`V{b;#{hK4jnQD9cz z$$sAaI;;J1=dU1s#(MgZoSg*#Bxh$a*3%FD{x`qQ*7W~EAQgv0Brn(y%X;N7uP zN`56X`n-~rt_RV2tZN3q<90&@pePEG$z*xEq9{;R71>;_*6rI+`9e0AgU9VQEpIhu zwdHq*e_#HPE94jO@s&%Cx86ReH8m*!fNcH&{`Jp)NV^NMI$wC}?Sq=rS^C#;I7@M6 zL%GA78m7uMNFdfNy}Q+xx5Tp2{!c7f*izbOE^ajFcv1rl(fl|I~IV z+0~fQ=Vh&OJ&4v~T?K#`WGe4A#lS54F4XG$N+Q=vX7+hz>L)z^LOTE;m&pJCnwk{2 z8yWxrxBoXTH9z|xgY8f6z{0|UA-~DzL!nSWA`zFGFElhX!sYP*0Mxk@Qi&N;a`k4W zenM+71f``F0FcjSrRI(Q^%>Op!T_e=@cJ6sa6)8ba=SJK~c z2Lb_z?;@B%JpZrO7Fi;Zh}PM)8;y<4Xl!gY>=WBMyLKZIiAXsQ2M-bBuT-ti;fp6^MjC`K zp1^X~gJ?b0Q~-!Ubz3M@o^Br;90ULi4-Z3CRVa#rZK06i_*$_#zmmwz=5pmWnN;E0EG`xR z0QtP}Zda_=*Ka`}xXqLzKvh#%$mig4d&;vSzuEU&>A51~`4`&Za(l3l&p}mFQZq+J zMzqGJCgY$}EEtwzAZ%=E!pO)-P0vGRetp|ZhWz@rm!#$|QKiov9UVB+-!J|8pXu+{ zIyySA?DZg8hc(?cOiWBH*>?2kQN&^~^!D}wfZ>^Zty!I4$%;(9WHPxVySKL&u~ zUM`a+$ov3WvjiRAL4W=cBq+(~9_cJ`JrnhhnjanfNT6_44k9 zfzqQ6kEa1Hmm4kqV0n9CAulyopCPWv+-w5*d=A-cW|iN3e4llnK`|Z2i&qB`zIX!h zV}CvT}H11+#}B_r$2^2Kz~V(!k!`=fqpaG3J() zOs>0TDwP)%gKSgsPeM z;5UkHcPM|i4GJahPU>}%qqhvxTqj;G`K;cvj)gj3UVi&5tF3})a^vGOqF*(t0^Lu) z2eXzr?W&JGUJ_K>d>)Doj(--Ml0;Nd{Nb17;z}0N z;bY9$&yMtdXg2)SB2+bQ&++%i_+tC=)jL^Vitct>ySVJ5)_LNJh5b~_js(~@xUFw% z#p`s|T6w={)G*f-kM3^T`&Q2iZ}`!2lwus^H@7Wt#pchIwj&`&BeRDNA6?$+XcwF8 z6-G@zQMyQ0+WPHF6x{XCm8PdFp3DaIUNEmX1MHZO`#rb1+L?sbZTfv@=i{qIr+&fv zdA+q}4le~n+Gz5oW`-z7-agtT+i6HEem;0-YA^_Y&x`Hl4{5t z>Q{s;Wn8e2JNJJ-A0Ve9__6i5{>j>nPA+sV%qYIw-fo0qa)FP!RfXYkS%NbJu|UcS z4_>$@Zccf)ryFclJd)AUjr$Kjg9T}k1@WSf`URvAs#E( zT^{ql0={*!l?@IKek3l!0>1jrKz{{%^(>5x7@T>xl`sH&_s!)0)oI_UIGJWRC7wNB zcBSt{7??jXhnsBVWp-?dFtMfgl&=vgNc6i5lN7-B=(F;oCsN9+XGgr%)NRA=&E$+| zqJomeZVJ5@{IRRBoo7zXgY2UUGSw4iOP@42?vX6N$tq8NnR?8*l9v7T*MrlnrY)zv zS2Bs&QNdh~Z)AoSDK3@_@0sRpNV!^OL;OU>p+<|3D5-=M`I8esy9T3kK=YJdPe!@tTo3>U8$-S zMaDnG4t}%hynLA*?qb&Tc(C=g_xY^fRKAR#b`1vH4hc+{tEhCeu6ySc2Dgu*FL2h* zJi33ZDLUB5E)y}V&e6!u_RDxkBE6fq#ja`5ttCAh|<8H4%S3w$h6;U|P}+uy%`PtD2c7_iNln|t-Uxj9X{z|eDRtk5J@ z%#n@PpfaGkT2jU7qQC!?=7Mi|eArp|Q#4p^bP9cG8Iz-B*i=z8ALdXo@~p?VYWx zsSP*8h|cGY#345w@QXM`cv~s<@agJW$|zuotG6kRn#w2;uPn1=UuM@QzpP5sx5i}o zYXnU$2anwh5cUlPv#cx*XB}g}3^1C7&V# zNY|=a=I`*xdf2{|^dXP-ximpz9P|GD+m?;|v#YZDPb>LHfD^Et690}%JU^WqHS_V2 zf<`%IWo1FQV_|_leE8rX#&EirEPYZyCjY2_XF`ysA};*_N>%)s~zx z#PXm>n%5e0MrGza?Zg8o&16OEPjEJ$fZXtVA>ksFmuPv#00hlb zQsQ2LDZ1RTugv0uXyx3SvB`B&Nmi=&j~qQJ4IYwdG{%NF zKc(Ww3%h)Eq6pcpOVWBVB;KEdM#zyjJ&*%$a4XaI>YiUcZ_Lf(--QDgfQ#YWZ|?$X>~4)-}bV&&}_UI5-;W_cEOsmcGCOUD9ftH3Q7Eyb&9*cRB8z=` zXfY-1&G^t*@V!d0ziGZ;nKG9r6b$(5kdt(ix?kRs zQrZ`%<))`kpLPeYq4ZD_OHJi8ezcC-MLRFNqh}%{shKINul>%XHeXo&sYm0n+aNd=+AKBvQVi=K^kB2Bd*NQ6P-ZHH5&B)}bx{&`v zdke`lt&h+$_{1x~EySF6u~z#}$F8Pm=WK?csp@Lz*#rialh8gH!xcI!U;~L4Tdox(Cj|T2=f!X_rCK`L9 zxCe1gAakZo&us2HTnq?aB^QuxKFq3_K#0rSy*gG|>Y^6){n7FHG}!94E}-x=po3|) zk#>B;orwI#Xdfq$wHYx{)+5cKE&GQ>xRG}e`UVky6|J;2a)Iv|x9w>avq`9qnJIVn zIzraEPTs?L15t}&_qnt$$eLn(v*C_xo~@)$qbpS|$kzQLhGbI`6*`aVxb|^g(DZQT z@;s7geCqQmqY&_bEho#(8W62Gpu3bcCV@Zpjlg+w#BJuIUR&)0esh>bSKO7XO(b?h z;pWR?wKlae7BLefwR5B_n9kC@)ZzT_3l0yvU*?B9O^0dVMOei6Vfm`=v=w*mW{?VB z)_NfLUT}G}Kcj!Tm*Vj75b{4g_1sJ>k~g%mZ<%ija^!+jZWSsjuz+yz1)r!<#~^Q% zjfk88su`h8vX*`Ai5baj68A*S1|W2^lpLwXz4DD(nW?VsXgLZxxxD1Jr>-VEnMl|V>QLqLC@%N1W!l+w+F&pP^Qd&T z&(_vXeyMeJqYu-BLPHAb3PPLO#=I?C=cz9n5?X~V3wkG$J!gErY{bUCE8x#>)!Mp` zWG9aZPZ7trI|GqvP$>drqtPxsuEv0kW@H=%q&UC}Vi`|6k$>=iFyC% zMYw$#hcBru|yewiC`l?jgBsA)qR~;0q`L%A~x8d$`#K6=1+d@#-gmF zfO%K!+r-#Ir~dwC#va%qV+1bW7N|*o{2~Wf2*PV*?az02>*2~XDQm+wM~|YB z?wrz>LD+T>zz7;9c$aHFAJh>Z;5DTDBmT9@rKwnX!$EYUK}PwtNk<5Mx4#l*$$lDV zvLzCPd8i#pLfx5`Z&W)Pk>&IoJGKM&<&!tYs@b}Xd^MCR^#K|H$!BD2XR^i^G+?m~S!W?0!(XkLWAv8Z`y z(MZhf)3s;jN88LttxT9{{CR6%-futt#1p4d$~rqc?=OE`FD__bSy3}bBFY&+?8wfC z$?B~0j(ex&*Ho^>^9`kOyTs(?!}@p+_3c5v=t-Pw$tuC5FC``8P{!GwF7hNNA!)XM zrRgK#9j<#S`Jf)r63M+*eB5=jyGG!*z~$(7F{h1 zCLUvBb2w?EgzD$nl@2E2Ivyih-2#58RQYBJsl9VlTr|hdbgx>DByWuB8C>sQuho*P z&hsug)Sr3jxb{Q5reaw7j5ZoIIq92)L~?7W zUY1TrzVN}SkU+yO$R}=?3v>k{#^(JLs`N_QNSnmVM;(`Acr!9<@ow-MwUpY73KXvr zHEK_HZ6=XyxBZ!}O4H~~CcaD}mtrVIS-8tP54SfjLr~@H-W;7dl8~y)E3_2X!m51B z@3`o{xoV5}?2PQG@EK(X1sfp|QPp{pnOUbQeNYt2{%<+`JRo4_br7Xmc))eO)ChaP--t0l`f4+YXmNm1G%KALZjsPBfg&eFH>5oM zO~2u^Z3;P}Ggvx5%gr#N99s@Dxy~0KQ0L$0EkE_vV}ART2Zwf|@)=r7QpU_)U;90A!@w;Qs>@wDnDj3&)oITR^)8r4EMPpT34#B zpfalRHMfBey6S$)elH4%cE(8PZU>W#vVaG7nyY_HBkpwbVROstX`6zzl=_-sm^nWq zZIh4;Mj-54^g;rx_JNt%4{1V}i%{_(fTZQ!f!0Cz$3MP9(Di8UYxD~ukDwE7K8lGW z;j+@qZNGSv3J`YSNRJhpi+B#Lq^+Oj&VFZ}!fR6LI4=2CmXwH?5WHIJ}9uTyI$ z((-)KomEkfSLz%mtVvQer6Gc){GvA)9KAAgG^jmoo9uigqAF(?O~0XKc2@Ao_K>7x zEl%k1ieIyJ6+yM%g&tiq#2buuZkY-UH`gM);%&NSFkx&vdYRKpFe#XM8tgi#)2wA=i4R?P(f1NcsV5YQgzMF`hT{4WRiya|@__<%qiB^n8bz|f8N6|3LI4qfB zcgG6WH1FVkZ|%CdP|tq5ZphQEq3#87>>B*Lsyu?TH9hyinYU z(%&rQ_o_D2i!N-@&*ugnWk(x~{qxjU)Xbk`l9H1XLWvS?>UBf7rw3t0Uqv-pcro(1 z*W~sAx~wIA`6Op{tzt${(pe0fh%GCdT|?Q0egLKggU=+Zi{dCe1;j@zCGCF)d-q=j zmj5rsh{NHj8CL!k!P8xQqqY@~aM7 zYh|pe)=5a0237Qw1 zbx(1H^RAX==1~^AOR?H#+CI)sz3#^?xgi4h-XoxTUGBQ3DHgdhH}wa#~bm7VUHD>9ey@wAOJ8^7nhiC+Tx) z1>&iqD>$us#GMxElS<{lMZ$1zVHIf+7?b3N*3ubWYjk(QF6R4I@X=iI$ov zU~ir9T8gWj-rHbi2E05&?1X9Ok>Bs$k4uHK9K?&gGuB$BF*i-yl$bn8EqbfM9M5gO zDk{qbR(m;do*r+76eIccDz_i9%FM8rcJUo=;^-Y>aA^|g{OsuW8MFNZaA3^@b!*d} zY^1>W#*DQ&($%Hbq9yV}IJ;|8tk$^h^rm;lz=xov1bWPZ)|v1oE_K@W)OCUpP5Uox z4khd`5F81MqqTwM9lOMFopz&H%cw&*2JYBt`HUQ2m-h<`}5=1Jd{g@|f zMsjyL{mw)YDvaAE5|@ttG=ryy4PDbe?W1Gf@@<%@slQnsn(=DeF!4d?Efn)LhKtZ| ziZEH9PP<(zj*l7=lrmzCk*aFFvVN+lI^-=Vk>UWR>8u+&?N+aFKzh)+x@znYoh0j{ z!ow*^?9-ItA02-QJhOtr0slcRuhJ|Y)wDH|OjziaEfd#l)9nCXer7Kv3`exVsrau; zVs&(Fe-2a1Hxg1Zj^@=KLEoukUWKAUp4N|ZO~0LmIQ;q<&+!Y4{lvLDW$Gqe;AUM3 z6xZfcdn=<>y8Rfo?R@oR$RU5t+70u0bXD&@YFJeL$ZZepwtiI=gl|=)N>yj>80>(Z zOO=bz5Ao>E)|GC2=(}o47}D?bIaI$dbAI<(rUnrt39JJL?R5fufkj<~R=i;%xKFK& zpENXgwvXHpUR>;oeluziyI(U-BWOw-$)P3(e#KC2Q2KDG_%Al*a)Dmp5dFu;z|GhI z`n;_XPmuQql>~&2lwZg!^`<6e0sBcN^^XncAuIcEp~*2LhG;NhbKDYm7ULxPwF3lD zx%Us{0!0OiCh%R^=7~}5K*0X+@+$3Wf#2xD`*#_*nFep-^Lewe3SZL;$!g6ousJT& z$J|pyb&@)lU3+O5>>%Nthl{T>+q4^(O!ild*N1+t*4R?~IbA`z^Yo5 zxF_G_`=8IV779J~4>~i&=IFY0O=So6HVLrjo}3 zHcIP$8K`b01O6D3e z6YGMX3QqGLD^=#Yiv99BwpUHMPYrN+%V*m69OP20GmQKBl5bY8NFpp)no0yLQOa)9 zA3%t4TpzmY?T7I`zuILaYBx|v|Lm7r!5S(az(XA^tw3}^ZDRzhyaO0@z88e3j2p)} zx^-`oq}A2*jEuwKE4WlIRX67D*gm?4JsW1;&1&$wDs%sw9fif5dmQ*WzuP%H(KEB< z?10llQ26h1o6~sPpi(5*9v6S zY`J;*>X|$hrZ5o4&PWf_Ym{x-)eY`X(tQG@CxGo2WHE_otyWPFo1)cK9GI?Qphh7~ zT$K>GoVI-8l+}e*%fl&Dl+zz2R#N7#Qd0IKi2hsUssGaiXTfBP9lsaSrZCs#JLZ?d zH33gh>%}|Zh6$?_`61*Mx_n2I+7!l&+OFFD<$>DTi&d}+sa7(-?lkj)!CTXwRkqgS zidcoYkSoA!i`n!hmFj(DeEyDhUxMot<>r$1_xHQ|4Y=aq@Rx#s_U~1HEa zIviE0Xa)N2R)B3SeOqTLp8F_-mkwG&GKBD-3d`eW|uoh>nXJ?uWi zvIwZ*&f+x9|FJJ4pBwRSc$}JdbdsYNwI##<%xJ4mOD3KZ_UF7nKIYZH7hWM-+I)^u zyuA-^?)t_Mv)l+)4e(|qpe-*1EWoom*gJr4t;KMZO}~>>L)4ecsIzNQ5+D%IjF}tO z@(NPUmqq)Ox}@3*+PxmMTf6!N4|1B!O=xz;P(0`m2+6O)gw&^9`Du@N{wfwrs_ptQ z9tE4A2*?`K?JfpW_IZEm8xhNotx6q9q>PVY?^xkTDv zQap}y%nGm|dVP_!dItA6!qp1N*h(uZ{-5Av-R?Tom@6UKvb-%Ul*f-;wy`$fZH!`A z75`jt2q$geUE++x%8!M6+1}0j7ZS!WFO}+venO&^{7A*w`b)|E?}ya=A?hf}%=o%L zn?@b6a$vruBgDI3f;iW5aRG6nA26ZY2l_DDWN~0PetQ4F-9}I`AvEg-oome8SEf34 zw};$tT6J(&yNTu5$6r8=!nIe6Ms8(9b5|JZ_H#e8&#C_Tz?{MMe&e)qJ)p6F=u#gMTOY!KU zOF@$)(zo0KL15ryc7XABa56~SXn6rNu(vj-ad}HiG1JwF@dop@)~vW$kmM76QV6JK z14V^nwju~BbVp!Rqh5E8cYRF*(3Pcah6DgL#e;xF=`kpIueLAybK&YPdgUw((!;QPaCEPNe5oC9tx2~O$LO}4ry&*(= zl)3MhbzK*0tCo8vtqR6-{`^Z@(yy$1H8rXI={Xt!Lvjb6{p;S~9WafFKXU_`)(9Z6 zM0K$F#^!PERm$suI>qMm-G>`BBcK8falLB)wp8vRLb=aj_J>)pZGt8JyYXWiI-hTz!9lkGZZ)>_M<8aQa5?-M$y-2k%6;HP1 zyH?0KXZ6xaIdgCAy;Fn9U|~TvK_NR~>cLBD!q?o7!!=o5e?yyGoDJ_rJ}<#;f3@i(bs-syK>+EE(J-zHtDUjyO0p0Bs9BZsb&7vCzh^#}azSQ-4vVk>!| zFRiUCO;~cJ|EHJ)e&5YkgTJ3XM#%gM_>H8O&YXKe#p6=W5lta9DD zFgF7+-r;R|yYRXzRsdgIV8hHp=AxT|g9CrQu;}6=tGm(QWx4bhv;*c&5frIYrVBzs zRZ-wTxc&Hpt!}CNy}X^zHsz`=>cf6RSL};f@o6)e1FQ~RJ#1y3tQ1yn0kUsZvWnpg z@sg*${f=gx=Gvo}mc_WRHy*i$t1+?<10K2Ci|(IzCHV0)#hM+WIgsPa?01WXodI~c z#kjV2F4_MV`171C(}ox+t@r*++S%E7G=KPgWA{W)6Ls(awxaK4#tAtUdi% za^)em~ zX*(}qy3gw_FQE7&fK56`w9{!@+|%;8(Hv{W5L9rQlzh2-W-Ro$H%S6{WDpKw?i%Xn zWEa&FZ6rNy@#jS_{e#Y>q`mRTU6>7!rdO~F&7VBG$6lF#FkeH}cpVe=?V`4y{Ov6> zy^WFi59mMppK1GlgDoolfKIwfar##KZ_RKSP4~R;75>TLeTdP6+3_Do z``dfw8Tn<`aS02TdCukJcjY=n&I?njUx}U{7jW(Sm}O76u^Y8EXiu+CZLgzkOv;CC zMOZ|Ca?$yRnuvB}8~2MDJ^v?lZ_;0Xw?}36%Zd9|kW6DpA>Qd_1!D74vJwq1ASJtg*BUsRg$NX9vpa5b=U7W zU*P**(i2Wjn9dFb#HVcAFpCa_7J1KxdUwm~?VFhK?o20PKe$Zpzw zj1)#@c(P{;8@B+pK*?hHF%-NxOW`7{uCN`;+VRXy8Ctz@9S>Ul`qgqA?Pi9-sp3Gv zWksV|5)yE#_{p1c1M<+C8xRYcfaO-YTi36H!+-1K+Pxk{2h2F(0ElCe6JzS$i#c&j zhLdmY(lWEwI}*2G;br`@NNLV7w*n8wyoCB$aT@GI6*-@9@^RexYgr@oXtQrygH>k> zB_rOqqillu|f1djShS-By7K(TSm6x0c3T~#K(aeKvo+q*zK zV6&yVLYEvoSL=fZHTayd-IJuGEF&Q%DZ~&kfaAA4E|s-Cg8X>|ud3}`lWU^l>1Cq4 zf$t~qJFlOAB-6HLau1bKbZFl%%1wZIP5kh8^QsF>xVYIi<@N@_8T>C+x)i;3hO`L~<{BiwmSL){|%!#SHi6HI3Z#3uz zQdWY4hfQK-#_Zd|QpeMb`BdIB*tizp`7eAIdW5@VeN#@=k(B} zis4lzE}hwT$%{F9i*{&ydtg{c4n>R>WS|vj)fr|(%LOP{L0-9qLiQxdClz03ZMY$D zn1A==bx({FaH4eg*$3dd?2aC-9X56me+})@P z^-R6S=91hyzVsfQPtM3{Z-sJ2V3Zvh#ZJr3T-tcA{{OP9)A&<|S<0<+ zZGsE(gmz%#*DjmNVI~fa*s7M0Ygmo)Ov!K6o9B|Bo+Tyk%dQ~pP-U3J!aodv@C!bh@f2q}{oj0Fy z%Fh0}!Z2a@=BQuw##es+8&BpRKk)yvM{(nIeq+pDCvFr0a8$*U z=t>(leJ<8+@Gpidr?>WYLV{>q((HoMK^Sd%Wi6iB&nnaX50yvjnKrdgf`Cw7R9X8# z&#q!hYnmI^CG2&)w&)s3FFtmz<%R!eI*Wo_%CT)|aXSt>z;=v|xvrBSb1F1S(jEIH zHa57(#;r-u2ekKOVli8w{pI%U+l|gl9r@E_Fc-Tn^EtGhC>Hc{CDC;SmXn=+)z;E_ z4P;VKCvoH2f`H0*dj8?oWko#~Azb=C*)@4uz0Cr#_@ZATI>~TGMTel?mLL|Q7wFae zQMMHnIdeMB)jzKrB}D_r5WXluZTIWJ_lPZ2aR zEa?PR^Z|2z%4#2p_c>t8nB6DGMQ zY^z`j2Fkwx&D062^QoHqs3`VRbLQ`b2he#e$EaUJX*xl-fm`r z@58$q(yovFa_{K8Iu#&hI+pRo1idFJ>F`^96NMRbCc?BIc*D*r;6_H-V{YuQeg2F; zl9D#&Jv9YW+XHC&pA*Qkllbr+X^ku`+1KC=dfmpKNV)N>Y#zMW>$h#+BPw;wt4H;Y z$QUne^>Wo=wa-z#Bg6AivskXrlNR8cvi)zOQ8KSA1wAj0Rj(Xh`ej_-XR5MSv$e>V z9G7p30|!lDi`)nY5b9A_-mbdOlXtWk?zVJ&af}rgByVq3uVBP3nPeT*iA@{STK7qmR9c-hRJMQZ0cHova+2{{)bBhdAz#`n+qrU(?Nv%;~VVI?LND4d*qP3)#-Cl2FcUSQ`TO1_1 z>hzM|`5gVIL9N~~jyWQi5nE9lU5@bzoXL(#!tcyVCx3n#PW``hA7i!VPf7IF^epw;vI(bk=J zZ12Q}_G-*z=Z&vd*++xhx>l!i9D*Ud4DBbMR!s8DdE#TbD>YR8@Q=Dugt0;PsNxlD z-vF@2@`DeyDK2nsA6ELA6#!?s6S3Pz=ueRsU+->?pC(8^-ada4aTlP{m-H%IgZ&0i z(8esF(94$%R~lbdf&B5w4)0{cNB8%YNDG$~=Imr<8%jlN%)N+4=fo*ytXm4>8}?7= zg(Sm2QMY1UWBu5BeP%=~{eSHLS!2|1Dtmyh8n+L6DsVtMBqU^YIxAeS_^Ioby*oS{ z)0H?(0pZp~j8|zeBSb5{f4_;)+afD>OOeJMeO?gcu>zYtn6*buik>5Wpq%%R#PvSR zR8&-ybK4ZK!=&e~vA$A$V%QcB;+wCU4x5GEDWAw79Z^)>=81my0)ILd_MN<{K03M;aBH-(t88RDq<`$LON}^eihwoG(igCj?H%;s|Ywu z%bugSQht6@VG8-ME1<>w9u_>w5_)#h8B^r&EBjH(Ws_+!X`vU=&+q!3FI=KQrhzNc zBt$^Hl^;<=`dm~KW_ZK<6cGL>*|n(N7muO8>2H1!t8~9Wzd7I6$FVG*Tt?Onp%Eu& zpW#h3+E-^J)0Hg|9$e3qJ!3IbrvR*X8H@vL-g?g>y3~gFzNZN@{cDl7+UcsM6B@Ym zMVmVO314uz56D`*LWTmKDzBdR7Tuc_MAf}A(D_wTf34Q~brg|*YQ|+n`7S~dC}+ip zo}$k)MN>a;_s|QPnlj5$_aVXs^EOg+cpLcnpRvB_f1h5at307M$VWjwiMzgpn?%*a zwV@~`adtd!6BlzY`&I#;1TwVLlF#!^)AUVRPp8ZXhl zqL=WuDctu=@Ki}5{j7A~VaV|JUWyd5)clafHm$}n&&w#$CAq(KPUozwQ==!M9knJ` zr5QEJWmhbz<$(wB&%smzz$_O9zJ^Gqn7z6}R5DXY`*_$a72K8Jw-%{b^=5 zz54~e<|xhKsy@ytWn*puQ}H%Xr*T~r+VHRAp`2)^fNG^3$+Ub=^W)Dl(Wk$KElv1W zY+T@U{y7z}4odv9xtGfqePn8ebK8!-cfXI8!aXA*UK1sQTJl+w9H95plUD08NZ?|B zXz&|8$XxNW8idgomq0@~^PR0my)AP>rz+&A`x3FAA6kGFub28-een!-9b0BfYT<x5ArR0XOs3QYuN_9=r<{zJjEZr|@?(F7T*iDCK46Tco42Mh#*M$m% zdiAg?ot%Xq3S<4MCrUDJ`Q5a?M*umnFdjM9w#=DfO9PSgkb7;ApRUBdj8=gPdeQs{ z!BbFuN+>;1K?Xf>+9PE;8-G?H41eQ-NgN`2s{8EoCl`zAkxDG<@E+BZV;NG)8;jDB zKW=r$em!L=n)RiC918QVCJPs<(Tp$}rIZK8M3XlgN#7ma2-gU2`~*u3C=@Sj9OcMo zZLDLUUan8gPV=luN8e;azb(*EF!uj|QqGY3wZ?qtZngHrd*oraH6IV-#~ZU^A+1?K zvU(o7T0#jUw(cgjkMHj%8v2<`-0!!6?ex;T{#^RlI0i96^Twr?j}IZa=zJkUP0hVF zyKQ5!TKE!JLF0Yy1N+<^ccz%R%FWba%${`FAB_nVAwnM!&A-(t-%)0_NC1V8|Pb)SolFps&XOp_|Oj1u=sRW^Czaf z=N@YwhFbNfzhm&9GT{YN?!F_-GC|8N zWwg-9{4%(Bvc>sB(A_M_alh_#-ed1r5_8&K_r4WN`}SV%;_M#7@dX+riZKYdwTeoH z!<<=&FycP8_ju>{J|V2THLnZXdDX_@a!jHmqx$r1lf{L@uY8c0HDBfQg?uU#TYc}K zgbzI{tz@AD&=NJ1b7wD?Bv`Yj-e``*_XqyYYqP;evK8)li0_be5;_?gW7gGSw706j z?eT^Ujep^(!}l3GuZAz4Cqx8tUZ2NNkb_mXz8#>$i*c?Wl*LO3k!l#^iqgk_EO=}@l`qW2IDf<#(UbT+l%zj@%hpigQV?Gg%5VBuPp+EJL?qk5E~YF#7G6> z;;@s75#{M_m3j3Ve_<=Y8Xfik*8}LC!Q%*fl!q$(aMWUQOGQx+aJVXi-7m?WR~0G}~$r%0kuXBFcM!YcFl-(aGtB+^E^}oslOr+Ts(FGuM4d zqCj%|w&!}+v!}zITXV#YQ@6DvV5qtzP;Eg>ysUYLF`QpD^C?qCaS@%X? zI&Jo!uXV%;+0tR}6Abat^u>>OBjNj2}_mZBwNc0|iQcG|tt-FZ#mX8--)+ zLt`yMyY`3s2(2U=Y~aiW9s?=H3E>5SB99hxK51DI^3Oz<5H6QNV5AG;7v8EeH7@zad&t! zxo6c_Z2lq4djgDf(?)uA3iyu7!IS8wXN%C!GtN|c7gK#GTGpdtMKea*knhe|?q&1I zy+5tA8?^4dcx-ied)KZV#-*fLTVT>RQdoGOeh%%Yy@LJitTZ8s;YgNvy@uBNGMn~y z-o!1RaYLh7-q^Wa`^oe7ts5yABDIgD-$_v5HWs?xa+SX*q=fh-T?AJ0yQ6HjYxHPr zLdi6LrIUCpY_S&=rd?`!eghxk)wKOR;kA9;d35Em$rd;b_Y|3~X-VP@I{gH1T%_mj z_isDdT1PqC_o^dq|8_(XPFZS>Ei(%NIOvXVq1<|J^PDL!!xr z|91bHFZ^fw@@Ng5NEXBzyQ=B~DG%5)?tFu~uyl3~f9;jv%#>=5EY)DerVp3zNO=(M zMTw`wTgPejaeuC$vU_W0JE(4jq#98rfx+xjL-j-{!mpiqcN(;P3QK>ON7;oGbcPMx ze^1t?b{|xBR@LWaz}nYxd|)tA&X%Z@MAlG5&d;7+fMJ__F_pOq3AbeEoY{qB#O19g zKfA!a@3lnzSf<->aV|cv(+YoI>*abIqnYeot$_Prd=4IxKz__MPyZfy>5ySg?Xi_} zT=@dA+7GaBE$K2zg@LO8Hl7(6EzHJAz#Q5hLBUk%*i~u=Cdag{E|354C2lzf=m8M>S6j(5+zJq= zZ=H)?OIHMI5C`kROAUWulB*{k7`BA}%anAqKvbSs_Oa|qMRKj4=vyvrI?5|oAQ|JW zNh9r*ZMx&+10^xct{Op32N!>pY4VQN#^%0jIi81*XQ-ZAF$jhwnuy2R;Tbz{zC)@M zb4!JYnQt%G78mG9Lx~4qrM4zMUlhkDLZm!$$r7Y_n}?!pO$?%z3Pt8p3&$PKC9!W` z)<_ShZ!Rt)Q-$&3O_mQ=M^!HTIwH&d6IuUm?dgew25nf>DEoNCdEb(yE&BUZaC{if5T4_k^TnYpX3-2V!h{0V=74{mAb+?ow7(eqd;r zymu}drbz$ZV*1kHZG8ER^_}hz&MBe(;o#nC1U;{4^y}Xd4}v#slsE0Z!ak@Qydxo7 z|J0XSE4DjDiJ+jh!`i@mr=g<^n4g!LDkG!V#`$$JpZ>{4_Tcezz1_a`Dh^nr)|Sj%{CnJ3U8SU2 z?DONU8xvDB8|Jur?sBHmd|G?|BRblpG9D|_D@^eWp%(`;xT|iaFQ4gJi5d34vcd#s zUm*>@)B@&-_|L_felfS7hazx-;|teS!y9+9Uwsa~)KH;P|2}Bo!$>R*B8~^F2$RV- zqo%f>{Cpf5Ud%Q-NumXsLb@n`a4^{mR#xE@Y|w}MakrwAlk>{etM8Wb+8gzzZAH$I zPESk;5-oZk5Wk(9$?xh6?S}k?hFxf`(Y}qivCl1zdCMj9O$vSf)ORI!6ul>8(Vr0{ zb3xnJQW+yNJsL3F>A8p!zahZ-=K`)GwP0|6fgbb$d_Cw%-DC>hfb5 zIk;_lyrd@Rk(;NPpS3uw{Y7%bT$!q9_4l*1ydvB<6vgk?V8nnnSo4mXb=u(XoirV%(}T5NiVE&h4c2P@JZu*RvosLjNjy#u2IVGuzkR!= znj+1JYi$DB9TEoqT8TQ?zkB!YDZ}4&3V^$JH9fsCaGfsTj^3Tqpo4eyF8Y<;i#0DF zvs4?w6cmq|=J3ub<1iIJ&t?}<6lMiXQj~N96qIS_)hk2?t6_7gECeUV{!sxp|E zkuIu>O6$8Z8XdbQ2X`c;r7j(t`P?kM58*bk8$ZRSVh*1M?Mn>j_uMt)w$4y$7c~lG z`UN7vNsik}#iWV84sD=t?Bepkr$YNO^m}r|FyYos1b7Sc)?)8=936l9D%Y!G{UnZ= zm=rw_6lmYbUjjt(!4Ix}kyn0ZD|a&%pDz7jNp%S|!Ow$Htp~DqbiY`ietdC{>M3Vg z@JlYvcj;y4noqL}zoq~9l5rdFY1@VFv@h~=?$b9*;AqV2y(Cby@tg{SqKNl&@ zWCwTe&GeeH1$e$_LLT|D+J$quTkG)wUT;;ndZ?SNJf7vzA3puutrfJFQ4>?J0;D_?C$&cnHn{IB{A+?4$ePed18 zD#*>;qS_HMrw5yb+f|o$VJ(-zEen=*gulo@KPo-*dG(4#ZdCO;bOm#I&C&DpKFVzP zF8X*?S@sbz0gHYsx{{D+ovvpFbr9uOnMQILMkv3hsm7;H8C#U=%n7Guh7m~4(mWJI%(UxU~t!GxNA?1o`RCnK9@m_5;R%RpaziF0VuCc-c0q57CdURy6(;i2J?(LpGKe})kgfw{iP zOH7D1<{j&*wvo&l?L4k?uIo0}d7Q_3opbKT7$%e#Z<559JiBq?9Q!QxCn+BO^3?idf!;k5A3F?OLL=*eD2)0O@3RSXVFc$Fep-ZP+MyJ2LBHtF@(5iLUCn@Wpu zI+4nDcSh``d;u>ifY|;I>RyV1`PB&R`Jbx(XlACAWzwMmp!UQZ_}dvfl6_`W&QWnG zY?%lfAFlWjyF6ZwW;XPUYn0%0oRqHKe;d=hSJx=mr+kqD?|+FOK ztD8F~Wpc|mcC(m8=)dcXIf!~#!fLR)J!U?^ol3PT=WANnra3tDqybMjdAhaBzNzWq zgd*e|6)XgZEmg_5ZjyQ`I46tu2RpUHg>TslFca$!N-yl*OuCqy#T))%s$Q5szk;#= zHyAtl8uMkPT|6(i-==stLUv8-$!pv`rP7n7Vhd#t-M^1s z-Xm%st*^;^0}Q0ph{q`S23c;lcl4ND#D<+y^n0+Mkd5HO%VV#E(SFZMhZ4sXk=qz+ zzf>PGeI!v}>~izc)K+KS_Nms!8P9X-e|%F4V2y}EF}ITO1FI<^ZOj$KS2BA&L%Sip zL&U^nKsL04>861JCEz5GEo#N;uj%7bJ6^e0g9QMn@hIYGUt5tpL&MlR>+AoQ_2+|) zfBoNL77&6>Hm*w#%*|i^M1R|`#;QXA${aR%adG;VQM@dELuv+r%YykgQq+gFqvm(D zQ4GMw9xACJBZ0dx7H@rQG+Q7!xmzdM+P5>yVQuf#P~ESJC!>p7_9k_#&>87tmFbP1UL>1F3wy?C zLL#iFu?Su74StTD0Hz?!JN`(MptjV>`qvyl;JMcuQZYH*yko2_XaSVkix^xTU+S%h zA`5HE-I6CPKv9RoLnR#XuIoGtN8@BCrYr} zkUp=;m#Y1nho7+irHX)@oO^6yTI`!=ZJTqESFa5b5vaX7*KDh65oQ7?YjklfP#kNM zYY0^}=z(~3n}rBS(|I+(J}X(f|J(VONP<;o9(ReWJhX_q1__O>tetrI-AD=yBcY19 zo04Kb;XCZ$&d-;pRJ7B-AxT|xsInnBZSojfD;r#u!*RZV*RoEFKFPZIhbyBm!v|;oc@!vsy zljt?th5HqdN=Id5Zh$R#s_{ot35B><2h3S>xc_@*yIdV3(? zmf^XX2K7E1%fnCxEDl;et^!}kFJQ?hs$bCx_5SiZB1~2uiqB!a-f4t95&&AP$t0Q6 zC6ZU){S)2J^@EioT3@7_mo$=a-FKF+n^;N-0T%qEu7I9Toc`SVOYduhqZ5j#7+ zK*Xd6dS_+eZX=`Klt&sVJlVckS@+Mukon1iB(!m|Q;x^)dGn5M0-P4?6ZrSd8)^{0 zJ6#rBxzd50oSd-<3D>WOgYbpm`%nU3wKE8q@Qq(|m2lFFv-jeDDgqX{MMdXoC;jcSUEvG%hkNAMc{}$!)R{JFA0XJ-g-;iuab!Bg@p2OZnUjH|4?nl2bG90;e zJxLU~B^CeRiin7a_xdGlEA}8&$KaRoWRBig^*~}S70fhfO+{&)S{RE+t77RnUrL8a z^KZNmG0?1eo9NZeBO6x3uh>M73hk!%JDpPyNvVF8R^0O_H351}dA+(3{oN~uCP#pw zy&!8(up4^Sd}R+aDr}O-lzh-+|3zmp&Sz*>N!v6fr?!zrTVBUe|FbZBD528|TuA`S zK3z2+6(r;1i#-h6)a{^ZE&w9=u4|yl_B>XO#xqI+M_Sc+R z(UN|--%_Av1C^ugK8uy{s0=W@8gQ#qreKZR8l|qw)oEweYeu!V54W21ea2@BU|U`B zornA5_zit@`j0O>{_!Os2d>qx%L~cq_!fH1t1tl7Ax{rWq0c=U*OfpQ8VsM$4ZCc1 z|NhfJWH6n9QHXPgA-EXv%nHU<*IVu|OX_tMv@w1zh(-RSSRY+|xsn>%#uhCJqJQ{N06R zUF&G>iM(tsvxCIlpwgUbo1UNldU;J!{8tMyg&Co_TH=US=mz%+8_FtdZF-`=d9eO;^f_(QwIPuZ6pqYFyP~N4iY)D6x$&+TV7pKqIGq07`L7uDH7x+B*Oi-xEzs+}A$GE&#E%0m z<-hzmF_EGTGagZhze0VDWu;SjtzNCWH9N!q=%-^%*ovr8oF1~w=x$@^cvt>=Eawqv zZpqzut6{c!ytbKt>#6U;;>; z>DQe9TW(kPfqUv)nD39Fw{O=bVasLG^iAjEsUDp-(Pfum3B27@OQU0tw!>e>jZ?bR z%Jh@&-IRXubTEQv!de0ASF69+&;d+0UlY(i>9X?%`Od2-L|fmfIIjy2W9Zc8q4LXK zD#72?M3d-X8>C_%tPI!cEoRWN6PB2o%IzDu&WyZ-M1M1V@8bCS-o5xT8wGG@-3bJ8 z|Ni~&e#gK_&du zP*jFWnEa-d86A-R{b!@2LyVG=l8aKu&TFID?CxDRn+W~NUq&qRx4$VW1-_}+hPVg0 z8XztII!1k*=$F1}8wi_or=Xxf5jx3FEiEkWGO`KqHGTEWwj6^+edO7@pUxxy_}=4Z z%q;E`1=7bVCqth7uIhpb9!5OVNWR>{v$2~Y0`V!5Fk%2ph^cWwQ=Eyg39GD$=TG47*QI5A-dBvA#j1D65*KR%jx z?|B3L>ZOJs(3W_CqXl6h6Efr`yju~pF$bmiPvsc)4Gr??D)(m?I`NllO#^gDAG7sA z{{f`t&bq&dAoX1nll_B{Tb~hH(GNkxv#eL-I$Q}upP`L{h_Gc{4cXP`VI|(v)!&K`=#x8~ZODN|p=h%+Lg@0#D>%sm6=%V zFYq&UPhTC!Rgi4L-x#v{g%){*eQv0g2N6;*1>bxMs_CF+4~jV)C_;2bGs5 zFm3E6S#ptTsq-b}^>cOjVAX1GTi3dqC7qai%&;3~@TYFIe5$nhiRIi19f1Wz`O%>e5sueVsqL4H zo(AqfzCJyLXlzMslZD#y$wEV+3H(uJ=;3%?m}Lwh6^uwOZ~xf;`eHQ1{B~KY=mr0v z`BdW((bV5I#RS+0k1#fT4nck;Yao2z)Wl!<-y@OFnQ}nHR{qd;l*32WME*)C$4?0f z2{$LQAJ7B2X>*-d)5UlAmkB3yvc8X*B$5QsAjw7w`!^9hk;tzlE&w zuFKIr(Y<2-K2aGLNVPg)aSP5msvcg1hxdFF^2wiQCP#!Y4HVqf`;#rah6`^=CUJwk za#nLn9~L`z);XJPN;Cc+mWkEW4%S6(GkB56>P4EE%=oqMrX1ImC=h@M6nf=oa4A+H z^y42#=h7wrs7&^jir#Nq9izDif%h*|xY-E#zmiU6SH3CoY(UBa5e`OY{gpMtnzVk# zvMwBgj7Q(v?3jNQkH0!&P$&_%Ke*nJ;Ml^f({0scLDi(-i?Ecih?e(7{9bVdh6w8h z=EB%6^@^ll>f?!el_p$w=7T?F@k~fU$uz@U`#ghkyid1q^yh(!JNy)Yipylut~kjN ztTDHxiU7%moOm3jN5A6OktkRMJ8LhssE7>cj(vX354mbLBo~O?N-o5!B&d_%S}?BD_Ezq4=%xY!LORPm5yh8K34sVaD0P`&JiSlh`%s& z%3P=1yiCiF*r)QU;`BJs084gGT>Yre6E61n;cxkepkSSi3+VgL!b2Z^)!DboxQL$x z0UjXF`))O4B(bMGPI4EK`elf}@Wf?1Ww=SFs9S$A)ATDfloCwMkkp@ibSVIuw|8R} zhz#};M0(cOKS?SB`wxRm0#yu{J$1c1&5M;B48}ND8@d!+11}KhS<#=6J%8~TT(L>k ziZkF4)ro2F8zi(%TH2{G#opPU;7KKvwAC%@srogVevVg{hee(Wz?O3e!K{Fy?c1&- zJDC(&PQh+;FV%T^i$3y?FjHZykpe-hNcBVpPj}h)mHbYG<=XppaBSuh@i03@s*Xx6 zQRs-pKx8u8NK}-AiC1UY<*2aUo!D(D!%39U5KT@8I3wN4J#n z8jujWOf8ph?qG5kokK|pA5Q4(77Ss0_x`{@b1x?_)cWT1jwfF(iU8V;_lclQTa=hl+|`9krORD!{#!4dy@7tq?NB zhc)rm|6(lB`dU)S%5D2)6v4mwI+C!q)y#gzGh7-M+<$qE-{NIdW$ibbac$N%UJ5(x z6XWfCKl=enZv)`03cTwpb&fl&wmL^#^R;UrXD5=M@9UBkYw-(Np_lBD$~Rjrr{}p< zf=UR_%gIB6itSpX8+e3MrpA4`%;Q$Y7#4y}t7ZP{8^GT&pLTX}@7@R+vKplq zt8P7tyO__oVEE!8su%i%c$~|Vnz3pINzI5`%hKjJfi8P?(u;!XH_~1UM z*9vRAv0$ImmE1G%u=K>ugmJ}3f!Ku3VRHq4qISfyfdX)G&}M7nPsG>X$?s3n&hUfc+b`Gq?ZKEXDltjmxbBLeyDmzGw+x}_+( z02TZ2mxIDKWr^079i&n|gl9Qmq4jH;#Y!pxmz6`FTTD%*@G`b#Q>cEI9`5JWg6%bW-65v5(qjKoClWRXo1ZL0{eKX8Cg8gJ|JY zgl5spe{bbOmRMgM9@el9Qi&0@#izo_p^bPzco{^|G>W(VE=dWy4;GcT; zI`Rq#Fas_g{)$H+d}d(Tu3V*xOC=K{BNY%GT}QY%JUl#GIgD;ljM;Y8IqOow%TKzY zCu4N0m)2i;F6J3IKWxiRdGnT)ad+t7+8F}^0!DMSq7QTM!gs^Z?Tp{!-7qO0JWeu& zcK?$Gg_*IWBI1zEb&vD@@u9LQTqm14;zp}qTr;<-AB9ydMQ=03N;jNXd2sPH>hKk~ z>GvWV04^E>rW^3N?y_8T*V4w^fq&2bL*_uT{NFa7Cu;v4C-FaAG-Em) zJG=X^)7|T<;A|4&WEszK%KPIPt_FdSZ4dtKSjU9L; zF41elS@B~66*dd9xlH9=L;2{;$=W)beV@mcVYPh8e?r6z!I06L8kqj#r#)OaAAeTk z&J2JgK8*53iX>{Jk#3cT#b$qQ^@H2Ay@Ifw+u;Ttn1zDGxei`MGny>=FF1(X9Y z+_~)Mc-i6~7=0m-kc)NAyA;36K6xHY)EwKte)orA_Vp1`E7-K(aY3XpJkkuNAiE3A z5!Tk`y5Ouq^_T}donapu!gJw@am%=JQiroGL+;mRsom$gAF3aS$1i1YW zPgPr3n9}-Dkm&5}tWf`>75}r&pG5=ugACxNy>Jk;w{6AO5$Ue=1C67MZ-0plJ(`{W z^FH14vu9^JD+2>~BnkD{*cjV|3sE@&ho9=MT-6Icvz|6N?_^FjjtjRAHs?Sb`RKNp z7Fc-_=sU8HT7BZG`Td#$(kS)|uh!KIaSGNz#bYv~z&VF~9pGim?FX}wKbu>c10-iV z==z`Z%D!na1O(2~&9iYxMHJovT&k$b-KfKM;S~=^!6i%y{#j9p8H7={7^G+o(b)t1@SSsN0==k+4DX=HC4=&QOZCua3^N@V!3NYvDW_H4eN{Vm=ALD zd3^%50|YSMp%`pYC9h%VLeEthnf>}^kXgluW8U;_g)g||OVc2v_R@qPH#asP_QW8R3~YGX!&3!(Oyy_{CrVCX!-6-JZ&fW;ED+VeOsjo! zU=;k42>w8oZ#hC}G694})>S36$!_Cz-tKBCqIJfrWyb5^pLK2X;cBU-nnx`k+xq1H z-`MwovQQRlbE(I>XuE%6f(fWw>0an>M9MpT+o`~>6exe}N|lrRrbg>-udXE0w2?WR z{jus_%>hM)weu(9iF5(Hyv6150zP|=BEnkBbY2p|^AVwm^v6g-t-tm$Cku0^1{%UY z9x(}?XVvFX2q)%j^aP-`b1^Lv(}8~J8?*kR9Ty+NBQZxK5< z==%w3VKFdw?4c+WAH`)9-#+W11vmT51}aATjd(xul`qZXeG?N2#pIATJ%`apqE;Pc zgPP$_|J_lY3461+xOgu>yWo^4s)Y{@B1CFDdqXF+na!A!2C{1MJaLTd_?HfYTQ}Vv zqJfqxyK9B~t?7RAs2crzOiF_gRs=KSQ)ni}mGK^?8Q<>KSTezy^?ei(RkYZ@^0>RV z_DMikgY~{#9(^x3Ul6xAl{I zy0jwkA?x4n+B-XUY4XrQA%_=%mhd}2gPWX8pmV`&)t)78;R3~^DyZwNXU~dzj=_)E z|H6u!(WFTvmAS1gW8uJ?mKGiG+?NLKQM3)@0_ZBwjKsjoO?P*9)`DS$F(=UMH1G+y zYs$*@Cd+|4lpB%|?(%2;YBfkMk7TOouGM(pdgkP4?HIrKUqYsD)jY(=Tc?dJ7r~y5 zt-0Q`*<03*Nz-f%g}X2Mu+HE1(=Z6T3@g=~*)+1BAEbG3gm?V6pXyi9fP;6VN*f+& zHLWNgIIkKHjy{ilr~p|{oa-coegh&hr>x^ZNdko>N$oQ;**NPBtLNd{3ep*s|C%)) z<3t5ir>*aHdR`l61d6Igy>>Pnjure0DoB8AIDvLX6CDa$oDFeX^3OOz%K7;9Oes5g z6yi6UYkWe7mwG0@;HM&AqWQkB7UtBS?%vj;`B5m<`f}_cCBQX^IX`N_MZwIev(8d> zxZ->@u<1rmptV0~8?5*j_T<_fBO}c%BO@cZqm-J8%~WmT80vGhFsD78k?$q5=>Bm% zA>l)-hG{`vQDNacM#z5veDVVSvxU8BfWLW+l_8+B!vjP}Wk=bD?}!{XU%rUj)tINJ z>R3sOw-fJwvDz1 zZEd}HP+pm?GRJ$_b0V?UQ*g4Fg=s+4`gVNkW>;9GmI#I0*PCI;#RGvQr`BkC!)nG% z62EExqqJZpiaR!CAKHCPA3aLUzm?QFvz!S54T&V8={)$)Y|jwO8N|?&3+t55g0!-t zr9LM$ip$8L2g5_-Kv&;z zA3Fd#sPsb_>-T+G4cUhY)LSO0q;Ak#-8wCn-{E~W!sfNJ+_ybe@%pSEB2Np04omU3 z-GOFABub5)J=BL@Ut(!uCF9r)+_g;&f`0%)AY*{XH8wM)r&bfTF~`(!XHu4VH_bF= zIPsS4l!8N&^xRprQBqIABl}pVa4sb0b4JERP^s;)NjHMk$&Sd=IMW0k33m1@y;?$q z#@-Q%(km2(C@#Kn+-)Khwlf)qH+TaHRi5<>qf}H>1RauBQuqJI^kP>I#(ZSGacYy? z;qFKTDF{j>vV~g5=ETPCV9RNrY@z9eL;ebbP}Gil@5dwR=ps^jX0~OhD85)sp7iD= ze#qrKFOowwE7-CoR-0R0%>mfKHcFgL9!CFxh%E=u%`V!C9u`pc!ICvYK~ODiQCrPN zRfPy|&4f|qp&C@;;PI$TP2BorQ1Uu6C41D0RMhp7uN7`|8Syp`oFU znHl@V@X4#kL%aMgBgD2R!NCn~l_5{c-85=y&w&fAs;aaxX$1YBxp@{bYT?nWZ6*3x zkxQ2-Xq35@m0}_hEFY?JCKiJSOe61`n4l{|66urHlgemX?OE+BY^p?*c`|& fHul{_GL`!8xTW45I|z7uA#hv&-pvZ#$1ndMUOT83 literal 27423 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 sb@FL`B6udgO48c8OaYI5CR483qnHy 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 F{{eH_t6%^C literal 15994 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

HyLiM#vLZ~{a30(FP; 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 Date: Wed, 18 Mar 2020 22:41:21 +0200 Subject: [PATCH 036/271] Argh --- code/__HELPERS/unsorted.dm | 10 ++-- .../game/gamemodes/bloodsucker/bloodsucker.dm | 10 +--- .../bloodsucker/bloodsucker_life.dm | 7 +-- .../bloodsucker/datum_bloodsucker.dm | 9 +++- .../bloodsucker/objects/bloodsucker_crypt.dm | 44 +++++++++------- .../food_and_drinks/food/snacks_bread.dm | 4 +- .../mining/equipment/regenerative_core.dm | 2 +- .../chemistry/reagents/food_reagents.dm | 52 ++++++++----------- .../code/modules/reagents/objects/clothes.dm | 2 +- 9 files changed, 70 insertions(+), 70 deletions(-) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 4193e813fa..50966b797c 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1566,16 +1566,16 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) //Checks to see if either the victim has a garlic necklace or garlic in their blood /proc/sucking_checks(var/mob/living/carbon/target, check_neck, check_blood) - //Byppass this if the target isnt carbon. - if(!iscarbon) + //Bypass this if the target isnt carbon. + if(!iscarbon(target)) return TRUE if(check_neck) if(istype(target.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/garlic_necklace)) - to_chat(owner, "[victim] is wearing a garlic clove around their neck! You cant drink from them while it is on them!") + to_chat(src, "[target] is wearing a garlic clove around their neck! You cant drink from them while it is on them!") return FALSE if(check_blood) if(target.reagents.has_reagent(/datum/reagent/consumable/garlic)) - to_chat(target, "[H] tries to bite you, but recoils in disgust!") - to_chat(owner, "[victim] reeks of garlic! you can't bring yourself to drain such tainted blood.") + to_chat(target, "[src] tries to bite you, but recoils in disgust!") + to_chat(src, "[target] reeks of garlic! you can't bring yourself to drain such tainted blood.") return FALSE return TRUE diff --git a/code/game/gamemodes/bloodsucker/bloodsucker.dm b/code/game/gamemodes/bloodsucker/bloodsucker.dm index 0796fc3c4c..6315ea525b 100644 --- a/code/game/gamemodes/bloodsucker/bloodsucker.dm +++ b/code/game/gamemodes/bloodsucker/bloodsucker.dm @@ -248,11 +248,11 @@ // WHEN YOU DELETE THE ABOVE: Remove the 3 second timer on converting the vassal too. return FALSE -/datum/game_mode/proc/make_vassal(/mob/living/target, /datum/mind/creator) +/datum/game_mode/proc/make_vassal(var/mob/living/target, var/datum/mind/creator) if(!can_make_vassal(target, creator)) return FALSE // Make Vassal - var/datum/antagonist/vassal/V = new (target.mind) + var/datum/antagonist/vassal/V = new(target.mind) var/datum/antagonist/bloodsucker/B = creator.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) V.master = B target.mind.add_antag_datum(V, V.master.get_team()) @@ -265,12 +265,6 @@ /datum/game_mode/proc/remove_vassal(datum/mind/vassal) vassal.remove_antag_datum(ANTAG_DATUM_VASSAL) - -/datum/game_mode/proc/count_vassals(datum/mind/master) - var/datum/antagonist/bloodsucker/B = master.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) - var/vassal_amount - len(B.vassals) - return vassal_amount \ No newline at end of file diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index 4101d55df1..11d94975b3 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -82,15 +82,16 @@ /datum/antagonist/bloodsucker/proc/HandleHealing(mult = 1) // NOTE: Mult of 0 is just a TEST to see if we are injured and need to go into Torpor! //It is called from your coffin on close (by you only) - if(poweron_masquerade == TRUE || owner.current.AmStaked() || owner?.reagents?.has_reagent(/datum/reagent/consumable/garlic) + if(poweron_masquerade == TRUE || owner.current.AmStaked() || owner.current.reagents?.has_reagent(/datum/reagent/consumable/garlic)) return FALSE owner.current.adjustStaminaLoss(-1.5 + (regenRate * -7) * mult, 0) // Humans lose stamina damage really quickly. Vamps should heal more. owner.current.adjustCloneLoss(-0.1 * (regenRate * 2) * mult, 0) owner.current.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1 * (regenRate * 4) * mult) //adjustBrainLoss(-1 * (regenRate * 4) * mult, 0) // No Bleeding - if(ishuman(owner.current) && bleed_rate => 0) //NOTE Current bleeding is horrible, not to count the amount of blood ballistics delete. + if(ishuman(owner.current)) //NOTE Current bleeding is horrible, not to count the amount of blood ballistics delete. var/mob/living/carbon/human/H = owner.current - H.bleed_rate =- 1 + if(H.bleed_rate > 0) //Only heal bleeding if we are actually bleeding + H.bleed_rate =- 0.5 + regenRate * mult if(iscarbon(owner.current)) // Damage Heal: Do I have damage to ANY bodypart? var/mob/living/carbon/C = owner.current var/costMult = 1 // Coffin makes it cheaper diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index 19a7a2889e..28aef3b6d4 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -341,10 +341,10 @@ // Assign True Reputation if(vamplevel == 4) SelectReputation(am_fledgling = FALSE, forced = TRUE) - to_chat(owner.current, "You are now a rank [vamplevel] Bloodsucker. Your strength, health, feed rate, regen rate, and maximum blood have all increased!") + to_chat(owner.current, "You are now a rank [vamplevel] Bloodsucker. Your strength, health, feed rate, regen rate, can have up to [vamplevel - count_vassals()] vassals, and maximum blood have all increased!") to_chat(owner.current, "Your existing powers have all ranked up as well!") update_hud(TRUE) - owner.current.playsound_local(null, 'sound/effects/pope_entry.ogg', 25, 1) // Play THIS sound for user only. The "null" is where turf would go if a location was needed. Null puts it right in their head. + owner.current.playsound_local(null, 'sound/effects/pope_entry.ogg', 25, TRUE, pressure_affected = FALSE) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -768,3 +768,8 @@ /obj/screen/bloodsucker/sunlight_counter/update_counter(value, valuecolor) ..() maptext = "

" + +/datum/antagonist/bloodsucker/proc/count_vassals(datum/mind/master) + var/datum/antagonist/bloodsucker/B = master.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) + var/vassal_amount = B.vassals.len + return vassal_amount diff --git a/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm b/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm index ec7c7e9ba8..3b1698c287 100644 --- a/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm +++ b/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm @@ -115,13 +115,15 @@ qdel(src) /obj/structure/bloodsucker/vassalrack/examine(mob/user) + var/datum/antagonist/bloodsucker/B = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) . = ..() - if(isbloodsucker(user) || isobserver(user)) + if(B || isobserver(user)) . += {"This is the vassal rack, which allows you to thrall crewmembers into loyal minions in your service."} . += {"You need to first secure the vassal rack by clicking on it while it is in your lair."} . += {"Simply click and hold on a victim, and then drag their sprite on the vassal rack. Alt click on the vassal rack to unbuckle them."} . += {"Make sure that the victim is handcuffed, or else they can simply run away or resist, as the process is not instant."} . += {"To convert the victim, simply click on the vassal rack itself. Sharp weapons work faster than other tools."} + . += {" You have only the power for [B.vamplevel - B.count_vassals(user.mind)] vassals"} /* if(user.mind.has_antag_datum(ANTAG_DATUM_VASSAL) . += {"This is the vassal rack, which allows your master to thrall crewmembers into his minions.\n Aid your master in bringing their victims here and keeping them secure.\n @@ -222,15 +224,15 @@ // Go away. Torturing. if(useLock) return - var/datum/antagonist/bloodsucker/bloodsuckerdatum = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) + var/datum/antagonist/bloodsucker/B = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) // CHECK ONE: Am I claiming this? Is it in the right place? - if(istype(bloodsuckerdatum) && !owner) - if(!bloodsuckerdatum.lair) + if(istype(B) && !owner) + if(!B.lair) to_chat(user, "You don't have a lair. Claim a coffin to make that location your lair.") - if(bloodsuckerdatum.lair != get_area(src)) - to_chat(user, "You may only activate this structure in your lair: [bloodsuckerdatum.lair].") + if(B.lair != get_area(src)) + to_chat(user, "You may only activate this structure in your lair: [B.lair].") return - switch(alert(user,"Do you wish to afix this structure here? Be aware you wont be able to unsecure it anymore","Secure [src]","Yes", "No")) + switch(alert(user,"Do you wish to afix this structure here? Be aware you wont be able to unsecure it anymore", "Secure [src]", "Yes", "No")) if("Yes") owner = user density = FALSE @@ -241,27 +243,31 @@ return // CHECK TWO: Am I a non-bloodsucker? var/mob/living/carbon/C = pick(buckled_mobs) - if(!istype(bloodsuckerdatum)) + if(!istype(B)) // Try to release this guy user_unbuckle_mob(C, user) return // Bloodsucker Owner! Let the boy go. if(C.mind) - var/datum/antagonist/vassal/vassaldatum = C.mind.has_antag_datum(ANTAG_DATUM_VASSAL) - if(istype(vassaldatum) && vassaldatum.master == bloodsuckerdatum || C.stat >= DEAD) + var/datum/antagonist/vassal/V = C.mind.has_antag_datum(ANTAG_DATUM_VASSAL) + if(istype(V) && V.master == B || C.stat >= DEAD) unbuckle_mob(C) useLock = FALSE // Failsafe return // Just torture the boy torture_victim(user, C) +#define CONVERT_COST 150 + /obj/structure/bloodsucker/vassalrack/proc/torture_victim(mob/living/user, mob/living/target) - var/datum/antagonist/bloodsucker/bloodsuckerdatum = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) + var/datum/antagonist/bloodsucker/B = user.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) // Check Bloodmob/living/M, force = FALSE, check_loc = TRUE - var/convert_cost = 200 - if(user.blood_volume < convert_cost + 5) + if(user.blood_volume < CONVERT_COST + 5) to_chat(user, "You don't have enough blood to initiate the Dark Communion with [target].") return + if(B.count_vassals(user.mind) > B.vamplevel) + to_chat(user, "Your power is yet too weak to bring more vassals under your control....") + return // Prep... useLock = TRUE // Step One: Tick Down Conversion from 3 to 0 @@ -302,12 +308,13 @@ useLock = FALSE return // Check: Blood - if(user.blood_volume < convert_cost) - to_chat(user, "You don't have enough blood to initiate the Dark Communion with [target], you need [convert_cost - user.blood_volume] units more!") + if(user.blood_volume < CONVERT_COST) + to_chat(user, "You don't have enough blood to initiate the Dark Communion with [target], you need [CONVERT_COST - user.blood_volume] units more!") useLock = FALSE return - bloodsuckerdatum.AddBloodVolume(-convert_cost) - target.add_mob_blood(user) + B.AddBloodVolume(-CONVERT_COST) + target.add_mob_blood(user, "Youve used [CONVERT_COST] amount of blood to gain a new vassal!") + to_chat(user, ) user.visible_message("[user] marks a bloody smear on [target]'s forehead and puts a wrist up to [target.p_their()] mouth!", \ "You paint a bloody marking across [target]'s forehead, place your wrist to [target.p_their()] mouth, and subject [target.p_them()] to the Dark Communion.") if(!do_mob(user, src, 50)) @@ -315,7 +322,7 @@ useLock = FALSE return // Convert to Vassal! - if(bloodsuckerdatum && bloodsuckerdatum.attempt_turn_vassal(target)) + if(B && B.attempt_turn_vassal(target)) //remove_loyalties(target) // In case of Mindshield, or appropriate Antag (Traitor, Internal, etc) //if (!target.buckled) // to_chat(user, "The ritual has been interrupted!") @@ -329,6 +336,7 @@ //remove_victim(target) // Remove on CLICK ONLY! useLock = FALSE +#undef CONVERT_COST /obj/structure/bloodsucker/vassalrack/proc/do_torture(mob/living/user, mob/living/target, mult = 1) var/torture_time = 15 // Fifteen seconds if you aren't using anything. Shorter with weapons and such. var/torture_dmg_brute = 2 diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index 9866e306c6..bab49e9f83 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -185,8 +185,8 @@ icon = 'icons/obj/food/burgerbread.dmi' icon_state = "garlicbread" item_state = "garlicbread" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/vitamin = 2) - list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/vitamin = 4, /datum/reagent/consumable/garlic = 2) + bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 2) + list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin= 4, /datum/reagent/consumable/garlic = 2) bitesize = 3 tastes = list("bread" = 1, "garlic" = 1, "butter" = 1) foodtype = GRAIN diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index 65304c5460..c0bc3232b7 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -72,7 +72,7 @@ if(proximity_flag) apply_healing_core(target, user) -/obj/item/organ/regenerative_core/apply_healing_core(atom/target, mob/user) +/obj/item/organ/regenerative_core/proc/apply_healing_core(atom/target, mob/user) if(ishuman(target)) var/mob/living/carbon/human/H = target if(inert) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 9218df1ad1..1c4810dd34 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -425,7 +425,7 @@ /datum/reagent/consumable/garlic //NOTE: having garlic in your blood stops vampires from biting you. name = "Garlic Juice" - id = "garlic" + //id = "garlic" description = "Crushed garlic. Chefs love it, but it can make you smell bad." color = "#FEFEFE" taste_description = "garlic" @@ -435,37 +435,9 @@ if(isvampire(M)) //incapacitating but not lethal. Unfortunately, vampires cannot vomit. if(prob(min(25, current_cycle))) to_chat(M, "You can't get the scent of garlic out of your nose! You can barely think...") - M.Paralyze(10) + M.Stun(10) M.Jitter(10) return - else if(isbloodsucker(M)) - var/datum/antagonist/bloodsucker/bloodsuckerdatum = M.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) - switch(method) - if(INGEST) - if(prob(min(30, current_cycle))) - to_chat(M, "You cant get the smell of garlic out of your nose! You cant think straight because of it!") - M.Jitter(15) - return - if(prob(min(15, current_cycle))) - M.visible_message("Something you ate is burning your stomach!", / - "[M] clutches their stomach and falls to the ground!" - ) - M.Knockdown(20) - M.emote("scream") - return - if(prob(min(5, current_cycle))) - M.vomit() - return - if(INJECT) - if(prob(min(20, current_cycle))) - to_chat(M, "You feel like your veins are boiling!") - M.emote("scream") - M.adjustFireLoss(5) - return - if(prob(min(5, current_cycle))) - to_chat(M, "You are trying to purge the contaminants from your blood!") - M.vomit() - return else if(ishuman(M)) var/mob/living/carbon/human/H = M @@ -475,6 +447,26 @@ . = 1 ..() +/datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method, reac_volume) + if(isbloodsucker(M)) + switch(method) + if(INGEST) + if(prob(min(30, current_cycle))) + to_chat(M, "You cant get the smell of garlic out of your nose! You cant think straight because of it!") + M.Jitter(15) + if(prob(min(15, current_cycle))) + M.visible_message("Something you ate is burning your stomach!", "[M] clutches their stomach and falls to the ground!") + M.Knockdown(20) + M.emote("scream") + if(prob(min(5, current_cycle)) && iscarbon(M)) + var/mob/living/carbon/C + C.vomit() + if(INJECT) + if(prob(min(20, current_cycle))) + to_chat(M, "You feel like your veins are boiling!") + M.emote("scream") + M.adjustFireLoss(5) + /datum/reagent/consumable/sprinkles name = "Sprinkles" value = 3 diff --git a/modular_citadel/code/modules/reagents/objects/clothes.dm b/modular_citadel/code/modules/reagents/objects/clothes.dm index 457f1dfb39..34af39bbe0 100644 --- a/modular_citadel/code/modules/reagents/objects/clothes.dm +++ b/modular_citadel/code/modules/reagents/objects/clothes.dm @@ -25,7 +25,7 @@ /obj/item/clothing/head/hattip/MouseDrop(atom/over_object) //You sure do love tipping your hat. - if(user) + if(usr) var/mob/living/carbon/C = usr if(is_ninja(C)) to_chat(C, "Using your superior ninja reflexes, you take the hat off before tipping.") From e439c2231d9afc63386dae21796dc9f081cff153 Mon Sep 17 00:00:00 2001 From: Artur Date: Thu, 19 Mar 2020 17:47:21 +0200 Subject: [PATCH 037/271] fIXE --- code/modules/antagonists/bloodsucker/datum_bloodsucker.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index 28aef3b6d4..fa3666e0e7 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -341,7 +341,7 @@ // Assign True Reputation if(vamplevel == 4) SelectReputation(am_fledgling = FALSE, forced = TRUE) - to_chat(owner.current, "You are now a rank [vamplevel] Bloodsucker. Your strength, health, feed rate, regen rate, can have up to [vamplevel - count_vassals()] vassals, and maximum blood have all increased!") + to_chat(owner.current, "You are now a rank [vamplevel] Bloodsucker. Your strength, health, feed rate, regen rate, can have up to [vamplevel - count_vassals(owner.current.mind)] vassals, and maximum blood have all increased!") to_chat(owner.current, "Your existing powers have all ranked up as well!") update_hud(TRUE) owner.current.playsound_local(null, 'sound/effects/pope_entry.ogg', 25, TRUE, pressure_affected = FALSE) From 9bb7529a4988bef58f713a6498052ea0d3ed80de Mon Sep 17 00:00:00 2001 From: Artur Date: Tue, 24 Mar 2020 16:55:46 +0200 Subject: [PATCH 038/271] Progress --- .../game/gamemodes/bloodsucker/bloodsucker.dm | 8 ++- code/game/machinery/cloning.dm | 2 +- .../bloodsucker/bloodsucker_integration.dm | 35 +----------- .../bloodsucker/bloodsucker_life.dm | 57 +++++++++---------- .../bloodsucker/objects/bloodsucker_crypt.dm | 12 ++-- .../antagonists/bloodsucker/powers/feed.dm | 2 +- .../bloodsucker/powers/fortitude.dm | 9 +++ code/modules/hydroponics/grown/replicapod.dm | 2 +- .../mining/equipment/regenerative_core.dm | 2 +- .../living/carbon/alien/special/facehugger.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 2 +- code/modules/mob/mob_movement.dm | 2 +- code/modules/reagents/chemistry/reagents.dm | 2 +- .../chemistry/reagents/alcohol_reagents.dm | 2 +- .../chemistry/reagents/food_reagents.dm | 2 +- 15 files changed, 60 insertions(+), 81 deletions(-) diff --git a/code/game/gamemodes/bloodsucker/bloodsucker.dm b/code/game/gamemodes/bloodsucker/bloodsucker.dm index 6315ea525b..58559b721f 100644 --- a/code/game/gamemodes/bloodsucker/bloodsucker.dm +++ b/code/game/gamemodes/bloodsucker/bloodsucker.dm @@ -9,8 +9,12 @@ var/list/vassal_allowed_antags = list(/datum/antagonist/brother, /datum/antagonist/traitor, /datum/antagonist/traitor/internal_affairs, /datum/antagonist/survivalist, \ /datum/antagonist/rev, /datum/antagonist/nukeop, /datum/antagonist/pirate, /datum/antagonist/cult, /datum/antagonist/abductee, /datum/antagonist/valentine, /datum/antagonist/heartbreaker,) // The antags you're allowed to be if turning Vassal. -/proc/isbloodsucker(mob/living/M) - return istype(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/bloodsucker) + +/proc/AmBloodsucker(mob/living/M, falseIfInDisguise = FALSE) + // No Datum + if(!M.mind || !M.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) + return FALSE + return TRUE /datum/game_mode/bloodsucker name = "bloodsucker" diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 323d82e0bc..02016ab0bb 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -159,7 +159,7 @@ mess = TRUE update_icon() return FALSE - if(isbloodsucker(clonemind)) //If the mind is a bloodsucker + if(AmBloodsucker(clonemind)) //If the mind is a bloodsucker return FALSE attempting = TRUE //One at a time!! diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_integration.dm b/code/modules/antagonists/bloodsucker/bloodsucker_integration.dm index 3a6b4efedb..98fb69e52c 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_integration.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_integration.dm @@ -1,12 +1,6 @@ // INTEGRATION: Adding Procs and Datums to existing "classes" -/mob/living/proc/AmBloodsucker(falseIfInDisguise=FALSE) - // No Datum - if(!mind || !mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) - return FALSE - return TRUE - -/mob/living/proc/HaveBloodsuckerBodyparts(var/displaymessage="") // displaymessage can be something such as "rising from death" for Torpid Sleep. givewarningto is the person receiving messages. +/mob/living/proc/HaveBloodsuckerBodyparts(displaymessage = "") // displaymessage can be something such as "rising from death" for Torpid Sleep. givewarningto is the person receiving messages. if(!getorganslot(ORGAN_SLOT_HEART)) if(displaymessage != "") to_chat(src, "Without a heart, you are incapable of [displaymessage].") @@ -21,33 +15,6 @@ return FALSE return TRUE - - -// GET DAMAGE - - -// Do NOT count the damage on prosthetics for this. -/mob/living/proc/getBruteLoss_nonProsthetic() - return getBruteLoss() - -/mob/living/proc/getFireLoss_nonProsthetic() - return getFireLoss() - -/mob/living/carbon/getBruteLoss_nonProsthetic() - var/amount = 0 - for(var/obj/item/bodypart/BP in bodyparts) - if(BP.status < 2) - amount += BP.brute_dam - return amount - -/mob/living/carbon/getFireLoss_nonProsthetic() - var/amount = 0 - for(var/obj/item/bodypart/BP in bodyparts) - if(BP.status < 2) - amount += BP.burn_dam - return amount - -/mob/living/carbon // EXAMINING /mob/living/carbon/human/proc/ReturnVampExamine(var/mob/viewer) if(!mind || !viewer.mind) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index b4fe2c012e..af2fd1b374 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -99,7 +99,7 @@ var/amInCoffinWhileTorpor = istype(C.loc, /obj/structure/closet/crate/coffin) && (mult == 0 || HAS_TRAIT(C, TRAIT_DEATHCOMA)) // Check for mult 0 OR death coma. (mult 0 means we're testing from coffin) if(amInCoffinWhileTorpor) mult *= 4 // Increase multiplier if we're sleeping in a coffin. - fireheal = min(C.getFireLoss_nonProsthetic(), regenRate) // NOTE: Burn damage ONLY heals in torpor. + fireheal = min(C.getFireLoss(), regenRate) // NOTE: Burn damage ONLY heals in torpor. costMult = 0.25 C.ExtinguishMob() CureDisabilities() // Extinguish Fire @@ -113,7 +113,7 @@ //if (C.getFireLoss() > owner.current.getMaxHealth()) // fireheal = regenRate / 2 // BRUTE: Always Heal - var/bruteheal = min(C.getBruteLoss_nonProsthetic(), regenRate) + var/bruteheal = min(C.getBruteLoss(), regenRate) var/toxinheal = min(C.getToxLoss(), regenRate) // Heal if Damaged if(bruteheal + fireheal + toxinheal > 0) // Just a check? Don't heal/spend, and return. @@ -130,24 +130,23 @@ return TRUE // Healed! Done for this tick. if(amInCoffinWhileTorpor) // Limbs? (And I have no other healing) var/list/missing = owner.current.get_missing_limbs() // Heal Missing - if (missing.len) // Cycle through ALL limbs and regen them! + if(missing.len) // Cycle through ALL limbs and regen them! for (var/targetLimbZone in missing) // 1) Find ONE Limb and regenerate it. owner.current.regenerate_limb(targetLimbZone, 0) // regenerate_limbs() <--- If you want to EXCLUDE certain parts, do it like this ----> regenerate_limbs(0, list("head")) - var/obj/item/bodypart/L = owner.current.get_bodypart( targetLimbZone ) // 2) Limb returns Damaged + var/obj/item/bodypart/L = owner.current.get_bodypart(targetLimbZone) // 2) Limb returns Damaged AddBloodVolume(50 * costMult) // Costs blood to heal L.brute_dam = 60 to_chat(owner.current, "Your flesh knits as it regrows [L]!") playsound(owner.current, 'sound/magic/demon_consume.ogg', 50, 1) // DONE! After regenerating ANY number of limbs, we stop here. return TRUE - /*else // REMOVED: For now, let's just leave prosthetics on. Maybe you WANT to be a robovamp. + else // REMOVED: For now, let's just leave prosthetics on. Maybe you WANT to be a robovamp. In actuality, robovamps are very bad. // Remove Prosthetic/False Limb for(var/obj/item/bodypart/BP in C.bodyparts) - message_admins("T1: [BP] ") - if (istype(BP) && BP.status == 2) - message_admins("T2: [BP] ") + if(istype(BP) && BP.status == 2) + to_chat(owner.current, "Your body expels the [BP]!") BP.drop_limb() - return TRUE */ + return TRUE // NOTE: Limbs have a "status", like their hosts "stat". 2 is dead (aka Prosthetic). 1 seems to be idle/alive.*/ return FALSE @@ -180,7 +179,10 @@ if(owner.current.blood_volume < BLOOD_VOLUME_BAD / 2) owner.current.blur_eyes(8 - 8 * (owner.current.blood_volume / BLOOD_VOLUME_BAD)) // Nutrition - owner.current.nutrition = min(owner.current.blood_volume, NUTRITION_LEVEL_FED) // <-- 350 //NUTRITION_LEVEL_FULL + if(owner.current.blood_volume < BLOOD_VOLUME_NORMAL) + owner.current.nutrition = min(owner.current.blood_volume, NUTRITION_LEVEL_WELL_FED) + else if(owner.current.blood_volume < BLOOD_VOLUME_SAFE) + owner.current.nutrition = min(owner.current.blood_volume, NUTRITION_LEVEL_FED) // <-- 350 //NUTRITION_LEVEL_FULL ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // DEATH @@ -190,7 +192,7 @@ /datum/antagonist/bloodsucker/proc/HandleDeath() // FINAL DEATH // Fire Damage? (above double health) - if(owner.current.getFireLoss_nonProsthetic() >= owner.current.maxHealth * 2.5) + if(owner.current.getFireLoss() >= owner.current.maxHealth * 3) FinalDeath() return // Staked while "Temp Death" or Asleep @@ -210,8 +212,8 @@ // for (var/datum/action/bloodsucker/masquerade/P in powers) // P.Deactivate() // TEMP DEATH - var/total_brute = owner.current.getBruteLoss_nonProsthetic() - var/total_burn = owner.current.getFireLoss_nonProsthetic() + var/total_brute = owner.current.getBruteLoss() + var/total_burn = owner.current.getFireLoss() var/total_toxloss = owner.current.getToxLoss() //This is neater than just putting it in total_damage var/total_damage = total_brute + total_burn + total_toxloss // Died? Convert to Torpor (fake death) @@ -219,7 +221,7 @@ Torpor_Begin() to_chat(owner, "Your immortal body will not yet relinquish your soul to the abyss. You enter Torpor.") sleep(30) //To avoid spam - if (poweron_masquerade == TRUE) + if(poweron_masquerade == TRUE) to_chat(owner, "Your wounds will not heal until you disable the Masquerade power.") // End Torpor: else // No damage, OR toxin healed AND brute healed and NOT in coffin (since you cannot heal burn) @@ -229,17 +231,14 @@ Torpor_End() // Fake Unconscious if(poweron_masquerade == TRUE && total_damage >= owner.current.getMaxHealth() - HEALTH_THRESHOLD_FULLCRIT) - owner.current.Unconscious(20,1) - //HEALTH_THRESHOLD_CRIT 0 - //HEALTH_THRESHOLD_FULLCRIT -30 - //HEALTH_THRESHOLD_DEAD -100 + owner.current.Unconscious(20, 1) -/datum/antagonist/bloodsucker/proc/Torpor_Begin(amInCoffin=FALSE) +/datum/antagonist/bloodsucker/proc/Torpor_Begin(amInCoffin = FALSE) owner.current.stat = UNCONSCIOUS - owner.current.fakedeath("bloodsucker") // Come after UNCONSCIOUS or else it fails + ADD_TRAIT(owner.current, TRAIT_FAKEDEATH, "bloodsucker") // Come after UNCONSCIOUS or else it fails ADD_TRAIT(owner.current, TRAIT_NODEATH, "bloodsucker") // Without this, you'll just keep dying while you recover. ADD_TRAIT(owner.current, TRAIT_RESISTHIGHPRESSURE, "bloodsucker") // So you can heal in 0 G. otherwise you just...heal forever. - ADD_TRAIT(owner.current, TRAIT_RESISTLOWPRESSURE, "bloodsucker") // So you can heal in 0 G. otherwise you just...heal forever. + ADD_TRAIT(owner.current, TRAIT_RESISTLOWPRESSURE, "bloodsucker") // Visuals owner.current.update_sight() owner.current.reload_fullscreen() @@ -248,10 +247,9 @@ if(power.active && !power.can_use_in_torpor) power.DeactivatePower() - /datum/antagonist/bloodsucker/proc/Torpor_End() + REMOVE_TRAIT(owner.current, TRAIT_FAKEDEATH, "bloodsucker") owner.current.stat = SOFT_CRIT - owner.current.cure_fakedeath("bloodsucker") // Come after SOFT_CRIT or else it fails REMOVE_TRAIT(owner.current, TRAIT_NODEATH, "bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_RESISTHIGHPRESSURE, "bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_RESISTLOWPRESSURE, "bloodsucker") @@ -288,14 +286,15 @@ owner.current.visible_message("[owner.current]'s skin crackles and dries, their skin and bones withering to dust. A hollow cry whips from what is now a sandy pile of remains.", \ "Your soul escapes your withering body as the abyss welcomes you to your Final Death.", \ "You hear a dry, crackling sound.") + sleep(50) owner.current.dust() // Fledglings get Gibbed else owner.current.visible_message("[owner.current]'s skin bursts forth in a spray of gore and detritus. A horrible cry echoes from what is now a wet pile of decaying meat.", \ "Your soul escapes your withering body as the abyss welcomes you to your Final Death.", \ "You hear a wet, bursting sound.") - owner.current.gib(TRUE, FALSE, FALSE)//Brain cloning is wierd and allows hellbounds. Lets destroy the brain for safety. - playsound(owner.current.loc, 'sound/effects/tendril_destroyed.ogg', 40, 1) + owner.current.gib(TRUE, FALSE, FALSE) //Brain cloning is wierd and allows hellbounds. Lets destroy the brain for safety. + playsound(owner.current, 'sound/effects/tendril_destroyed.ogg', 40, TRUE) @@ -305,15 +304,15 @@ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -/mob/proc/CheckBloodsuckerEatFood(var/food_nutrition) +/mob/proc/CheckBloodsuckerEatFood(food_nutrition) if(!isliving(src)) return var/mob/living/L = src - if(!L.AmBloodsucker()) + if(!AmBloodsucker(L)) return // We're a bloodsucker? Try to eat food... - var/datum/antagonist/bloodsucker/bloodsuckerdatum = mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) - bloodsuckerdatum.bloodsucker_disgust(food_nutrition) + var/datum/antagonist/bloodsucker/B = L.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) + B.handle_eat_human_food(food_nutrition) /datum/antagonist/bloodsucker/proc/handle_eat_human_food(food_nutrition, puke_blood = TRUE, masquerade_override) // Called from snacks.dm and drinks.dm diff --git a/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm b/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm index 419093d153..c5f24ab537 100644 --- a/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm +++ b/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm @@ -132,7 +132,7 @@ /obj/structure/bloodsucker/vassalrack/MouseDrop_T(atom/movable/O, mob/user) if(!O.Adjacent(src) || O == user || !isliving(O) || !isliving(user) || useLock || has_buckled_mobs() || user.incapacitated()) return - if(!anchored && isbloodsucker(user)) + if(!anchored && AmBloodsucker(user)) to_chat(user, "Until this rack is secured in place, it cannot serve its purpose.") return // PULL TARGET: Remember if I was pullin this guy, so we can restore this @@ -185,7 +185,7 @@ /obj/structure/bloodsucker/vassalrack/user_unbuckle_mob(mob/living/M, mob/user) // Attempt Unbuckle - if(!isbloodsucker(user)) + if(!AmBloodsucker(user)) if(M == user) M.visible_message("[user] tries to release themself from the rack!",\ "You attempt to release yourself from the rack!") // For sound if not seen --> "You hear a squishy wet noise.") @@ -462,7 +462,7 @@ /obj/structure/bloodsucker/candelabrum/examine(mob/user) . = ..() - if((isbloodsucker()) || isobserver(user)) + if((AmBloodsucker(user)) || isobserver(user)) . += {"This is a magical candle which drains at the sanity of mortals who are not under your command while it is active."} . += {"You can alt click on it from any range to turn it on remotely, or simply be next to it and click on it to turn it on and off normally."} /* if(user.mind.has_antag_datum(ANTAG_DATUM_VASSAL) @@ -471,12 +471,12 @@ /obj/structure/bloodsucker/candelabrum/attack_hand(mob/user) var/datum/antagonist/vassal/T = user.mind.has_antag_datum(ANTAG_DATUM_VASSAL) - if(isbloodsucker(user) || istype(T)) + if(AmBloodsucker(user) || istype(T)) toggle() /obj/structure/bloodsucker/candelabrum/AltClick(mob/user) // Bloodsuckers can turn their candles on from a distance. SPOOOOKY. - if(isbloodsucker(user)) + if(AmBloodsucker(user)) toggle() /obj/structure/bloodsucker/candelabrum/proc/toggle(mob/user) @@ -493,7 +493,7 @@ if(lit) for(var/mob/living/carbon/human/H in viewers(7, src)) var/datum/antagonist/vassal/T = H.mind.has_antag_datum(ANTAG_DATUM_VASSAL) - if(isbloodsucker(H) || T) //We dont want vassals or vampires affected by this + if(AmBloodsucker(H) || T) //We dont want vassals or vampires affected by this return H.hallucination = 20 SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "vampcandle", /datum/mood_event/vampcandle) diff --git a/code/modules/antagonists/bloodsucker/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm index 178a5afd84..b0678d5ff4 100644 --- a/code/modules/antagonists/bloodsucker/powers/feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -267,7 +267,7 @@ to_chat(user, "You are full. Further blood will be wasted.") warning_full = TRUE // Blood Remaining? (Carbons/Humans only) - if(iscarbon(target) && !target.AmBloodsucker(1)) + if(iscarbon(target) && !AmBloodsucker(target, TRUE)) if(target.blood_volume <= BLOOD_VOLUME_BAD && warning_target_bloodvol > BLOOD_VOLUME_BAD) to_chat(user, "Your victim's blood volume is fatally low!") else if(target.blood_volume <= BLOOD_VOLUME_OKAY && warning_target_bloodvol > BLOOD_VOLUME_OKAY) diff --git a/code/modules/antagonists/bloodsucker/powers/fortitude.dm b/code/modules/antagonists/bloodsucker/powers/fortitude.dm index f0724f8204..a58034df0d 100644 --- a/code/modules/antagonists/bloodsucker/powers/fortitude.dm +++ b/code/modules/antagonists/bloodsucker/powers/fortitude.dm @@ -33,6 +33,15 @@ if(was_running) user.toggle_move_intent() while(bloodsuckerdatum && ContinueActive(user) || user.m_intent == MOVE_INTENT_RUN) + if(istype(user.buckled, /obj/vehicle)) //We dont want people using fortitude being able to use vehicles + var/obj/vehicle/V = user.buckled + var/datum/component/riding/VRD = V.GetComponent(/datum/component/riding) + if(VRD) + VRD.force_dismount(user) + to_chat(user, "You trip off the [V], your muscles too heavy for it to support you.") + else + V.unbuckle_mob(user, force = TRUE) + to_chat(user, "You fall off the [V], your weight making you too heavy to be supported by it.") // Pay Blood Toll (if awake) if(user.stat == CONSCIOUS) bloodsuckerdatum.AddBloodVolume(-0.5) // Used to be 0.3 blood per 2 seconds, but we're making it more expensive to keep on. diff --git a/code/modules/hydroponics/grown/replicapod.dm b/code/modules/hydroponics/grown/replicapod.dm index 3769f9eacc..aeddf771b8 100644 --- a/code/modules/hydroponics/grown/replicapod.dm +++ b/code/modules/hydroponics/grown/replicapod.dm @@ -78,7 +78,7 @@ make_podman = 1 break else - if(M.ckey == ckey && M.stat == DEAD && !M.suiciding) + if(M.ckey == ckey && M.stat == DEAD && !M.suiciding && AmBloodsucker(M)) make_podman = 1 if(isliving(M)) var/mob/living/L = M diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index 3b449ade7d..c89698530f 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -88,7 +88,7 @@ else to_chat(user, "You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments.") SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) - if(!isbloodsucker(H)) + if(!AmBloodsucker(H)) H.revive(full_heal = TRUE) else H.revive(full_heal = FALSE) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index de65b775b4..9640c72481 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -252,7 +252,7 @@ return 0 if(M.getorgan(/obj/item/organ/alien/hivenode)) return 0 - if(isbloodsucker(M)) + if(AmBloodsucker(M)) return 0 if(ismonkey(M)) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 6e2398c487..fb06ec8186 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -853,7 +853,7 @@ /mob/living/carbon/proc/can_defib() var/tlimit = DEFIB_TIME_LIMIT * 10 var/obj/item/organ/heart = getorgan(/obj/item/organ/heart) - if(suiciding || hellbound || HAS_TRAIT(src, TRAIT_HUSK) || isbloodsucker()) + if(suiciding || hellbound || HAS_TRAIT(src, TRAIT_HUSK) || AmBloodsucker()) return if((world.time - timeofdeath) > tlimit) return diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index bac8053c9a..a7e739b70e 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -354,7 +354,7 @@ if(m_intent == MOVE_INTENT_RUN) m_intent = MOVE_INTENT_WALK else - if (HAS_TRAIT(src,TRAIT_NORUNNING)) // FULPSTATION 7/10/19 So you can't run during fortitude. + if (HAS_TRAIT(src,TRAIT_NORUNNING)) to_chat(src, "You find yourself unable to run.") return FALSE m_intent = MOVE_INTENT_RUN diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 384a113b27..5eb5b94de9 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -214,7 +214,7 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) //For easy bloodsucker disgusting and blood removal /datum/reagent/proc/disgust_bloodsucker(mob/living/carbon/C, disgust, blood_change, blood_puke = TRUE, force) - if(isvamp(C)) + if(AmBloodsucker(C)) var/datum/antagonist/bloodsucker/bloodsuckerdatum = C.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) if(disgust) bloodsuckerdatum.handle_eat_human_food(disgust, blood_puke, force) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index b7f32421aa..a7c0d55bb6 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -579,7 +579,7 @@ All effects don't start immediately, but rather get worse over time; the rate is value = 1.3 /datum/reagent/consumable/ethanol/bloody_mary/on_mob_life(mob/living/carbon/C) - if(isvamp(C)) + if(AmBloodsucker(C)) disgust_bloodsucker(FALSE, 1) //Bloodsuckers get SOME blood from it, for style reasons. if(C.blood_volume < (BLOOD_VOLUME_NORMAL*C.blood_ratio)) C.blood_volume = min((BLOOD_VOLUME_NORMAL*C.blood_ratio), C.blood_volume + 3) //Bloody Mary quickly restores blood loss. diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index d6715988be..837c3614a8 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -448,7 +448,7 @@ ..() /datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method, reac_volume) - if(isbloodsucker(M)) + if(AmBloodsucker(M)) switch(method) if(INGEST) if(prob(min(30, current_cycle))) From fdc6a02eea369ec293e9656d50dc5ff7eb188157 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 25 Mar 2020 12:46:42 +0200 Subject: [PATCH 039/271] Hm --- code/_onclick/item_attack.dm | 2 +- .../crafting/recipes/recipes_clothing.dm | 9 ++++++ .../game/gamemodes/bloodsucker/bloodsucker.dm | 2 +- code/game/objects/items/stacks/medical.dm | 4 +++ .../bloodsucker/bloodsucker_life.dm | 26 +++++++++++++++--- .../bloodsucker/bloodsucker_powers.dm | 6 ++++ .../bloodsucker/datum_bloodsucker.dm | 6 ++-- .../antagonists/bloodsucker/powers/cloak.dm | 2 +- code/modules/hydroponics/grown/garlic.dm | 4 ++- .../living/carbon/alien/special/facehugger.dm | 14 +++++----- .../carbon/human/species_types/vampire.dm | 4 +-- .../chemistry/reagents/food_reagents.dm | 1 + icons/mob/neck.dmi | Bin 45707 -> 45980 bytes icons/obj/clothing/neck.dmi | Bin 2866 -> 2996 bytes 14 files changed, 60 insertions(+), 20 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index fe407509fe..baa1add7e1 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -119,7 +119,7 @@ send_item_attack_message(I, user) if(I.force) apply_damage(totitemdamage, I.damtype) //CIT CHANGE - replaces I.force with totitemdamage - if(I.damtype == BRUTE && !HAS_TRAIT(src, TRAIT_NOMARROW)) + if(I.damtype == BRUTE) if(prob(33)) I.add_mob_blood(src) var/turf/location = get_turf(src) diff --git a/code/datums/components/crafting/recipes/recipes_clothing.dm b/code/datums/components/crafting/recipes/recipes_clothing.dm index 5636be6b2a..fb3500a037 100644 --- a/code/datums/components/crafting/recipes/recipes_clothing.dm +++ b/code/datums/components/crafting/recipes/recipes_clothing.dm @@ -287,3 +287,12 @@ /obj/item/bedsheet/cosmos = 1) time = 60 category = CAT_CLOTHING + + +/datum/crafting_recipe/wintercoat_cosmic + name = "Cosmic Winter Coat" + result = /obj/item/clothing/neck/garlic_necklace + reqs = list(/obj/item/reagent_containers/food/snacks/grown/garlic = 15, + /obj/item/stack/cable_coil = 10) + time = 100 //Takes awhile to put all the garlics on the coil and knot it. + category = CAT_CLOTHING diff --git a/code/game/gamemodes/bloodsucker/bloodsucker.dm b/code/game/gamemodes/bloodsucker/bloodsucker.dm index 58559b721f..7f9873cfb0 100644 --- a/code/game/gamemodes/bloodsucker/bloodsucker.dm +++ b/code/game/gamemodes/bloodsucker/bloodsucker.dm @@ -262,7 +262,7 @@ target.mind.add_antag_datum(V, V.master.get_team()) // Update Bloodsucker Title (we're a daddy now) B.SelectTitle(am_fledgling = FALSE) // Only works if you have no title yet. - // lOg it + // Log it message_admins("[target] has become a Vassal, and is enslaved to [creator].") log_admin("[target] has become a Vassal, and is enslaved to [creator].") return TRUE diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 205ce57251..50e9b94e97 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -72,6 +72,8 @@ to_chat(user, " [M] is at full health.") return FALSE user.visible_message("[user] applies \the [src] on [M].", "You apply \the [src] on [M].") + if(AmBloodsucker(M)) + return M.heal_bodypart_damage((heal_brute/2)) return TRUE if(iscarbon(M)) @@ -148,6 +150,8 @@ return if(iscarbon(M)) return heal_carbon(M, user, 0, heal_burn) + if(AmBloodsucker(M)) + return to_chat(user, "You can't heal [M] with the \the [src]!") /obj/item/stack/medical/ointment/suicide_act(mob/living/user) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index af2fd1b374..01e8774c27 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -12,7 +12,7 @@ /datum/antagonist/bloodsucker/proc/LifeTick()// Should probably run from life.dm, same as handle_changeling, but will be an utter pain to move set waitfor = FALSE // Don't make on_gain() wait for this function to finish. This lets this code run on the side. - var/notice_healing = FALSE + var/notice_healing while(owner && !AmFinalDeath()) // owner.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) == src if(owner.current.stat == CONSCIOUS && !poweron_feed && !HAS_TRAIT(owner.current, TRAIT_DEATHCOMA)) // Deduct Blood AddBloodVolume(-0.1) // -.15 (before tick went from 10 to 30, but we also charge more for faking life now) @@ -82,16 +82,32 @@ /datum/antagonist/bloodsucker/proc/HandleHealing(mult = 1) // NOTE: Mult of 0 is just a TEST to see if we are injured and need to go into Torpor! //It is called from your coffin on close (by you only) - if(poweron_masquerade == TRUE || owner.current.AmStaked() || owner.current.reagents?.has_reagent(/datum/reagent/consumable/garlic)) + var/notice_garlic + var/notice_necklace + if(poweron_masquerade == TRUE || owner.current.AmStaked()) + return FALSE + if(owner.current.reagents?.has_reagent(/datum/reagent/consumable/garlic)) + if(notice_garlic) + to_chat(owner.current, "Garlic in your blood is interfering with your regeneration!") + notice_garlic = TRUE + return FALSE + if(istype(owner.current.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/garlic_necklace)) + if(notice_necklace) + to_chat(owner.current, "The necklace on your neck is interrupting your healing!") + notice_necklace = TRUE return FALSE owner.current.adjustStaminaLoss(-1.5 + (regenRate * -7) * mult, 0) // Humans lose stamina damage really quickly. Vamps should heal more. owner.current.adjustCloneLoss(-0.1 * (regenRate * 2) * mult, 0) owner.current.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1 * (regenRate * 4) * mult) //adjustBrainLoss(-1 * (regenRate * 4) * mult, 0) + if(notice_garlic) + notice_garlic = FALSE + if(notice_necklace) + notice_necklace = FALSE // No Bleeding if(ishuman(owner.current)) //NOTE Current bleeding is horrible, not to count the amount of blood ballistics delete. var/mob/living/carbon/human/H = owner.current if(H.bleed_rate > 0) //Only heal bleeding if we are actually bleeding - H.bleed_rate =- 0.5 + regenRate * mult + H.bleed_rate =- 0.5 + regenRate * 0.2 * mult if(iscarbon(owner.current)) // Damage Heal: Do I have damage to ANY bodypart? var/mob/living/carbon/C = owner.current var/costMult = 1 // Coffin makes it cheaper @@ -235,6 +251,7 @@ /datum/antagonist/bloodsucker/proc/Torpor_Begin(amInCoffin = FALSE) owner.current.stat = UNCONSCIOUS + owner.current.apply_status_effect(STATUS_EFFECT_UNCONSCIOUS) ADD_TRAIT(owner.current, TRAIT_FAKEDEATH, "bloodsucker") // Come after UNCONSCIOUS or else it fails ADD_TRAIT(owner.current, TRAIT_NODEATH, "bloodsucker") // Without this, you'll just keep dying while you recover. ADD_TRAIT(owner.current, TRAIT_RESISTHIGHPRESSURE, "bloodsucker") // So you can heal in 0 G. otherwise you just...heal forever. @@ -248,8 +265,9 @@ power.DeactivatePower() /datum/antagonist/bloodsucker/proc/Torpor_End() - REMOVE_TRAIT(owner.current, TRAIT_FAKEDEATH, "bloodsucker") owner.current.stat = SOFT_CRIT + owner.current.remove_status_effect(STATUS_EFFECT_UNCONSCIOUS) + owner.current.cure_fakedeath("bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_NODEATH, "bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_RESISTHIGHPRESSURE, "bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_RESISTLOWPRESSURE, "bloodsucker") diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm b/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm index 507e1f2739..abfd2d120f 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm @@ -93,6 +93,12 @@ if(display_error) to_chat(owner, "You have a stake in your chest! Your powers are useless.") return FALSE + if(istype(owner.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/garlic_necklace)) + to_chat(owner, "") + return FALSE + if(owner.reagents?.has_reagent(/datum/reagent/consumable/garlic)) + to_chat(owner, "Garlic in your blood is interfering with your powers!") + return FALSE // Incap? if(must_be_capacitated) var/mob/living/L = owner diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index 20ce602fce..1821ec2f3d 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -22,7 +22,7 @@ // STATS var/vamplevel = 0 var/vamplevel_unspent = 1 - var/regenRate = 0.4 // How many points of Brute do I heal per tick? + var/regenRate = 0.4 // How fast do I regenerate? var/feedAmount = 15 // Amount of blood drawn from a target per tick. var/maxBloodVolume = 600 // Maximum blood a Vamp can hold via feeding. // BLOOD_VOLUME_NORMAL 550 // BLOOD_VOLUME_SAFE 475 //BLOOD_VOLUME_OKAY 336 //BLOOD_VOLUME_BAD 224 // BLOOD_VOLUME_SURVIVE 122 // OBJECTIVES @@ -47,8 +47,8 @@ SSticker.mode.bloodsuckers |= owner // Add if not already in here (and you might be, if you were picked at round start) SSticker.mode.check_start_sunlight()// Start Sunlight? (if first Vamp) SelectFirstName()// Name & Title - SelectTitle(am_fledgling=TRUE) // If I have a creator, then set as Fledgling. - SelectReputation(am_fledgling=TRUE) + SelectTitle(am_fledgling = TRUE) // If I have a creator, then set as Fledgling. + SelectReputation(am_fledgling = TRUE) AssignStarterPowersAndStats()// Give Powers & Stats forge_bloodsucker_objectives()// Objectives & Team update_bloodsucker_icons_added(owner.current, "bloodsucker") // Add Antag HUD diff --git a/code/modules/antagonists/bloodsucker/powers/cloak.dm b/code/modules/antagonists/bloodsucker/powers/cloak.dm index 1bb7b02357..a616c39923 100644 --- a/code/modules/antagonists/bloodsucker/powers/cloak.dm +++ b/code/modules/antagonists/bloodsucker/powers/cloak.dm @@ -2,7 +2,7 @@ /datum/action/bloodsucker/cloak name = "Cloak of Darkness" - desc = "Blend into the shadows and become invisible to the untrained eye. Movement is slowed in brightly lit areas." + desc = "Blend into the shadows and become invisible to the untrained eye. Movement is slowed in brightly lit areas, and you cannot dissapear while mortals watch you." button_icon_state = "power_cloak" bloodcost = 5 cooldown = 50 diff --git a/code/modules/hydroponics/grown/garlic.dm b/code/modules/hydroponics/grown/garlic.dm index 7ee8aab9a8..fd24376282 100644 --- a/code/modules/hydroponics/grown/garlic.dm +++ b/code/modules/hydroponics/grown/garlic.dm @@ -23,6 +23,8 @@ /obj/item/clothing/neck/garlic_necklace name = "garlic necklace" - desc = "A clove of garlic on a string, tied to itself in a circle, just might fit around your neck. For paranoid people who fear getting their blood sucked." + desc = "A clove of garlic on a cable, tied to itself in a circle, just might fit around your neck. For loonies people who fear getting their blood sucked." icon_state = "garlic_necklace" + item_state = "garlic_necklace" + alternate_worn_icon = 'icons/mob/neck.dmi' \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 9640c72481..eb1b38b9ff 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -247,13 +247,13 @@ /proc/CanHug(mob/living/M) if(!istype(M)) - return 0 + return FALSE if(M.stat == DEAD) - return 0 + return FALSE if(M.getorgan(/obj/item/organ/alien/hivenode)) - return 0 + return FALSE if(AmBloodsucker(M)) - return 0 + return FALSE if(ismonkey(M)) return 1 @@ -262,9 +262,9 @@ if(ishuman(C) && !(SLOT_WEAR_MASK in C.dna.species.no_equip)) var/mob/living/carbon/human/H = C if(H.is_mouth_covered(head_only = 1)) - return 0 - return 1 - return 0 + return FALSE + return TRUE + return FALSE #undef MIN_ACTIVE_TIME #undef MAX_ACTIVE_TIME diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index b62b8304da..6a4ef2e9d9 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -82,7 +82,7 @@ to_chat(H, "You're already full!") return //This checks whether or not they are wearing a garlic clove on their neck - if(sucking_checks(victim, TRUE, FALSE)) + if(!sucking_checks(victim, TRUE, FALSE)) return if(victim.stat == DEAD) to_chat(H, "You need a living victim!") @@ -96,7 +96,7 @@ to_chat(H, "[victim] is blessed! You stop just in time to avoid catching fire.") return //Here we check now for both the garlic cloves on the neck and for blood in the victims bloodstream. - if(sucking_checks(victim, TRUE, TRUE)) + if(!sucking_checks(victim, TRUE, TRUE)) return if(!do_after(H, 30, target = victim)) return diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 837c3614a8..ce276a0d8b 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -18,6 +18,7 @@ /datum/reagent/consumable/on_mob_life(mob/living/carbon/M) current_cycle++ M.nutrition += nutriment_factor + M.CheckBloodsuckerEatFood(nutriment_factor) holder.remove_reagent(type, metabolization_rate) /datum/reagent/consumable/reaction_mob(mob/living/M, method=TOUCH, reac_volume) diff --git a/icons/mob/neck.dmi b/icons/mob/neck.dmi index de59a136d99ca23e0b751b962395756793bcaafb..d899950b791ce189c53b278e03adf02163ad67a3 100644 GIT binary patch delta 3295 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 delta 3009 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 DO}7Xq diff --git a/icons/obj/clothing/neck.dmi b/icons/obj/clothing/neck.dmi index 0bdaa36e6248c6651f423569e52749145389f88c..ea44ae0a7c1ef53a3ef91b29ff6da5ca40799b05 100644 GIT binary patch delta 2685 zcmV-@3WD{r7PJ?TBmq9LB{Knk?%kvI?ak`fnDXA$^5(pGG0MpR0004WQchCV=-0C=30l(9|&F${+1%Tq+{45Glwf?8D_=qn&6aWB^8 zl9S_t;OPkzA$36K+wAE3f7!B~wSC_04@bLwIhZ%(N+sJT`*?e2x_1hH5?k_cZ@P%o zN4X?bK(K`?m(D1JE7Jwy+FmxMJ28xSiT^mppuu8cCYMx}RZwE7zD)D1OW+5UsRusI zQlID;bf}L^RYs^fyb9BVp=ZRrNbx<0MS?aF9Y3M?k`l0^)MDxydf-IONYc zOp9Alsn!4gAJ{qP-asVx+*rGrJZoN*#OFftd){;3bFVRsNS~^IVln-AJgy&4BtGu` z$)tWfHu6YI7$1GCB}|N^K8i3o{zOk0o6r-+C-sDhbSnKZgvlvAVQge#VnhQNADx^W z)c__^>1iG?lkw#npPCxi1I|oLXaQ#@C$)enzQ$SO4uH9-DGeYPI5ROb!v+NmoSmGV zWrG3*9-AIZtAdh$rFS1fFfccj%ke>pJsO#a!8GJdj6WWojKef!OiWCt(?Bbi%iBL^aD&Lb2&|b2@mqC#e@7R_)@7Jk~&or#28#uf)%5GgGAh&gK z08!+BpmGo65aP_6&*wdSxO4IOFX`V9QR+Sbg!A*B@`g%K=1}uRiWDi*f2@LOE-Yxq ziPuGStu~$h_}3K6^jo_HITqFOQn*UP~chRayb}6lkk4{VP!=PXc69z zKd!C@1xR=(HK9d#D4uYQ#NWeje4WG$7R=IriU2fCQ!!q&%BupLcj6#ot>TC z-MzhCrH2wwCYc44Nmc_?Dvh{YjItLH5-b}HMp*?|!P|59&s8_)z&<|1`?c*Yu#e9$ z_$B};D?@;gVem}=QdSgzb!amcexdLiKipm4+uLIn63Vaubhb3N`7px*(Am;|C;+m$ zWh~d6gGtCPA~*-PU=lKekPt*H6`W2ploCh?B9@Czr%|K?02}=6{l^b?cMiER;F5?7 z&X(pDAaF^}VTr!pl3k8G%K%xU=*Z8urTwE+76aW$(AnR}T z@9KAWEuoKC>=GUU*){$Lyq3{NEOr@>fc%hvui*7NK>=I=kBB_bYk2*CK~Ml!#3Ld< zuwF?Y1so#Z)@$jbfJ5X5*DDF>g%f%$Ap?PP#KAcV6fRPv|AAVzeRLEwghq&Wd~CN` zL4z<7cy_zp4kw{acz^zRauQZR!b63Wuw}PT1fXr(LBlB2YPSR+MkU06GRZ;HC}i6w zt+vFoZPg?^eRKK-eonc6D|9wG8}QS)FM;zw6sJ!08%I|9d>((8&h_>aGs~0mOczIq^0coFDF^7f^sX#}5b8 zUSA|wHX4kwH^<=po3pbwvJwhHKr@UDS!uP-&NPH@eZ%0c4;co3-vl6KMbT(ZPtX4P z>x|<=!ofSk2jABb4&FU{m|+3vY-v9H2L8JL_aPyO*lszUhFOkvCAy35`+eY&h)2$r zCS3akQCdK>Wg`q9VEg2R`V567e0##9))DNZPuezl39Mn;RUaG2t)mt~0U*%qq2My)cTX_9VPypA$BO-@PZ>5g{4v|Brw-PdxaE?L^7b#MtNRc9a zoVw?zZqOK<0Pg~iVMXi;JUqMT1_{Ec&xhyCXFB~iW|*GKuphYWT{fHW#(rP>eDRz) zA12iBAzX)lxOIte2+0uoJYVz&bRN1e4_`V1hm{|=> z;qz_!h;Fcd#{|T6eV-e!4JIt&>l+Gn!@O58sK1RgVl`# zcokB>YsFcZL%?xm|Nr`yr)&KKI@QcoR&C z_0Q*Sf-kYp^Ep?I11ho4^Enq)fUBME`CQl=^}xcwD(s{F9wDr2alf)5tuW|4);6pK rMp11;TVN9GsDnm`6e&`qPfY&+-(PbFg4`VK00000NkvXXu0mjf4fXKt delta 2554 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 Q^Z)<=07*qoM6N<$f@%1{O#lD@ From 7d22cb00d03b31b63cd79661b9dacb1063d398c1 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 25 Mar 2020 19:32:46 +0200 Subject: [PATCH 040/271] Mixes and fixes --- code/__HELPERS/unsorted.dm | 3 - code/_onclick/hud/human.dm | 2 +- .../game/gamemodes/bloodsucker/bloodsucker.dm | 2 +- .../bloodsucker/bloodsucker_life.dm | 51 +++----- .../bloodsucker/bloodsucker_powers.dm | 6 +- .../bloodsucker/bloodsucker_sunlight.dm | 10 +- .../bloodsucker/datum_bloodsucker.dm | 120 ++++++++---------- .../bloodsucker/objects/bloodsucker_crypt.dm | 4 +- .../antagonists/bloodsucker/powers/feed.dm | 4 +- code/modules/language/vampiric.dm | 2 +- .../carbon/human/species_types/jellypeople.dm | 2 +- .../chemistry/reagents/food_reagents.dm | 6 +- 12 files changed, 97 insertions(+), 115 deletions(-) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index e0300eca10..1240c38d93 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1573,11 +1573,8 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) return TRUE if(check_neck) if(istype(target.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/garlic_necklace)) - to_chat(src, "[target] is wearing a garlic clove around their neck! You cant drink from them while it is on them!") return FALSE if(check_blood) if(target.reagents.has_reagent(/datum/reagent/consumable/garlic)) - to_chat(target, "[src] tries to bite you, but recoils in disgust!") - to_chat(src, "[target] reeks of garlic! you can't bring yourself to drain such tainted blood.") return FALSE return TRUE diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 490f0aa0f0..328e008f10 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -367,7 +367,7 @@ blood_display.hud = src infodisplay += blood_display - vamprank_display = new /obj/screen/bloodsucker/rank_counter // Vampire Rank + vamprank_display = new /obj/screen/bloodsucker/rank_counter // Bloodsucker Rank vamprank_display.hud = src infodisplay += vamprank_display diff --git a/code/game/gamemodes/bloodsucker/bloodsucker.dm b/code/game/gamemodes/bloodsucker/bloodsucker.dm index 7f9873cfb0..adcb80ff07 100644 --- a/code/game/gamemodes/bloodsucker/bloodsucker.dm +++ b/code/game/gamemodes/bloodsucker/bloodsucker.dm @@ -133,7 +133,7 @@ // Not High Enough if(creator) var/datum/antagonist/bloodsucker/creator_bloodsucker = creator.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) - if(!istype(creator_bloodsucker) || creator_bloodsucker.vamplevel < BLOODSUCKER_LEVEL_TO_EMBRACE) + if(!istype(creator_bloodsucker) || creator_bloodsucker.bloodsucker_level < BLOODSUCKER_LEVEL_TO_EMBRACE) to_chat(creator, "Your blood is too thin to turn this corpse!") return FALSE return TRUE diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index 01e8774c27..90919a4e80 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -15,7 +15,7 @@ var/notice_healing while(owner && !AmFinalDeath()) // owner.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) == src if(owner.current.stat == CONSCIOUS && !poweron_feed && !HAS_TRAIT(owner.current, TRAIT_DEATHCOMA)) // Deduct Blood - AddBloodVolume(-0.1) // -.15 (before tick went from 10 to 30, but we also charge more for faking life now) + AddBloodVolume(passive_blood_drain) // -.1 currently if(HandleHealing(1)) // Heal if(notice_healing == FALSE && owner.current.blood_volume > 0) to_chat(owner, "The power of your blood begins knitting your wounds...") @@ -39,12 +39,12 @@ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /datum/antagonist/bloodsucker/proc/AddBloodVolume(value) - owner.current.blood_volume = CLAMP(owner.current.blood_volume + value, 0, maxBloodVolume) + owner.current.blood_volume = CLAMP(owner.current.blood_volume + value, 0, max_blood_volume) update_hud() /datum/antagonist/bloodsucker/proc/HandleFeeding(mob/living/carbon/target, mult=1) // mult: SILENT feed is 1/3 the amount - var/blood_taken = min(feedAmount, target.blood_volume) * mult // Starts at 15 (now 8 since we doubled the Feed time) + var/blood_taken = min(feed_amount, target.blood_volume) * mult // Starts at 15 (now 8 since we doubled the Feed time) target.blood_volume -= blood_taken // Simple Animals lose a LOT of blood, and take damage. This is to keep cats, cows, and so forth from giving you insane amounts of blood. if(!ishuman(target)) @@ -82,32 +82,21 @@ /datum/antagonist/bloodsucker/proc/HandleHealing(mult = 1) // NOTE: Mult of 0 is just a TEST to see if we are injured and need to go into Torpor! //It is called from your coffin on close (by you only) - var/notice_garlic - var/notice_necklace + var/actual_regen = regen_rate + additional_regen if(poweron_masquerade == TRUE || owner.current.AmStaked()) return FALSE - if(owner.current.reagents?.has_reagent(/datum/reagent/consumable/garlic)) - if(notice_garlic) - to_chat(owner.current, "Garlic in your blood is interfering with your regeneration!") - notice_garlic = TRUE + if(owner.current.reagents.has_reagent(/datum/reagent/consumable/garlic)) return FALSE if(istype(owner.current.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/garlic_necklace)) - if(notice_necklace) - to_chat(owner.current, "The necklace on your neck is interrupting your healing!") - notice_necklace = TRUE return FALSE - owner.current.adjustStaminaLoss(-1.5 + (regenRate * -7) * mult, 0) // Humans lose stamina damage really quickly. Vamps should heal more. - owner.current.adjustCloneLoss(-0.1 * (regenRate * 2) * mult, 0) - owner.current.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1 * (regenRate * 4) * mult) //adjustBrainLoss(-1 * (regenRate * 4) * mult, 0) - if(notice_garlic) - notice_garlic = FALSE - if(notice_necklace) - notice_necklace = FALSE + owner.current.adjustStaminaLoss(-1.5 + (actual_regen * -7) * mult, 0) // Humans lose stamina damage really quickly. Vamps should heal more. + owner.current.adjustCloneLoss(-0.1 * (actual_regen * 2) * mult, 0) + owner.current.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1 * (actual_regen * 4) * mult) // No Bleeding if(ishuman(owner.current)) //NOTE Current bleeding is horrible, not to count the amount of blood ballistics delete. var/mob/living/carbon/human/H = owner.current if(H.bleed_rate > 0) //Only heal bleeding if we are actually bleeding - H.bleed_rate =- 0.5 + regenRate * 0.2 * mult + H.bleed_rate =- 0.5 + actual_regen * 0.2 * mult if(iscarbon(owner.current)) // Damage Heal: Do I have damage to ANY bodypart? var/mob/living/carbon/C = owner.current var/costMult = 1 // Coffin makes it cheaper @@ -115,7 +104,7 @@ var/amInCoffinWhileTorpor = istype(C.loc, /obj/structure/closet/crate/coffin) && (mult == 0 || HAS_TRAIT(C, TRAIT_DEATHCOMA)) // Check for mult 0 OR death coma. (mult 0 means we're testing from coffin) if(amInCoffinWhileTorpor) mult *= 4 // Increase multiplier if we're sleeping in a coffin. - fireheal = min(C.getFireLoss(), regenRate) // NOTE: Burn damage ONLY heals in torpor. + fireheal = min(C.getFireLoss(), actual_regen) // NOTE: Burn damage ONLY heals in torpor. costMult = 0.25 C.ExtinguishMob() CureDisabilities() // Extinguish Fire @@ -125,12 +114,10 @@ else if(owner.current.blood_volume <= 0) // No Blood? Lower Mult mult = 0.25 - // Crit from burn? Lower damage to maximum allowed. - //if (C.getFireLoss() > owner.current.getMaxHealth()) - // fireheal = regenRate / 2 + // BRUTE: Always Heal - var/bruteheal = min(C.getBruteLoss(), regenRate) - var/toxinheal = min(C.getToxLoss(), regenRate) + var/bruteheal = min(C.getBruteLoss(), actual_regen) + var/toxinheal = min(C.getToxLoss(), actual_regen) // Heal if Damaged if(bruteheal + fireheal + toxinheal > 0) // Just a check? Don't heal/spend, and return. if(mult == 0) @@ -195,10 +182,14 @@ if(owner.current.blood_volume < BLOOD_VOLUME_BAD / 2) owner.current.blur_eyes(8 - 8 * (owner.current.blood_volume / BLOOD_VOLUME_BAD)) // Nutrition + owner.current.nutrition = clamp(owner.current.blood_volume, 545, 0) //The amount of blood is how full we are. + //A bit higher regeneration based on blood volume if(owner.current.blood_volume < BLOOD_VOLUME_NORMAL) - owner.current.nutrition = min(owner.current.blood_volume, NUTRITION_LEVEL_WELL_FED) - else if(owner.current.blood_volume < BLOOD_VOLUME_SAFE) - owner.current.nutrition = min(owner.current.blood_volume, NUTRITION_LEVEL_FED) // <-- 350 //NUTRITION_LEVEL_FULL + additional_regen = 0.3 + else if(owner.current.blood_volume < BLOOD_VOLUME_OKAY) + additional_regen = 0.2 + else if(owner.current.blood_volume < BLOOD_VOLUME_BAD) + additional_regen = 0.1 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // DEATH @@ -300,7 +291,7 @@ // Free my Vassals! FreeAllVassals() // Elders get Dusted - if(vamplevel >= 4) // (vamptitle) + if(bloodsucker_level >= 4) // (bloodsucker_title) owner.current.visible_message("[owner.current]'s skin crackles and dries, their skin and bones withering to dust. A hollow cry whips from what is now a sandy pile of remains.", \ "Your soul escapes your withering body as the abyss welcomes you to your Final Death.", \ "You hear a dry, crackling sound.") diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm b/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm index abfd2d120f..5c4b1f2b9f 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm @@ -94,10 +94,12 @@ to_chat(owner, "You have a stake in your chest! Your powers are useless.") return FALSE if(istype(owner.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/garlic_necklace)) - to_chat(owner, "") + if(display_error) + to_chat(owner, "") return FALSE if(owner.reagents?.has_reagent(/datum/reagent/consumable/garlic)) - to_chat(owner, "Garlic in your blood is interfering with your powers!") + if(display_error) + to_chat(owner, "Garlic in your blood is interfering with your powers!") return FALSE // Incap? if(must_be_capacitated) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_sunlight.dm b/code/modules/antagonists/bloodsucker/bloodsucker_sunlight.dm index 263f91a9a6..b7d98c6783 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_sunlight.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_sunlight.dm @@ -141,23 +141,23 @@ if(!bloodsuckerdatum.warn_sun_locker) to_chat(M, "Your skin sizzles. The [M.current.loc] doesn't protect well against UV bombardment.") bloodsuckerdatum.warn_sun_locker = TRUE - M.current.adjustFireLoss(0.5 + bloodsuckerdatum.vamplevel / 2) // M.current.fireloss += 0.5 + bloodsuckerdatum.vamplevel / 2 // Do DIRECT damage. Being spaced was causing this to not occur. setFireLoss(bloodsuckerdatum.vamplevel) + M.current.adjustFireLoss(0.5 + bloodsuckerdatum.bloodsucker_level / 2) // M.current.fireloss += 0.5 + bloodsuckerdatum.bloodsucker_level / 2 // Do DIRECT damage. Being spaced was causing this to not occur. setFireLoss(bloodsuckerdatum.bloodsucker_level) M.current.updatehealth() SEND_SIGNAL(M.current, COMSIG_ADD_MOOD_EVENT, "vampsleep", /datum/mood_event/daylight_1) // Out in the Open? Buh Bye else if(!bloodsuckerdatum.warn_sun_burn) - if(bloodsuckerdatum.vamplevel > 0) + if(bloodsuckerdatum.bloodsucker_level > 0) to_chat(M, "The solar flare sets your skin ablaze!") else to_chat(M, "The solar flare scalds your neophyte skin!") bloodsuckerdatum.warn_sun_burn = TRUE if(M.current.fire_stacks <= 0) M.current.fire_stacks = 0 - if(bloodsuckerdatum.vamplevel > 0) - M.current.adjust_fire_stacks(0.2 + bloodsuckerdatum.vamplevel / 10) + if(bloodsuckerdatum.bloodsucker_level > 0) + M.current.adjust_fire_stacks(0.2 + bloodsuckerdatum.bloodsucker_level / 10) M.current.IgniteMob() - M.current.adjustFireLoss(2 + bloodsuckerdatum.vamplevel) // M.current.fireloss += 2 + bloodsuckerdatum.vamplevel // Do DIRECT damage. Being spaced was causing this to not occur. //setFireLoss(2 + bloodsuckerdatum.vamplevel) + M.current.adjustFireLoss(2 + bloodsuckerdatum.bloodsucker_level) // M.current.fireloss += 2 + bloodsuckerdatum.bloodsucker_level // Do DIRECT damage. Being spaced was causing this to not occur. //setFireLoss(2 + bloodsuckerdatum.bloodsucker_level) M.current.updatehealth() SEND_SIGNAL(M.current, COMSIG_ADD_MOOD_EVENT, "vampsleep", /datum/mood_event/daylight_2) diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index 1821ec2f3d..f8c35f7938 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -8,9 +8,9 @@ job_rank = ROLE_BLOODSUCKER // NAME - var/vampname // My Dracula name - var/vamptitle // My Dracula title - var/vampreputation // My "Surname" or description of my deeds + var/bloodsucker_name // My Dracula style name + var/bloodsucker_title // My Dracula style title + var/bloodsucker_reputation // My "Surname" or description of my deeds // CLAN var/datum/team/vampireclan/clan var/list/datum/antagonist/vassal/vassals = list()// Vassals under my control. Periodically remove the dead ones. @@ -20,28 +20,26 @@ var/poweron_feed = FALSE // Am I feeding? var/poweron_masquerade = FALSE // STATS - var/vamplevel = 0 - var/vamplevel_unspent = 1 - var/regenRate = 0.4 // How fast do I regenerate? - var/feedAmount = 15 // Amount of blood drawn from a target per tick. - var/maxBloodVolume = 600 // Maximum blood a Vamp can hold via feeding. // BLOOD_VOLUME_NORMAL 550 // BLOOD_VOLUME_SAFE 475 //BLOOD_VOLUME_OKAY 336 //BLOOD_VOLUME_BAD 224 // BLOOD_VOLUME_SURVIVE 122 + var/bloodsucker_level + var/bloodsucker_level_unspent = 1 + var/regen_rate = 0.4 // How fast do I regenerate? + var/additional_regen // How much additional blood regen we gain from bonuses such as high blood. + var/feed_amount = 15 // Amount of blood drawn from a target per tick. + var/max_blood_volume = 600 // Maximum blood a Vamp can hold via feeding. // OBJECTIVES var/list/datum/objective/objectives_given = list() // For removal if needed. var/area/lair var/obj/structure/closet/crate/coffin // TRACKING - var/foodInGut = 0 // How much food to throw up later. You shouldn't have eaten that. - var/warn_sun_locker = FALSE // So we only get the locker burn message once per day. - var/warn_sun_burn = FALSE // So we only get the sun burn message once per day. - var/had_toxlover = FALSE + var/foodInGut // How much food to throw up later. You shouldn't have eaten that. + var/warn_sun_locker // So we only get the locker burn message once per day. + var/warn_sun_burn // So we only get the sun burn message once per day. + var/had_toxlover var/level_bloodcost + var/passive_blood_drain = -0.1 //The amount of blood we loose each bloodsucker life() tick // LISTS var/static/list/defaultTraits = list (TRAIT_STABLEHEART, TRAIT_NOBREATH, TRAIT_SLEEPIMMUNE, TRAIT_NOCRITDAMAGE, TRAIT_RESISTCOLD, TRAIT_RADIMMUNE, TRAIT_NIGHT_VISION, \ TRAIT_NOSOFTCRIT, TRAIT_NOHARDCRIT, TRAIT_AGEUSIA, TRAIT_COLDBLOODED, TRAIT_NONATURALHEAL, TRAIT_NOMARROW, TRAIT_NOPULSE, TRAIT_VIRUSIMMUNE) - // NOTES: TRAIT_AGEUSIA <-- Doesn't like flavors. - // REMOVED: TRAIT_NODEATH - // TO ADD: - //var/static/list/defaultOrgans = list (/obj/item/organ/heart/vampheart,/obj/item/organ/heart/vampeyes) /datum/antagonist/bloodsucker/on_gain() SSticker.mode.bloodsuckers |= owner // Add if not already in here (and you might be, if you were picked at round start) @@ -68,18 +66,18 @@ /datum/antagonist/bloodsucker/greet() var/fullname = ReturnFullName(TRUE) - to_chat(owner, "You are [fullname], a bloodsucking vampire!
") + to_chat(owner, "You are [fullname], a strain of vampire dubbed bloodsucker!
") owner.announce_objectives() to_chat(owner, "* You regenerate your health slowly, you're weak to fire, and you depend on blood to survive. Allow your stolen blood to run too low, and you will find yourself at \ risk of being discovered!
") //to_chat(owner, "As an immortal, your power is linked to your age. The older you grow, the more abilities you will have access to.") - var/vamp_greet - vamp_greet += "* Other Bloodsuckers are not necessarily your friends, but your survival may depend on cooperation. Betray them at your own discretion and peril.
" - vamp_greet += "* Use \",b\" to speak your ancient Bloodsucker language.
" - vamp_greet += "Bloodsucker Tip: Rest in a Coffin to claim it, and that area, as your lair.
" - vamp_greet += "Bloodsucker Tip: Fear the daylight! Solar flares will bombard the station periodically, and only your coffin can guarantee your safety.
" - vamp_greet += "Bloodsucker Tip: You wont loose blood if you are unconcious or sleeping. Use this to your advantage to conserve blood.
" - to_chat(owner, vamp_greet) + var/bloodsucker_greet + bloodsucker_greet += "* Other Bloodsuckers are not necessarily your friends, but your survival may depend on cooperation. Betray them at your own discretion and peril.
" + bloodsucker_greet += "* Use \",b\" to speak your ancient Bloodsucker language.
" + bloodsucker_greet += "Bloodsucker Tip: Rest in a Coffin to claim it, and that area, as your lair.
" + bloodsucker_greet += "Bloodsucker Tip: Fear the daylight! Solar flares will bombard the station periodically, and only your coffin can guarantee your safety.
" + bloodsucker_greet += "Bloodsucker Tip: You wont loose blood if you are unconcious or sleeping. Use this to your advantage to conserve blood.
" + to_chat(owner, bloodsucker_greet) owner.current.playsound_local(null, 'sound/bloodsucker/BloodsuckerAlert.ogg', 100, FALSE, pressure_affected = FALSE) antag_memory += "Although you were born a mortal, in un-death you earned the name [fullname].
" @@ -100,7 +98,7 @@ /datum/antagonist/bloodsucker/proc/SelectFirstName() // Names (EVERYONE gets one)) if(owner.current.gender == MALE) - vampname = pick("Desmond","Rudolph","Dracul","Vlad","Pyotr","Gregor","Cristian","Christoff","Marcu","Andrei","Constantin","Gheorghe","Grigore","Ilie","Iacob","Luca","Mihail","Pavel","Vasile","Octavian","Sorin", \ + bloodsucker_name = pick("Desmond","Rudolph","Dracul","Vlad","Pyotr","Gregor","Cristian","Christoff","Marcu","Andrei","Constantin","Gheorghe","Grigore","Ilie","Iacob","Luca","Mihail","Pavel","Vasile","Octavian","Sorin", \ "Sveyn","Aurel","Alexe","Iustin","Theodor","Dimitrie","Octav","Damien","Magnus","Caine","Abel", // Romanian/Ancient "Lucius","Gaius","Otho","Balbinus","Arcadius","Romanos","Alexios","Vitellius", // Latin "Melanthus","Teuthras","Orchamus","Amyntor","Axion", // Greek @@ -108,7 +106,7 @@ "Dio") else - vampname = pick("Islana","Tyrra","Greganna","Pytra","Hilda","Andra","Crina","Viorela","Viorica","Anemona","Camelia","Narcisa","Sorina","Alessia","Sophia","Gladda","Arcana","Morgan","Lasarra","Ioana","Elena", \ + bloodsucker_name = pick("Islana","Tyrra","Greganna","Pytra","Hilda","Andra","Crina","Viorela","Viorica","Anemona","Camelia","Narcisa","Sorina","Alessia","Sophia","Gladda","Arcana","Morgan","Lasarra","Ioana","Elena", \ "Alina","Rodica","Teodora","Denisa","Mihaela","Svetla","Stefania","Diyana","Kelssa","Lilith", // Romanian/Ancient "Alexia","Athanasia","Callista","Karena","Nephele","Scylla","Ursa", // Latin "Alcestis","Damaris","Elisavet","Khthonia","Teodora", // Greek @@ -116,57 +114,57 @@ /datum/antagonist/bloodsucker/proc/SelectTitle(am_fledgling = 0, forced = FALSE) // Already have Title - if (!forced && vamptitle != null) + if(!forced && bloodsucker_title != null) return // Titles [Master] - if (!am_fledgling) + if(!am_fledgling) if(owner.current.gender == MALE) - vamptitle = pick ("Count","Baron","Viscount","Prince","Duke","Tzar","Dreadlord","Lord","Master") + bloodsucker_title = pick ("Count","Baron","Viscount","Prince","Duke","Tzar","Dreadlord","Lord","Master") else - vamptitle = pick ("Countess","Baroness","Viscountess","Princess","Duchess","Tzarina","Dreadlady","Lady","Mistress") + bloodsucker_title = pick ("Countess","Baroness","Viscountess","Princess","Duchess","Tzarina","Dreadlady","Lady","Mistress") to_chat(owner, "You have earned a title! You are now known as [ReturnFullName(TRUE)]!") // Titles [Fledgling] else - vamptitle = null + bloodsucker_title = null /datum/antagonist/bloodsucker/proc/SelectReputation(am_fledgling = 0, forced=FALSE) // Already have Reputation - if(!forced && vampreputation != null) + if(!forced && bloodsucker_reputation != null) return // Reputations [Master] if(!am_fledgling) - vampreputation = pick("Butcher","Blood Fiend","Crimson","Red","Black","Terror","Nightman","Feared","Ravenous","Fiend","Malevolent","Wicked","Ancient","Plaguebringer","Sinister","Forgotten","Wretched","Baleful", \ + bloodsucker_reputation = pick("Butcher","Blood Fiend","Crimson","Red","Black","Terror","Nightman","Feared","Ravenous","Fiend","Malevolent","Wicked","Ancient","Plaguebringer","Sinister","Forgotten","Wretched","Baleful", \ "Inqisitor","Harvester","Reviled","Robust","Betrayer","Destructor","Damned","Accursed","Terrible","Vicious","Profane","Vile","Depraved","Foul","Slayer","Manslayer","Sovereign","Slaughterer", \ "Forsaken","Mad","Dragon","Savage","Villainous","Nefarious","Inquisitor","Marauder","Horrible","Immortal","Undying","Overlord","Corrupt","Hellspawn","Tyrant","Sanguineous") if(owner.current.gender == MALE) if(prob(10)) // Gender override - vampreputation = pick("King of the Damned", "Blood King", "Emperor of Blades", "Sinlord", "God-King") + bloodsucker_reputation = pick("King of the Damned", "Blood King", "Emperor of Blades", "Sinlord", "God-King") else if(prob(10)) // Gender override - vampreputation = pick("Queen of the Damned", "Blood Queen", "Empress of Blades", "Sinlady", "God-Queen") + bloodsucker_reputation = pick("Queen of the Damned", "Blood Queen", "Empress of Blades", "Sinlady", "God-Queen") to_chat(owner, "You have earned a reputation! You are now known as [ReturnFullName(TRUE)]!") // Reputations [Fledgling] else - vampreputation = pick ("Crude","Callow","Unlearned","Neophyte","Novice","Unseasoned","Fledgling","Young","Neonate","Scrapling","Untested","Unproven","Unknown","Newly Risen","Born","Scavenger","Unknowing",\ + bloodsucker_reputation = pick ("Crude","Callow","Unlearned","Neophyte","Novice","Unseasoned","Fledgling","Young","Neonate","Scrapling","Untested","Unproven","Unknown","Newly Risen","Born","Scavenger","Unknowing",\ "Unspoiled","Disgraced","Defrocked","Shamed","Meek","Timid","Broken")//,"Fresh") /datum/antagonist/bloodsucker/proc/AmFledgling() - return !vamptitle + return !bloodsucker_title /datum/antagonist/bloodsucker/proc/ReturnFullName(var/include_rep=0) var/fullname // Name First - fullname = (vampname ? vampname : owner.current.name) + fullname = (bloodsucker_name ? bloodsucker_name : owner.current.name) // Title - if(vamptitle) - fullname = vamptitle + " " + fullname + if(bloodsucker_title) + fullname = bloodsucker_title + " " + fullname // Rep - if(include_rep && vampreputation) - fullname = fullname + " the " + vampreputation + if(include_rep && bloodsucker_reputation) + fullname = fullname + " the " + bloodsucker_reputation return fullname @@ -201,15 +199,12 @@ var/mob/living/carbon/human/H = owner.current var/datum/species/S = H.dna.species // Make Changes - H.physiology.brute_mod *= 0.8 // <-------------------- Start small, but burn mod increases based on rank! + H.physiology.brute_mod *= 0.8 H.physiology.cold_mod = 0 H.physiology.stun_mod *= 0.5 H.physiology.siemens_coeff *= 0.75 //base electrocution coefficient 1 - //S.heatmod += 0.5 // Heat shouldn't affect. Only Fire. - //S.punchstunthreshold = 8 //damage at which punches from this race will stun 9 S.punchdamagelow += 1 //lowest possible punch damage 0 S.punchdamagehigh += 1 //highest possible punch damage 9 - // Clown if(istype(H) && owner.assigned_role == "Clown") H.dna.remove_mutation(CLOWNMUT) to_chat(H, "As a vampiric clown, you are no longer a danger to yourself. Your nature is subdued.") @@ -217,8 +212,6 @@ CheckVampOrgans() // Heart, Eyes // Language owner.current.grant_language(/datum/language/vampiric) - // Soul - //owner.current.hellbound = TRUE Causes wierd stuff owner.hasSoul = FALSE // If false, renders the character unable to sell their soul. owner.isholy = FALSE // is this person a chaplain or admin role allowed to use bibles // Disabilities @@ -250,7 +243,6 @@ // Clown if(istype(H) && owner.assigned_role == "Clown") H.dna.add_mutation(CLOWNMUT) - // NOTE: Use initial() to return things to default! // Physiology owner.current.regenerate_organs() // Update Health @@ -266,13 +258,13 @@ set waitfor = FALSE if(!owner || !owner.current) return - vamplevel_unspent ++ + bloodsucker_level_unspent ++ // Spend Rank Immediately? if(istype(owner.current.loc, /obj/structure/closet/crate/coffin)) SpendRank() else to_chat(owner, "You have grown more ancient! Sleep in a coffin that you have claimed to thicken your blood and become more powerful.") - if(vamplevel_unspent >= 2) + if(bloodsucker_level_unspent >= 2) to_chat(owner, "Bloodsucker Tip: If you cannot find or steal a coffin to use, you can build one from wooden planks.
") /datum/antagonist/bloodsucker/proc/LevelUpPowers() @@ -281,10 +273,10 @@ /datum/antagonist/bloodsucker/proc/SpendRank() set waitfor = FALSE - if(vamplevel_unspent <= 0 || !owner || !owner.current || !owner.current.client || !isliving(owner.current)) + if(bloodsucker_level_unspent <= 0 || !owner || !owner.current || !owner.current.client || !isliving(owner.current)) return var/mob/living/L = owner.current - level_bloodcost = maxBloodVolume * 0.2 + level_bloodcost = max_blood_volume * 0.2 //If the blood volume of the bloodsucker is lower than the cost to level up, return and inform the bloodsucker //TODO: Make this into a radial, or perhaps a tgui next UI @@ -300,7 +292,7 @@ if(options.len > 1) var/choice = input(owner.current, "You have the opportunity to grow more ancient at the cost of [level_bloodcost] units of blood. Select a power to advance your Rank.", "Your Blood Thickens...") in options // Cheat-Safety: Can't keep opening/closing coffin to spam levels - if(vamplevel_unspent <= 0) // Already spent all your points, and tried opening/closing your coffin, pal. + if(bloodsucker_level_unspent <= 0) // Already spent all your points, and tried opening/closing your coffin, pal. return if(!istype(owner.current.loc, /obj/structure/closet/crate/coffin)) to_chat(owner.current, "Return to your coffin to advance your Rank.") @@ -331,17 +323,17 @@ // More Health owner.current.setMaxHealth(owner.current.maxHealth + 10) // Vamp Stats - regenRate += 0.05 // Points of brute healed (starts at 0.3) - feedAmount += 2 // Increase how quickly I munch down vics (15) - maxBloodVolume += 100 // Increase my max blood (600) + regen_rate += 0.05 // Points of brute healed (starts at 0.3) + feed_amount += 2 // Increase how quickly I munch down vics (15) + max_blood_volume += 100 // Increase my max blood (600) ///////// - vamplevel ++ - vamplevel_unspent -- + bloodsucker_level ++ + bloodsucker_level_unspent -- // Assign True Reputation - if(vamplevel == 4) + if(bloodsucker_level == 4) SelectReputation(am_fledgling = FALSE, forced = TRUE) - to_chat(owner.current, "You are now a rank [vamplevel] Bloodsucker. Your strength, health, feed rate, regen rate, can have up to [vamplevel - count_vassals(owner.current.mind)] vassals, and maximum blood have all increased!") + to_chat(owner.current, "You are now a rank [bloodsucker_level] Bloodsucker. Your strength, health, feed rate, regen rate, can have up to [bloodsucker_level - count_vassals(owner.current.mind)] vassals, and maximum blood have all increased!") to_chat(owner.current, "Your existing powers have all ranked up as well!") update_hud(TRUE) owner.current.playsound_local(null, 'sound/effects/pope_entry.ogg', 25, TRUE, pressure_affected = FALSE) @@ -707,10 +699,10 @@ // Update Rank Counter if(owner.current.hud_used.vamprank_display) - var/valuecolor = vamplevel_unspent ? "#FFFF00" : "#FF0000" - owner.current.hud_used.vamprank_display.update_counter(vamplevel, valuecolor) + var/valuecolor = bloodsucker_level_unspent ? "#FFFF00" : "#FF0000" + owner.current.hud_used.vamprank_display.update_counter(bloodsucker_level, valuecolor) if(updateRank) // Only change icon on special request. - owner.current.hud_used.vamprank_display.icon_state = (vamplevel_unspent > 0) ? "rank_up" : "rank" + owner.current.hud_used.vamprank_display.icon_state = (bloodsucker_level_unspent > 0) ? "rank_up" : "rank" /obj/screen/bloodsucker diff --git a/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm b/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm index c5f24ab537..7998a33c7b 100644 --- a/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm +++ b/code/modules/antagonists/bloodsucker/objects/bloodsucker_crypt.dm @@ -123,7 +123,7 @@ . += {"Simply click and hold on a victim, and then drag their sprite on the vassal rack. Alt click on the vassal rack to unbuckle them."} . += {"Make sure that the victim is handcuffed, or else they can simply run away or resist, as the process is not instant."} . += {"To convert the victim, simply click on the vassal rack itself. Sharp weapons work faster than other tools."} - . += {" You have only the power for [B.vamplevel - B.count_vassals(user.mind)] vassals"} + . += {" You have only the power for [B.bloodsucker_level - B.count_vassals(user.mind)] vassals"} /* if(user.mind.has_antag_datum(ANTAG_DATUM_VASSAL) . += {"This is the vassal rack, which allows your master to thrall crewmembers into his minions.\n Aid your master in bringing their victims here and keeping them secure.\n @@ -265,7 +265,7 @@ if(user.blood_volume < CONVERT_COST + 5) to_chat(user, "You don't have enough blood to initiate the Dark Communion with [target].") return - if(B.count_vassals(user.mind) > B.vamplevel) + if(B.count_vassals(user.mind) > B.bloodsucker_level) to_chat(user, "Your power is yet too weak to bring more vassals under your control....") return // Prep... diff --git a/code/modules/antagonists/bloodsucker/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm index b0678d5ff4..5e82a282b2 100644 --- a/code/modules/antagonists/bloodsucker/powers/feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -263,7 +263,7 @@ to_chat(user, "Your victim is dead. [target.p_their(TRUE)] blood barely nourishes you.") warning_target_dead = TRUE // Full? - if(!warning_full && user.blood_volume >= bloodsuckerdatum.maxBloodVolume) + if(!warning_full && user.blood_volume >= bloodsuckerdatum.max_blood_volume) to_chat(user, "You are full. Further blood will be wasted.") warning_full = TRUE // Blood Remaining? (Carbons/Humans only) @@ -300,7 +300,7 @@ /datum/action/bloodsucker/feed/proc/CheckKilledTarget(mob/living/user, mob/living/target) - // Bad Vampire. You shouldn't do that. + // Bad Bloodsucker. You shouldn't do that. if(target && target.stat >= DEAD && ishuman(target)) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "drankkilled", /datum/mood_event/drankkilled) // BAD // in bloodsucker_life.dm diff --git a/code/modules/language/vampiric.dm b/code/modules/language/vampiric.dm index 6da54ce844..ab48a17d2f 100644 --- a/code/modules/language/vampiric.dm +++ b/code/modules/language/vampiric.dm @@ -1,4 +1,4 @@ -// VAMPIRE LANGUAGE // +// BLOODSUCKER LANGUAGE // /datum/language/vampiric name = "Blah-Sucker" diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 147cb30772..d81251eca9 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -44,7 +44,7 @@ C.faction |= "slime" /datum/species/jelly/spec_life(mob/living/carbon/human/H) - if(H.stat == DEAD || HAS_TRAIT(H, TRAIT_NOMARROW)) //can't farm slime jelly from a dead slime/jelly person indefinitely, and no regeneration for vampires + if(H.stat == DEAD || HAS_TRAIT(H, TRAIT_NOMARROW)) //can't farm slime jelly from a dead slime/jelly person indefinitely, and no regeneration for blooduskers return if(!H.blood_volume) H.blood_volume += 5 diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index ce276a0d8b..c003fc7111 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -448,8 +448,8 @@ . = 1 ..() -/datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method, reac_volume) - if(AmBloodsucker(M)) +/datum/reagent/consumable/garlic/reaction_mob(mob/living/M, method, reac_volume) + if(AmBloodsucker(M, TRUE)) //Theyll be immune to garlic as long as they masquarade, but they cant do it if they already have it. switch(method) if(INGEST) if(prob(min(30, current_cycle))) @@ -467,7 +467,7 @@ to_chat(M, "You feel like your veins are boiling!") M.emote("scream") M.adjustFireLoss(5) - + ..() /datum/reagent/consumable/sprinkles name = "Sprinkles" value = 3 From 6e22438fb56f4856ac609962266a96deef1b97e1 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 25 Mar 2020 19:39:19 +0200 Subject: [PATCH 041/271] Whoopsie~ Forgot to rename the recipy --- code/datums/components/crafting/recipes/recipes_clothing.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/components/crafting/recipes/recipes_clothing.dm b/code/datums/components/crafting/recipes/recipes_clothing.dm index fb3500a037..444eaeafaf 100644 --- a/code/datums/components/crafting/recipes/recipes_clothing.dm +++ b/code/datums/components/crafting/recipes/recipes_clothing.dm @@ -290,7 +290,7 @@ /datum/crafting_recipe/wintercoat_cosmic - name = "Cosmic Winter Coat" + name = "Garlic Necklace" result = /obj/item/clothing/neck/garlic_necklace reqs = list(/obj/item/reagent_containers/food/snacks/grown/garlic = 15, /obj/item/stack/cable_coil = 10) From 8d629221fd1ce03e1f8684003e758ad7cee66eb4 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 25 Mar 2020 19:42:52 +0200 Subject: [PATCH 042/271] Make it look nicer --- code/game/gamemodes/bloodsucker/bloodsucker.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/game/gamemodes/bloodsucker/bloodsucker.dm b/code/game/gamemodes/bloodsucker/bloodsucker.dm index adcb80ff07..3fe67fd431 100644 --- a/code/game/gamemodes/bloodsucker/bloodsucker.dm +++ b/code/game/gamemodes/bloodsucker/bloodsucker.dm @@ -269,6 +269,3 @@ /datum/game_mode/proc/remove_vassal(datum/mind/vassal) vassal.remove_antag_datum(ANTAG_DATUM_VASSAL) - - - \ No newline at end of file From 2546de3ee26c91deb336ee2feee424d0851c940e Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 25 Mar 2020 19:45:40 +0200 Subject: [PATCH 043/271] This is not neccesary --- code/modules/antagonists/bloodsucker/powers/feed.dm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm index 5e82a282b2..71b866b2f4 100644 --- a/code/modules/antagonists/bloodsucker/powers/feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -67,12 +67,6 @@ if(display_error) to_chat(owner, "Your victim's blood is not suitable for you to take.") return FALSE - if(iscarbon(owner)) - //We want to check if the target is wearing a garlic necklance. - if(istype(owner.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/garlic_necklace)) - if(display_error) - to_chat(owner, "Your victim is wearing a garlic clove on their neck! Disgusting!") - return FALSE return TRUE // If I'm not grabbing someone, find me someone nearby. From 4c4b1b340b844432c49eba3d05dcad43890c4e3c Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 25 Mar 2020 20:24:54 +0200 Subject: [PATCH 044/271] might as well fix the regen core name and a few tweaks. --- .../antagonists/bloodsucker/bloodsucker_life.dm | 15 +++++++++------ .../antagonists/bloodsucker/datum_bloodsucker.dm | 2 +- .../modules/mining/equipment/regenerative_core.dm | 14 ++++++++------ 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index 90919a4e80..06eb271dd6 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -184,12 +184,15 @@ // Nutrition owner.current.nutrition = clamp(owner.current.blood_volume, 545, 0) //The amount of blood is how full we are. //A bit higher regeneration based on blood volume - if(owner.current.blood_volume < BLOOD_VOLUME_NORMAL) - additional_regen = 0.3 - else if(owner.current.blood_volume < BLOOD_VOLUME_OKAY) - additional_regen = 0.2 - else if(owner.current.blood_volume < BLOOD_VOLUME_BAD) - additional_regen = 0.1 + switch(owner.current.blood_volume) + if(owner.current.blood_volume < 700) + additional_regen = 0.4 + if(owner.current.blood_volume < BLOOD_VOLUME_NORMAL) + additional_regen = 0.3 + if(owner.current.blood_volume < BLOOD_VOLUME_OKAY) + additional_regen = 0.2 + if(owner.current.blood_volume < BLOOD_VOLUME_BAD) + additional_regen = 0.1 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // DEATH diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index f8c35f7938..f95883e7c8 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -22,7 +22,7 @@ // STATS var/bloodsucker_level var/bloodsucker_level_unspent = 1 - var/regen_rate = 0.4 // How fast do I regenerate? + var/regen_rate = 0.3 // How fast do I regenerate? var/additional_regen // How much additional blood regen we gain from bonuses such as high blood. var/feed_amount = 15 // Amount of blood drawn from a target per tick. var/max_blood_volume = 600 // Maximum blood a Vamp can hold via feeding. diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index c89698530f..c14aa097bb 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -26,8 +26,8 @@ slot = "hivecore" force = 0 actions_types = list(/datum/action/item_action/organ_action/use) - var/inert = 0 - var/preserved = 0 + var/inert + var/preserved /obj/item/organ/regenerative_core/Initialize() . = ..() @@ -38,7 +38,9 @@ go_inert() /obj/item/organ/regenerative_core/proc/preserved(implanted = 0) - inert = FALSE + if(inert) + name = initial(name) + inert = FALSE preserved = TRUE update_icon() desc = "All that remains of a hivelord. It is preserved, allowing you to use it to heal completely without danger of decay." @@ -88,10 +90,10 @@ else to_chat(user, "You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments.") SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) - if(!AmBloodsucker(H)) - H.revive(full_heal = TRUE) - else + if(AmBloodsucker(H)) H.revive(full_heal = FALSE) + else + H.revive(full_heal = TRUE) qdel(src) user.log_message("[user] used [src] to heal [H]! Wake the fuck up, Samurai!", LOG_ATTACK, color="green") //Logging for 'old' style legion core use, when clicking on a sprite of yourself or another. From e8f3e0a3a1a5be681dee89385d07983310b53465 Mon Sep 17 00:00:00 2001 From: Artur Date: Thu, 26 Mar 2020 09:49:20 +0200 Subject: [PATCH 045/271] Forgot to add the mutation, what a dummy i am --- code/modules/hydroponics/grown/onion.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/hydroponics/grown/onion.dm b/code/modules/hydroponics/grown/onion.dm index 2ebaa6d5e2..a75b9caf5f 100644 --- a/code/modules/hydroponics/grown/onion.dm +++ b/code/modules/hydroponics/grown/onion.dm @@ -14,7 +14,7 @@ weed_chance = 3 growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi' reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1) - mutatelist = list(/obj/item/seeds/onion/red) + mutatelist = list(/obj/item/seeds/onion/red, /obj/item/seeds/garlic) /obj/item/reagent_containers/food/snacks/grown/onion seed = /obj/item/seeds/onion From 9db779ddc643ae2f15a8f16a6c335144942b9a23 Mon Sep 17 00:00:00 2001 From: Artur Date: Thu, 26 Mar 2020 23:38:25 +0200 Subject: [PATCH 046/271] Else if chain ahoy --- .../antagonists/bloodsucker/bloodsucker_life.dm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index 06eb271dd6..178d069f52 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -184,15 +184,14 @@ // Nutrition owner.current.nutrition = clamp(owner.current.blood_volume, 545, 0) //The amount of blood is how full we are. //A bit higher regeneration based on blood volume - switch(owner.current.blood_volume) - if(owner.current.blood_volume < 700) - additional_regen = 0.4 - if(owner.current.blood_volume < BLOOD_VOLUME_NORMAL) - additional_regen = 0.3 - if(owner.current.blood_volume < BLOOD_VOLUME_OKAY) - additional_regen = 0.2 - if(owner.current.blood_volume < BLOOD_VOLUME_BAD) - additional_regen = 0.1 + if(owner.current.blood_volume < 700) + additional_regen = 0.4 + else if(owner.current.blood_volume < BLOOD_VOLUME_NORMAL) + additional_regen = 0.3 + else if(owner.current.blood_volume < BLOOD_VOLUME_OKAY) + additional_regen = 0.2 + else if(owner.current.blood_volume < BLOOD_VOLUME_BAD) + additional_regen = 0.1 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // DEATH From 75c4e8b19ab478d8679b67f22dcbd28b3dbd88a5 Mon Sep 17 00:00:00 2001 From: Artur Date: Fri, 27 Mar 2020 10:17:42 +0200 Subject: [PATCH 047/271] What the fuck travis --- code/modules/antagonists/bloodsucker/datum_bloodsucker.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index f95883e7c8..137739ec1d 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -22,9 +22,9 @@ // STATS var/bloodsucker_level var/bloodsucker_level_unspent = 1 - var/regen_rate = 0.3 // How fast do I regenerate? + var/regen_rate = 0.3 // How fast do I regenerate? var/additional_regen // How much additional blood regen we gain from bonuses such as high blood. - var/feed_amount = 15 // Amount of blood drawn from a target per tick. + var/feed_amount = 15 // Amount of blood drawn from a target per tick. var/max_blood_volume = 600 // Maximum blood a Vamp can hold via feeding. // OBJECTIVES var/list/datum/objective/objectives_given = list() // For removal if needed. From a5b158301bba58948253486542455412552f63db Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 28 Mar 2020 03:11:56 +0100 Subject: [PATCH 048/271] Update kinetic_crusher.dm --- code/modules/mining/equipment/kinetic_crusher.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index b515ebbc13..1fd1b31b69 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -433,19 +433,23 @@ desc = "A glowing trinket that was originally the Hierophant's beacon. Suitable as a trophy for a kinetic crusher." icon_state = "vortex_talisman" denied_type = /obj/item/crusher_trophy/vortex_talisman + var/vortex_cd /obj/item/crusher_trophy/vortex_talisman/effect_desc() - return "mark detonation to create a barrier you can pass" + return "mark detonation to create a barrier you can pass that lasts for 7.5 seconds, with a cooldown of 9 seconds after creation." /obj/item/crusher_trophy/vortex_talisman/on_mark_detonation(mob/living/target, mob/living/user) + if(vortex_cd >= world.time) + return var/turf/T = get_turf(user) - new /obj/effect/temp_visual/hierophant/wall/crusher(T, user) //a wall only you can pass! + var/obj/effect/temp_visual/hierophant/wall/crusher/W = new (T, user) //a wall only you can pass! var/turf/otherT = get_step(T, turn(user.dir, 90)) if(otherT) new /obj/effect/temp_visual/hierophant/wall/crusher(otherT, user) otherT = get_step(T, turn(user.dir, -90)) if(otherT) new /obj/effect/temp_visual/hierophant/wall/crusher(otherT, user) + vortex_cd = world.time + W.duration * 1.2 /obj/effect/temp_visual/hierophant/wall/crusher duration = 75 From 5e5bc2a690f298e6bcacbdd7b33548ec73fef248 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 29 Mar 2020 17:01:05 +0200 Subject: [PATCH 049/271] force push. --- code/datums/helper_datums/teleport.dm | 2 +- code/modules/antagonists/swarmer/swarmer.dm | 61 ++++++++++++++++++- .../antagonists/swarmer/swarmer_event.dm | 6 +- 3 files changed, 63 insertions(+), 6 deletions(-) diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index 6b0981665d..c46a03a986 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -128,7 +128,7 @@ // Can most things breathe? if(trace_gases) continue - if(A_gases[/datum/gas/oxygen] >= 16) + if(A_gases[/datum/gas/oxygen] <= 16) continue if(A_gases[/datum/gas/plasma]) continue diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index 724c4e6f76..d4ed9a21e5 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -179,8 +179,8 @@ /obj/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) if(resistance_flags & INDESTRUCTIBLE) return FALSE - for(var/mob/living/L in contents) - if(!issilicon(L) && !isbrain(L)) + for(var/mob/living/L in GetAllContents()) + if(!ispAI(L) && !isbrain(L)) to_chat(S, "An organism has been detected inside this object. Aborting.") return FALSE return ..() @@ -416,6 +416,57 @@ to_chat(S, "Destroying this object would cause a catastrophic chain reaction. Aborting.") return FALSE +/obj/machinery/ore_silo/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "Destroying this object, however tempting it's, will disrupt the research development that may serve for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/rnd/server/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "Destroying this object, will disrupt the research development that may serve for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/pool/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) //pool's closed, but not. + to_chat(S, "The pool must not be closed, it will provide healthy fun for our masters in the future. Aborting.") + return FALSE + +/obj/structure/pool/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "The pool must not be closed, it will provide healthy fun for our masters in the future. Aborting.") + return FALSE + +/obj/structure/holosign/barrier/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + var/static/list/lazy_typecache = typecacheof(list(/obj/structure/holosign/barrier/engineering, /obj/structure/holosign/barrier/firelock, /obj/structure/holosign/barrier/atmos, /obj/structure/holosign/barrier/combifan)) + if(lazy_typecache[type]) + to_chat(S, "Destroying this holographic barrier may not benefit us. Aborting.") + return FALSE + return ..() + +/obj/machinery/dominator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "This advanced piece of technology may be of use for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/computer/bsa_control/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "This advanced piece of technology may be of use for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/bsa/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "This advanced piece of technology may be of use for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/dna_vault/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "This advanced piece of technology may be of use for our masters in the future. Aborting.") + return FALSE + +/obj/structure/filler/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "This advanced piece of technology may be of use for our masters in the future. Aborting.") + return FALSE + +/obj/machinery/computer/sat_control/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "Destroying this object will lower the station shielding against space debris. Aborting.") + return FALSE + +/obj/machinery/satellite/meteor_shield/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + to_chat(S, "Destroying this object will lower the station shielding against space debris. Aborting.") + return FALSE + ////END CTRL CLICK FOR SWARMERS//// /mob/living/simple_animal/hostile/swarmer/proc/Fabricate(atom/fabrication_object,fabrication_cost = 0) @@ -429,6 +480,12 @@ return new fabrication_object(loc) /mob/living/simple_animal/hostile/swarmer/proc/Integrate(atom/movable/target) + if(target.resistance_flags & INDESTRUCTIBLE) + return FALSE + for(var/mob/living/L in GetAllContents()) + if(!ispAI(L) && !isbrain(L)) + to_chat(src, "An organism has been detected inside this object. Aborting.") + return FALSE var/resource_gain = target.IntegrateAmount() if(resources + resource_gain > max_resources) to_chat(src, "We cannot hold more materials!") diff --git a/code/modules/antagonists/swarmer/swarmer_event.dm b/code/modules/antagonists/swarmer/swarmer_event.dm index 6ef35fdbaa..c626799a53 100644 --- a/code/modules/antagonists/swarmer/swarmer_event.dm +++ b/code/modules/antagonists/swarmer/swarmer_event.dm @@ -1,10 +1,10 @@ /datum/round_event_control/spawn_swarmer name = "Spawn Swarmer Shell" typepath = /datum/round_event/spawn_swarmer - weight = 0 - max_occurrences = 0 + weight = 7 + max_occurrences = 1 //Only once okay fam earliest_start = 30 MINUTES - min_players = 15 + min_players = 35 gamemode_blacklist = list("dynamic") From 98eff75e9fbbbd25c5740e6d2549df3e9356f62f Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 29 Mar 2020 18:57:48 +0200 Subject: [PATCH 050/271] Objects. --- code/modules/antagonists/swarmer/swarmer.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index d4ed9a21e5..c1f493ac52 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -480,8 +480,10 @@ return new fabrication_object(loc) /mob/living/simple_animal/hostile/swarmer/proc/Integrate(atom/movable/target) - if(target.resistance_flags & INDESTRUCTIBLE) - return FALSE + if(isobj(target)) + var/obj/O = target + if(O.resistance_flags & INDESTRUCTIBLE) + return FALSE for(var/mob/living/L in GetAllContents()) if(!ispAI(L) && !isbrain(L)) to_chat(src, "An organism has been detected inside this object. Aborting.") From c3faf94d8feb1647d3d48a8b4020ab333ac99a61 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 30 Mar 2020 05:29:39 +0200 Subject: [PATCH 051/271] WIP --- code/__DEFINES/dye_keys.dm | 28 ++ code/datums/elements/mob_holder.dm | 4 +- code/game/gamemodes/changeling/changeling.dm | 1 - .../game/gamemodes/clown_ops/clown_weapons.dm | 2 +- code/game/machinery/washing_machine.dm | 249 +++++++++++------- code/game/objects/items.dm | 23 +- code/game/objects/items/RCL.dm | 6 +- code/game/objects/items/balls.dm | 2 +- code/game/objects/items/crayons.dm | 40 ++- .../items/devices/radio/electropack.dm | 2 +- code/game/objects/items/documents.dm | 10 +- code/game/objects/items/handcuffs.dm | 22 +- code/game/objects/items/holy_weapons.dm | 2 +- code/game/objects/items/implants/implant.dm | 2 +- .../objects/items/implants/implant_freedom.dm | 2 +- .../objects/items/implants/implant_storage.dm | 2 +- .../objects/items/implants/implantcase.dm | 2 +- code/game/objects/items/melee/energy.dm | 65 ++--- code/game/objects/items/paint.dm | 44 ++-- code/game/objects/items/religion.dm | 2 +- code/game/objects/items/stacks/bscrystal.dm | 1 + code/game/objects/items/stacks/stack.dm | 3 +- code/game/objects/items/storage/belt.dm | 1 + code/game/objects/items/toys.dm | 3 - code/game/objects/items/twohanded.dm | 10 +- code/game/objects/structures/bedsheet_bin.dm | 34 +-- .../antagonists/changeling/changeling.dm | 3 - .../clockcult/clock_items/clockwork_armor.dm | 1 - .../antagonists/devil/true_devil/inventory.dm | 14 +- code/modules/clothing/chameleon.dm | 10 +- code/modules/clothing/clothing.dm | 8 +- code/modules/clothing/glasses/phantomthief.dm | 2 +- code/modules/clothing/gloves/color.dm | 43 +-- code/modules/clothing/gloves/miscellaneous.dm | 2 - code/modules/clothing/head/beanie.dm | 7 - code/modules/clothing/head/hardhat.dm | 22 +- code/modules/clothing/head/jobs.dm | 1 - code/modules/clothing/head/misc.dm | 2 - code/modules/clothing/head/misc_special.dm | 3 - code/modules/clothing/head/soft_caps.dm | 34 +-- code/modules/clothing/masks/gasmask.dm | 1 + code/modules/clothing/masks/miscellaneous.dm | 1 - code/modules/clothing/neck/_neck.dm | 26 +- code/modules/clothing/shoes/colour.dm | 36 +-- code/modules/clothing/shoes/miscellaneous.dm | 4 - code/modules/clothing/spacesuits/hardsuit.dm | 67 ++--- .../clothing/spacesuits/miscellaneous.dm | 19 +- code/modules/clothing/suits/miscellaneous.dm | 12 +- code/modules/clothing/under/_under.dm | 17 +- code/modules/clothing/under/accessories.dm | 23 -- code/modules/clothing/under/color.dm | 35 +-- code/modules/clothing/under/costume.dm | 29 -- .../under/jobs/Plasmaman/civilian_service.dm | 12 - .../under/jobs/Plasmaman/engineering.dm | 3 - .../clothing/under/jobs/Plasmaman/medsci.dm | 8 - .../clothing/under/jobs/Plasmaman/security.dm | 3 - code/modules/clothing/under/jobs/cargo.dm | 6 - code/modules/clothing/under/jobs/centcom.dm | 2 - .../clothing/under/jobs/civilian/civilian.dm | 34 +-- .../under/jobs/civilian/clown_mime.dm | 13 - .../clothing/under/jobs/civilian/curator.dm | 6 - code/modules/clothing/under/jobs/command.dm | 6 - .../clothing/under/jobs/engineering.dm | 9 +- code/modules/clothing/under/jobs/medical.dm | 29 +- code/modules/clothing/under/jobs/rnd.dm | 12 +- code/modules/clothing/under/jobs/security.dm | 22 -- code/modules/clothing/under/miscellaneous.dm | 30 +-- code/modules/clothing/under/pants.dm | 17 -- code/modules/clothing/under/shorts.dm | 8 - code/modules/clothing/under/skirt_dress.dm | 28 -- code/modules/clothing/under/suits.dm | 16 -- code/modules/clothing/under/sweaters.dm | 8 +- code/modules/clothing/under/syndicate.dm | 13 - code/modules/clothing/under/trek.dm | 10 - .../food_and_drinks/food/snacks_egg.dm | 11 +- code/modules/holiday/easter.dm | 2 - code/modules/holiday/halloween/jacqueen.dm | 2 +- code/modules/holodeck/items.dm | 9 +- code/modules/jobs/job_types/chief_engineer.dm | 2 +- .../jobs/job_types/head_of_security.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 83 +++--- .../modules/mob/living/carbon/update_icons.dm | 14 +- .../mob/living/silicon/robot/update_icons.dm | 2 +- .../friendly/drone/visuals_icons.dm | 16 +- .../living/simple_animal/guardian/guardian.dm | 12 +- .../hostile/gorilla/visuals_icons.dm | 6 +- code/modules/paperwork/stamps.dm | 21 +- code/modules/power/cable.dm | 56 ++-- icons/mob/accessories.dmi | Bin 9688 -> 8853 bytes icons/mob/uniform.dmi | Bin 395711 -> 403435 bytes .../items/devices/radio/shockcollar.dm | 2 +- modular_citadel/code/modules/clothing/neck.dm | 2 +- .../clothing/suits/polychromic_cloaks.dm | 12 +- .../code/modules/clothing/suits/suits.dm | 2 +- modular_citadel/code/modules/clothing/trek.dm | 8 +- .../modules/custom_loadout/custom_items.dm | 96 ++++--- tgstation.dme | 1 + 97 files changed, 580 insertions(+), 1060 deletions(-) create mode 100644 code/__DEFINES/dye_keys.dm diff --git a/code/__DEFINES/dye_keys.dm b/code/__DEFINES/dye_keys.dm new file mode 100644 index 0000000000..133f9c47d3 --- /dev/null +++ b/code/__DEFINES/dye_keys.dm @@ -0,0 +1,28 @@ +#define DYE_REGISTRY_UNDER "under" +#define DYE_REGISTRY_JUMPSKIRT "jumpskirt" +#define DYE_REGISTRY_GLOVES "gloves" +#define DYE_REGISTRY_SNEAKERS "sneakers" +#define DYE_REGISTRY_FANNYPACK "fannypack" +#define DYE_REGISTRY_BEDSHEET "bedsheet" + +#define DYE_RED "red" +#define DYE_ORANGE "orange" +#define DYE_YELLOW "yellow" +#define DYE_GREEN "green" +#define DYE_BLUE "blue" +#define DYE_PURPLE "purple" +#define DYE_BLACK "black" +#define DYE_WHITE "white" +#define DYE_RAINBOW "rainbow" +#define DYE_MIME "mime" +#define DYE_COSMIC "cosmic" +#define DYE_QM "qm" +#define DYE_LAW "law" +#define DYE_CAPTAIN "captain" +#define DYE_HOP "hop" +#define DYE_HOS "hos" +#define DYE_CE "ce" +#define DYE_RD "rd" +#define DYE_CMO "cmo" +#define DYE_REDCOAT "redcoat" +#define DYE_CLOWN "clown" diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm index 3cd5367f65..6b9c079f3b 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -71,7 +71,7 @@ name = "bugged mob" desc = "Yell at coderbrush." icon = null - alternate_worn_icon = 'icons/mob/animals_held.dmi' + mob_overlay_icon = 'icons/mob/animals_held.dmi' righthand_file = 'icons/mob/animals_held_rh.dmi' lefthand_file = 'icons/mob/animals_held_lh.dmi' icon_state = "" @@ -85,7 +85,7 @@ assimilate(target) if(alt_worn) - alternate_worn_icon = alt_worn + mob_overlay_icon = alt_worn if(worn_state) item_state = worn_state icon_state = worn_state diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 4db8f4129a..8029685bf7 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -119,7 +119,6 @@ GLOBAL_VAR(changeling_team_objective_type) //If this is not null, we hand our th C.appearance = chosen_prof.appearance_list[slot] C.name = chosen_prof.name_list[slot] C.flags_cover = chosen_prof.flags_cover_list[slot] - C.item_color = chosen_prof.item_color_list[slot] C.item_state = chosen_prof.item_state_list[slot] if(equip) user.equip_to_slot_or_del(C, GLOB.slot2slot[slot]) diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index 0a231a5ff1..4d3ea2d02e 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -63,7 +63,7 @@ attack_verb_on = list("slipped") clumsy_check = FALSE sharpness = IS_BLUNT - item_color = "yellow" + sword_color = "yellow" heat = 0 light_color = "#ffff00" var/next_trombone_allowed = 0 diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index ff5ba14810..26220d4d89 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -1,3 +1,111 @@ +//dye registry, add dye colors and their resulting output here if you want the sprite to change instead of just the color. +GLOBAL_LIST_INIT(dye_registry, list( + DYE_REGISTRY_UNDER = list( + DYE_RED = /obj/item/clothing/under/color/red, + DYE_ORANGE = /obj/item/clothing/under/color/orange, + DYE_YELLOW = /obj/item/clothing/under/color/yellow, + DYE_GREEN = /obj/item/clothing/under/color/green, + DYE_BLUE = /obj/item/clothing/under/color/blue, + DYE_PURPLE = /obj/item/clothing/under/color/lightpurple, + DYE_BLACK = /obj/item/clothing/under/color/black, + DYE_WHITE = /obj/item/clothing/under/color/white, + DYE_RAINBOW = /obj/item/clothing/under/color/rainbow, + DYE_MIME = /obj/item/clothing/under/rank/civilian/mime, + DYE_CLOWN = /obj/item/clothing/under/rank/civilian/clown, + DYE_QM = /obj/item/clothing/under/rank/cargo/qm, + DYE_LAW = /obj/item/clothing/under/suit/black, + DYE_CAPTAIN = /obj/item/clothing/under/rank/captain, + DYE_HOP = /obj/item/clothing/under/rank/civilian/head_of_personnel, + DYE_HOS = /obj/item/clothing/under/rank/security/head_of_security, + DYE_CE = /obj/item/clothing/under/rank/engineering/chief_engineer, + DYE_RD = /obj/item/clothing/under/rank/rnd/research_director, + DYE_CMO = /obj/item/clothing/under/rank/medical/chief_medical_officer, + DYE_REDCOAT = /obj/item/clothing/under/costume/redcoat + ), + DYE_REGISTRY_JUMPSKIRT = list( + DYE_RED = /obj/item/clothing/under/color/jumpskirt/red, + DYE_ORANGE = /obj/item/clothing/under/color/jumpskirt/orange, + DYE_YELLOW = /obj/item/clothing/under/color/jumpskirt/yellow, + DYE_GREEN = /obj/item/clothing/under/color/jumpskirt/green, + DYE_BLUE = /obj/item/clothing/under/color/jumpskirt/blue, + DYE_PURPLE = /obj/item/clothing/under/color/jumpskirt/lightpurple, + DYE_BLACK = /obj/item/clothing/under/color/jumpskirt/black, + DYE_WHITE = /obj/item/clothing/under/color/jumpskirt/white, + DYE_RAINBOW = /obj/item/clothing/under/color/jumpskirt/rainbow + ), + DYE_REGISTRY_GLOVES = list( + DYE_RED = /obj/item/clothing/gloves/color/red, + DYE_ORANGE = /obj/item/clothing/gloves/color/orange, + DYE_YELLOW = /obj/item/clothing/gloves/color/yellow, + DYE_GREEN = /obj/item/clothing/gloves/color/green, + DYE_BLUE = /obj/item/clothing/gloves/color/blue, + DYE_PURPLE = /obj/item/clothing/gloves/color/purple, + DYE_BLACK = /obj/item/clothing/gloves/color/black, + DYE_WHITE = /obj/item/clothing/gloves/color/white, + DYE_RAINBOW = /obj/item/clothing/gloves/color/rainbow, + DYE_MIME = /obj/item/clothing/gloves/color/white, + DYE_CLOWN = /obj/item/clothing/gloves/color/rainbow, + DYE_QM = /obj/item/clothing/gloves/color/brown, + DYE_CAPTAIN = /obj/item/clothing/gloves/color/captain, + DYE_HOP = /obj/item/clothing/gloves/color/grey, + DYE_HOS = /obj/item/clothing/gloves/color/black, + DYE_CE = /obj/item/clothing/gloves/color/black, + DYE_RD = /obj/item/clothing/gloves/color/grey, + DYE_CMO = /obj/item/clothing/gloves/color/latex/nitrile, + DYE_REDCOAT = /obj/item/clothing/gloves/color/white + ), + DYE_REGISTRY_SNEAKERS = list( + DYE_RED = /obj/item/clothing/shoes/sneakers/red, + DYE_ORANGE = /obj/item/clothing/shoes/sneakers/orange, + DYE_YELLOW = /obj/item/clothing/shoes/sneakers/yellow, + DYE_GREEN = /obj/item/clothing/shoes/sneakers/green, + DYE_BLUE = /obj/item/clothing/shoes/sneakers/blue, + DYE_PURPLE = /obj/item/clothing/shoes/sneakers/purple, + DYE_BLACK = /obj/item/clothing/shoes/sneakers/black, + DYE_WHITE = /obj/item/clothing/shoes/sneakers/white, + DYE_RAINBOW = /obj/item/clothing/shoes/sneakers/rainbow, + DYE_MIME = /obj/item/clothing/shoes/sneakers/black, + DYE_QM = /obj/item/clothing/shoes/sneakers/brown, + DYE_CAPTAIN = /obj/item/clothing/shoes/sneakers/brown, + DYE_HOP = /obj/item/clothing/shoes/sneakers/brown, + DYE_CE = /obj/item/clothing/shoes/sneakers/brown, + DYE_RD = /obj/item/clothing/shoes/sneakers/brown, + DYE_CMO = /obj/item/clothing/shoes/sneakers/brown + ), + DYE_REGISTRY_FANNYPACK = list( + DYE_RED = /obj/item/storage/belt/fannypack/red, + DYE_ORANGE = /obj/item/storage/belt/fannypack/orange, + DYE_YELLOW = /obj/item/storage/belt/fannypack/yellow, + DYE_GREEN = /obj/item/storage/belt/fannypack/green, + DYE_BLUE = /obj/item/storage/belt/fannypack/blue, + DYE_PURPLE = /obj/item/storage/belt/fannypack/purple, + DYE_BLACK = /obj/item/storage/belt/fannypack/black, + DYE_WHITE = /obj/item/storage/belt/fannypack/white + ), + DYE_REGISTRY_BEDSHEET = list( + DYE_RED = /obj/item/bedsheet/red, + DYE_ORANGE = /obj/item/bedsheet/orange, + DYE_YELLOW = /obj/item/bedsheet/yellow, + DYE_GREEN = /obj/item/bedsheet/green, + DYE_BLUE = /obj/item/bedsheet/blue, + DYE_PURPLE = /obj/item/bedsheet/purple, + DYE_BLACK = /obj/item/bedsheet/black, + DYE_WHITE = /obj/item/bedsheet, + DYE_RAINBOW = /obj/item/bedsheet/rainbow, + DYE_MIME = /obj/item/bedsheet/mime, + DYE_CLOWN = /obj/item/bedsheet/clown, + DYE_QM = /obj/item/bedsheet/qm, + DYE_LAW = /obj/item/bedsheet/black, + DYE_CAPTAIN = /obj/item/bedsheet/captain, + DYE_HOP = /obj/item/bedsheet/hop, + DYE_HOS = /obj/item/bedsheet/hos, + DYE_CE = /obj/item/bedsheet/ce, + DYE_RD = /obj/item/bedsheet/rd, + DYE_CMO = /obj/item/bedsheet/cmo, + DYE_COSMIC = /obj/item/bedsheet/cosmos + ) +)) + /obj/machinery/washing_machine name = "washing machine" desc = "Gets rid of those pesky bloodstains, or your money back!" @@ -13,27 +121,22 @@ /obj/machinery/washing_machine/examine(mob/user) . = ..() - . += "Alt-click it to start a wash cycle." + if(!busy) + . += "Alt-click it to start a wash cycle." /obj/machinery/washing_machine/AltClick(mob/user) . = ..() if(!user.canUseTopic(src)) return - if(busy) return - if(state_open) to_chat(user, "Close the door first") return TRUE - if(bloody_mess) to_chat(user, "[src] must be cleaned up first.") return TRUE - if(has_corgi) - bloody_mess = 1 - busy = TRUE update_icon() addtimer(CALLBACK(src, .proc/wash_cycle), 200) @@ -76,6 +179,28 @@ color_source = null update_icon() +/obj/item/proc/dye_item(dye_color) + if(undyeable) + return FALSE + if(dying_key) + if(!GLOB.dye_registry[dying_key]) + log_runtime("Item just tried to be dyed with an invalid registry key: [dying_key]") + return FALSE + var/obj/item/target_type = GLOB.dye_registry[dying_key][dye_color] + if(target_type) + icon = initial(target_type.icon) + icon_state = initial(target_type.icon_state) + lefthand_file = initial(target_type.lefthand_file) + righthand_file = initial(target_type.righthand_file) + item_state = initial(target_type.item_state) + mob_overlay_icon = initial(target_type.mob_overlay_icon) + inhand_x_dimension = initial(target_type.inhand_x_dimension) + inhand_y_dimension = initial(target_type.inhand_y_dimension) + name = initial(target_type.name) + desc = "[initial(target_type.desc)] The colors look a little dodgy." + return target_type //successfully "appearance copy" dyed something; returns the target type as a hacky way of extending + add_atom_colour(dye_color, FIXED_COLOUR_PRIORITY) + return FALSE //what happens to this object when washed inside a washing machine /atom/movable/proc/machine_wash(obj/machinery/washing_machine/WM) @@ -89,105 +214,27 @@ new /obj/item/reagent_containers/food/snacks/meat/slab/corgi(loc) qdel(src) -/obj/item/paper/machine_wash(obj/machinery/washing_machine/WM) - if(WM.color_source) - if(istype(WM.color_source, /obj/item/toy/crayon)) - var/obj/item/toy/crayon/CR = WM.color_source - add_atom_colour(CR.paint_color, WASHABLE_COLOUR_PRIORITY) - -/obj/item/reagents_containers/rag/towel/machine_wash(obj/machinery/washing_machine/WM) - if(WM.color_source) - if(istype(WM.color_source, /obj/item/toy/crayon)) - var/obj/item/toy/crayon/CR = WM.color_source - add_atom_colour(CR.paint_color, WASHABLE_COLOUR_PRIORITY) - /mob/living/simple_animal/pet/dog/corgi/machine_wash(obj/machinery/washing_machine/WM) gib() -/obj/item/clothing/under/color/machine_wash(obj/machinery/washing_machine/WM) - jumpsuit_wash(WM) - -/obj/item/clothing/under/rank/machine_wash(obj/machinery/washing_machine/WM) - jumpsuit_wash(WM) - -/obj/item/clothing/under/proc/jumpsuit_wash(obj/machinery/washing_machine/WM) +/obj/item/machine_wash(obj/machinery/washing_machine/WM) if(WM.color_source) - var/wash_color = WM.color_source.item_color - var/obj/item/clothing/under/U - for(var/T in typesof(/obj/item/clothing/under/color)) - var/obj/item/clothing/under/color/J = T - if(wash_color == initial(J.item_color)) - U = J - break - if(!U) - for(var/T in typesof(/obj/item/clothing/under/rank)) - var/obj/item/clothing/under/rank/R = T - if(wash_color == initial(R.item_color)) - U = R - break - if(U) - item_state = initial(U.item_state) - icon_state = initial(U.icon_state) - item_color = wash_color - name = initial(U.name) - desc = "The colors are a bit dodgy." - can_adjust = initial(U.can_adjust) - if(!can_adjust && adjusted) //we deadjust the uniform if it's now unadjustable - toggle_jumpsuit_adjust() + dye_item(WM.color_source.dye_color) -/obj/item/clothing/gloves/color/machine_wash(obj/machinery/washing_machine/WM) - if(WM.color_source) - var/wash_color = WM.color_source.item_color - for(var/T in typesof(/obj/item/clothing/gloves/color)) - var/obj/item/clothing/gloves/color/G = T - if(wash_color == initial(G.item_color)) - item_state = initial(G.item_state) - icon_state = initial(G.icon_state) - item_color = wash_color - name = initial(G.name) - desc = "The colors are a bit dodgy." - break +/obj/item/clothing/under/dye_item(dye_color, dye_key) + . = ..() + if(.) + var/obj/item/clothing/under/U = . + can_adjust = initial(U.can_adjust) + if(!can_adjust && adjusted) //we deadjust the uniform if it's now unadjustable + toggle_jumpsuit_adjust() /obj/item/clothing/shoes/sneakers/machine_wash(obj/machinery/washing_machine/WM) if(chained) chained = 0 slowdown = SHOES_SLOWDOWN new /obj/item/restraints/handcuffs(loc) - if(WM.color_source) - var/wash_color = WM.color_source.item_color - for(var/T in typesof(/obj/item/clothing/shoes/sneakers)) - var/obj/item/clothing/shoes/sneakers/S = T - if(wash_color == initial(S.item_color)) - icon_state = initial(S.icon_state) - item_color = wash_color - name = initial(S.name) - desc = "The colors are a bit dodgy." - break - -/obj/item/bedsheet/machine_wash(obj/machinery/washing_machine/WM) - if(WM.color_source) - var/wash_color = WM.color_source.item_color - for(var/T in typesof(/obj/item/bedsheet)) - var/obj/item/bedsheet/B = T - if(wash_color == initial(B.item_color)) - icon_state = initial(B.icon_state) - item_color = wash_color - name = initial(B.name) - desc = "The colors are a bit dodgy." - break - -/obj/item/clothing/head/soft/machine_wash(obj/machinery/washing_machine/WM) - if(WM.color_source) - var/wash_color = WM.color_source.item_color - for(var/T in typesof(/obj/item/clothing/head/soft)) - var/obj/item/clothing/head/soft/H = T - if(wash_color == initial(H.item_color)) - icon_state = initial(H.icon_state) - item_color = wash_color - name = initial(H.name) - desc = "The colors are a bit dodgy." - break - + ..() /obj/machinery/washing_machine/relaymove(mob/user) container_resist(user) @@ -223,27 +270,27 @@ if(istype(W, /obj/item/clothing/head/mob_holder)) to_chat(user, "It's too unwieldly to put in this way.") - return 1 + return TRUE else if(user.a_intent != INTENT_HARM) if (!state_open) to_chat(user, "Open the door first!") - return 1 + return TRUE if(bloody_mess) to_chat(user, "[src] must be cleaned up first.") - return 1 + return TRUE if(contents.len >= max_wash_capacity) to_chat(user, "The washing machine is full!") - return 1 + return TRUE if(!user.transferItemToLoc(W, src)) to_chat(user, "\The [W] is stuck to your hand, you cannot put it in the washing machine!") - return 1 + return TRUE - if(istype(W, /obj/item/toy/crayon) || istype(W, /obj/item/stamp)) + if(W.dye_color) color_source = W update_icon() diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index e1d6101aa5..c132a7af23 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -7,9 +7,19 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) /obj/item name = "item" icon = 'icons/obj/items_and_weapons.dmi' + ///icon state name for inhanf overlays var/item_state = null + ///Icon file for left hand inhand overlays var/lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + ///Icon file for right inhand overlays var/righthand_file = 'icons/mob/inhands/items_righthand.dmi' + + ///Icon file for mob worn overlays. + ///no var for state because it should *always* be the same as icon_state + var/icon/mob_overlay_icon + //Forced mob worn layer instead of the standard preferred ssize. + var/alternate_worn_layer + var/list/alternate_screams = list() //REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE //Dimensions of the icon file used when this item is worn, eg: hats.dmi @@ -21,10 +31,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/inhand_x_dimension = 32 var/inhand_y_dimension = 32 - //Not on /clothing because for some reason any /obj/item can technically be "worn" with enough fuckery. - var/icon/alternate_worn_icon = null//If this is set, update_icons() will find on mob (WORN, NOT INHANDS) states in this file instead, primary use: badminnery/events - var/alternate_worn_layer = null//If this is set, update_icons() will force the on mob state (WORN, NOT INHANDS) onto this layer, instead of it's default - max_integrity = 200 obj_flags = NONE @@ -60,8 +66,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) //Citadel Edit for digitigrade stuff var/mutantrace_variation = NONE //Are there special sprites for specific situations? Don't use this unless you need to. - var/item_color = null //this needs deprecating, soonish - var/body_parts_covered = 0 //see setup.dm for appropriate bit flags var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets) var/permeability_coefficient = 1 // for chemicals/diseases @@ -110,6 +114,13 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/trigger_guard = TRIGGER_GUARD_NONE + ///Used as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm + var/dye_color + ///Whether the item is unaffected by standard dying. + var/undyeable = FALSE + ///What dye registry should be looked at when dying this item; see washing_machine.dm + var/dying_key + //Grinder vars var/list/grind_results //A reagent list containing the reagents this item produces when ground up in a grinder - this can be an empty list to allow for reagent transferring only var/list/juice_results //A reagent list containing blah blah... but when JUICED in a grinder! diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index 72e6ccbbe2..c3830abad8 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -201,7 +201,7 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) return //If we've run out, display message and exit else last = null - loaded.item_color = colors[current_color_index] + loaded.cable_color = colors[current_color_index] last = loaded.place_turf(get_turf(src), user, turn(user.dir, 180)) is_empty(user) //If we've run out, display message update_icon() @@ -277,7 +277,7 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) if(T.intact || !T.can_have_cabling()) return - loaded.item_color = colors[current_color_index] + loaded.cable_color = colors[current_color_index] var/obj/structure/cable/linkingCable = findLinkingCable(user) if(linkingCable) @@ -299,7 +299,7 @@ obj/item/twohanded/rcl/proc/getMobhook(mob/to_hook) var/cwname = colors[current_color_index] to_chat(user, "Color changed to [cwname]!") if(loaded) - loaded.item_color= colors[current_color_index] + loaded.cable_color = colors[current_color_index] update_icon() if(wiring_gui_menu) wiringGuiUpdate(user) diff --git a/code/game/objects/items/balls.dm b/code/game/objects/items/balls.dm index c24f58208b..2e5a385ead 100644 --- a/code/game/objects/items/balls.dm +++ b/code/game/objects/items/balls.dm @@ -15,7 +15,7 @@ lefthand_file = 'modular_citadel/icons/mob/inhands/balls_left.dmi' righthand_file = 'modular_citadel/icons/mob/inhands/balls_right.dmi' item_state = "tennis_classic" - alternate_worn_icon = 'modular_citadel/icons/mob/mouthball.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/mouthball.dmi' slot_flags = ITEM_SLOT_HEAD | ITEM_SLOT_NECK | ITEM_SLOT_EARS //Fluff item, put it wherever you want! throw_range = 14 w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index f5b13d4e3e..09c045497c 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -26,7 +26,7 @@ var/icon_uncapped var/use_overlays = FALSE - item_color = "red" + var/crayon_color = "red" w_class = WEIGHT_CLASS_TINY attack_verb = list("attacked", "coloured") grind_results = list() @@ -83,7 +83,9 @@ . = ..() // Makes crayons identifiable in things like grinders if(name == "crayon") - name = "[item_color] crayon" + name = "[crayon_color] crayon" + + dye_color = crayon_color drawtype = pick(all_drawables) @@ -484,65 +486,75 @@ /obj/item/toy/crayon/red icon_state = "crayonred" paint_color = "#DA0000" - item_color = "red" + crayon_color = "red" reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/red = 1) + dye_color = DYE_RED /obj/item/toy/crayon/orange icon_state = "crayonorange" paint_color = "#FF9300" - item_color = "orange" + crayon_color = "orange" reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/orange = 1) + dye_color = DYE_ORANGE /obj/item/toy/crayon/yellow icon_state = "crayonyellow" paint_color = "#FFF200" - item_color = "yellow" + crayon_color = "yellow" reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/yellow = 1) + dye_color = DYE_YELLOW /obj/item/toy/crayon/green icon_state = "crayongreen" paint_color = "#A8E61D" - item_color = "green" + crayon_color = "green" reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/green = 1) + dye_color = DYE_GREEN /obj/item/toy/crayon/blue icon_state = "crayonblue" paint_color = "#00B7EF" - item_color = "blue" + crayon_color = "blue" reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/blue = 1) + dye_color = DYE_BLUE /obj/item/toy/crayon/purple icon_state = "crayonpurple" paint_color = "#DA00FF" - item_color = "purple" + crayon_color = "purple" reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/purple = 1) + dye_color = DYE_PURPLE /obj/item/toy/crayon/black icon_state = "crayonblack" paint_color = "#1C1C1C" //Not completely black because total black looks bad. So Mostly Black. - item_color = "black" + crayon_color = "black" reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/black = 1) + dye_color = DYE_BLACK /obj/item/toy/crayon/white icon_state = "crayonwhite" paint_color = "#FFFFFF" - item_color = "white" + crayon_color = "white" reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/white = 1) + dye_color = DYE_WHITE /obj/item/toy/crayon/mime icon_state = "crayonmime" desc = "A very sad-looking crayon." paint_color = "#FFFFFF" - item_color = "mime" + crayon_color = "mime" reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent/crayonpowder/invisible = 1) charges = -1 + dye_color = DYE_MIME /obj/item/toy/crayon/rainbow icon_state = "crayonrainbow" paint_color = "#FFF000" - item_color = "rainbow" + crayon_color = "rainbow" reagent_contents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent = 1) drawtype = RANDOM_ANY // just the default starter. + dye_color = DYE_RAINBOW charges = -1 @@ -580,12 +592,12 @@ /obj/item/storage/crayons/update_overlays() . = ..() for(var/obj/item/toy/crayon/crayon in contents) - add_overlay(mutable_appearance('icons/obj/crayons.dmi', crayon.item_color)) + add_overlay(mutable_appearance('icons/obj/crayons.dmi', crayon.crayon_color)) /obj/item/storage/crayons/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/toy/crayon)) var/obj/item/toy/crayon/C = W - switch(C.item_color) + switch(C.crayon_color) if("mime") to_chat(usr, "This crayon is too sad to be contained in this box.") return diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 914f2a149a..1eee083c80 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -149,7 +149,7 @@ Code: name = "shock collar" desc = "A reinforced metal collar. It seems to have some form of wiring near the front. Strange.." icon = 'modular_citadel/icons/obj/clothing/cit_neck.dmi' - alternate_worn_icon = 'modular_citadel/icons/mob/citadel/neck.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/citadel/neck.dmi' icon_state = "shockcollar" item_state = "shockcollar" body_parts_covered = NECK diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index ea24e77832..1172b50377 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -51,8 +51,8 @@ to_chat(user, "You have already forged a seal on [src]!") else var/obj/item/toy/crayon/C = O - name = "[C.item_color] secret documents" - icon_state = "docs_[C.item_color]" - forgedseal = C.item_color - to_chat(user, "You forge the official seal with a [C.item_color] crayon. No one will notice... right?") - update_icon() \ No newline at end of file + name = "[C.crayon_color] secret documents" + icon_state = "docs_[C.crayon_color]" + forgedseal = C.crayon_color + to_chat(user, "You forge the official seal with a [C.crayon_color] crayon. No one will notice... right?") + update_icon() diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index e1b0cbb661..d597b9fa8c 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -113,7 +113,6 @@ desc = "Looks like some cables tied together. Could be used to tie something up." icon_state = "cuff" item_state = "coil" - item_color = "red" color = "#ff0000" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' @@ -121,46 +120,29 @@ breakouttime = 300 //Deciseconds = 30s cuffsound = 'sound/weapons/cablecuff.ogg' -/obj/item/restraints/handcuffs/cable/Initialize(mapload, param_color) - . = ..() - - var/list/cable_colors = GLOB.cable_colors - item_color = param_color || item_color || pick(cable_colors) - if(cable_colors[item_color]) - item_color = cable_colors[item_color] - color = null - add_atom_colour(item_color, FIXED_COLOUR_PRIORITY) - /obj/item/restraints/handcuffs/cable/red - item_color = "red" color = "#ff0000" /obj/item/restraints/handcuffs/cable/yellow - item_color = "yellow" color = "#ffff00" /obj/item/restraints/handcuffs/cable/blue - item_color = "blue" color = "#1919c8" /obj/item/restraints/handcuffs/cable/green - item_color = "green" color = "#00aa00" /obj/item/restraints/handcuffs/cable/pink - item_color = "pink" color = "#ff3ccd" /obj/item/restraints/handcuffs/cable/orange - item_color = "orange" color = "#ff8000" /obj/item/restraints/handcuffs/cable/cyan - item_color = "cyan" color = "#00ffff" /obj/item/restraints/handcuffs/cable/white - item_color = "white" + color = null /obj/item/restraints/handcuffs/cable/attackby(obj/item/I, mob/user, params) ..() @@ -202,7 +184,7 @@ custom_materials = null breakouttime = 450 //Deciseconds = 45s trashtype = /obj/item/restraints/handcuffs/cable/zipties/used - item_color = "white" + color = null /obj/item/restraints/handcuffs/cable/zipties/used desc = "A pair of broken zipties." diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index bd9ac276a2..17cebea128 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -122,7 +122,7 @@ /obj/item/clothing/head/helmet/chaplain/cage name = "cage" desc = "A cage that restrains the will of the self, allowing one to see the profane world for what it is." - alternate_worn_icon = 'icons/mob/large-worn-icons/64x64/head.dmi' + mob_overlay_icon = 'icons/mob/large-worn-icons/64x64/head.dmi' icon_state = "cage" item_state = "cage" worn_x_dimension = 64 diff --git a/code/game/objects/items/implants/implant.dm b/code/game/objects/items/implants/implant.dm index c1983b6b8c..cc2ae3631e 100644 --- a/code/game/objects/items/implants/implant.dm +++ b/code/game/objects/items/implants/implant.dm @@ -5,7 +5,7 @@ actions_types = list(/datum/action/item_action/hands_free/activate) var/activated = TRUE //1 for implant types that can be activated, 0 for ones that are "always on" like mindshield implants var/mob/living/imp_in = null - item_color = "b" + var/implant_color = "b" var/allow_multiple = FALSE var/uses = -1 item_flags = DROPDEL diff --git a/code/game/objects/items/implants/implant_freedom.dm b/code/game/objects/items/implants/implant_freedom.dm index f3e66d2c08..280fbb7cd3 100644 --- a/code/game/objects/items/implants/implant_freedom.dm +++ b/code/game/objects/items/implants/implant_freedom.dm @@ -2,7 +2,7 @@ name = "freedom implant" desc = "Use this to escape from those evil Red Shirts." icon_state = "freedom" - item_color = "r" + implant_color = "r" uses = 4 diff --git a/code/game/objects/items/implants/implant_storage.dm b/code/game/objects/items/implants/implant_storage.dm index 1dfc0b4580..4dc0263fa7 100644 --- a/code/game/objects/items/implants/implant_storage.dm +++ b/code/game/objects/items/implants/implant_storage.dm @@ -2,7 +2,7 @@ name = "storage implant" desc = "Stores up to two big items in a bluespace pocket." icon_state = "storage" - item_color = "r" + implant_color = "r" var/max_slot_stacking = 4 var/obj/item/storage/bluespace_pocket/pocket diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index 481f1a4181..8573324b56 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -15,7 +15,7 @@ /obj/item/implantcase/update_icon_state() if(imp) - icon_state = "implantcase-[imp.item_color]" + icon_state = "implantcase-[imp.implant_color]" else icon_state = "implantcase-0" diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index aba07c9120..bec2d29236 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -5,12 +5,15 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) resistance_flags = FIRE_PROOF var/brightness_on = 3 + var/sword_color total_mass = 0.4 //Survival flashlights typically weigh around 5 ounces. /obj/item/melee/transforming/energy/Initialize() . = ..() total_mass_on = (total_mass_on ? total_mass_on : (w_class_on * 0.75)) if(active) + if(sword_color) + icon_state = "sword[sword_color]" set_light(brightness_on) START_PROCESSING(SSobj, src) @@ -37,8 +40,8 @@ . = ..() if(.) if(active) - if(item_color) - icon_state = "sword[item_color]" + if(sword_color) + icon_state = "sword[sword_color]" START_PROCESSING(SSobj, src) set_light(brightness_on) else @@ -103,12 +106,19 @@ embedding = list("embed_chance" = 75, "embedded_impact_pain_multiplier" = 10) armour_penetration = 35 block_chance = 50 + var/list/possible_colors = list("red" = LIGHT_COLOR_RED, "blue" = LIGHT_COLOR_LIGHT_CYAN, "green" = LIGHT_COLOR_GREEN, "purple" = LIGHT_COLOR_LAVENDER) + +/obj/item/melee/transforming/energy/sword/Initialize(mapload) + . = ..() + set_sword_color() + +/obj/item/melee/transforming/energy/sword/proc/set_sword_color() + if(LAZYLEN(possible_colors)) + light_color = possible_colors[pick(possible_colors)] /obj/item/melee/transforming/energy/sword/transform_weapon(mob/living/user, supress_message_text) . = ..() if(active) - if(. && item_color) - icon_state = "sword[item_color]" AddElement(/datum/element/sword_point) else RemoveElement(/datum/element/sword_point) @@ -119,7 +129,9 @@ return 0 /obj/item/melee/transforming/energy/sword/cyborg - item_color = "red" + sword_color = "red" + light_color = "#ff0000" + possible_colors = null var/hitcost = 50 /obj/item/melee/transforming/energy/sword/cyborg/attack(mob/M, var/mob/living/silicon/robot/R) @@ -140,7 +152,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "esaw_0" icon_state_on = "esaw_1" - item_color = null //stops icon from breaking when turned on. + sword_color = null //stops icon from breaking when turned on. hitcost = 75 //Costs more than a standard cyborg esword w_class = WEIGHT_CLASS_NORMAL sharpness = IS_SHARP @@ -152,15 +164,13 @@ return 0 /obj/item/melee/transforming/energy/sword/saber - var/list/possible_colors = list("red" = LIGHT_COLOR_RED, "blue" = LIGHT_COLOR_LIGHT_CYAN, "green" = LIGHT_COLOR_GREEN, "purple" = LIGHT_COLOR_LAVENDER) + possible_colors = list("red" = LIGHT_COLOR_RED, "blue" = LIGHT_COLOR_LIGHT_CYAN, "green" = LIGHT_COLOR_GREEN, "purple" = LIGHT_COLOR_LAVENDER) var/hacked = FALSE -/obj/item/melee/transforming/energy/sword/saber/Initialize(mapload) - . = ..() +/obj/item/melee/transforming/energy/sword/saber/set_sword_color() if(LAZYLEN(possible_colors)) - var/set_color = pick(possible_colors) - item_color = set_color - light_color = possible_colors[set_color] + sword_color = pick(possible_colors) + light_color = possible_colors[sword_color] /obj/item/melee/transforming/energy/sword/saber/process() . = ..() @@ -185,7 +195,7 @@ if(istype(W, /obj/item/multitool)) if(!hacked) hacked = TRUE - item_color = "rainbow" + sword_color = "rainbow" to_chat(user, "RNBW_ENGAGE") if(active) @@ -204,6 +214,7 @@ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' icon_state_on = "cutlass1" light_color = "#ff0000" + possible_colors = null /obj/item/melee/transforming/energy/blade name = "energy blade" @@ -271,32 +282,8 @@ return TRUE /obj/item/melee/transforming/energy/sword/cx/transform_weapon(mob/living/user, supress_message_text) - active = !active //I'd use a ..() here but it'd inherit from the regular esword's proc instead, so SPAGHETTI CODE - if(active) //also I'd need to rip out the iconstate changing bits - force = force_on - throwforce = throwforce_on - hitsound = hitsound_on - throw_speed = 4 - if(attack_verb_on.len) - attack_verb = attack_verb_on - w_class = w_class_on - START_PROCESSING(SSobj, src) - set_light(brightness_on) - update_icon() - else - force = initial(force) - throwforce = initial(throwforce) - hitsound = initial(hitsound) - throw_speed = initial(throw_speed) - if(attack_verb_off.len) - attack_verb = attack_verb_off - w_class = initial(w_class) - STOP_PROCESSING(SSobj, src) - set_light(0) - update_icon() - transform_messages(user, supress_message_text) - add_fingerprint(user) - return TRUE + . = ..() + update_icon() /obj/item/melee/transforming/energy/sword/cx/transform_messages(mob/living/user, supress_message_text) playsound(user, active ? 'sound/weapons/nebon.ogg' : 'sound/weapons/neboff.ogg', 65, 1) diff --git a/code/game/objects/items/paint.dm b/code/game/objects/items/paint.dm index cc2f5e9be7..bdf9ab4270 100644 --- a/code/game/objects/items/paint.dm +++ b/code/game/objects/items/paint.dm @@ -7,7 +7,7 @@ desc = "Used to recolor floors and walls. Can be removed by the janitor." icon = 'icons/obj/items_and_weapons.dmi' icon_state = "paint_neutral" - item_color = "FFFFFF" + var/paint_color = "FFFFFF" item_state = "paintcan" w_class = WEIGHT_CLASS_NORMAL resistance_flags = FLAMMABLE @@ -16,37 +16,37 @@ /obj/item/paint/red name = "red paint" - item_color = "C73232" //"FF0000" + paint_color = "C73232" //"FF0000" icon_state = "paint_red" /obj/item/paint/green name = "green paint" - item_color = "2A9C3B" //"00FF00" + paint_color = "2A9C3B" //"00FF00" icon_state = "paint_green" /obj/item/paint/blue name = "blue paint" - item_color = "5998FF" //"0000FF" + paint_color = "5998FF" //"0000FF" icon_state = "paint_blue" /obj/item/paint/yellow name = "yellow paint" - item_color = "CFB52B" //"FFFF00" + paint_color = "CFB52B" //"FFFF00" icon_state = "paint_yellow" /obj/item/paint/violet name = "violet paint" - item_color = "AE4CCD" //"FF00FF" + paint_color = "AE4CCD" //"FF00FF" icon_state = "paint_violet" /obj/item/paint/black name = "black paint" - item_color = "333333" + paint_color = "333333" icon_state = "paint_black" /obj/item/paint/white name = "white paint" - item_color = "FFFFFF" + paint_color = "FFFFFF" icon_state = "paint_white" @@ -61,31 +61,31 @@ return switch(t1) if("red") - item_color = "C73232" + paint_color = "C73232" if("pink") - item_color = "FFC0CD" + paint_color = "FFC0CD" if("blue") - item_color = "5998FF" + paint_color = "5998FF" if("cyan") - item_color = "00FFFF" + paint_color = "00FFFF" if("green") - item_color = "2A9C3B" + paint_color = "2A9C3B" if("lime") - item_color = "00FF00" + paint_color = "00FF00" if("yellow") - item_color = "CFB52B" + paint_color = "CFB52B" if("orange") - item_color = "fFA700" + paint_color = "fFA700" if("violet") - item_color = "AE4CCD" + paint_color = "AE4CCD" if("purple") - item_color = "800080" + paint_color = "800080" if("white") - item_color = "FFFFFF" + paint_color = "FFFFFF" if("gray") - item_color = "808080" + paint_color = "808080" if("black") - item_color = "333333" + paint_color = "333333" icon_state = "paint_[t1]" add_fingerprint(user) @@ -99,7 +99,7 @@ return if(!isturf(target) || isspaceturf(target)) return - var/newcolor = "#" + item_color + var/newcolor = "#" + paint_color target.add_atom_colour(newcolor, WASHABLE_COLOUR_PRIORITY) /obj/item/paint/paint_remover diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index b89a2983f5..136d58ba41 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -214,7 +214,7 @@ /obj/item/clothing/head/helmet/plate/crusader/prophet name = "Prophet's Hat" desc = "A religious-looking hat." - alternate_worn_icon = 'icons/mob/large-worn-icons/64x64/head.dmi' + mob_overlay_icon = 'icons/mob/large-worn-icons/64x64/head.dmi' flags_1 = 0 armor = list("melee" = 60, "bullet" = 60, "laser" = 60, "energy" = 50, "bomb" = 70, "bio" = 50, "rad" = 50, "fire" = 60, "acid" = 60) //religion protects you from disease and radiation, honk. worn_x_dimension = 64 diff --git a/code/game/objects/items/stacks/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm index f864df5a21..00e48fd12a 100644 --- a/code/game/objects/items/stacks/bscrystal.dm +++ b/code/game/objects/items/stacks/bscrystal.dm @@ -5,6 +5,7 @@ icon = 'icons/obj/telescience.dmi' icon_state = "bluespace_crystal" singular_name = "bluespace crystal" + dye_color = DYE_COSMIC w_class = WEIGHT_CLASS_TINY custom_materials = list(/datum/material/bluespace=MINERAL_MATERIAL_AMOUNT) points = 50 diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 5f2795c857..70b00c72ec 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -240,8 +240,7 @@ else if(istype(O, /obj/item/restraints/handcuffs/cable)) var/obj/item/cuffs = O - cuffs.item_color = item_color - cuffs.update_icon() + cuffs.color = color if (QDELETED(O)) return //It's a stack and has already been merged diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 0a29562d6b..152ee50513 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -708,6 +708,7 @@ desc = "A dorky fannypack for keeping small items in." icon_state = "fannypack_leather" item_state = "fannypack_leather" + dying_key = DYE_REGISTRY_FANNYPACK /obj/item/storage/belt/fannypack/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index ba51fa3d65..38e31bc65b 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -273,15 +273,12 @@ var/obj/item/twohanded/dualsaber/toy/newSaber = new /obj/item/twohanded/dualsaber/toy(user.loc) if(hacked) // That's right, we'll only check the "original" "sword". newSaber.hacked = TRUE - newSaber.item_color = "rainbow" qdel(W) qdel(src) else if(istype(W, /obj/item/multitool)) if(!hacked) hacked = TRUE - item_color = "rainbow" to_chat(user, "RNBW_ENGAGE") - if(active) update_icon() user.update_inv_hands() diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index b188250fff..0e9d41c057 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -281,7 +281,7 @@ hitsound = "swing_hit" var/hitsound_on = 'sound/weapons/blade1.ogg' armour_penetration = 35 - item_color = "green" + var/saber_color = "green" light_color = "#00ff00"//green attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") block_chance = 75 @@ -324,8 +324,8 @@ /obj/item/twohanded/dualsaber/Initialize() . = ..() if(LAZYLEN(possible_colors)) - item_color = pick(possible_colors) - switch(item_color) + saber_color = pick(possible_colors) + switch(saber_color) if("red") light_color = LIGHT_COLOR_RED if("green") @@ -341,7 +341,7 @@ /obj/item/twohanded/dualsaber/update_icon_state() if(wielded) - icon_state = "dualsaber[item_color][wielded]" + icon_state = "dualsaber[saber_color][wielded]" else icon_state = "dualsaber0" clean_blood() @@ -456,7 +456,7 @@ if(!hacked) hacked = TRUE to_chat(user, "2XRNBW_ENGAGE") - item_color = "rainbow" + saber_color = "rainbow" update_icon() else to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.") diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 0991351102..3127485878 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -16,8 +16,8 @@ LINEN BINS throw_speed = 1 throw_range = 2 w_class = WEIGHT_CLASS_TINY - item_color = "white" resistance_flags = FLAMMABLE + dying_key = DYE_REGISTRY_BEDSHEET dog_fashion = /datum/dog_fashion/head/ghost var/list/dream_messages = list("white") @@ -52,79 +52,66 @@ LINEN BINS /obj/item/bedsheet/blue icon_state = "sheetblue" - item_color = "blue" dream_messages = list("blue") /obj/item/bedsheet/green icon_state = "sheetgreen" - item_color = "green" dream_messages = list("green") /obj/item/bedsheet/grey icon_state = "sheetgrey" - item_color = "grey" dream_messages = list("grey") /obj/item/bedsheet/orange icon_state = "sheetorange" - item_color = "orange" dream_messages = list("orange") /obj/item/bedsheet/purple icon_state = "sheetpurple" - item_color = "purple" dream_messages = list("purple") /obj/item/bedsheet/patriot name = "patriotic bedsheet" desc = "You've never felt more free than when sleeping on this." icon_state = "sheetUSA" - item_color = "sheetUSA" dream_messages = list("America", "freedom", "fireworks", "bald eagles") /obj/item/bedsheet/rainbow name = "rainbow bedsheet" desc = "A multicolored blanket. It's actually several different sheets cut up and sewn together." icon_state = "sheetrainbow" - item_color = "rainbow" dream_messages = list("red", "orange", "yellow", "green", "blue", "purple", "a rainbow") /obj/item/bedsheet/red icon_state = "sheetred" - item_color = "red" dream_messages = list("red") /obj/item/bedsheet/yellow icon_state = "sheetyellow" - item_color = "yellow" dream_messages = list("yellow") /obj/item/bedsheet/mime name = "mime's blanket" desc = "A very soothing striped blanket. All the noise just seems to fade out when you're under the covers in this." icon_state = "sheetmime" - item_color = "mime" dream_messages = list("silence", "gestures", "a pale face", "a gaping mouth", "the mime") /obj/item/bedsheet/clown name = "clown's blanket" desc = "A rainbow blanket with a clown mask woven in. It smells faintly of bananas." icon_state = "sheetclown" - item_color = "clown" dream_messages = list("honk", "laughter", "a prank", "a joke", "a smiling face", "the clown") /obj/item/bedsheet/captain name = "captain's bedsheet" desc = "It has a Nanotrasen symbol on it, and was woven with a revolutionary new kind of thread guaranteed to have 0.01% permeability for most non-chemical substances, popular among most modern captains." icon_state = "sheetcaptain" - item_color = "captain" dream_messages = list("authority", "a golden ID", "sunglasses", "a green disc", "an antique gun", "the captain") /obj/item/bedsheet/rd name = "research director's bedsheet" desc = "It appears to have a beaker emblem, and is made out of fire-resistant material, although it probably won't protect you in the event of fires you're familiar with every day." icon_state = "sheetrd" - item_color = "director" dream_messages = list("authority", "a silvery ID", "a bomb", "a mech", "a facehugger", "maniacal laughter", "the research director") // for Free Golems. @@ -137,111 +124,94 @@ LINEN BINS name = "medical blanket" desc = "It's a sterilized* blanket commonly used in the Medbay. *Sterilization is voided if a virologist is present onboard the station." icon_state = "sheetmedical" - item_color = "medical" dream_messages = list("healing", "life", "surgery", "a doctor") /obj/item/bedsheet/cmo name = "chief medical officer's bedsheet" desc = "It's a sterilized blanket that has a cross emblem. There's some cat fur on it, likely from Runtime." icon_state = "sheetcmo" - item_color = "cmo" dream_messages = list("authority", "a silvery ID", "healing", "life", "surgery", "a cat", "the chief medical officer") /obj/item/bedsheet/hos name = "head of security's bedsheet" desc = "It is decorated with a shield emblem. While crime doesn't sleep, you do, but you are still THE LAW!" icon_state = "sheethos" - item_color = "hosred" dream_messages = list("authority", "a silvery ID", "handcuffs", "a baton", "a flashbang", "sunglasses", "the head of security") /obj/item/bedsheet/hop name = "head of personnel's bedsheet" desc = "It is decorated with a key emblem. For those rare moments when you can rest and cuddle with Ian without someone screaming for you over the radio." icon_state = "sheethop" - item_color = "hop" dream_messages = list("authority", "a silvery ID", "obligation", "a computer", "an ID", "a corgi", "the head of personnel") /obj/item/bedsheet/ce name = "chief engineer's bedsheet" desc = "It is decorated with a wrench emblem. It's highly reflective and stain resistant, so you don't need to worry about ruining it with oil." icon_state = "sheetce" - item_color = "chief" dream_messages = list("authority", "a silvery ID", "the engine", "power tools", "an APC", "a parrot", "the chief engineer") /obj/item/bedsheet/qm name = "quartermaster's bedsheet" desc = "It is decorated with a crate emblem in silver lining. It's rather tough, and just the thing to lie on after a hard day of pushing paper." icon_state = "sheetqm" - item_color = "qm" dream_messages = list("a grey ID", "a shuttle", "a crate", "a sloth", "the quartermaster") /obj/item/bedsheet/brown icon_state = "sheetbrown" - item_color = "cargo" dream_messages = list("brown") /obj/item/bedsheet/black icon_state = "sheetblack" - item_color = "black" dream_messages = list("black") /obj/item/bedsheet/centcom name = "\improper CentCom bedsheet" desc = "Woven with advanced nanothread for warmth as well as being very decorated, essential for all officials." icon_state = "sheetcentcom" - item_color = "centcom" dream_messages = list("a unique ID", "authority", "artillery", "an ending") /obj/item/bedsheet/syndie name = "syndicate bedsheet" desc = "It has a syndicate emblem and it has an aura of evil." icon_state = "sheetsyndie" - item_color = "syndie" dream_messages = list("a green disc", "a red crystal", "a glowing blade", "a wire-covered ID") /obj/item/bedsheet/cult name = "cultist's bedsheet" desc = "You might dream of Nar'Sie if you sleep with this. It seems rather tattered and glows of an eldritch presence." icon_state = "sheetcult" - item_color = "cult" dream_messages = list("a tome", "a floating red crystal", "a glowing sword", "a bloody symbol", "a massive humanoid figure") /obj/item/bedsheet/wiz name = "wizard's bedsheet" desc = "A special fabric enchanted with magic so you can have an enchanted night. It even glows!" icon_state = "sheetwiz" - item_color = "wiz" dream_messages = list("a book", "an explosion", "lightning", "a staff", "a skeleton", "a robe", "magic") /obj/item/bedsheet/nanotrasen name = "nanotrasen bedsheet" desc = "It has the Nanotrasen logo on it and has an aura of duty." icon_state = "sheetNT" - item_color = "nanotrasen" dream_messages = list("authority", "an ending") /obj/item/bedsheet/ian icon_state = "sheetian" - item_color = "ian" dream_messages = list("a dog", "a corgi", "woof", "bark", "arf") /obj/item/bedsheet/runtime icon_state = "sheetruntime" - item_color = "runtime" dream_messages = list("a kitty", "a cat", "meow", "purr", "nya~") /obj/item/bedsheet/pirate name = "pirate's bedsheet" desc = "It has a Jolly Roger emblem on it and has a faint scent of grog." icon_state = "sheetpirate" - item_color = "black" dream_messages = list("doing whatever oneself wants", "cause a pirate is free", "being a pirate", "stealing", "landlubbers", "gold", "a buried treasure", "yarr", "avast", "a swashbuckler", "sailing the Seven Seas", "a parrot", "a monkey", "an island", "a talking skull") /obj/item/bedsheet/gondola name = "gondola bedsheet" desc = "A precious bedsheet made from the hide of a rare and peculiar critter." icon_state = "sheetgondola" - item_color = "cargo" var/g_mouth var/g_eyes @@ -262,14 +232,12 @@ LINEN BINS name = "cosmic space bedsheet" desc = "Made from the dreams of those who wonder at the stars." icon_state = "sheetcosmos" - item_color = "cosmos" dream_messages = list("the infinite cosmos", "Hans Zimmer music", "a flight through space", "the galaxy", "being fabulous", "shooting stars") light_power = 2 light_range = 1.4 /obj/item/bedsheet/random icon_state = "random_bedsheet" - item_color = "rainbow" name = "random bedsheet" desc = "If you're reading this description ingame, something has gone wrong! Honk!" diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index cc15147312..4e2c53c0cf 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -287,7 +287,6 @@ prof.name_list[slot] = I.name prof.appearance_list[slot] = I.appearance prof.flags_cover_list[slot] = I.flags_cover - prof.item_color_list[slot] = I.item_color prof.item_state_list[slot] = I.item_state prof.exists_list[slot] = 1 else @@ -503,7 +502,6 @@ var/list/appearance_list = list() var/list/flags_cover_list = list() var/list/exists_list = list() - var/list/item_color_list = list() var/list/item_state_list = list() var/underwear @@ -526,7 +524,6 @@ newprofile.appearance_list = appearance_list.Copy() newprofile.flags_cover_list = flags_cover_list.Copy() newprofile.exists_list = exists_list.Copy() - newprofile.item_color_list = item_color_list.Copy() newprofile.item_state_list = item_state_list.Copy() newprofile.underwear = underwear newprofile.undershirt = undershirt diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm index 5bc04173b9..a4f8bf8062 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm @@ -127,7 +127,6 @@ icon = 'icons/obj/clothing/clockwork_garb.dmi' icon_state = "clockwork_gauntlets" item_state = "clockwork_gauntlets" - item_color = null //So they don't wash. strip_delay = 50 equip_delay_other = 30 body_parts_covered = ARMS diff --git a/code/modules/antagonists/devil/true_devil/inventory.dm b/code/modules/antagonists/devil/true_devil/inventory.dm index 778c421616..579dfb4fb1 100644 --- a/code/modules/antagonists/devil/true_devil/inventory.dm +++ b/code/modules/antagonists/devil/true_devil/inventory.dm @@ -12,12 +12,7 @@ var/obj/item/r_hand = get_item_for_held_index(2) if(r_hand) - - var/r_state = r_hand.item_state - if(!r_state) - r_state = r_hand.icon_state - - var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(state = r_state, default_layer = DEVIL_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) + var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(default_layer = DEVIL_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) hands_overlays += r_hand_overlay @@ -28,12 +23,7 @@ client.screen |= r_hand if(l_hand) - - var/l_state = l_hand.item_state - if(!l_state) - l_state = l_hand.icon_state - - var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(state = l_state, default_layer = DEVIL_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) + var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(default_layer = DEVIL_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) hands_overlays += l_hand_overlay diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index cbd1fcff87..9f1111e5d9 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -219,14 +219,13 @@ if(isitem(target)) var/obj/item/I = target I.item_state = initial(picked_item.item_state) - I.item_color = initial(picked_item.item_color) var/obj/item/clothing/CL = target var/obj/item/clothing/PCL = new picked_item if(istype(CL) && istype(PCL)) CL.flags_cover = PCL.flags_cover CL.flags_inv = PCL.flags_inv CL.mutantrace_variation = PCL.mutantrace_variation - CL.alternate_worn_icon = PCL.alternate_worn_icon + CL.mob_overlay_icon = PCL.mob_overlay_icon qdel(PCL) target.icon = initial(picked_item.icon) @@ -238,7 +237,6 @@ P.desc = initial(picked_item.desc) P.icon_state = initial(picked_item.icon_state) P.item_state = initial(picked_item.item_state) - P.item_color = initial(picked_item.item_color) P.overlays_offsets = initial(picked_item.overlays_offsets) P.set_new_overlays() P.update_icon() @@ -269,7 +267,6 @@ name = "black jumpsuit" icon_state = "black" item_state = "bl_suit" - item_color = "black" desc = "It's a plain jumpsuit. It has a small dial on the wrist." sensor_mode = SENSOR_OFF //Hey who's this guy on the Syndicate Shuttle?? random_sensor = FALSE @@ -284,7 +281,6 @@ desc = "A tough jumpsuit woven from alloy threads. It can take on the appearance of other jumpsuits." icon_state = "engine" item_state = "engi_suit" - item_color = "engine" /obj/item/clothing/under/chameleon/Initialize() . = ..() @@ -394,7 +390,6 @@ name = "grey cap" desc = "It's a baseball hat in a tasteful grey colour." icon_state = "greysoft" - item_color = "grey" resistance_flags = NONE armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) @@ -494,7 +489,6 @@ /obj/item/clothing/shoes/chameleon name = "black shoes" icon_state = "black" - item_color = "black" desc = "A pair of black shoes." permeability_coefficient = 0.05 resistance_flags = NONE @@ -520,7 +514,6 @@ /obj/item/clothing/shoes/chameleon/noslip name = "black shoes" icon_state = "black" - item_color = "black" desc = "A pair of black shoes." clothing_flags = NOSLIP @@ -639,7 +632,6 @@ desc = "A neosilk clip-on tie." icon = 'icons/obj/clothing/neck.dmi' icon_state = "blacktie" - item_color = "blacktie" resistance_flags = NONE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 7e2d73190a..f68164594c 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -444,11 +444,11 @@ BLIND // can't see anything /obj/item/clothing/update_overlays() // Polychrome stuff . = ..() if(hasprimary) //Checks if the overlay is enabled - var/mutable_appearance/primary_overlay = mutable_appearance(icon, "[item_color]-primary", color = primary_color) //Automagically picks overlays + var/mutable_appearance/primary_overlay = mutable_appearance(icon, "[item_state]-primary", color = primary_color) //Automagically picks overlays . += primary_overlay //Applies the coloured overlay onto the item sprite. but NOT the mob sprite. if(hassecondary) - var/mutable_appearance/secondary_overlay = mutable_appearance(icon, "[item_color]-secondary", color = secondary_color) + var/mutable_appearance/secondary_overlay = mutable_appearance(icon, "[item_state]-secondary", color = secondary_color) . += secondary_overlay if(hastertiary) - var/mutable_appearance/tertiary_overlay = mutable_appearance(icon, "[item_color]-tertiary", color = tertiary_color) - . += tertiary_overlay \ No newline at end of file + var/mutable_appearance/tertiary_overlay = mutable_appearance(icon, "[item_state]-tertiary", color = tertiary_color) + . += tertiary_overlay diff --git a/code/modules/clothing/glasses/phantomthief.dm b/code/modules/clothing/glasses/phantomthief.dm index 1c9afcfd6f..569a743802 100644 --- a/code/modules/clothing/glasses/phantomthief.dm +++ b/code/modules/clothing/glasses/phantomthief.dm @@ -1,7 +1,7 @@ /obj/item/clothing/glasses/phantomthief name = "suspicious paper mask" desc = "A cheap, Syndicate-branded paper face mask. They'll never see it coming." - alternate_worn_icon = 'icons/mob/mask.dmi' + mob_overlay_icon = 'icons/mob/mask.dmi' icon = 'icons/obj/clothing/masks.dmi' icon_state = "s-ninja" item_state = "s-ninja" diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index cf3541fd89..a38765e442 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -1,3 +1,6 @@ +/obj/item/clothing/gloves/color + dying_key = DYE_REGISTRY_GLOVES + /obj/item/clothing/gloves/color/yellow desc = "These gloves will protect the wearer from electric shock." name = "insulated gloves" @@ -5,7 +8,6 @@ item_state = "ygloves" siemens_coefficient = 0 permeability_coefficient = 0.05 - item_color="yellow" resistance_flags = NONE var/can_be_cut = 1 @@ -16,7 +18,6 @@ item_state = "ygloves" siemens_coefficient = 1 //Set to a default of 1, gets overridden in New() permeability_coefficient = 0.05 - item_color="yellow" resistance_flags = NONE var/can_be_cut = 1 @@ -70,21 +71,14 @@ name = "black gloves" icon_state = "black" item_state = "blackgloves" - item_color="black" cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE - var/can_be_cut = 1 + var/can_be_cut = TRUE strip_mod = 1.2 -/obj/item/clothing/gloves/color/black/hos - item_color = "hosred" //Exists for washing machines. Is not different from black gloves in any way. - -/obj/item/clothing/gloves/color/black/ce - item_color = "chief" //Exists for washing machines. Is not different from black gloves in any way. - /obj/item/clothing/gloves/color/black/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/wirecutters)) if(can_be_cut && icon_state == initial(icon_state))//only if not dyed @@ -99,15 +93,12 @@ desc = "A pair of gloves, they don't look special in any way." icon_state = "orange" item_state = "orangegloves" - item_color="orange" /obj/item/clothing/gloves/color/red name = "red gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "red" item_state = "redgloves" - item_color = "red" - /obj/item/clothing/gloves/color/red/insulated name = "insulated gloves" @@ -121,68 +112,48 @@ desc = "A pair of gloves, they don't look special in any way." icon_state = "rainbow" item_state = "rainbowgloves" - item_color = "rainbow" - -/obj/item/clothing/gloves/color/rainbow/clown - item_color = "clown" /obj/item/clothing/gloves/color/blue name = "blue gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "blue" item_state = "bluegloves" - item_color="blue" /obj/item/clothing/gloves/color/purple name = "purple gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "purple" item_state = "purplegloves" - item_color="purple" /obj/item/clothing/gloves/color/green name = "green gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "green" item_state = "greengloves" - item_color="green" /obj/item/clothing/gloves/color/grey name = "grey gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "gray" item_state = "graygloves" - item_color="grey" - -/obj/item/clothing/gloves/color/grey/rd - item_color = "director" //Exists for washing machines. Is not different from gray gloves in any way. - -/obj/item/clothing/gloves/color/grey/hop - item_color = "hop" //Exists for washing machines. Is not different from gray gloves in any way. /obj/item/clothing/gloves/color/light_brown name = "light brown gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "lightbrown" item_state = "lightbrowngloves" - item_color="light brown" /obj/item/clothing/gloves/color/brown name = "brown gloves" desc = "A pair of gloves, they don't look special in any way." icon_state = "brown" item_state = "browngloves" - item_color="brown" - -/obj/item/clothing/gloves/color/brown/cargo - item_color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way. /obj/item/clothing/gloves/color/captain desc = "Regal blue gloves, with a nice gold trim, a diamond anti-shock coating, and an integrated thermal barrier. Swanky." name = "captain's gloves" icon_state = "captain" item_state = "egloves" - item_color = "captain" siemens_coefficient = 0 permeability_coefficient = 0.05 cold_protection = HANDS @@ -199,7 +170,6 @@ item_state = "lgloves" siemens_coefficient = 0.3 permeability_coefficient = 0.01 - item_color="mime" transfer_prints = TRUE resistance_flags = NONE var/carrytrait = TRAIT_QUICK_CARRY @@ -218,7 +188,6 @@ desc = "Pricy sterile gloves that are stronger than latex. Transfers advanced paramedical knowledge to the wearer via the use of nanochips." icon_state = "nitrile" item_state = "nitrilegloves" - item_color = "cmo" transfer_prints = FALSE carrytrait = TRAIT_QUICKER_CARRY @@ -236,7 +205,3 @@ desc = "These look pretty fancy." icon_state = "white" item_state = "wgloves" - item_color="white" - -/obj/item/clothing/gloves/color/white/redcoat - item_color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way. diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 9f4b89f607..cb75b16ec2 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -4,7 +4,6 @@ desc = "Plain black gloves without fingertips for the hard working." icon_state = "fingerless" item_state = "fingerless" - item_color = null //So they don't wash. transfer_prints = TRUE strip_delay = 40 equip_delay_other = 20 @@ -48,7 +47,6 @@ desc = "For when you're expecting to get slapped on the wrist. Offers modest protection to your arms." icon_state = "bracers" item_state = "bracers" - item_color = null //So they don't wash. transfer_prints = TRUE strip_delay = 40 equip_delay_other = 20 diff --git a/code/modules/clothing/head/beanie.dm b/code/modules/clothing/head/beanie.dm index a5fb04d393..4117e88811 100644 --- a/code/modules/clothing/head/beanie.dm +++ b/code/modules/clothing/head/beanie.dm @@ -5,7 +5,6 @@ name = "white beanie" desc = "A stylish beanie. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their heads." icon_state = "beanie" //Default white - item_color = "beanie" /obj/item/clothing/head/beanie/black name = "black beanie" @@ -52,33 +51,27 @@ /obj/item/clothing/head/beanie/christmas name = "christmas beanie" icon_state = "beaniechristmas" - item_color = "beaniechristmas" /obj/item/clothing/head/beanie/striped name = "striped beanie" icon_state = "beaniestriped" - item_color = "beaniestriped" /obj/item/clothing/head/beanie/stripedred name = "red striped beanie" icon_state = "beaniestripedred" - item_color = "beaniestripedred" /obj/item/clothing/head/beanie/stripedblue name = "blue striped beanie" icon_state = "beaniestripedblue" - item_color = "beaniestripedblue" /obj/item/clothing/head/beanie/stripedgreen name = "green striped beanie" icon_state = "beaniestripedgreen" - item_color = "beaniestripedgreen" /obj/item/clothing/head/beanie/durathread name = "durathread beanie" desc = "A beanie made from durathread, its resilient fibres provide some protection to the wearer." icon_state = "beaniedurathread" - item_color = null armor = list("melee" = 25, "bullet" = 10, "laser" = 20,"energy" = 10, "bomb" = 30, "bio" = 15, "rad" = 20, "fire" = 100, "acid" = 50) diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 29b0aa9552..246be3ff4a 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -7,7 +7,7 @@ light_color = "#FFCC66" var/power_on = 0.8 var/on = FALSE - item_color = "yellow" //Determines used sprites: hardhat[on]_[item_color] and hardhat[on]_[item_color]2 (lying down sprite) + var/hat_type = "yellow" //Determines used sprites: hardhat[on]_[hat_type] and hardhat[on]_[hat_type]2 (lying down sprite) armor = list("melee" = 15, "bullet" = 5, "laser" = 20,"energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50) flags_inv = 0 actions_types = list(/datum/action/item_action/toggle_helmet_light) @@ -33,8 +33,8 @@ update_icon() /obj/item/clothing/head/hardhat/update_icon_state() - icon_state = "hardhat[on]_[item_color]" - item_state = "hardhat[on]_[item_color]" + icon_state = "hardhat[on]_[hat_type]" + item_state = "hardhat[on]_[hat_type]" /obj/item/clothing/head/hardhat/proc/turn_on(mob/user) set_light(brightness_on, power_on) @@ -45,13 +45,13 @@ /obj/item/clothing/head/hardhat/orange icon_state = "hardhat0_orange" item_state = "hardhat0_orange" - item_color = "orange" + hat_type = "orange" dog_fashion = null /obj/item/clothing/head/hardhat/red icon_state = "hardhat0_red" item_state = "hardhat0_red" - item_color = "red" + hat_type = "red" dog_fashion = null name = "firefighter helmet" clothing_flags = STOPSPRESSUREDAMAGE @@ -63,7 +63,7 @@ /obj/item/clothing/head/hardhat/white icon_state = "hardhat0_white" item_state = "hardhat0_white" - item_color = "white" + hat_type = "white" clothing_flags = STOPSPRESSUREDAMAGE heat_protection = HEAD max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT @@ -74,13 +74,13 @@ /obj/item/clothing/head/hardhat/dblue icon_state = "hardhat0_dblue" item_state = "hardhat0_dblue" - item_color = "dblue" + hat_type = "dblue" dog_fashion = null /obj/item/clothing/head/hardhat/atmos icon_state = "hardhat0_atmos" item_state = "hardhat0_atmos" - item_color = "atmos" + hat_type = "atmos" dog_fashion = null name = "atmospheric technician's firefighting helmet" desc = "A firefighter's helmet, able to keep the user cool in any situation." @@ -139,14 +139,14 @@ /obj/item/clothing/head/hardhat/weldhat/orange icon_state = "hardhat0_orange" item_state = "hardhat0_orange" - item_color = "orange" + hat_type = "orange" /obj/item/clothing/head/hardhat/weldhat/white desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight AND welding shield!" //This bulb is not smaller icon_state = "hardhat0_white" item_state = "hardhat0_white" brightness_on = 4 //Boss always takes the best stuff - item_color = "white" + hat_type = "white" clothing_flags = STOPSPRESSUREDAMAGE heat_protection = HEAD max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT @@ -156,4 +156,4 @@ /obj/item/clothing/head/hardhat/weldhat/dblue icon_state = "hardhat0_dblue" item_state = "hardhat0_dblue" - item_color = "dblue" \ No newline at end of file + hat_type = "dblue" \ No newline at end of file diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 9253c4e9aa..638a0c2f23 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -364,7 +364,6 @@ name = "durathread beret" desc = "A beret made from durathread, its resilient fibres provide some protection to the wearer." icon_state = "beretdurathread" - item_color = null armor = list("melee" = 25, "bullet" = 10, "laser" = 20,"energy" = 10, "bomb" = 30, "bio" = 15, "rad" = 20, "fire" = 100, "acid" = 50) #undef DRILL_DEFAULT diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 189fb46e46..2cb043ba88 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -372,14 +372,12 @@ name = "Telegram cap" desc = "A bright red cap warn by hotel staff. Or people who want to be a singing telegram" icon_state = "telegram" - item_color = "telegram" dog_fashion = /datum/dog_fashion/head/telegram /obj/item/clothing/head/colour name = "Singer cap" desc = "A light white hat that has bands of color. Just makes you want to sing and dance!" icon_state = "colour" - item_color = "colour" dog_fashion = /datum/dog_fashion/head/colour /obj/item/clothing/head/christmashat diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 0b58ea234c..b8fcc40311 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -42,7 +42,6 @@ desc = "You put the cake on your head. Brilliant." icon_state = "hardhat0_cakehat" item_state = "hardhat0_cakehat" - item_color = "cakehat" hitsound = 'sound/weapons/tap.ogg' flags_inv = HIDEEARS|HIDEHAIR armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) @@ -114,7 +113,6 @@ desc = "A jack o' lantern! Believed to ward off evil spirits." icon_state = "hardhat0_pumpkin" item_state = "hardhat0_pumpkin" - item_color = "pumpkin" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) brightness_on = 2 //luminosity when on @@ -151,7 +149,6 @@ desc = "Some fake antlers and a very fake red nose." icon_state = "hardhat0_reindeer" item_state = "hardhat0_reindeer" - item_color = "reindeer" flags_inv = 0 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) brightness_on = 1 //luminosity when on diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 19ff6bc8b2..2f4bd44e4f 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -3,14 +3,14 @@ desc = "It's a baseball hat in a tasteless yellow colour." icon_state = "cargosoft" item_state = "helmet" - item_color = "cargo" + var/soft_type = "cargo" dog_fashion = /datum/dog_fashion/head/cargo_tech var/flipped = 0 /obj/item/clothing/head/soft/dropped(mob/user) - icon_state = "[item_color]soft" + icon_state = "[soft_type]soft" flipped = FALSE return ..() @@ -33,10 +33,10 @@ if(!user.incapacitated()) src.flipped = !src.flipped if(src.flipped) - icon_state = "[item_color]soft_flipped" + icon_state = "[soft_type]soft_flipped" to_chat(user, "You flip the hat backwards.") else - icon_state = "[item_color]soft" + icon_state = "[soft_type]soft" to_chat(user, "You flip the hat back in normal position.") usr.update_inv_head() //so our mob-overlays update @@ -48,77 +48,77 @@ name = "red cap" desc = "It's a baseball hat in a tasteless red colour." icon_state = "redsoft" - item_color = "red" + soft_type = "red" dog_fashion = null /obj/item/clothing/head/soft/blue name = "blue cap" desc = "It's a baseball hat in a tasteless blue colour." icon_state = "bluesoft" - item_color = "blue" + soft_type = "blue" dog_fashion = null /obj/item/clothing/head/soft/green name = "green cap" desc = "It's a baseball hat in a tasteless green colour." icon_state = "greensoft" - item_color = "green" + soft_type = "green" dog_fashion = null /obj/item/clothing/head/soft/yellow name = "yellow cap" desc = "It's a baseball hat in a tasteless yellow colour." icon_state = "yellowsoft" - item_color = "yellow" + soft_type = "yellow" dog_fashion = null /obj/item/clothing/head/soft/grey name = "grey cap" desc = "It's a baseball hat in a tasteful grey colour." icon_state = "greysoft" - item_color = "grey" + soft_type = "grey" dog_fashion = null /obj/item/clothing/head/soft/orange name = "orange cap" desc = "It's a baseball hat in a tasteless orange colour." icon_state = "orangesoft" - item_color = "orange" + soft_type = "orange" dog_fashion = null /obj/item/clothing/head/soft/mime name = "white cap" desc = "It's a baseball hat in a tasteless white colour." icon_state = "mimesoft" - item_color = "mime" + soft_type = "mime" dog_fashion = null /obj/item/clothing/head/soft/purple name = "purple cap" desc = "It's a baseball hat in a tasteless purple colour." icon_state = "purplesoft" - item_color = "purple" + soft_type = "purple" dog_fashion = null /obj/item/clothing/head/soft/black name = "black cap" desc = "It's a baseball hat in a tasteless black colour." icon_state = "blacksoft" - item_color = "black" + soft_type = "black" dog_fashion = null /obj/item/clothing/head/soft/rainbow name = "rainbow cap" desc = "It's a baseball hat in a bright rainbow of colors." icon_state = "rainbowsoft" - item_color = "rainbow" + soft_type = "rainbow" dog_fashion = null /obj/item/clothing/head/soft/sec name = "security cap" desc = "It's a robust baseball hat in tasteful red colour." icon_state = "secsoft" - item_color = "sec" + soft_type = "sec" armor = list("melee" = 30, "bullet" = 25, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 50) strip_delay = 60 dog_fashion = null @@ -127,14 +127,14 @@ name = "EMT cap" desc = "It's a baseball hat with a dark turquoise color and a reflective cross on the top." icon_state = "emtsoft" - item_color = "emt" + soft_type = "emt" dog_fashion = null /obj/item/clothing/head/soft/baseball name = "baseball cap" desc = "It's a robust baseball hat, this one belongs to syndicate major league team." icon_state = "baseballsoft" - item_color = "baseballsoft" + soft_type = "baseballsoft" item_state = "baseballsoft" flags_inv = HIDEEYES|HIDEFACE armor = list("melee" = 35, "bullet" = 35, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 90) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 38f0a7c20a..144b17e510 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -68,6 +68,7 @@ clothing_flags = ALLOWINTERNALS icon_state = "clown" item_state = "clown_hat" + dye_color = "clown" flags_cover = MASKCOVERSEYES resistance_flags = FLAMMABLE actions_types = list(/datum/action/item_action/adjust) diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index c743f26363..2bc3d5098d 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -132,7 +132,6 @@ /obj/item/clothing/mask/cowmask name = "Cow mask with a builtin voice modulator." desc = "A rubber cow mask," - icon = 'icons/mob/mask.dmi' icon_state = "cowmask" item_state = "cowmask" clothing_flags = VOICEBOX_TOGGLABLE diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 530af7777d..7bce47909a 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -21,35 +21,29 @@ icon = 'icons/obj/clothing/neck.dmi' icon_state = "bluetie" item_state = "" //no inhands - item_color = "bluetie" w_class = WEIGHT_CLASS_SMALL /obj/item/clothing/neck/tie/blue name = "blue tie" icon_state = "bluetie" - item_color = "bluetie" /obj/item/clothing/neck/tie/red name = "red tie" icon_state = "redtie" - item_color = "redtie" /obj/item/clothing/neck/tie/black name = "black tie" icon_state = "blacktie" - item_color = "blacktie" /obj/item/clothing/neck/tie/horrible name = "horrible tie" desc = "A neosilk clip-on tie. This one is disgusting." icon_state = "horribletie" - item_color = "horribletie" /obj/item/clothing/neck/stethoscope name = "stethoscope" desc = "An outdated medical apparatus for listening to the sounds of the human body. It also makes you look like you know what you're doing." icon_state = "stethoscope" - item_color = "stethoscope" /obj/item/clothing/neck/stethoscope/suicide_act(mob/living/carbon/user) user.visible_message("[user] puts \the [src] to [user.p_their()] chest! It looks like [user.p_they()] wont hear much!") @@ -94,7 +88,6 @@ name = "white scarf" icon_state = "scarf" desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks." - item_color = "scarf" dog_fashion = /datum/dog_fashion/head /obj/item/clothing/neck/scarf/black @@ -148,12 +141,10 @@ /obj/item/clothing/neck/scarf/zebra name = "zebra scarf" icon_state = "zebrascarf" - item_color = "zebrascarf" /obj/item/clothing/neck/scarf/christmas name = "christmas scarf" icon_state = "christmasscarf" - item_color = "christmasscarf" //The three following scarves don't have the scarf subtype //This is because Ian can equip anything from that subtype @@ -161,17 +152,14 @@ /obj/item/clothing/neck/stripedredscarf name = "striped red scarf" icon_state = "stripedredscarf" - item_color = "stripedredscarf" /obj/item/clothing/neck/stripedgreenscarf name = "striped green scarf" icon_state = "stripedgreenscarf" - item_color = "stripedgreenscarf" /obj/item/clothing/neck/stripedbluescarf name = "striped blue scarf" icon_state = "stripedbluescarf" - item_color = "stripedbluescarf" /////////// //COLLARS// @@ -181,8 +169,7 @@ name = "pet collar" desc = "It's for pets. Though you probably could wear it yourself, you'd doubtless be the subject of ridicule. It seems to be made out of a polychromic material." icon_state = "petcollar" - item_color = "petcollar" - alternate_worn_icon = 'icons/mob/neck.dmi' //Because, as it appears, the item itself is normally not directly aware of its worn overlays, so this is about the easiest way, without adding a new var. + mob_overlay_icon = 'icons/mob/neck.dmi' //Because, as it appears, the item itself is normally not directly aware of its worn overlays, so this is about the easiest way, without adding a new var. hasprimary = TRUE primary_color = "#00BBBB" pocket_storage_component_path = /datum/component/storage/concrete/pockets/small/collar @@ -197,22 +184,21 @@ if(hasprimary | hassecondary | hastertiary) if(!isinhands) //prevents the worn sprites from showing up if you're just holding them if(hasprimary) //checks if overlays are enabled - var/mutable_appearance/primary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-primary") //automagical sprite selection + var/mutable_appearance/primary_worn = mutable_appearance(mob_overlay_icon, "[icon_state]-primary") //automagical sprite selection primary_worn.color = primary_color //colors the overlay . += primary_worn //adds the overlay onto the buffer list to draw on the mob sprite if(hassecondary) - var/mutable_appearance/secondary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-secondary") + var/mutable_appearance/secondary_worn = mutable_appearance(mob_overlay_icon, "[icon_state]-secondary") secondary_worn.color = secondary_color . += secondary_worn if(hastertiary) - var/mutable_appearance/tertiary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-tertiary") + var/mutable_appearance/tertiary_worn = mutable_appearance(mob_overlay_icon, "[icon_state]-tertiary") tertiary_worn.color = tertiary_color . += tertiary_worn /obj/item/clothing/neck/petcollar/leather name = "leather pet collar" icon_state = "leathercollar" - item_color = "leathercollar" hasprimary = TRUE hassecondary = TRUE @@ -223,7 +209,6 @@ desc = "Quite fashionable... if you're somebody who's just read their first BDSM-themed erotica novel." name = "choker" icon_state = "choker" - item_color = "choker" hasprimary = TRUE primary_color = "#222222" @@ -253,7 +238,6 @@ /obj/item/clothing/neck/petcollar/locked/leather name = "leather pet collar" icon_state = "leathercollar" - item_color = "leathercollar" hasprimary = TRUE hassecondary = TRUE @@ -264,7 +248,6 @@ name = "choker" desc = "Quite fashionable... if you're somebody who's just read their first BDSM-themed erotica novel." icon_state = "choker" - item_color = "choker" hasprimary = TRUE primary_color = "#222222" @@ -290,7 +273,6 @@ desc = "Damn, it feels good to be a gangster." icon = 'icons/obj/clothing/neck.dmi' icon_state = "bling" - item_color = "bling" ////////////////////////////////// //VERY SUPER BADASS NECKERCHIEFS// diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm index c45b9b443a..df0f03f614 100644 --- a/code/modules/clothing/shoes/colour.dm +++ b/code/modules/clothing/shoes/colour.dm @@ -1,9 +1,9 @@ /obj/item/clothing/shoes/sneakers + dying_key = DYE_REGISTRY_SNEAKERS /obj/item/clothing/shoes/sneakers/black name = "black shoes" icon_state = "black" - item_color = "black" desc = "A pair of black shoes." cold_protection = FEET @@ -11,80 +11,49 @@ heat_protection = FEET max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT -/obj/item/clothing/shoes/sneakers/black/redcoat - item_color = "redcoat" //Exists for washing machines. Is not different from black shoes in any way. - /obj/item/clothing/shoes/sneakers/brown name = "brown shoes" desc = "A pair of brown shoes." icon_state = "brown" - item_color = "brown" - -/obj/item/clothing/shoes/sneakers/brown/captain - item_color = "captain" //Exists for washing machines. Is not different from brown shoes in any way. - -/obj/item/clothing/shoes/sneakers/brown/hop - item_color = "hop" //Exists for washing machines. Is not different from brown shoes in any way. - -/obj/item/clothing/shoes/sneakers/brown/ce - item_color = "chief" //Exists for washing machines. Is not different from brown shoes in any way. - -/obj/item/clothing/shoes/sneakers/brown/rd - item_color = "director" //Exists for washing machines. Is not different from brown shoes in any way. - -/obj/item/clothing/shoes/sneakers/brown/cmo - item_color = "medical" //Exists for washing machines. Is not different from brown shoes in any way. - -/obj/item/clothing/shoes/sneakers/brown/qm - item_color = "cargo" //Exists for washing machines. Is not different from brown shoes in any way. /obj/item/clothing/shoes/sneakers/blue name = "blue shoes" icon_state = "blue" - item_color = "blue" /obj/item/clothing/shoes/sneakers/green name = "green shoes" icon_state = "green" - item_color = "green" /obj/item/clothing/shoes/sneakers/yellow name = "yellow shoes" icon_state = "yellow" - item_color = "yellow" /obj/item/clothing/shoes/sneakers/purple name = "purple shoes" icon_state = "purple" - item_color = "purple" /obj/item/clothing/shoes/sneakers/brown name = "brown shoes" icon_state = "brown" - item_color = "brown" /obj/item/clothing/shoes/sneakers/red name = "red shoes" desc = "Stylish red shoes." icon_state = "red" - item_color = "red" /obj/item/clothing/shoes/sneakers/white name = "white shoes" icon_state = "white" permeability_coefficient = 0.01 - item_color = "white" /obj/item/clothing/shoes/sneakers/rainbow name = "rainbow shoes" desc = "Very gay shoes." icon_state = "rain_bow" - item_color = "rainbow" /obj/item/clothing/shoes/sneakers/orange name = "orange shoes" icon_state = "orange" - item_color = "orange" /obj/item/clothing/shoes/sneakers/orange/attack_self(mob/user) if (src.chained) @@ -120,5 +89,4 @@ to_chat(c, "You need help taking these off!") return return ..() - - \ No newline at end of file + diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 32d9dd4483..1f868dad6d 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -4,7 +4,6 @@ /obj/item/clothing/shoes/sneakers/mime name = "mime shoes" icon_state = "mime" - item_color = "mime" /obj/item/clothing/shoes/combat //basic syndicate combat boots for nuke ops and mob corpses name = "combat boots" @@ -124,7 +123,6 @@ icon_state = "jackboots" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - item_color = "hosred" strip_delay = 50 equip_delay_other = 50 resistance_flags = NONE @@ -181,7 +179,6 @@ name = "\improper Nar'Sien invoker boots" desc = "A pair of boots worn by the followers of Nar'Sie." icon_state = "cult" - item_color = "cult" cold_protection = FEET min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT heat_protection = FEET @@ -227,7 +224,6 @@ name = "jump boots" desc = "A specialized pair of combat boots with a built-in propulsion system for rapid foward movement." icon_state = "jetboots" - item_color = "hosred" resistance_flags = FIRE_PROOF pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes actions_types = list(/datum/action/item_action/bhop) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 1bad198c73..7dbece0f91 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -10,7 +10,7 @@ var/brightness_on = 4 //luminosity when on var/on = FALSE var/obj/item/clothing/suit/space/hardsuit/suit - item_color = "engineering" //Determines used sprites: hardsuit[on]-[color] and hardsuit[on]-[color]2 (lying down sprite) + var/hardsuit_type = "engineering" //Determines used sprites: hardsuit[on]-[type] actions_types = list(/datum/action/item_action/toggle_helmet_light) var/rad_count = 0 @@ -30,7 +30,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/attack_self(mob/user) on = !on - icon_state = "[basestate][on]-[item_color]" + icon_state = "[basestate][on]-[hardsuit_type]" user.update_inv_head() //so our mob-overlays update if(on) @@ -103,6 +103,7 @@ actions_types = list(/datum/action/item_action/toggle_helmet) var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit var/obj/item/tank/jetpack/suit/jetpack = null + var/hardsuit_type /obj/item/clothing/suit/space/hardsuit/Initialize() @@ -169,7 +170,7 @@ icon_state = "hardsuit0-engineering" item_state = "eng_helm" armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) - item_color = "engineering" + hardsuit_type = "engineering" resistance_flags = FIRE_PROOF /obj/item/clothing/suit/space/hardsuit/engine @@ -188,7 +189,7 @@ desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has thermal shielding." icon_state = "hardsuit0-atmospherics" item_state = "atmo_helm" - item_color = "atmospherics" + hardsuit_type = "atmospherics" armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 25, "fire" = 100, "acid" = 75) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -209,7 +210,7 @@ desc = "An advanced helmet designed for work in a hazardous, low pressure environment. Shines with a high polish." icon_state = "hardsuit0-white" item_state = "ce_helm" - item_color = "white" + hardsuit_type = "white" armor = list("melee" = 40, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 90) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -231,7 +232,7 @@ desc = "A special helmet designed for work in a hazardous, low pressure environment. Has reinforced plating for wildlife encounters and dual floodlights." icon_state = "hardsuit0-mining" item_state = "mining_helm" - item_color = "mining" + hardsuit_type = "mining" max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF heat_protection = HEAD @@ -267,7 +268,7 @@ alt_desc = "A dual-mode advanced helmet designed for work in special operations. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit1-syndi" item_state = "syndie_helm" - item_color = "syndi" + hardsuit_type = "syndi" armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) on = FALSE var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null @@ -276,7 +277,7 @@ visor_flags = STOPSPRESSUREDAMAGE /obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon_state() - icon_state = "hardsuit[on]-[item_color]" + icon_state = "hardsuit[on]-[hardsuit_type]" /obj/item/clothing/head/helmet/space/hardsuit/syndi/Initialize() . = ..() @@ -332,7 +333,7 @@ linkedsuit.clothing_flags &= ~STOPSPRESSUREDAMAGE linkedsuit.cold_protection &= ~(CHEST | GROIN | LEGS | FEET | ARMS | HANDS) - linkedsuit.icon_state = "hardsuit[on]-[item_color]" + linkedsuit.icon_state = "hardsuit[on]-[hardsuit_type]" linkedsuit.update_icon() user.update_inv_wear_suit() user.update_inv_w_uniform() @@ -344,7 +345,7 @@ alt_desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit1-syndi" item_state = "syndie_hardsuit" - item_color = "syndi" + hardsuit_type = "syndi" w_class = WEIGHT_CLASS_NORMAL armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) @@ -358,7 +359,7 @@ desc = "An elite version of the syndicate helmet, with improved armour and fireproofing. It is in EVA mode. Property of Gorlex Marauders." alt_desc = "An elite version of the syndicate helmet, with improved armour and fireproofing. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit0-syndielite" - item_color = "syndielite" + hardsuit_type = "syndielite" armor = list("melee" = 60, "bullet" = 60, "laser" = 50, "energy" = 25, "bomb" = 55, "bio" = 100, "rad" = 70, "fire" = 100, "acid" = 100) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -375,7 +376,7 @@ desc = "An elite version of the syndicate hardsuit, with improved armour and fireproofing. It is in travel mode." alt_desc = "An elite version of the syndicate hardsuit, with improved armour and fireproofing. It is in combat mode." icon_state = "hardsuit0-syndielite" - item_color = "syndielite" + hardsuit_type = "syndielite" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite armor = list("melee" = 60, "bullet" = 60, "laser" = 50, "energy" = 25, "bomb" = 55, "bio" = 100, "rad" = 70, "fire" = 100, "acid" = 100) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -394,7 +395,7 @@ alt_desc = "A dual-mode advanced helmet designed for any crime-fighting situation. It is in combat mode." icon_state = "hardsuit1-owl" item_state = "s_helmet" - item_color = "owl" + hardsuit_type = "owl" visor_flags_inv = 0 visor_flags = 0 on = FALSE @@ -405,7 +406,7 @@ alt_desc = "A dual-mode advanced hardsuit designed for any crime-fighting situation. It is in combat mode." icon_state = "hardsuit1-owl" item_state = "s_suit" - item_color = "owl" + hardsuit_type = "owl" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl mutantrace_variation = STYLE_DIGITIGRADE @@ -416,7 +417,7 @@ desc = "A bizarre gem-encrusted helmet that radiates magical energies." icon_state = "hardsuit0-wiz" item_state = "wiz_helm" - item_color = "wiz" + hardsuit_type = "wiz" resistance_flags = FIRE_PROOF | ACID_PROOF //No longer shall our kind be foiled by lone chemists with spray bottles! armor = list("melee" = 40, "bullet" = 40, "laser" = 40, "energy" = 20, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) heat_protection = HEAD //Uncomment to enable firesuit protection @@ -446,7 +447,7 @@ desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra comfort, but does not protect the eyes from intense light." icon_state = "hardsuit0-medical" item_state = "medical_helm" - item_color = "medical" + hardsuit_type = "medical" flash_protect = 0 armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR @@ -479,7 +480,7 @@ name = "prototype hardsuit helmet" desc = "A prototype helmet designed for research in a hazardous, low pressure environment. Scientific data flashes across the visor." icon_state = "hardsuit0-rd" - item_color = "rd" + hardsuit_type = "rd" resistance_flags = ACID_PROOF | FIRE_PROOF max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80) @@ -521,7 +522,7 @@ desc = "A special helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." icon_state = "hardsuit0-sec" item_state = "sec_helm" - item_color = "sec" + hardsuit_type = "sec" armor = list("melee" = 35, "bullet" = 15, "laser" = 30,"energy" = 10, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) /obj/item/clothing/suit/space/hardsuit/security @@ -542,7 +543,7 @@ name = "head of security's hardsuit helmet" desc = "A special bulky helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." icon_state = "hardsuit0-hos" - item_color = "hos" + hardsuit_type = "hos" armor = list("melee" = 45, "bullet" = 25, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95) /obj/item/clothing/suit/space/hardsuit/security/hos @@ -591,7 +592,7 @@ icon_state = "hardsuit0-clown" item_state = "hardsuit0-clown" armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 60, "acid" = 30) - item_color = "clown" + hardsuit_type = "clown" /obj/item/clothing/suit/space/hardsuit/clown name = "cosmohonk hardsuit" @@ -617,7 +618,7 @@ icon_state = "hardsuit0-ancient" item_state = "anc_helm" armor = list("melee" = 30, "bullet" = 5, "laser" = 5, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) - item_color = "ancient" + hardsuit_type = "ancient" resistance_flags = FIRE_PROOF /obj/item/clothing/suit/space/hardsuit/ancient @@ -653,7 +654,7 @@ icon_state = "hardsuit0-ancient" item_state = "anc_helm" armor = list("melee" = 20, "bullet" = 15, "laser" = 15, "energy" = 45, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) - item_color = "ancient" + hardsuit_type = "ancient" brightness_on = 16 flash_protect = 5 //We will not be flash by bombs tint = 1 @@ -715,7 +716,7 @@ name = "soviet hardhelmet" desc = "Crafted with the pride of the proletariat. The vengeful gaze of the visor roots out all fascists and capitalists." item_state = "rig0-soviet" - item_color = "soviet" + hardsuit_type = "soviet" icon_state = "rig0-soviet" armor = list("melee" = 40, "bullet" = 30, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 75) mutantrace_variation = NONE @@ -806,7 +807,7 @@ desc = "Standard issue hardsuit for playing capture the flag." icon_state = "ert_medical" item_state = "ert_medical" - item_color = "ert_medical" + hardsuit_type = "ert_medical" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf armor = list("melee" = 0, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 95) slowdown = 0 @@ -820,7 +821,7 @@ name = "red shielded hardsuit" icon_state = "ert_security" item_state = "ert_security" - item_color = "ert_security" + hardsuit_type = "ert_security" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/red shield_state = "shield-red" shield_on = "shield-red" @@ -837,20 +838,20 @@ desc = "Standard issue hardsuit helmet for playing capture the flag." icon_state = "hardsuit0-ert_medical" item_state = "hardsuit0-ert_medical" - item_color = "ert_medical" + hardsuit_type = "ert_medical" armor = list("melee" = 0, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 95, "acid" = 95) /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/red icon_state = "hardsuit0-ert_security" item_state = "hardsuit0-ert_security" - item_color = "ert_security" + hardsuit_type = "ert_security" /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/blue name = "shielded hardsuit helmet" desc = "Standard issue hardsuit helmet for playing capture the flag." icon_state = "hardsuit0-ert_commander" item_state = "hardsuit0-ert_commander" - item_color = "ert_commander" + hardsuit_type = "ert_commander" //////Syndicate Version @@ -859,7 +860,7 @@ desc = "An advanced hardsuit with built in energy shielding." icon_state = "hardsuit1-syndi" item_state = "syndie_hardsuit" - item_color = "syndi" + hardsuit_type = "syndi" armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi @@ -875,7 +876,7 @@ desc = "An advanced hardsuit helmet with built in energy shielding." icon_state = "hardsuit1-syndi" item_state = "syndie_helm" - item_color = "syndi" + hardsuit_type = "syndi" armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 15, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) ///SWAT version @@ -884,7 +885,7 @@ desc = "An advanced hardsuit favored by commandos for use in special operations." icon_state = "deathsquad" item_state = "swat_suit" - item_color = "syndi" + hardsuit_type = "syndi" max_charges = 4 current_charges = 4 recharge_delay = 15 @@ -899,7 +900,7 @@ desc = "A tactical helmet with built in energy shielding." icon_state = "deathsquad" item_state = "deathsquad" - item_color = "syndi" + hardsuit_type = "syndi" armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -914,7 +915,7 @@ desc = "A helmet designed with both form and function in mind, it protects the user against physical trauma and hazardous conditions while also having polychromic light strips." icon_state = "knight_cydonia" item_state = "knight_yellow" - item_color = null + hardsuit_type = null max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | LAVA_PROOF heat_protection = HEAD diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 8c39427c49..69c72f5cce 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -174,7 +174,7 @@ Contains: desc = "Standard issue command helmet for the ERT." icon_state = "hardsuit0-ert_commander" item_state = "hardsuit0-ert_commander" - item_color = "ert_commander" + hardsuit_type = "ert_commander" armor = list("melee" = 65, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 80) strip_delay = 130 brightness_on = 7 @@ -201,7 +201,7 @@ Contains: desc = "Standard issue security helmet for the ERT." icon_state = "hardsuit0-ert_security" item_state = "hardsuit0-ert_security" - item_color = "ert_security" + hardsuit_type = "ert_security" /obj/item/clothing/suit/space/hardsuit/ert/sec desc = "Standard issue security suit for the ERT." @@ -214,7 +214,7 @@ Contains: desc = "Standard issue engineer helmet for the ERT." icon_state = "hardsuit0-ert_engineer" item_state = "hardsuit0-ert_engineer" - item_color = "ert_engineer" + hardsuit_type = "ert_engineer" /obj/item/clothing/suit/space/hardsuit/ert/engi desc = "Standard issue engineer suit for the ERT." @@ -227,7 +227,7 @@ Contains: desc = "Standard issue medical helmet for the ERT." icon_state = "hardsuit0-ert_medical" item_state = "hardsuit0-ert_medical" - item_color = "ert_medical" + hardsuit_type = "ert_medical" /obj/item/clothing/suit/space/hardsuit/ert/med desc = "Standard issue medical suit for the ERT." @@ -243,7 +243,7 @@ Contains: desc = "Red alert command helmet for the ERT. This one is more armored than its standard version." icon_state = "hardsuit0-ert_commander-alert" item_state = "hardsuit0-ert_commander-alert" - item_color = "ert_commander-alert" + hardsuit_type = "ert_commander-alert" armor = list("melee" = 70, "bullet" = 55, "laser" = 50, "energy" = 50, "bomb" = 65, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) brightness_on = 8 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -263,7 +263,7 @@ Contains: desc = "Red alert security helmet for the ERT. This one is more armored than its standard version." icon_state = "hardsuit0-ert_security-alert" item_state = "hardsuit0-ert_security-alert" - item_color = "ert_security-alert" + hardsuit_type = "ert_security-alert" /obj/item/clothing/suit/space/hardsuit/ert/alert/sec desc = "Red alert security suit for the ERT. This one is more armored than its standard version." @@ -276,7 +276,7 @@ Contains: desc = "Red alert engineer helmet for the ERT. This one is more armored than its standard version." icon_state = "hardsuit0-ert_engineer-alert" item_state = "hardsuit0-ert_engineer-alert" - item_color = "ert_engineer-alert" + hardsuit_type = "ert_engineer-alert" /obj/item/clothing/suit/space/hardsuit/ert/alert/engi desc = "Red alert engineer suit for the ERT. This one is more armored than its standard version." @@ -289,7 +289,7 @@ Contains: desc = "Red alert medical helmet for the ERT. This one is more armored than its standard version." icon_state = "hardsuit0-ert_medical-alert" item_state = "hardsuit0-ert_medical-alert" - item_color = "ert_medical-alert" + hardsuit_type = "ert_medical-alert" /obj/item/clothing/suit/space/hardsuit/ert/alert/med desc = "Red alert medical suit for the ERT. This one is more armored than its standard version." @@ -320,7 +320,6 @@ Contains: icon_state = "cespace_helmet" item_state = "nothing" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 0, "acid" = 0) - item_color = "engineering" resistance_flags = FIRE_PROOF rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE actions_types = list() @@ -391,7 +390,7 @@ Contains: desc = "A helmet worn by those who deal with paranormal threats for a living." icon_state = "hardsuit0-prt" item_state = "hardsuit0-prt" - item_color = "knight_grey" + hardsuit_type = "knight_grey" max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT actions_types = list() resistance_flags = FIRE_PROOF diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 6f61bf56cb..0e345636cf 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -973,7 +973,6 @@ name = "polychromic winter coat" icon_state = "coatpoly" item_state = "coatpoly" - item_color = "coatpoly" hoodtype = /obj/item/clothing/head/hooded/winterhood/polychromic hasprimary = TRUE hassecondary = TRUE @@ -984,7 +983,6 @@ /obj/item/clothing/head/hooded/winterhood/polychromic icon_state = "winterhood_poly" - item_color = "winterhood_poly" item_state = "winterhood_poly" /obj/item/clothing/head/hooded/winterhood/polychromic/worn_overlays(isinhands, icon_file, style_flags = NONE) //this is where the main magic happens. @@ -992,11 +990,11 @@ if(suit.hasprimary | suit.hassecondary) if(!isinhands) //prevents the worn sprites from showing up if you're just holding them if(suit.hasprimary) //checks if overlays are enabled - var/mutable_appearance/primary_worn = mutable_appearance(icon_file, "[item_color]-primary") //automagical sprite selection + var/mutable_appearance/primary_worn = mutable_appearance(icon_file, "[icon_state]-primary") //automagical sprite selection primary_worn.color = suit.primary_color //colors the overlay . += primary_worn //adds the overlay onto the buffer list to draw on the mob sprite. if(suit.hassecondary) - var/mutable_appearance/secondary_worn = mutable_appearance(icon_file, "[item_color]-secondary") + var/mutable_appearance/secondary_worn = mutable_appearance(icon_file, "[icon_state]-secondary") secondary_worn.color = suit.secondary_color . += secondary_worn @@ -1005,15 +1003,15 @@ if(hasprimary | hassecondary | hastertiary) if(!isinhands) //prevents the worn sprites from showing up if you're just holding them if(hasprimary) //checks if overlays are enabled - var/mutable_appearance/primary_worn = mutable_appearance(icon_file, "[item_color]-primary[suittoggled ? "_t" : ""]") //automagical sprite selection + var/mutable_appearance/primary_worn = mutable_appearance(icon_file, "[icon_state]-primary[suittoggled ? "_t" : ""]") //automagical sprite selection primary_worn.color = primary_color //colors the overlay . += primary_worn //adds the overlay onto the buffer list to draw on the mob sprite. if(hassecondary) - var/mutable_appearance/secondary_worn = mutable_appearance(icon_file, "[item_color]-secondary[suittoggled ? "_t" : ""]") + var/mutable_appearance/secondary_worn = mutable_appearance(icon_file, "[icon_state]-secondary[suittoggled ? "_t" : ""]") secondary_worn.color = secondary_color . += secondary_worn if(hastertiary) - var/mutable_appearance/tertiary_worn = mutable_appearance(icon_file, "[item_color]-tertiary[suittoggled ? "_t" : ""]") + var/mutable_appearance/tertiary_worn = mutable_appearance(icon_file, "[icon_state]-tertiary[suittoggled ? "_t" : ""]") tertiary_worn.color = tertiary_color . += tertiary_worn diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index cc91391393..bc40b8647d 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -5,6 +5,7 @@ permeability_coefficient = 0.9 slot_flags = ITEM_SLOT_ICLOTHING armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) + mutantrace_variation = STYLE_DIGITIGRADE var/fitted = FEMALE_UNIFORM_FULL // For use in alternate clothing styles for women var/has_sensor = HAS_SENSORS // For the crew computer var/random_sensor = TRUE @@ -15,7 +16,6 @@ var/dummy_thick = FALSE // is able to hold accessories on its item var/obj/item/clothing/accessory/attached_accessory var/mutable_appearance/accessory_overlay - mutantrace_variation = STYLE_DIGITIGRADE /obj/item/clothing/under/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE) . = list() @@ -28,15 +28,15 @@ if(accessory_overlay) . += accessory_overlay if(hasprimary) //checks if overlays are enabled - var/mutable_appearance/primary_worn = mutable_appearance(icon_file, "[item_color]-primary") //automagical sprite selection + var/mutable_appearance/primary_worn = mutable_appearance(icon_file, "[icon_state]-primary") //automagical sprite selection primary_worn.color = primary_color //colors the overlay . += primary_worn //adds the overlay onto the buffer list to draw on the mob sprite. if(hassecondary) - var/mutable_appearance/secondary_worn = mutable_appearance(icon_file, "[item_color]-secondary") + var/mutable_appearance/secondary_worn = mutable_appearance(icon_file, "[icon_state]-secondary") secondary_worn.color = secondary_color . += secondary_worn if(hastertiary) - var/mutable_appearance/tertiary_worn = mutable_appearance(icon_file, "[item_color]-tertiary") + var/mutable_appearance/tertiary_worn = mutable_appearance(icon_file, "[icon_state]-tertiary") tertiary_worn.color = tertiary_color . += tertiary_worn @@ -112,9 +112,7 @@ if((flags_inv & HIDEACCESSORY) || (A.flags_inv & HIDEACCESSORY)) return TRUE - var/accessory_color = attached_accessory.item_color - if(!accessory_color) - accessory_color = attached_accessory.icon_state + var/accessory_color = attached_accessory.icon_state accessory_overlay = mutable_appearance('icons/mob/accessories.dmi', "[accessory_color]") accessory_overlay.alpha = attached_accessory.alpha accessory_overlay.color = attached_accessory.color @@ -166,4 +164,7 @@ if(SENSOR_COORDS) . += "Its vital tracker and tracking beacon appear to be enabled." if(attached_accessory) - . += "\A [attached_accessory] is attached to it." \ No newline at end of file + . += "\A [attached_accessory] is attached to it." + +/obj/item/clothing/under/rank + dying_key = DYE_REGISTRY_UNDER diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 628f7187ca..88821e1afe 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/clothing/accessories.dmi' icon_state = "plasma" item_state = "" //no inhands - item_color = "plasma" //On accessories, this controls the worn sprite. That's a bit weird. slot_flags = 0 w_class = WEIGHT_CLASS_SMALL var/above_suit = FALSE @@ -85,7 +84,6 @@ desc = "For some classy, murderous fun." icon_state = "waistcoat" item_state = "waistcoat" - item_color = "waistcoat" minimize_when_attached = FALSE /obj/item/clothing/accessory/maidapron @@ -93,7 +91,6 @@ desc = "The best part of a maid costume." icon_state = "maidapron" item_state = "maidapron" - item_color = "maidapron" minimize_when_attached = FALSE ////////// @@ -104,7 +101,6 @@ name = "bronze medal" desc = "A bronze medal." icon_state = "bronze" - item_color = "bronze" custom_materials = list(/datum/material/iron=1000) resistance_flags = FIRE_PROOF var/medaltype = "medal" //Sprite used for medalbox @@ -173,7 +169,6 @@ name = "ribbon" desc = "A ribbon" icon_state = "cargo" - item_color = "cargo" /obj/item/clothing/accessory/medal/ribbon/cargo name = "\"cargo tech of the shift\" award" @@ -188,7 +183,6 @@ name = "silver medal" desc = "A silver medal." icon_state = "silver" - item_color = "silver" medaltype = "medal-silver" custom_materials = list(/datum/material/silver=1000) @@ -204,7 +198,6 @@ name = "gold medal" desc = "A prestigious golden medal." icon_state = "gold" - item_color = "gold" medaltype = "medal-gold" custom_materials = list(/datum/material/gold=1000) @@ -227,7 +220,6 @@ name = "plasma medal" desc = "An eccentric medal made of plasma." icon_state = "plasma" - item_color = "plasma" medaltype = "medal-plasma" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = -10, "acid" = 0) //It's made of plasma. Of course it's flammable. custom_materials = list(/datum/material/plasma=1000) @@ -250,7 +242,6 @@ name = "red armband" desc = "An fancy red armband!" icon_state = "redband" - item_color = "redband" /obj/item/clothing/accessory/armband/deputy name = "security deputy armband" @@ -260,37 +251,31 @@ name = "cargo bay guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is brown." icon_state = "cargoband" - item_color = "cargoband" /obj/item/clothing/accessory/armband/engine name = "engineering guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is orange with a reflective strip!" icon_state = "engieband" - item_color = "engieband" /obj/item/clothing/accessory/armband/science name = "science guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is purple." icon_state = "rndband" - item_color = "rndband" /obj/item/clothing/accessory/armband/hydro name = "hydroponics guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is green and blue." icon_state = "hydroband" - item_color = "hydroband" /obj/item/clothing/accessory/armband/med name = "medical guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white." icon_state = "medband" - item_color = "medband" /obj/item/clothing/accessory/armband/medblue name = "medical guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white and blue." icon_state = "medblueband" - item_color = "medblueband" ////////////// //OBJECTION!// @@ -300,7 +285,6 @@ name = "attorney's badge" desc = "Fills you with the conviction of JUSTICE. Lawyers tend to want to show it to everyone they meet." icon_state = "lawyerbadge" - item_color = "lawyerbadge" /obj/item/clothing/accessory/lawyers_badge/attack_self(mob/user) if(prob(1)) @@ -324,7 +308,6 @@ name = "pocket protector" desc = "Can protect your clothing from ink stains, but you'll look like a nerd if you're using one." icon_state = "pocketprotector" - item_color = "pocketprotector" pocket_storage_component_path = /datum/component/storage/concrete/pockets/pocketprotector /obj/item/clothing/accessory/pocketprotector/full/Initialize() @@ -346,14 +329,12 @@ name = "bone talisman" desc = "A hunter's talisman, some say the old gods smile on those who wear it." icon_state = "talisman" - item_color = "talisman" armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 20, "bio" = 20, "rad" = 5, "fire" = 0, "acid" = 25) /obj/item/clothing/accessory/skullcodpiece name = "skull codpiece" desc = "A skull shaped ornament, intended to protect the important things in life." icon_state = "skull" - item_color = "skull" above_suit = TRUE armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 20, "bio" = 20, "rad" = 5, "fire" = 0, "acid" = 25) @@ -361,7 +342,6 @@ name = "false codpiece" desc = "A plastic ornament, intended to protect the important things in life. It's not very good at it." icon_state = "skull" - item_color = "skull" above_suit = TRUE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) @@ -373,7 +353,6 @@ name = "protective padding" desc = "A soft padding meant to cushion the wearer from melee harm." icon_state = "padding" - item_color = "nothing" armor = list("melee" = 20, "bullet" = 10, "laser" = 0, "energy" = 0, "bomb" = 5, "bio" = 0, "rad" = 0, "fire" = -20, "acid" = 45) flags_inv = HIDEACCESSORY //hidden from indiscrete mob examines. @@ -381,7 +360,6 @@ name = "kevlar padding" desc = "A layered kevlar padding meant to cushion the wearer from ballistic harm." icon_state = "padding" - item_color = "nothing" armor = list("melee" = 10, "bullet" = 20, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 25) flags_inv = HIDEACCESSORY @@ -389,6 +367,5 @@ name = "ablative padding" desc = "A thin ultra-refractory composite padding meant to cushion the wearer from energy lasers harm." icon_state = "plastics" - item_color = "nothing" armor = list("melee" = 0, "bullet" = 0, "laser" = 20, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = -40) flags_inv = HIDEACCESSORY diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 6b40e08af9..3ee553040f 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -1,5 +1,6 @@ /obj/item/clothing/under/color desc = "A standard issue colored jumpsuit. Variety is the spice of life!" + dying_key = DYE_REGISTRY_UNDER /obj/item/clothing/under/color/jumpskirt body_parts_covered = CHEST|GROIN|ARMS @@ -38,7 +39,6 @@ name = "black jumpsuit" icon_state = "black" item_state = "bl_suit" - item_color = "black" resistance_flags = NONE /obj/item/clothing/under/color/black/trackless @@ -49,7 +49,6 @@ name = "black jumpskirt" icon_state = "black_skirt" item_state = "bl_suit" - item_color = "black_skirt" /obj/item/clothing/under/color/black/ghost item_flags = DROPDEL @@ -66,14 +65,12 @@ desc = "A tasteful grey jumpsuit that reminds you of the good old days." icon_state = "grey" item_state = "gy_suit" - item_color = "grey" /obj/item/clothing/under/color/jumpskirt/grey name = "grey jumpskirt" desc = "A tasteful grey jumpskirt that reminds you of the good old days." icon_state = "grey_skirt" item_state = "gy_suit" - item_color = "grey_skirt" /obj/item/clothing/under/color/grey/glorf name = "ancient jumpsuit" @@ -87,117 +84,98 @@ name = "blue jumpsuit" icon_state = "blue" item_state = "b_suit" - item_color = "blue" /obj/item/clothing/under/color/jumpskirt/blue name = "blue jumpskirt" icon_state = "blue_skirt" item_state = "b_suit" - item_color = "blue_skirt" /obj/item/clothing/under/color/green name = "green jumpsuit" icon_state = "green" item_state = "g_suit" - item_color = "green" /obj/item/clothing/under/color/jumpskirt/green name = "green jumpskirt" icon_state = "green_skirt" item_state = "g_suit" - item_color = "green_skirt" /obj/item/clothing/under/color/orange name = "orange jumpsuit" desc = "Don't wear this near paranoid security officers." icon_state = "orange" item_state = "o_suit" - item_color = "orange" /obj/item/clothing/under/color/jumpskirt/orange name = "orange jumpskirt" icon_state = "orange_skirt" item_state = "o_suit" - item_color = "orange_skirt" /obj/item/clothing/under/color/pink name = "pink jumpsuit" icon_state = "pink" desc = "Just looking at this makes you feel fabulous." item_state = "p_suit" - item_color = "pink" /obj/item/clothing/under/color/jumpskirt/pink name = "pink jumpskirt" icon_state = "pink_skirt" item_state = "p_suit" - item_color = "pink_skirt" /obj/item/clothing/under/color/red name = "red jumpsuit" icon_state = "red" item_state = "r_suit" - item_color = "red" /obj/item/clothing/under/color/jumpskirt/red name = "red jumpskirt" icon_state = "red_skirt" item_state = "r_suit" - item_color = "red_skirt" /obj/item/clothing/under/color/white name = "white jumpsuit" icon_state = "white" item_state = "w_suit" - item_color = "white" /obj/item/clothing/under/color/jumpskirt/white name = "white jumpskirt" icon_state = "white_skirt" item_state = "w_suit" - item_color = "white_skirt" /obj/item/clothing/under/color/yellow name = "yellow jumpsuit" icon_state = "yellow" item_state = "y_suit" - item_color = "yellow" /obj/item/clothing/under/color/jumpskirt/yellow name = "yellow jumpskirt" icon_state = "yellow_skirt" item_state = "y_suit" - item_color = "yellow_skirt" /obj/item/clothing/under/color/darkblue name = "darkblue jumpsuit" icon_state = "darkblue" item_state = "b_suit" - item_color = "darkblue" /obj/item/clothing/under/color/jumpskirt/darkblue name = "darkblue jumpskirt" icon_state = "darkblue_skirt" item_state = "b_suit" - item_color = "darkblue_skirt" /obj/item/clothing/under/color/teal name = "teal jumpsuit" icon_state = "teal" item_state = "b_suit" - item_color = "teal" /obj/item/clothing/under/color/jumpskirt/teal name = "teal jumpskirt" icon_state = "teal_skirt" item_state = "b_suit" - item_color = "teal_skirt" /obj/item/clothing/under/color/lightpurple name = "purple jumpsuit" icon_state = "lightpurple" item_state = "p_suit" - item_color = "lightpurple" /obj/item/clothing/under/color/lightpurple/trackless desc = "A magically colored jumpsuit. No sensors are attached!" @@ -207,62 +185,52 @@ name = "lightpurple jumpskirt" icon_state = "lightpurple_skirt" item_state = "p_suit" - item_color = "lightpurple_skirt" /obj/item/clothing/under/color/darkgreen name = "darkgreen jumpsuit" icon_state = "darkgreen" item_state = "g_suit" - item_color = "darkgreen" /obj/item/clothing/under/color/jumpskirt/darkgreen name = "darkgreen jumpskirt" icon_state = "darkgreen_skirt" item_state = "g_suit" - item_color = "darkgreen_skirt" /obj/item/clothing/under/color/lightbrown name = "lightbrown jumpsuit" icon_state = "lightbrown" item_state = "lb_suit" - item_color = "lightbrown" /obj/item/clothing/under/color/jumpskirt/lightbrown name = "lightbrown jumpskirt" icon_state = "lightbrown_skirt" item_state = "lb_suit" - item_color = "lightbrown_skirt" /obj/item/clothing/under/color/brown name = "brown jumpsuit" icon_state = "brown" item_state = "lb_suit" - item_color = "brown" /obj/item/clothing/under/color/jumpskirt/brown name = "brown jumpskirt" icon_state = "brown_skirt" item_state = "lb_suit" - item_color = "brown_skirt" /obj/item/clothing/under/color/maroon name = "maroon jumpsuit" icon_state = "maroon" item_state = "r_suit" - item_color = "maroon" /obj/item/clothing/under/color/jumpskirt/maroon name = "maroon jumpskirt" icon_state = "maroon_skirt" item_state = "r_suit" - item_color = "maroon_skirt" /obj/item/clothing/under/color/rainbow name = "rainbow jumpsuit" desc = "A multi-colored jumpsuit!" icon_state = "rainbow" item_state = "rainbow" - item_color = "rainbow" can_adjust = FALSE /obj/item/clothing/under/color/jumpskirt/rainbow @@ -270,5 +238,4 @@ desc = "A multi-colored jumpskirt!" icon_state = "rainbow_skirt" item_state = "rainbow" - item_color = "rainbow_skirt" can_adjust = FALSE diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm index be142a04ff..12988c26ae 100644 --- a/code/modules/clothing/under/costume.dm +++ b/code/modules/clothing/under/costume.dm @@ -2,7 +2,6 @@ name = "\improper Roman armor" desc = "Ancient Roman armor. Made of metallic and leather straps." icon_state = "roman" - item_color = "roman" item_state = "armor" can_adjust = FALSE strip_delay = 100 @@ -13,21 +12,18 @@ desc = "The leather club is two sectors down." icon_state = "darkholme" item_state = "darkholme" - item_color = "darkholme" can_adjust = FALSE /obj/item/clothing/under/costume/owl name = "owl uniform" desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction." icon_state = "owl" - item_color = "owl" can_adjust = FALSE /obj/item/clothing/under/costume/griffin name = "griffon uniform" desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem." icon_state = "griffin" - item_color = "griffin" can_adjust = FALSE /obj/item/clothing/under/costume/schoolgirl @@ -35,7 +31,6 @@ desc = "It's just like one of my Japanese animes!" icon_state = "schoolgirl" item_state = "schoolgirl" - item_color = "schoolgirl" body_parts_covered = CHEST|GROIN|ARMS fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -44,26 +39,22 @@ name = "red schoolgirl uniform" icon_state = "schoolgirlred" item_state = "schoolgirlred" - item_color = "schoolgirlred" /obj/item/clothing/under/costume/schoolgirl/green name = "green schoolgirl uniform" icon_state = "schoolgirlgreen" item_state = "schoolgirlgreen" - item_color = "schoolgirlgreen" /obj/item/clothing/under/costume/schoolgirl/orange name = "orange schoolgirl uniform" icon_state = "schoolgirlorange" item_state = "schoolgirlorange" - item_color = "schoolgirlorange" /obj/item/clothing/under/costume/pirate name = "pirate outfit" desc = "Yarr." icon_state = "pirate" item_state = "pirate" - item_color = "pirate" can_adjust = FALSE /obj/item/clothing/under/costume/soviet @@ -71,7 +62,6 @@ desc = "For the Motherland!" icon_state = "soviet" item_state = "soviet" - item_color = "soviet" can_adjust = FALSE /obj/item/clothing/under/costume/redcoat @@ -79,7 +69,6 @@ desc = "Looks old." icon_state = "redcoat" item_state = "redcoat" - item_color = "redcoat" can_adjust = FALSE /obj/item/clothing/under/costume/kilt @@ -87,7 +76,6 @@ desc = "Includes shoes and plaid." icon_state = "kilt" item_state = "kilt" - item_color = "kilt" body_parts_covered = CHEST|GROIN|LEGS|FEET fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -103,7 +91,6 @@ name = "polychromic kilt" desc = "It's not a skirt!" icon_state = "polykilt" - item_color = "polykilt" hasprimary = TRUE hassecondary = TRUE primary_color = "#FFFFFF" @@ -116,7 +103,6 @@ desc = "Are you not entertained? Is that not why you are here?" icon_state = "gladiator" item_state = "gladiator" - item_color = "gladiator" body_parts_covered = CHEST|GROIN|ARMS fitted = NO_FEMALE_UNIFORM can_adjust = FALSE @@ -131,7 +117,6 @@ desc = "Maid in China." icon_state = "maid" item_state = "maid" - item_color = "maid" body_parts_covered = CHEST|GROIN fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -146,7 +131,6 @@ desc = "Just looking at this makes you want to sing." icon_state = "ysing" item_state = "ysing" - item_color = "ysing" body_parts_covered = CHEST|GROIN|ARMS fitted = NO_FEMALE_UNIFORM alternate_worn_layer = ABOVE_SHOES_LAYER @@ -157,7 +141,6 @@ desc = "Just looking at this makes you want to sing." icon_state = "bsing" item_state = "bsing" - item_color = "bsing" body_parts_covered = CHEST|GROIN|ARMS alternate_worn_layer = ABOVE_SHOES_LAYER fitted = FEMALE_UNIFORM_TOP @@ -167,7 +150,6 @@ name = "geisha suit" desc = "Cute space ninja senpai not included." icon_state = "geisha" - item_color = "geisha" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE @@ -175,7 +157,6 @@ name = "villain suit" desc = "A change of wardrobe is necessary if you ever want to catch a real superhero." icon_state = "villain" - item_color = "villain" can_adjust = FALSE /obj/item/clothing/under/costume/sailor @@ -183,7 +164,6 @@ desc = "Skipper's in the wardroom drinkin gin'." icon_state = "sailor" item_state = "b_suit" - item_color = "sailor" can_adjust = FALSE /obj/item/clothing/under/costume/russian_officer @@ -191,14 +171,12 @@ desc = "The latest in fashionable russian outfits." icon_state = "hostanclothes" item_state = "hostanclothes" - item_color = "hostanclothes" /obj/item/clothing/under/costume/mummy name = "mummy wrapping" desc = "Return the slab or suffer my stale references." icon_state = "mummy" item_state = "mummy" - item_color = "mummy" body_parts_covered = CHEST|GROIN|ARMS|LEGS fitted = NO_FEMALE_UNIFORM can_adjust = FALSE @@ -209,7 +187,6 @@ desc = "Perfect camouflage for hiding in botany." icon_state = "scarecrow" item_state = "scarecrow" - item_color = "scarecrow" body_parts_covered = CHEST|GROIN|ARMS|LEGS fitted = NO_FEMALE_UNIFORM can_adjust = FALSE @@ -220,7 +197,6 @@ desc = "A dress inspired by the ancient \"Victorian\" era." icon_state = "draculass" item_state = "draculass" - item_color = "draculass" body_parts_covered = CHEST|GROIN|ARMS fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -230,7 +206,6 @@ desc = "A modified scientist jumpsuit to look extra cool." icon_state = "drfreeze" item_state = "drfreeze" - item_color = "drfreeze" can_adjust = FALSE /obj/item/clothing/under/costume/lobster @@ -238,7 +213,6 @@ desc = "Who beheaded the college mascot?" icon_state = "lobster" item_state = "lobster" - item_color = "lobster" fitted = NO_FEMALE_UNIFORM can_adjust = FALSE @@ -247,7 +221,6 @@ desc = "Now you're cooking." icon_state = "gondola" item_state = "lb_suit" - item_color = "gondola" can_adjust = FALSE /obj/item/clothing/under/costume/skeleton @@ -255,7 +228,6 @@ desc = "A black jumpsuit with a white bone pattern printed on it. Spooky!" icon_state = "skeleton" item_state = "skeleton" - item_color = "skeleton" body_parts_covered = CHEST|GROIN|ARMS|LEGS fitted = NO_FEMALE_UNIFORM can_adjust = FALSE @@ -347,5 +319,4 @@ name = "cloud" desc = "cloud" icon_state = "cloud" - item_color = "cloud" can_adjust = FALSE diff --git a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm index 74181b05eb..8843710ddf 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm @@ -3,14 +3,12 @@ desc = "A joint envirosuit used by plasmamen quartermasters and cargo techs alike, due to the logistical problems of differenciating the two with the length of their pant legs." icon_state = "cargo_envirosuit" item_state = "cargo_envirosuit" - item_color = "cargo_envirosuit" /obj/item/clothing/under/plasmaman/mining name = "mining plasma envirosuit" desc = "An air-tight khaki suit designed for operations on lavaland by plasmamen." icon_state = "explorer_envirosuit" item_state = "explorer_envirosuit" - item_color = "explorer_envirosuit" /obj/item/clothing/under/plasmaman/chef @@ -18,56 +16,48 @@ desc = "A white plasmaman envirosuit designed for cullinary practices. One might question why a member of a species that doesn't need to eat would become a chef." icon_state = "chef_envirosuit" item_state = "chef_envirosuit" - item_color = "chef_envirosuit" /obj/item/clothing/under/plasmaman/enviroslacks name = "enviroslacks" desc = "The pet project of a particularly posh plasmaman, this custom suit was quickly appropriated by Nano-Trasen for it's detectives, lawyers, and bar-tenders alike." icon_state = "enviroslacks" item_state = "enviroslacks" - item_color = "enviroslacks" /obj/item/clothing/under/plasmaman/chaplain name = "chaplain's plasma envirosuit" desc = "An envirosuit specially designed for only the most pious of plasmamen." icon_state = "chap_envirosuit" item_state = "chap_envirosuit" - item_color = "chap_envirosuit" /obj/item/clothing/under/plasmaman/curator name = "curator's plasma envirosuit" desc = "Made out of a modified voidsuit, this suit was Nano-Trasen's first solution to the *logistical problems* that come with employing plasmamen. Due to the modifications, the suit is no longer space-worthy. Despite their limitations, these suits are still in used by historian and old-styled plasmamen alike." icon_state = "prototype_envirosuit" item_state = "prototype_envirosuit" - item_color = "prototype_envirosuit" /obj/item/clothing/under/plasmaman/janitor name = "janitor's plasma envirosuit" desc = "A grey and purple envirosuit designated for plasmamen janitors." icon_state = "janitor_envirosuit" item_state = "janitor_envirosuit" - item_color = "janitor_envirosuit" /obj/item/clothing/under/plasmaman/botany name = "botany envirosuit" desc = "A green and blue envirosuit designed to protect plasmamen from minor plant-related injuries." icon_state = "botany_envirosuit" item_state = "botany_envirosuit" - item_color = "botany_envirosuit" /obj/item/clothing/under/plasmaman/hop name = "head of personell's envirosuit" desc = "A prestigious azure envirosuit designed for head of personell." icon_state = "hop_envirosuit" item_state = "hop_envirosuit" - item_color = "hop_envirosuit" /obj/item/clothing/under/plasmaman/captain name = "captain's envirosuit" desc = "An expensive piece of plasmaman envirosuit fashion. guaranteed to keep you cool while the station goes down in fierceful fires." icon_state = "captain_envirosuit" item_state = "captain_envirosuit" - item_color = "captain_envirosuit" armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0, "fire" = 95, "acid" = 95) /obj/item/clothing/under/plasmaman/mime @@ -75,14 +65,12 @@ desc = "It's not very colourful." icon_state = "mime_envirosuit" item_state = "mime_envirosuit" - item_color = "mime_envirosuit" /obj/item/clothing/under/plasmaman/clown name = "clown envirosuit" desc = "'HONK!'" icon_state = "clown_envirosuit" item_state = "clown_envirosuit" - item_color = "clown_envirosuit" /obj/item/clothing/under/plasmaman/clown/Extinguish(mob/living/carbon/human/H) if(!istype(H)) diff --git a/code/modules/clothing/under/jobs/Plasmaman/engineering.dm b/code/modules/clothing/under/jobs/Plasmaman/engineering.dm index 1f381df4cf..15eb189fa8 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/engineering.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/engineering.dm @@ -3,7 +3,6 @@ desc = "An air-tight suit designed to be used by plasmamen exployed as engineers, the usual purple stripes being replaced by engineer's orange. It protects the user from fire and acid damage." icon_state = "engineer_envirosuit" item_state = "engineer_envirosuit" - item_color = "engineer_envirosuit" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 10, "fire" = 95, "acid" = 95) /obj/item/clothing/under/plasmaman/engineering/ce @@ -11,11 +10,9 @@ desc = "An advanced air-tight suit designed to be used by plasmamen chief engineers, complete with ornamental widgets and gizmo. It protects the user from fire and acid damage." icon_state = "ce_envirosuit" item_state = "ce_envirosuit" - item_color = "ce_envirosuit" /obj/item/clothing/under/plasmaman/atmospherics name = "atmospherics plasma envirosuit" desc = "An air-tight suit designed to be used by plasmamen exployed as atmos technicians, the usual purple stripes being replaced by atmos's blue." icon_state = "atmos_envirosuit" item_state = "atmos_envirosuit" - item_color = "atmos_envirosuit" diff --git a/code/modules/clothing/under/jobs/Plasmaman/medsci.dm b/code/modules/clothing/under/jobs/Plasmaman/medsci.dm index 6106d785a9..03d089c10d 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/medsci.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/medsci.dm @@ -3,28 +3,24 @@ desc = "A suit designed for the station's more plasma-based doctors." icon_state = "doctor_envirosuit" item_state = "doctor_envirosuit" - item_color = "doctor_envirosuit" /obj/item/clothing/under/plasmaman/cmo name = "chief medical officer's plasma envirosuit" desc = "A suit designed for the station's most plasma-based chief medical officer, but not for their cat." icon_state = "cmo_envirosuit" item_state = "cmo_envirosuit" - item_color = "cmo_envirosuit" /obj/item/clothing/under/plasmaman/science name = "science plasma envirosuit" desc = "A plasmaman envirosuit designed for scientists." icon_state = "scientist_envirosuit" item_state = "scientist_envirosuit" - item_color = "scientist_envirosuit" /obj/item/clothing/under/plasmaman/rd name = "research direactor's plasma envirosuit" desc = "A plasmaman envirosuit designed for the research director to aid them in their job of directing research into the right direction." icon_state = "rd_envirosuit" item_state = "rd_envirosuit" - item_color = "rd_envirosuit" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 100, "rad" = 0, "fire" = 95, "acid" = 95) /obj/item/clothing/under/plasmaman/robotics @@ -32,25 +28,21 @@ desc = "A plasmaman envirosuit designed for roboticists." icon_state = "roboticist_envirosuit" item_state = "roboticist_envirosuit" - item_color = "roboticist_envirosuit" /obj/item/clothing/under/plasmaman/viro name = "virology plasma envirosuit" desc = "The suit worn by the safest people on the station, those who are completely immune to the monstrosities they create." icon_state = "virologist_envirosuit" item_state = "virologist_envirosuit" - item_color = "virologist_envirosuit" /obj/item/clothing/under/plasmaman/genetics name = "genetics plasma envirosuit" desc = "A plasmaman envirosuit designed for geneticists." icon_state = "geneticist_envirosuit" item_state = "geneticist_envirosuit" - item_color = "geneticist_envirosuit" /obj/item/clothing/under/plasmaman/chemist name = "chemistry plasma envirosuit" desc = "A plasmaman envirosuit designed for chemists." icon_state = "chemist_envirosuit" item_state = "chemist_envirosuit" - item_color = "chemist_envirosuit" diff --git a/code/modules/clothing/under/jobs/Plasmaman/security.dm b/code/modules/clothing/under/jobs/Plasmaman/security.dm index ff756e09fd..35b20ccea6 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/security.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/security.dm @@ -3,7 +3,6 @@ desc = "A plasmaman containment suit designed for security officers, offering a limited amount of extra protection." icon_state = "security_envirosuit" item_state = "security_envirosuit" - item_color = "security_envirosuit" armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0, "fire" = 95, "acid" = 95) /obj/item/clothing/under/plasmaman/security/warden @@ -11,11 +10,9 @@ desc = "A plasmaman containment suit designed for the warden, white stripes being added to differeciate them from other members of security." icon_state = "warden_envirosuit" item_state = "warden_envirosuit" - item_color = "warden_envirosuit" /obj/item/clothing/under/plasmaman/security/hos name = "security plasma envirosuit" desc = "A slick black and red plasmaman containment suit designed for the head of security, also called the LAW." icon_state = "hos_envirosuit" item_state = "hos_envirosuit" - item_color = "hos_envirosuit" diff --git a/code/modules/clothing/under/jobs/cargo.dm b/code/modules/clothing/under/jobs/cargo.dm index 5727ebc0e9..3ee00996a4 100644 --- a/code/modules/clothing/under/jobs/cargo.dm +++ b/code/modules/clothing/under/jobs/cargo.dm @@ -4,14 +4,12 @@ desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper." icon_state = "qm" item_state = "lb_suit" - item_color = "qm" /obj/item/clothing/under/rank/cargo/qm/skirt name = "quartermaster's jumpskirt" desc = "It's a jumpskirt worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper." icon_state = "qm_skirt" item_state = "lb_suit" - item_color = "qm_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -21,7 +19,6 @@ desc = "Shooooorts! They're comfy and easy to wear!" icon_state = "cargotech" item_state = "lb_suit" - item_color = "cargo" body_parts_covered = CHEST|GROIN|ARMS alt_covers_chest = TRUE @@ -30,7 +27,6 @@ desc = "Skiiiiirts! They're comfy and easy to wear" icon_state = "cargo_skirt" item_state = "lb_suit" - item_color = "cargo_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -40,12 +36,10 @@ name = "shaft miner's jumpsuit" icon_state = "miner" item_state = "miner" - item_color = "miner" /obj/item/clothing/under/rank/cargo/miner/lavaland desc = "A green uniform for operating in hazardous environments." name = "shaft miner's jumpsuit" icon_state = "explorer" item_state = "explorer" - item_color = "explorer" can_adjust = FALSE diff --git a/code/modules/clothing/under/jobs/centcom.dm b/code/modules/clothing/under/jobs/centcom.dm index 3ee210612e..33a4659b5f 100644 --- a/code/modules/clothing/under/jobs/centcom.dm +++ b/code/modules/clothing/under/jobs/centcom.dm @@ -3,7 +3,6 @@ name = "\improper CentCom officer's jumpsuit" icon_state = "officer" item_state = "g_suit" - item_color = "officer" alt_covers_chest = TRUE /obj/item/clothing/under/rank/centcom/officer/syndicate @@ -14,4 +13,3 @@ name = "\improper CentCom officer's jumpsuit" icon_state = "centcom" item_state = "dg_suit" - item_color = "centcom" diff --git a/code/modules/clothing/under/jobs/civilian/civilian.dm b/code/modules/clothing/under/jobs/civilian/civilian.dm index ac5f4f12fd..6f1066de5d 100644 --- a/code/modules/clothing/under/jobs/civilian/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian/civilian.dm @@ -3,7 +3,6 @@ name = "bartender's uniform" icon_state = "barman" item_state = "bar_suit" - item_color = "barman" alt_covers_chest = TRUE /obj/item/clothing/under/rank/civilian/bartender/purple @@ -11,7 +10,6 @@ name = "purple bartender's uniform" icon_state = "purplebartender" item_state = "purplebartender" - item_color = "purplebartender" can_adjust = FALSE /obj/item/clothing/under/rank/civilian/bartender/skirt @@ -19,7 +17,6 @@ desc = "It looks like it could use some more flair." icon_state = "barman_skirt" item_state = "bar_suit" - item_color = "barman_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -29,15 +26,13 @@ name = "chaplain's jumpsuit" icon_state = "chaplain" item_state = "bl_suit" - item_color = "chapblack" can_adjust = FALSE /obj/item/clothing/under/rank/civilian/chaplain/skirt name = "chaplain's jumpskirt" desc = "It's a black jumpskirt, often worn by religious folk." - icon_state = "chapblack_skirt" + icon_state = "chaplain_skirt" item_state = "bl_suit" - item_color = "chapblack_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -46,14 +41,12 @@ name = "cook's suit" desc = "A suit which is given only to the most hardcore cooks in space." icon_state = "chef" - item_color = "chef" alt_covers_chest = TRUE /obj/item/clothing/under/rank/civilian/chef/skirt name = "cook's skirt" desc = "A skirt which is given only to the most hardcore cooks in space." icon_state = "chef_skirt" - item_color = "chef_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -63,7 +56,6 @@ name = "head of personnel's jumpsuit" icon_state = "hop" item_state = "b_suit" - item_color = "hop" can_adjust = FALSE /obj/item/clothing/under/rank/civilian/head_of_personnel/skirt @@ -71,7 +63,6 @@ desc = "It's a jumpskirt worn by someone who works in the position of \"Head of Personnel\"." icon_state = "hop_skirt" item_state = "b_suit" - item_color = "hop_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -81,7 +72,6 @@ desc = "A teal suit and yellow necktie. An authoritative yet tacky ensemble." icon_state = "teal_suit" item_state = "g_suit" - item_color = "teal_suit" can_adjust = FALSE /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt @@ -89,7 +79,6 @@ desc = "A teal suitskirt and yellow necktie. An authoritative yet tacky ensemble." icon_state = "teal_suit_skirt" item_state = "g_suit" - item_color = "teal_suit_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -99,7 +88,6 @@ name = "botanist's jumpsuit" icon_state = "hydroponics" item_state = "g_suit" - item_color = "hydroponics" permeability_coefficient = 0.5 /obj/item/clothing/under/rank/civilian/hydroponics/skirt @@ -107,7 +95,6 @@ desc = "It's a jumpskirt designed to protect against minor plant-related hazards." icon_state = "hydroponics_skirt" item_state = "g_suit" - item_color = "hydroponics_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -116,14 +103,12 @@ desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards." name = "janitor's jumpsuit" icon_state = "janitor" - item_color = "janitor" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) /obj/item/clothing/under/rank/civilian/janitor/skirt name = "janitor's jumpskirt" desc = "It's the official skirt of the station's janitor. It has minor protection from biohazards." icon_state = "janitor_skirt" - item_color = "janitor_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -133,7 +118,6 @@ desc = "A simple maid uniform for housekeeping." icon_state = "janimaid" item_state = "janimaid" - item_color = "janimaid" body_parts_covered = CHEST|GROIN fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -147,21 +131,18 @@ name = "lawyer black suit" icon_state = "lawyer_black" item_state = "lawyer_black" - item_color = "lawyer_black" /obj/item/clothing/under/rank/civilian/lawyer/black/alt name = "lawyer black suit" desc = "A professional black suit. Nanotrasen Investigation Bureau approved!" icon_state = "blacksuit" item_state = "bar_suit" - item_color = "blacksuit" can_adjust = TRUE alt_covers_chest = TRUE /obj/item/clothing/under/rank/civilian/lawyer/black/alt/skirt name = "lawyer black suitskirt" icon_state = "blacksuit_skirt" - item_color = "blacksuit_skirt" can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -170,14 +151,12 @@ desc = "A formal black suit and red tie, intended for the station's finest." icon_state = "really_black_suit" item_state = "bl_suit" - item_color = "really_black_suit" /obj/item/clothing/under/rank/civilian/lawyer/really_black/skirt name = "executive suitskirt" desc = "A formal black suitskirt and red tie, intended for the station's finest." icon_state = "really_black_suit_skirt" item_state = "bl_suit" - item_color = "really_black_suit_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -186,46 +165,39 @@ name = "lawyer black suitskirt" icon_state = "lawyer_black_skirt" item_state = "lawyer_black" - item_color = "lawyer_black_skirt" fitted = FEMALE_UNIFORM_TOP /obj/item/clothing/under/rank/civilian/lawyer/female name = "female black suit" icon_state = "black_suit_fem" item_state = "bl_suit" - item_color = "black_suit_fem" /obj/item/clothing/under/rank/civilian/lawyer/red name = "lawyer red suit" icon_state = "lawyer_red" item_state = "lawyer_red" - item_color = "lawyer_red" /obj/item/clothing/under/rank/civilian/lawyer/female/skirt name = "female black suitskirt" icon_state = "black_suit_fem_skirt" item_state = "bl_suit" - item_color = "black_suit_fem_skirt" fitted = FEMALE_UNIFORM_TOP /obj/item/clothing/under/rank/civilian/lawyer/red/skirt name = "lawyer red suitskirt" icon_state = "lawyer_red_skirt" item_state = "lawyer_red" - item_color = "lawyer_red_skirt" fitted = FEMALE_UNIFORM_TOP /obj/item/clothing/under/rank/civilian/lawyer/blue name = "lawyer blue suit" icon_state = "lawyer_blue" item_state = "lawyer_blue" - item_color = "lawyer_blue" /obj/item/clothing/under/rank/civilian/lawyer/blue/skirt name = "lawyer blue suitskirt" icon_state = "lawyer_blue_skirt" item_state = "lawyer_blue" - item_color = "lawyer_blue_skirt" fitted = FEMALE_UNIFORM_TOP /obj/item/clothing/under/rank/civilian/lawyer/bluesuit @@ -233,7 +205,6 @@ desc = "A classy suit and tie." icon_state = "bluesuit" item_state = "b_suit" - item_color = "bluesuit" can_adjust = TRUE alt_covers_chest = TRUE @@ -242,7 +213,6 @@ desc = "A classy suitskirt and tie." icon_state = "bluesuit_skirt" item_state = "b_suit" - item_color = "bluesuit_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -251,7 +221,6 @@ name = "purple suit" icon_state = "lawyer_purp" item_state = "p_suit" - item_color = "lawyer_purp" fitted = NO_FEMALE_UNIFORM can_adjust = TRUE alt_covers_chest = TRUE @@ -260,7 +229,6 @@ name = "purple suitskirt" icon_state = "lawyer_purp_skirt" item_state = "p_suit" - item_color = "lawyer_purp_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP diff --git a/code/modules/clothing/under/jobs/civilian/clown_mime.dm b/code/modules/clothing/under/jobs/civilian/clown_mime.dm index 7e85d60dbc..848a15f83b 100644 --- a/code/modules/clothing/under/jobs/civilian/clown_mime.dm +++ b/code/modules/clothing/under/jobs/civilian/clown_mime.dm @@ -4,14 +4,11 @@ desc = "It's not very colourful." icon_state = "mime" item_state = "mime" - item_color = "mime" /obj/item/clothing/under/rank/civilian/mime/skirt name = "mime's skirt" desc = "It's not very colourful." icon_state = "mime_skirt" - item_state = "mime" - item_color = "mime_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -21,7 +18,6 @@ desc = "The only time when you DON'T enjoy looking at someone's rack." icon_state = "sexymime" item_state = "sexymime" - item_color = "sexymime" body_parts_covered = CHEST|GROIN|LEGS fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -31,7 +27,6 @@ desc = "'HONK!'" icon_state = "clown" item_state = "clown" - item_color = "clown" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -40,7 +35,6 @@ desc = "'BLUE HONK!'" icon_state = "blueclown" item_state = "blueclown" - item_color = "blueclown" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE mutantrace_variation = NONE @@ -50,7 +44,6 @@ desc = "'GREEN HONK!'" icon_state = "greenclown" item_state = "greenclown" - item_color = "greenclown" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE mutantrace_variation = NONE @@ -60,7 +53,6 @@ desc = "'YELLOW HONK!'" icon_state = "yellowclown" item_state = "yellowclown" - item_color = "yellowclown" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE mutantrace_variation = NONE @@ -70,7 +62,6 @@ desc = "'PURPLE HONK!'" icon_state = "purpleclown" item_state = "purpleclown" - item_color = "purpleclown" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE mutantrace_variation = NONE @@ -80,7 +71,6 @@ desc = "'ORANGE HONK!'" icon_state = "orangeclown" item_state = "orangeclown" - item_color = "orangeclown" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE mutantrace_variation = NONE @@ -90,7 +80,6 @@ desc = "'R A I N B O W HONK!'" icon_state = "rainbowclown" item_state = "rainbowclown" - item_color = "rainbowclown" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE mutantrace_variation = NONE @@ -99,7 +88,6 @@ name = "jester suit" desc = "A jolly dress, well suited to entertain your master, nuncle." icon_state = "jester" - item_color = "jester" can_adjust = FALSE /obj/item/clothing/under/rank/civilian/clown/jester/alt @@ -110,7 +98,6 @@ desc = "It makes you look HONKable!" icon_state = "sexyclown" item_state = "sexyclown" - item_color = "sexyclown" can_adjust = FALSE /obj/item/clothing/under/rank/civilian/clown/Initialize() diff --git a/code/modules/clothing/under/jobs/civilian/curator.dm b/code/modules/clothing/under/jobs/civilian/curator.dm index c02cc4b710..f7b56434dc 100644 --- a/code/modules/clothing/under/jobs/civilian/curator.dm +++ b/code/modules/clothing/under/jobs/civilian/curator.dm @@ -3,15 +3,11 @@ desc = "It's very... sensible." icon_state = "red_suit" item_state = "red_suit" - item_color = "red_suit" can_adjust = FALSE /obj/item/clothing/under/rank/civilian/curator/skirt name = "sensible suitskirt" - desc = "It's very... sensible." icon_state = "red_suit_skirt" - item_state = "red_suit" - item_color = "red_suit_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -21,14 +17,12 @@ desc = "A rugged uniform suitable for treasure hunting." icon_state = "curator" item_state = "curator" - item_color = "curator" /obj/item/clothing/under/rank/civilian/curator/nasa name = "\improper NASA jumpsuit" desc = "It has a NASA logo on it and is made of space-proofed materials." icon_state = "black" item_state = "bl_suit" - item_color = "black" w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 diff --git a/code/modules/clothing/under/jobs/command.dm b/code/modules/clothing/under/jobs/command.dm index 30560e76b4..885ffaed7a 100644 --- a/code/modules/clothing/under/jobs/command.dm +++ b/code/modules/clothing/under/jobs/command.dm @@ -3,7 +3,6 @@ name = "captain's jumpsuit" icon_state = "captain" item_state = "b_suit" - item_color = "captain" sensor_mode = SENSOR_COORDS random_sensor = FALSE @@ -12,7 +11,6 @@ desc = "It's a blue jumpskirt with some gold markings denoting the rank of \"Captain\"." icon_state = "captain_skirt" item_state = "b_suit" - item_color = "captain_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -22,7 +20,6 @@ desc = "A green suit and yellow necktie. Exemplifies authority." icon_state = "green_suit" item_state = "dg_suit" - item_color = "green_suit" can_adjust = FALSE /obj/item/clothing/under/rank/captain/suit/skirt @@ -30,7 +27,6 @@ desc = "A green suitskirt and yellow necktie. Exemplifies authority." icon_state = "green_suit_skirt" item_state = "dg_suit" - item_color = "green_suit_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -40,7 +36,6 @@ desc = "A captain's luxury-wear, for special occasions." icon_state = "captain_parade" item_state = "by_suit" - item_color = "captain_parade" can_adjust = FALSE /obj/item/clothing/under/rank/captain/femformal @@ -48,6 +43,5 @@ desc = "An ironically skimpy blue dress with gold markings denoting the rank of \"Captain\"." icon_state = "lewdcap" item_state = "lewdcap" - item_color = "lewdcap" can_adjust = FALSE mutantrace_variation = NONE diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index ae0ded5888..365d90e188 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -4,16 +4,14 @@ name = "chief engineer's jumpsuit" icon_state = "chiefengineer" item_state = "gy_suit" - item_color = "chief" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 80, "acid" = 40) resistance_flags = NONE /obj/item/clothing/under/rank/engineering/chief_engineer/skirt name = "chief engineer's jumpskirt" desc = "It's a high visibility jumpskirt given to those engineers insane enough to achieve the rank of \"Chief Engineer\". It has minor radiation shielding." - icon_state = "chief_skirt" + icon_state = "chiefengineer_skirt" item_state = "gy_suit" - item_color = "chief_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -23,7 +21,6 @@ name = "atmospheric technician's jumpsuit" icon_state = "atmos" item_state = "atmos_suit" - item_color = "atmos" resistance_flags = NONE /obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt @@ -31,7 +28,6 @@ desc = "It's a jumpskirt worn by atmospheric technicians." icon_state = "atmos_skirt" item_state = "atmos_suit" - item_color = "atmos_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -41,7 +37,6 @@ name = "engineer's jumpsuit" icon_state = "engine" item_state = "engi_suit" - item_color = "engine" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 60, "acid" = 20) resistance_flags = NONE @@ -50,7 +45,6 @@ desc = "A high visibility jumpsuit made from heat and radiation resistant materials." icon_state = "hazard" item_state = "suit-orange" - item_color = "hazard" alt_covers_chest = TRUE /obj/item/clothing/under/rank/engineering/engineer/skirt @@ -58,7 +52,6 @@ desc = "It's an orange high visibility jumpskirt worn by engineers." icon_state = "engine_skirt" item_state = "engi_suit" - item_color = "engine_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP diff --git a/code/modules/clothing/under/jobs/medical.dm b/code/modules/clothing/under/jobs/medical.dm index 0c2b885bec..d5f4f1f5f9 100644 --- a/code/modules/clothing/under/jobs/medical.dm +++ b/code/modules/clothing/under/jobs/medical.dm @@ -3,7 +3,6 @@ name = "chief medical officer's jumpsuit" icon_state = "cmo" item_state = "w_suit" - item_color = "cmo" permeability_coefficient = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) @@ -12,7 +11,6 @@ desc = "It's a jumpskirt worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection." icon_state = "cmo_skirt" item_state = "w_suit" - item_color = "cmo_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -20,11 +18,10 @@ /obj/item/clothing/under/rank/medical/chief_medical_officer/turtleneck desc = "It's a turtleneck worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection, for an officer with a superior sense of style and practicality." name = "chief medical officer's turtleneck" - alternate_worn_icon = 'modular_citadel/icons/mob/clothing/turtlenecks.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/clothing/turtlenecks.dmi' icon = 'modular_citadel/icons/obj/clothing/turtlenecks.dmi' icon_state = "cmoturtle" item_state = "w_suit" - item_color = "cmoturtle" alt_covers_chest = TRUE mutantrace_variation = NONE @@ -33,16 +30,14 @@ name = "geneticist's jumpsuit" icon_state = "genetics" item_state = "w_suit" - item_color = "geneticswhite" permeability_coefficient = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) /obj/item/clothing/under/rank/medical/geneticist/skirt name = "geneticist's jumpskirt" desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it." - icon_state = "geneticswhite_skirt" + icon_state = "genetics_skirt" item_state = "w_suit" - item_color = "geneticswhite_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -52,16 +47,14 @@ name = "virologist's jumpsuit" icon_state = "virology" item_state = "w_suit" - item_color = "virologywhite" permeability_coefficient = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) /obj/item/clothing/under/rank/medical/virologist/skirt name = "virologist's jumpskirt" desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it." - icon_state = "virologywhite_skirt" + icon_state = "virology_skirt" item_state = "w_suit" - item_color = "virologywhite_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -71,16 +64,14 @@ name = "chemist's jumpsuit" icon_state = "chemistry" item_state = "w_suit" - item_color = "chemistrywhite" permeability_coefficient = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 50, "acid" = 65) /obj/item/clothing/under/rank/medical/chemist/skirt name = "chemist's jumpskirt" desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it." - icon_state = "chemistrywhite_skirt" + icon_state = "chemistry_skirt" item_state = "w_suit" - item_color = "chemistrywhite_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -90,7 +81,6 @@ name = "paramedic jumpsuit" icon_state = "paramedic-dark" item_state = "w_suit" - item_color = "paramedic-dark" permeability_coefficient = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) can_adjust = FALSE @@ -98,7 +88,6 @@ /obj/item/clothing/under/rank/medical/paramedic/light desc = "It's made of a special fiber that provides minor protection against biohazards. It has a dark blue cross on the chest denoting that the wearer is a trained paramedic." icon_state = "paramedic-light" - item_color = "paramedic-light" can_adjust = TRUE /obj/item/clothing/under/rank/medical/paramedic/skirt @@ -106,7 +95,6 @@ desc = "It's made of a special fiber that provides minor protection against biohazards. It has a white cross on the chest denoting that the wearer is a trained paramedic." icon_state = "paramedic-dark_skirt" item_state = "w_suit" - item_color = "paramedic-dark_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -114,14 +102,12 @@ /obj/item/clothing/under/rank/medical/paramedic/skirt/light desc = "It's made of a special fiber that provides minor protection against biohazards. It has a dark blue cross on the chest denoting that the wearer is a trained paramedic." icon_state = "paramedic_skirt" - item_color = "paramedic_skirt" /obj/item/clothing/under/rank/medical/doctor/nurse desc = "It's a jumpsuit commonly worn by nursing staff in the medical department." name = "nurse's suit" icon_state = "nursesuit" item_state = "w_suit" - item_color = "nursesuit" permeability_coefficient = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) body_parts_covered = CHEST|GROIN|ARMS @@ -133,7 +119,6 @@ name = "medical doctor's jumpsuit" icon_state = "medical" item_state = "w_suit" - item_color = "medical" permeability_coefficient = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) @@ -141,21 +126,18 @@ name = "blue medical scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue." icon_state = "scrubsblue" - item_color = "scrubsblue" can_adjust = FALSE /obj/item/clothing/under/rank/medical/doctor/green name = "green medical scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green." icon_state = "scrubsgreen" - item_color = "scrubsgreen" can_adjust = FALSE /obj/item/clothing/under/rank/medical/doctor/purple name = "purple medical scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple." icon_state = "scrubspurple" - item_color = "scrubspurple" can_adjust = FALSE /obj/item/clothing/under/rank/medical/doctor/skirt @@ -163,7 +145,6 @@ desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel." icon_state = "medical_skirt" item_state = "w_suit" - item_color = "medical_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE - fitted = FEMALE_UNIFORM_TOP \ No newline at end of file + fitted = FEMALE_UNIFORM_TOP diff --git a/code/modules/clothing/under/jobs/rnd.dm b/code/modules/clothing/under/jobs/rnd.dm index 142cb8d8b1..e5ec4cee6a 100644 --- a/code/modules/clothing/under/jobs/rnd.dm +++ b/code/modules/clothing/under/jobs/rnd.dm @@ -3,7 +3,6 @@ name = "research director's vest suit" icon_state = "director" item_state = "lb_suit" - item_color = "director" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 35) can_adjust = FALSE @@ -12,7 +11,6 @@ desc = "It's a suitskirt worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants." icon_state = "director_skirt" item_state = "lb_suit" - item_color = "director_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -22,7 +20,6 @@ name = "research director's tan suit" icon_state = "rdwhimsy" item_state = "rdwhimsy" - item_color = "rdwhimsy" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) can_adjust = TRUE alt_covers_chest = TRUE @@ -32,7 +29,6 @@ desc = "Maybe you'll engineer your own half-man, half-pig creature some day. Its fabric provides minor protection from biological contaminants." icon_state = "rdwhimsy_skirt" item_state = "rdwhimsy" - item_color = "rdwhimsy_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -42,7 +38,6 @@ name = "research director's turtleneck" icon_state = "rdturtle" item_state = "p_suit" - item_color = "rdturtle" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) can_adjust = TRUE alt_covers_chest = TRUE @@ -52,7 +47,6 @@ desc = "A dark purple turtleneck and tan khaki skirt, for a director with a superior sense of style." icon_state = "rdturtle_skirt" item_state = "p_suit" - item_color = "rdturtle_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -62,16 +56,14 @@ name = "scientist's jumpsuit" icon_state = "toxins" item_state = "w_suit" - item_color = "toxinswhite" permeability_coefficient = 0.5 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) /obj/item/clothing/under/rank/rnd/scientist/skirt name = "scientist's jumpskirt" desc = "It's made of a special fiber that provides minor protection against explosives. It has markings that denote the wearer as a scientist." - icon_state = "toxinswhite_skirt" + icon_state = "toxins_skirt" item_state = "w_suit" - item_color = "toxinswhite_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -81,7 +73,6 @@ name = "roboticist's jumpsuit" icon_state = "robotics" item_state = "robotics" - item_color = "robotics" resistance_flags = NONE /obj/item/clothing/under/rank/rnd/roboticist/skirt @@ -89,7 +80,6 @@ desc = "It's a slimming black with reinforced seams; great for industrial work." icon_state = "robotics_skirt" item_state = "robotics" - item_color = "robotics_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 21e088f634..01424782fb 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -14,7 +14,6 @@ desc = "A tactical security jumpsuit for officers complete with Nanotrasen belt buckle." icon_state = "rsecurity" item_state = "r_suit" - item_color = "rsecurity" armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30) strip_delay = 50 alt_covers_chest = TRUE @@ -26,14 +25,12 @@ desc = "A tactical relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood." icon_state = "security" item_state = "gy_suit" - item_color = "security" /obj/item/clothing/under/rank/security/officer/skirt name = "security jumpskirt" desc = "A \"tactical\" security jumpsuit with the legs replaced by a skirt." icon_state = "secskirt" item_state = "r_suit" - item_color = "secskirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE //you know now that i think of it if you adjust the skirt and the sprite disappears isn't that just like flashing everyone fitted = FEMALE_UNIFORM_TOP @@ -43,7 +40,6 @@ desc = "The latest in fashionable security outfits." icon_state = "officerblueclothes" item_state = "officerblueclothes" - item_color = "officerblueclothes" alt_covers_chest = TRUE /obj/item/clothing/under/rank/security/officer/blueshirt @@ -51,7 +47,6 @@ desc = "I'm a little busy right now, Calhoun." icon_state = "blueshift" item_state = "blueshift" - item_color = "blueshift" can_adjust = FALSE /obj/item/clothing/under/rank/security/officer/spacepol @@ -59,7 +54,6 @@ desc = "Space not controlled by megacorporations, planets, or pirates is under the jurisdiction of Spacepol." icon_state = "spacepol" item_state = "spacepol" - item_color = "spacepol" can_adjust = FALSE /* @@ -71,7 +65,6 @@ desc = "A formal security suit for officers complete with Nanotrasen belt buckle." icon_state = "rwarden" item_state = "r_suit" - item_color = "rwarden" armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30) strip_delay = 50 alt_covers_chest = TRUE @@ -83,14 +76,12 @@ desc = "A formal relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood." icon_state = "warden" item_state = "gy_suit" - item_color = "warden" /obj/item/clothing/under/rank/security/warden/skirt name = "warden's suitskirt" desc = "A formal security suitskirt for officers complete with Nanotrasen belt buckle." icon_state = "rwarden_skirt" item_state = "r_suit" - item_color = "rwarden_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -100,7 +91,6 @@ name = "warden's formal uniform" icon_state = "wardenblueclothes" item_state = "wardenblueclothes" - item_color = "wardenblueclothes" alt_covers_chest = TRUE /* @@ -112,7 +102,6 @@ desc = "Someone who wears this means business." icon_state = "detective" item_state = "det" - item_color = "detective" armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30) strip_delay = 50 alt_covers_chest = TRUE @@ -124,7 +113,6 @@ desc = "Someone who wears this means business." icon_state = "detective_skirt" item_state = "det" - item_color = "detective_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -134,7 +122,6 @@ desc = "A hard-boiled private investigator's grey suit, complete with tie clip." icon_state = "greydet" item_state = "greydet" - item_color = "greydet" alt_covers_chest = TRUE /obj/item/clothing/under/rank/security/detective/grey/skirt @@ -142,7 +129,6 @@ desc = "A hard-boiled private investigator's grey suitskirt, complete with tie clip." icon_state = "greydet_skirt" item_state = "greydet" - item_color = "greydet_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -156,7 +142,6 @@ desc = "A security jumpsuit decorated for those few with the dedication to achieve the position of Head of Security." icon_state = "rhos" item_state = "r_suit" - item_color = "rhos" armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) strip_delay = 60 alt_covers_chest = TRUE @@ -168,7 +153,6 @@ desc = "A security jumpskirt decorated for those few with the dedication to achieve the position of Head of Security." icon_state = "rhos_skirt" item_state = "r_suit" - item_color = "rhos_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -178,21 +162,18 @@ desc = "There are old men, and there are bold men, but there are very few old, bold men." icon_state = "hos" item_state = "gy_suit" - item_color = "hos" /obj/item/clothing/under/rank/security/head_of_security/alt name = "head of security's turtleneck" desc = "A stylish alternative to the normal head of security jumpsuit, complete with tactical pants." icon_state = "hosalt" item_state = "bl_suit" - item_color = "hosalt" /obj/item/clothing/under/rank/security/head_of_security/alt/skirt name = "head of security's turtleneck skirt" desc = "A stylish alternative to the normal head of security jumpsuit, complete with a tactical skirt." icon_state = "hosalt_skirt" item_state = "bl_suit" - item_color = "hosalt_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -202,7 +183,6 @@ name = "head of security's formal uniform" icon_state = "hosblueclothes" item_state = "hosblueclothes" - item_color = "hosblueclothes" alt_covers_chest = TRUE /obj/item/clothing/under/rank/security/head_of_security/parade @@ -210,7 +190,6 @@ desc = "A male head of security's luxury-wear, for special occasions." icon_state = "hos_parade_male" item_state = "r_suit" - item_color = "hos_parade_male" can_adjust = FALSE /obj/item/clothing/under/rank/security/head_of_security/parade/female @@ -218,6 +197,5 @@ desc = "A female head of security's luxury-wear, for special occasions." icon_state = "hos_parade_fem" item_state = "r_suit" - item_color = "hos_parade_fem" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index fb5ff7b0f4..4d8d933557 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -2,7 +2,6 @@ name = "red pj's" desc = "Sleepwear." icon_state = "red_pyjamas" - item_color = "red_pyjamas" item_state = "w_suit" can_adjust = FALSE @@ -10,7 +9,6 @@ name = "blue pj's" desc = "Sleepwear." icon_state = "blue_pyjamas" - item_color = "blue_pyjamas" item_state = "w_suit" can_adjust = FALSE @@ -19,7 +17,6 @@ desc = "Motorcycle not included." icon_state = "ek" item_state = "ek" - item_color = "ek" can_adjust = FALSE /obj/item/clothing/under/rank/prisoner @@ -27,7 +24,6 @@ desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position." icon_state = "prisoner" item_state = "o_suit" - item_color = "prisoner" has_sensor = LOCKED_SENSORS sensor_mode = SENSOR_COORDS random_sensor = FALSE @@ -37,7 +33,6 @@ desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position." icon_state = "prisoner_skirt" item_state = "o_suit" - item_color = "prisoner_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -47,21 +42,18 @@ desc = "'Special delivery!'" icon_state = "mailman" item_state = "b_suit" - item_color = "mailman" /obj/item/clothing/under/misc/psyche name = "psychedelic jumpsuit" desc = "Groovy!" icon_state = "psyche" item_state = "p_suit" - item_color = "psyche" /obj/item/clothing/under/misc/vice_officer name = "vice officer's jumpsuit" desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision." icon_state = "vice" item_state = "gy_suit" - item_color = "vice" can_adjust = FALSE @@ -69,7 +61,6 @@ name = "administrative cybernetic jumpsuit" icon_state = "syndicate" item_state = "bl_suit" - item_color = "syndicate" desc = "A cybernetically enhanced jumpsuit used for administrative duties." gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 @@ -87,7 +78,6 @@ desc = "Traditional burial garments from the early 22nd century." icon_state = "burial" item_state = "burial" - item_color = "burial" has_sensor = NO_SENSORS /obj/item/clothing/under/misc/overalls @@ -95,7 +85,6 @@ desc = "A set of durable overalls for getting the job done." icon_state = "overalls" item_state = "lb_suit" - item_color = "overalls" can_adjust = FALSE /obj/item/clothing/under/misc/assistantformal @@ -103,24 +92,21 @@ desc = "An assistant's formal-wear. Why an assistant needs formal-wear is still unknown." icon_state = "assistant_formal" item_state = "gy_suit" - item_color = "assistant_formal" can_adjust = FALSE /obj/item/clothing/under/misc/staffassistant name = "staff assistant's jumpsuit" desc = "It's a generic grey jumpsuit. That's about what assistants are worth, anyway." icon = 'goon/icons/obj/item_js_rank.dmi' - alternate_worn_icon = 'goon/icons/mob/worn_js_rank.dmi' + mob_overlay_icon = 'goon/icons/mob/worn_js_rank.dmi' icon_state = "assistant" item_state = "gy_suit" - item_color = "assistant" mutantrace_variation = NONE /obj/item/clothing/under/croptop name = "crop top" desc = "We've saved money by giving you half a shirt!" icon_state = "croptop" - item_color = "croptop" body_parts_covered = CHEST|GROIN|ARMS fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -130,7 +116,6 @@ desc = "A special containment suit that allows plasma-based lifeforms to exist safely in an oxygenated environment, and automatically extinguishes them in a crisis. Despite being airtight, it's not spaceworthy." icon_state = "plasmaman" item_state = "plasmaman" - item_color = "plasmaman" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0, "fire" = 95, "acid" = 95) slowdown = 1 body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -192,7 +177,6 @@ desc = "A jumpsuit made from durathread, its resilient fibres provide some protection to the wearer." icon_state = "durathread" item_state = "durathread" - item_color = "durathread" can_adjust = TRUE armor = list("melee" = 10, "laser" = 10, "fire" = 40, "acid" = 10, "bomb" = 5) @@ -209,7 +193,6 @@ desc = "Cyka blyat." icon_state = "squatteroutfit" item_state = "squatteroutfit" - item_color = "squatteroutfit" can_adjust = FALSE mutantrace_variation = NONE @@ -218,7 +201,6 @@ desc = "Drop and give me dvadtsat!" icon_state = "russobluecamo" item_state = "russobluecamo" - item_color = "russobluecamo" can_adjust = FALSE mutantrace_variation = NONE @@ -227,7 +209,6 @@ desc = "What is the point of this, anyway?" icon_state = "keyholesweater" item_state = "keyholesweater" - item_color = "keyholesweater" can_adjust = FALSE mutantrace_variation = NONE @@ -235,7 +216,6 @@ name = "pink stripper outfit" icon_state = "stripper_p" item_state = "stripper_p" - item_color = "stripper_p" body_parts_covered = CHEST|GROIN can_adjust = FALSE @@ -243,13 +223,11 @@ name = "green stripper outfit" icon_state = "stripper_g" item_state = "stripper_g" - item_color = "stripper_g" /obj/item/clothing/under/misc/stripper/mankini name = "pink mankini" icon_state = "mankini" item_state = "mankini" - item_color = "mankini" /obj/item/clothing/under/misc/corporateuniform name = "corporate uniform" @@ -263,7 +241,6 @@ name = "polychromic button-up shirt" desc = "A fancy button-up shirt made with polychromic threads." icon_state = "polysuit" - item_color = "polysuit" item_state = "sl_suit" hasprimary = TRUE hassecondary = TRUE @@ -277,7 +254,6 @@ name = "polychromic shorts" desc = "For ease of movement and style." icon_state = "polyshorts" - item_color = "polyshorts" item_state = "rainbow" hasprimary = TRUE hassecondary = TRUE @@ -292,7 +268,6 @@ name = "polychromic tri-tone jumpsuit" desc = "A fancy jumpsuit made with polychromic threads." icon_state = "polyjump" - item_color = "polyjump" item_state = "rainbow" hasprimary = TRUE hassecondary = TRUE @@ -307,7 +282,6 @@ name = "polychromic bottomless shirt" desc = "Great for showing off your junk in dubious style." icon_state = "polybottomless" - item_color = "polybottomless" item_state = "rainbow" primary_color = "#808080" secondary_color = "#FF3535" @@ -319,7 +293,6 @@ name = "polychromic tank top" desc = "For those lazy summer days." icon_state = "polyshimatank" - item_color = "polyshimatank" item_state = "rainbow" primary_color = "#808080" secondary_color = "#FFFFFF" @@ -332,7 +305,6 @@ name = "polychromic feminine tank top" desc = "Great for showing off your chest in style. Not recommended for males." icon_state = "polyfemtankpantsu" - item_color = "polyfemtankpantsu" hastertiary = FALSE primary_color = "#808080" secondary_color = "#FF3535" diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm index 4b0c92af88..d0048326ff 100644 --- a/code/modules/clothing/under/pants.dm +++ b/code/modules/clothing/under/pants.dm @@ -8,101 +8,84 @@ name = "classic jeans" desc = "You feel cooler already." icon_state = "jeansclassic" - item_color = "jeansclassic" /obj/item/clothing/under/pants/mustangjeans name = "Must Hang jeans" desc = "Made in the finest space jeans factory this side of Alpha Centauri." icon_state = "jeansmustang" - item_color = "jeansmustang" /obj/item/clothing/under/pants/blackjeans name = "black jeans" desc = "Only for those who can pull it off." icon_state = "jeansblack" - item_color = "jeansblack" /obj/item/clothing/under/pants/youngfolksjeans name = "Young Folks jeans" desc = "For those tired of boring old jeans. Relive the passion of your youth!" icon_state = "jeansyoungfolks" - item_color = "jeansyoungfolks" /obj/item/clothing/under/pants/white name = "white pants" desc = "Plain white pants. Boring." icon_state = "whitepants" - item_color = "whitepants" /obj/item/clothing/under/pants/red name = "red pants" desc = "Bright red pants. Overflowing with personality." icon_state = "redpants" - item_color = "redpants" /obj/item/clothing/under/pants/black name = "black pants" desc = "These pants are dark, like your soul." icon_state = "blackpants" - item_color = "blackpants" /obj/item/clothing/under/pants/tan name = "tan pants" desc = "Some tan pants. You look like a white collar worker with these on." icon_state = "tanpants" - item_color = "tanpants" /obj/item/clothing/under/pants/track name = "track pants" desc = "A pair of track pants, for the athletic." icon_state = "trackpants" - item_color = "trackpants" /obj/item/clothing/under/pants/jeans name = "jeans" desc = "A nondescript pair of tough blue jeans." icon_state = "jeans" - item_color = "jeans" /obj/item/clothing/under/pants/khaki name = "khaki pants" desc = "A pair of dust beige khaki pants." icon_state = "khaki" - item_color = "khaki" /obj/item/clothing/under/pants/camo name = "camo pants" desc = "A pair of woodland camouflage pants. Probably not the best choice for a space station." icon_state = "camopants" - item_color = "camopants" /obj/item/clothing/under/pants/jeanripped name = "ripped jeans" desc = "If you're wearing this you're poor or a rebel" icon_state = "jean_ripped" - item_color = "jean_ripped" /obj/item/clothing/under/pants/jeanshort name = "jean shorts" desc = "These are really just jeans cut in half" icon_state = "jean_shorts" - item_color = "jean_shorts" /obj/item/clothing/under/pants/denimskirt name = "denim skirt" desc = "These are really just a jean leg hole cut from a pair" icon_state = "denim_skirt" - item_color = "denim_skirt" /obj/item/clothing/under/pants/chaps name = "black chaps" body_parts_covered = LEGS desc = "Yeehaw" icon_state = "chaps" - item_color = "chaps" /obj/item/clothing/under/pants/yoga name = "yoga pants" desc = "Comfy!" icon_state = "yoga_pants" - item_color = "yoga_pants" diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm index b66df87347..ebf7cb5896 100644 --- a/code/modules/clothing/under/shorts.dm +++ b/code/modules/clothing/under/shorts.dm @@ -9,38 +9,31 @@ /obj/item/clothing/under/shorts/red name = "red athletic shorts" icon_state = "redshorts" - item_color = "redshorts" /obj/item/clothing/under/shorts/green name = "green athletic shorts" icon_state = "greenshorts" - item_color = "greenshorts" /obj/item/clothing/under/shorts/blue name = "blue athletic shorts" icon_state = "blueshorts" - item_color = "blueshorts" /obj/item/clothing/under/shorts/black name = "black athletic shorts" icon_state = "blackshorts" - item_color = "blackshorts" /obj/item/clothing/under/shorts/grey name = "grey athletic shorts" icon_state = "greyshorts" - item_color = "greyshorts" /obj/item/clothing/under/shorts/purple name = "purple athletic shorts" icon_state = "purpleshorts" - item_color = "purpleshorts" /obj/item/clothing/under/shorts/polychromic name = "polychromic athletic shorts" desc = "95% Polychrome, 5% Spandex!" icon_state = "polyshortpants" - item_color = "polyshortpants" item_state = "rainbow" hasprimary = TRUE hassecondary = TRUE @@ -52,7 +45,6 @@ name = "polychromic panties" desc = "Topless striped panties. Now with 120% more polychrome!" icon_state = "polypantsu" - item_color = "polypantsu" item_state = "rainbow" hastertiary = FALSE primary_color = "#FFFFFF" diff --git a/code/modules/clothing/under/skirt_dress.dm b/code/modules/clothing/under/skirt_dress.dm index 02c2b06546..f00e96d821 100644 --- a/code/modules/clothing/under/skirt_dress.dm +++ b/code/modules/clothing/under/skirt_dress.dm @@ -3,7 +3,6 @@ name = "black skirt" desc = "A black skirt, very fancy!" icon_state = "blackskirt" - item_color = "blackskirt" body_parts_covered = CHEST|GROIN|ARMS fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -12,7 +11,6 @@ name = "blue skirt" desc = "A blue, casual skirt." icon_state = "blueskirt" - item_color = "blueskirt" item_state = "b_suit" body_parts_covered = CHEST|GROIN|ARMS fitted = FEMALE_UNIFORM_TOP @@ -22,7 +20,6 @@ name = "red skirt" desc = "A red, casual skirt." icon_state = "redskirt" - item_color = "redskirt" item_state = "r_suit" body_parts_covered = CHEST|GROIN|ARMS fitted = FEMALE_UNIFORM_TOP @@ -32,7 +29,6 @@ name = "purple skirt" desc = "A purple, casual skirt." icon_state = "purpleskirt" - item_color = "purpleskirt" item_state = "p_suit" body_parts_covered = CHEST|GROIN|ARMS fitted = FEMALE_UNIFORM_TOP @@ -43,7 +39,6 @@ desc = "Makes you want to frolic in a field of daisies." icon_state = "sundress" item_state = "sundress" - item_color = "sundress" body_parts_covered = CHEST|GROIN fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -51,13 +46,11 @@ /obj/item/clothing/under/dress/sundress/white name = "white sundress" icon_state = "sundress_white" - item_color = "sundress_white" /obj/item/clothing/under/dress/green name = "green dress" desc = "A tight green dress" icon_state = "dress_green" - item_color = "dress_green" body_parts_covered = CHEST|GROIN fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -66,7 +59,6 @@ name = "pink dress" desc = "A tight pink dress" icon_state = "dress_pink" - item_color = "dress_pink" body_parts_covered = CHEST|GROIN fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -76,7 +68,6 @@ desc = "Filled with Latin fire." icon_state = "black_tango" item_state = "wcoat" - item_color = "black_tango" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -85,7 +76,6 @@ desc = "Filled with Western fire." icon_state = "western_bustle" item_state = "wcoat" - item_color = "western_bustle" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -94,7 +84,6 @@ desc = "Filled with Latin fire." icon_state = "flamenco" item_state = "wcoat" - item_color = "flamenco" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -103,7 +92,6 @@ desc = "Fashion in space." icon_state = "striped_dress" item_state = "stripeddress" - item_color = "striped_dress" body_parts_covered = CHEST|GROIN|ARMS fitted = FEMALE_UNIFORM_FULL can_adjust = FALSE @@ -113,7 +101,6 @@ desc = "Formal wear for a leading lady." icon_state = "sailor_dress" item_state = "sailordress" - item_color = "sailor_dress" body_parts_covered = CHEST|GROIN|ARMS fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -123,7 +110,6 @@ desc = "Lovely dress." icon_state = "flower_dress" item_state = "sailordress" - item_color = "flower_dress" body_parts_covered = CHEST|GROIN|LEGS fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -132,7 +118,6 @@ name = "swept skirt" desc = "Formal skirt." icon_state = "skirt_swept" - item_color = "skirt_swept" body_parts_covered = GROIN fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -141,7 +126,6 @@ name = "black corset" desc = "Nanotrasen is not resposible for any organ damage." icon_state = "corset" - item_color = "corset" body_parts_covered = CHEST|GROIN fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -151,7 +135,6 @@ desc = "Fancy dress for space bar singers." icon_state = "red_evening_gown" item_state = "redeveninggown" - item_color = "red_evening_gown" fitted = FEMALE_UNIFORM_TOP can_adjust = FALSE @@ -160,7 +143,6 @@ desc = "A preppy red skirt with a white blouse." icon_state = "plaid_red" item_state = "plaid_red" - item_color = "plaid_red" fitted = FEMALE_UNIFORM_TOP can_adjust = TRUE alt_covers_chest = TRUE @@ -170,7 +152,6 @@ desc = "A preppy blue skirt with a white blouse." icon_state = "plaid_blue" item_state = "plaid_blue" - item_color = "plaid_blue" fitted = FEMALE_UNIFORM_TOP can_adjust = TRUE alt_covers_chest = TRUE @@ -180,7 +161,6 @@ desc = "A preppy purple skirt with a white blouse." icon_state = "plaid_purple" item_state = "plaid_purple" - item_color = "plaid_purple" fitted = FEMALE_UNIFORM_TOP can_adjust = TRUE alt_covers_chest = TRUE @@ -190,7 +170,6 @@ desc = "A preppy green skirt with a white blouse." icon_state = "plaid_green" item_state = "plaid_green" - item_color = "plaid_green" fitted = FEMALE_UNIFORM_TOP can_adjust = TRUE alt_covers_chest = TRUE @@ -200,7 +179,6 @@ desc = "A white wedding gown made from the finest silk." icon_state = "bride_white" item_state = "bride_white" - item_color = "bride_white" can_adjust = FALSE mutantrace_variation = NONE @@ -209,34 +187,29 @@ desc = "A big and puffy orange dress." icon_state = "bride_orange" item_state = "bride_orange" - item_color = "bride_orange" /obj/item/clothing/under/dress/wedding/purple name = "purple wedding dress" desc = "A big and puffy purple dress." icon_state = "bride_purple" item_state = "bride_purple" - item_color = "bride_purple" /obj/item/clothing/under/dress/wedding/blue name = "blue wedding dress" desc = "A big and puffy blue dress." icon_state = "bride_blue" item_state = "bride_blue" - item_color = "bride_blue" /obj/item/clothing/under/dress/wedding/red name = "red wedding dress" desc = "A big and puffy red dress." icon_state = "bride_red" item_state = "bride_red" - item_color = "bride_red" /obj/item/clothing/under/dress/skirt/polychromic name = "polychromic skirt" desc = "A fancy skirt made with polychromic threads." icon_state = "polyskirt" - item_color = "polyskirt" item_state = "rainbow" hasprimary = TRUE hassecondary = TRUE @@ -250,7 +223,6 @@ name = "polychromic pleated skirt" desc = "A magnificent pleated skirt complements the woolen polychromatic sweater." icon_state = "polypleat" - item_color = "polypleat" item_state = "rainbow" primary_color = "#8CC6FF" secondary_color = "#808080" diff --git a/code/modules/clothing/under/suits.dm b/code/modules/clothing/under/suits.dm index 1b99fbc549..3ee5204c3b 100644 --- a/code/modules/clothing/under/suits.dm +++ b/code/modules/clothing/under/suits.dm @@ -4,7 +4,6 @@ desc = "A white suit, suitable for an excellent host." icon_state = "scratch" item_state = "scratch" - item_color = "scratch" can_adjust = FALSE /obj/item/clothing/under/suit/white_on_white/skirt @@ -12,7 +11,6 @@ desc = "A white suitskirt, suitable for an excellent host." icon_state = "white_suit_skirt" item_state = "scratch" - item_color = "white_suit_skirt" body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -21,7 +19,6 @@ desc = "It's a very amish looking suit." name = "amish suit" icon_state = "sl_suit" - item_color = "sl_suit" can_adjust = FALSE /obj/item/clothing/under/suit/waiter @@ -29,7 +26,6 @@ desc = "It's a very smart uniform with a special pocket for tip." icon_state = "waiter" item_state = "waiter" - item_color = "waiter" can_adjust = FALSE /obj/item/clothing/under/suit/black @@ -37,7 +33,6 @@ desc = "A black suit and red tie. Very formal." icon_state = "black_suit" item_state = "bl_suit" - item_color = "black_suit" can_adjust = FALSE /obj/item/clothing/under/suit/black_really @@ -45,21 +40,18 @@ desc = "A formal black suit and red tie, intended for the station's finest." icon_state = "really_black_suit" item_state = "bl_suit" - item_color = "really_black_suit" /obj/item/clothing/under/suit/black/skirt name = "executive suit" desc = "A formal trouser suit for women, intended for the station's finest." icon_state = "black_suit_fem" item_state = "black_suit_fem" - item_color = "black_suit_fem" /obj/item/clothing/under/suit/green name = "green suit" desc = "A green suit and yellow necktie. Baller." icon_state = "green_suit" item_state = "dg_suit" - item_color = "green_suit" can_adjust = FALSE /obj/item/clothing/under/suit/red @@ -67,49 +59,42 @@ desc = "A red suit and blue tie. Somewhat formal." icon_state = "red_suit" item_state = "r_suit" - item_color = "red_suit" /obj/item/clothing/under/suit/charcoal name = "charcoal suit" desc = "A charcoal suit and red tie. Very professional." icon_state = "charcoal_suit" item_state = "charcoal_suit" - item_color = "charcoal_suit" /obj/item/clothing/under/suit/navy name = "navy suit" desc = "A navy suit and red tie, intended for the station's finest." icon_state = "navy_suit" item_state = "navy_suit" - item_color = "navy_suit" /obj/item/clothing/under/suit/burgundy name = "burgundy suit" desc = "A burgundy suit and black tie. Somewhat formal." icon_state = "burgundy_suit" item_state = "burgundy_suit" - item_color = "burgundy_suit" /obj/item/clothing/under/suit/checkered name = "checkered suit" desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?" icon_state = "checkered_suit" item_state = "checkered_suit" - item_color = "checkered_suit" /obj/item/clothing/under/suit/tan name = "tan suit" desc = "A tan suit with a yellow tie. Smart, but casual." icon_state = "tan_suit" item_state = "tan_suit" - item_color = "tan_suit" /obj/item/clothing/under/suit/white name = "white suit" desc = "A white suit and jacket with a blue shirt. You wanna play rough? OKAY!" icon_state = "white_suit" item_state = "white_suit" - item_color = "white_suit" /obj/item/clothing/under/suit/telegram name = "telegram suit" @@ -123,7 +108,6 @@ name = "polychromic suit" desc = "For when you want to show off your horrible colour coordination skills." icon_state = "polysuit" - item_color = "polysuit" item_state = "sl_suit" hasprimary = TRUE hassecondary = TRUE diff --git a/code/modules/clothing/under/sweaters.dm b/code/modules/clothing/under/sweaters.dm index 13f336bfbd..d8e8373d71 100644 --- a/code/modules/clothing/under/sweaters.dm +++ b/code/modules/clothing/under/sweaters.dm @@ -3,39 +3,33 @@ desc = "Why trade style for comfort? Now you can go commando down south and still be cozy up north." icon_state = "bb_turtle" item_state = "w_suit" - item_color = "bb_turtle" body_parts_covered = CHEST|GROIN|ARMS can_adjust = TRUE icon = 'modular_citadel/icons/obj/clothing/turtlenecks.dmi' - alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi' mutantrace_variation = NONE /obj/item/clothing/under/sweater/black name = "black sweater" icon_state = "bb_turtleblk" item_state = "bl_suit" - item_color = "bb_turtleblk" /obj/item/clothing/under/sweater/purple name = "purple sweater" icon_state = "bb_turtlepur" item_state = "p_suit" - item_color = "bb_turtlepur" /obj/item/clothing/under/sweater/green name = "green sweater" icon_state = "bb_turtlegrn" item_state = "g_suit" - item_color = "bb_turtlegrn" /obj/item/clothing/under/sweater/red name = "red sweater" icon_state = "bb_turtlered" item_state = "r_suit" - item_color = "bb_turtlered" /obj/item/clothing/under/sweater/blue name = "blue sweater" icon_state = "bb_turtleblu" item_state = "b_suit" - item_color = "bb_turtleblu" diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 676138d734..986196a212 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -3,7 +3,6 @@ desc = "A non-descript and slightly suspicious looking turtleneck with digital camouflage cargo pants." icon_state = "syndicate" item_state = "bl_suit" - item_color = "syndicate" has_sensor = NO_SENSORS armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) alt_covers_chest = TRUE @@ -13,7 +12,6 @@ desc = "A non-descript and slightly suspicious looking skirtleneck." icon_state = "syndicate_skirt" item_state = "bl_suit" - item_color = "syndicate_skirt" has_sensor = NO_SENSORS armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) alt_covers_chest = TRUE @@ -24,7 +22,6 @@ desc = "An insidious armored jumpsuit lined with Syndicate nanofibers and prototype platings, slightly resistant to most forms of damage, but is far too bulky to have anything attached to it. It still counts as stealth if there are no witnesses." icon_state = "bloodred_pajamas" item_state = "bl_suit" - item_color = "bloodred_pajamas" dummy_thick = TRUE armor = list("melee" = 10, "bullet" = 10, "laser" = 10,"energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 50, "acid" = 40) resistance_flags = FIRE_PROOF | ACID_PROOF @@ -35,7 +32,6 @@ desc = "Do operatives dream of nuclear sheep?" icon_state = "bloodred_pajamas" item_state = "bl_suit" - item_color = "bloodred_pajamas" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) /obj/item/clothing/under/syndicate/tacticool @@ -43,7 +39,6 @@ desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-." icon_state = "tactifool" item_state = "bl_suit" - item_color = "tactifool" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) /obj/item/clothing/under/syndicate/tacticool/skirt @@ -51,7 +46,6 @@ desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-." icon_state = "tactifool_skirt" item_state = "bl_suit" - item_color = "tactifool_skirt" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) fitted = FEMALE_UNIFORM_TOP @@ -60,7 +54,6 @@ desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-." icon_state = "tactifool" item_state = "bl_suit" - item_color = "tactifool" has_sensor = TRUE mutantrace_variation = NONE armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) @@ -70,7 +63,6 @@ desc = "A double seamed tactical turtleneck disguised as a civilian grade silk suit. Intended for the most formal operator. The collar is really sharp." icon_state = "really_black_suit" item_state = "bl_suit" - item_color = "black_suit" can_adjust = FALSE /obj/item/clothing/under/syndicate/camo @@ -78,14 +70,12 @@ desc = "A green military camouflage uniform." icon_state = "camogreen" item_state = "g_suit" - item_color = "camogreen" can_adjust = FALSE /obj/item/clothing/under/syndicate/soviet name = "Ratnik 5 tracksuit" desc = "Badly translated labels tell you to clean this in Vodka. Great for squatting in." icon_state = "trackpants" - item_color = "trackpants" can_adjust = FALSE armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) resistance_flags = NONE @@ -94,14 +84,12 @@ name = "combat uniform" desc = "With a suit lined with this many pockets, you are ready to operate." icon_state = "syndicate_combat" - item_color = "syndicate_combat" can_adjust = FALSE /obj/item/clothing/under/syndicate/rus_army name = "advanced military tracksuit" desc = "Military grade tracksuits for frontline squatting." icon_state = "rus_under" - item_color = "rus_under" can_adjust = FALSE armor = list("melee" = 5, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) resistance_flags = NONE @@ -111,7 +99,6 @@ desc = "A major league outfit with the number faded number on the back. Seems rather robust for just a game..." icon_state = "syndicatebaseball" item_state = "syndicatebaseball" - item_color = "syndicatebaseball" has_sensor = NO_SENSORS armor = list("melee" = 15, "bullet" = 5, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) alt_covers_chest = TRUE diff --git a/code/modules/clothing/under/trek.dm b/code/modules/clothing/under/trek.dm index 2fb33d1b19..a9709a4c95 100644 --- a/code/modules/clothing/under/trek.dm +++ b/code/modules/clothing/under/trek.dm @@ -13,14 +13,12 @@ name = "command uniform" desc = "The uniform worn by command officers in the mid 2260s." icon_state = "trek_command" - item_color = "trek_command" item_state = "y_suit" /obj/item/clothing/under/trek/engsec name = "operations uniform" desc = "The uniform worn by operations officers of the mid 2260s. You feel strangely vulnerable just seeing this..." icon_state = "trek_engsec" - item_color = "trek_engsec" item_state = "r_suit" strip_delay = 50 @@ -28,7 +26,6 @@ name = "medsci uniform" desc = "The uniform worn by medsci officers in the mid 2260s." icon_state = "trek_medsci" - item_color = "trek_medsci" item_state = "b_suit" permeability_coefficient = 0.50 @@ -37,38 +34,32 @@ /obj/item/clothing/under/trek/command/next desc = "The uniform worn by command officers. This one's from the mid 2360s." icon_state = "trek_next_command" - item_color = "trek_next_command" item_state = "r_suit" /obj/item/clothing/under/trek/engsec/next desc = "The uniform worn by operation officers. This one's from the mid 2360s." icon_state = "trek_next_engsec" - item_color = "trek_next_engsec" item_state = "y_suit" /obj/item/clothing/under/trek/medsci/next desc = "The uniform worn by medsci officers. This one's from the mid 2360s." icon_state = "trek_next_medsci" - item_color = "trek_next_medsci" //ENT /obj/item/clothing/under/trek/command/ent desc = "The uniform worn by command officers of the 2140s." icon_state = "trek_ent_command" - item_color = "trek_ent_command" item_state = "bl_suit" /obj/item/clothing/under/trek/engsec/ent desc = "The uniform worn by operations officers of the 2140s." icon_state = "trek_ent_engsec" - item_color = "trek_ent_engsec" item_state = "bl_suit" /obj/item/clothing/under/trek/medsci/ent desc = "The uniform worn by medsci officers of the 2140s." icon_state = "trek_ent_medsci" - item_color = "trek_ent_medsci" item_state = "bl_suit" @@ -111,5 +102,4 @@ name = "french marshall's uniform" desc = "Something about it feels off..." icon_state = "trek_Q" - item_color = "trek_Q" item_state = "r_suit" diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm index 0f2856c090..fbed6327b5 100644 --- a/code/modules/food_and_drinks/food/snacks_egg.dm +++ b/code/modules/food_and_drinks/food/snacks_egg.dm @@ -41,7 +41,7 @@ /obj/item/reagent_containers/food/snacks/egg/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/toy/crayon)) var/obj/item/toy/crayon/C = W - var/clr = C.item_color + var/clr = C.crayon_color if(!(clr in list("blue", "green", "mime", "orange", "purple", "rainbow", "red", "yellow"))) to_chat(usr, "[src] refuses to take on this colour!") @@ -49,41 +49,32 @@ to_chat(usr, "You colour [src] with [W].") icon_state = "egg-[clr]" - item_color = clr else ..() /obj/item/reagent_containers/food/snacks/egg/blue icon_state = "egg-blue" - item_color = "blue" /obj/item/reagent_containers/food/snacks/egg/green icon_state = "egg-green" - item_color = "green" /obj/item/reagent_containers/food/snacks/egg/mime icon_state = "egg-mime" - item_color = "mime" /obj/item/reagent_containers/food/snacks/egg/orange icon_state = "egg-orange" - item_color = "orange" /obj/item/reagent_containers/food/snacks/egg/purple icon_state = "egg-purple" - item_color = "purple" /obj/item/reagent_containers/food/snacks/egg/rainbow icon_state = "egg-rainbow" - item_color = "rainbow" /obj/item/reagent_containers/food/snacks/egg/red icon_state = "egg-red" - item_color = "red" /obj/item/reagent_containers/food/snacks/egg/yellow icon_state = "egg-yellow" - item_color = "yellow" /obj/item/reagent_containers/food/snacks/friedegg name = "fried egg" diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm index 5f2d92fc93..94c13999ba 100644 --- a/code/modules/holiday/easter.dm +++ b/code/modules/holiday/easter.dm @@ -113,8 +113,6 @@ . = ..() var/eggcolor = pick("blue","green","mime","orange","purple","rainbow","red","yellow") icon_state = "egg-[eggcolor]" - item_color = "[eggcolor]" - /obj/item/reagent_containers/food/snacks/egg/proc/dispensePrize(turf/where) var/won = pick(/obj/item/clothing/head/bunnyhead, /obj/item/clothing/suit/bunnysuit, diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index 638d1427bc..7f6d48e731 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -390,7 +390,7 @@ desc = "A jacqueline o' lantern! You can't seem to get rid of it." icon_state = "hardhat0_pumpkin_j" item_state = "hardhat0_pumpkin_j" - item_color = "pumpkin_j" + hat_type = "pumpkin_j" brightness_on = 4 /obj/item/clothing/head/hardhat/pumpkinhead/jaqc/Initialize() diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm index 884769ebd4..165488023e 100644 --- a/code/modules/holodeck/items.dm +++ b/code/modules/holodeck/items.dm @@ -24,15 +24,16 @@ hitsound = "swing_hit" armour_penetration = 50 var/active = 0 + var/saber_color /obj/item/holo/esword/green/Initialize() . = ..() - item_color = "green" + saber_color = "green" /obj/item/holo/esword/red/Initialize() . = ..() - item_color = "red" + saber_color = "red" /obj/item/holo/esword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(active) @@ -44,13 +45,13 @@ /obj/item/holo/esword/Initialize() . = ..() - item_color = pick("red","blue","green","purple") + saber_color = pick("red","blue","green","purple") /obj/item/holo/esword/attack_self(mob/living/user as mob) active = !active if (active) force = 30 - icon_state = "sword[item_color]" + icon_state = "sword[saber_color]" w_class = WEIGHT_CLASS_BULKY hitsound = 'sound/weapons/blade1.ogg' playsound(user, 'sound/weapons/saberon.ogg', 20, 1) diff --git a/code/modules/jobs/job_types/chief_engineer.dm b/code/modules/jobs/job_types/chief_engineer.dm index c5065cd169..0d70e872ac 100644 --- a/code/modules/jobs/job_types/chief_engineer.dm +++ b/code/modules/jobs/job_types/chief_engineer.dm @@ -42,7 +42,7 @@ uniform = /obj/item/clothing/under/rank/engineering/chief_engineer shoes = /obj/item/clothing/shoes/sneakers/brown head = /obj/item/clothing/head/hardhat/white - gloves = /obj/item/clothing/gloves/color/black/ce + gloves = /obj/item/clothing/gloves/color/black backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced=1) backpack = /obj/item/storage/backpack/industrial diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm index 811dff87e7..3cf4fbb102 100644 --- a/code/modules/jobs/job_types/head_of_security.dm +++ b/code/modules/jobs/job_types/head_of_security.dm @@ -42,7 +42,7 @@ uniform = /obj/item/clothing/under/rank/security/head_of_security shoes = /obj/item/clothing/shoes/jackboots suit = /obj/item/clothing/suit/armor/hos/trenchcoat - gloves = /obj/item/clothing/gloves/color/black/hos + gloves = /obj/item/clothing/gloves/color/black head = /obj/item/clothing/head/HoS/beret glasses = /obj/item/clothing/glasses/hud/security/sunglasses suit_store = /obj/item/gun/energy/e_gun diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index cb603dee90..9274a24589 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -118,13 +118,11 @@ There are several things that need to be remembered: return - var/t_color = U.item_color - if(!t_color) - t_color = U.icon_state + var/target_overlay = U.icon_state if(U.adjusted == ALT_STYLE) - t_color = "[t_color]_d" + target_overlay = "[target_overlay]_d" - var/alt_worn = U.alternate_worn_icon || 'icons/mob/uniform.dmi' + var/alt_worn = U.mob_overlay_icon || 'icons/mob/uniform.dmi' var/variant_flag = NONE if((DIGITIGRADE in dna.species.species_traits) && U.mutantrace_variation & STYLE_DIGITIGRADE) @@ -136,10 +134,10 @@ There are several things that need to be remembered: if(dna && dna.species.sexes) var/G = (dna.features["body_model"] == FEMALE) ? "f" : "m" if(G == "f" && U.fitted != NO_FEMALE_UNIFORM) - uniform_overlay = U.build_worn_icon(t_color, UNIFORM_LAYER, alt_worn, FALSE, U.fitted, variant_flag, FALSE) + uniform_overlay = U.build_worn_icon(UNIFORM_LAYER, alt_worn, FALSE, U.fitted, target_overlay, variant_flag, FALSE) if(!uniform_overlay) - uniform_overlay = U.build_worn_icon(t_color, UNIFORM_LAYER, alt_worn, FALSE, NO_FEMALE_UNIFORM, variant_flag, FALSE) + uniform_overlay = U.build_worn_icon( UNIFORM_LAYER, alt_worn, FALSE, NO_FEMALE_UNIFORM, target_overlay, variant_flag, FALSE) if(OFFSET_UNIFORM in dna.species.offset_features) @@ -255,7 +253,7 @@ There are several things that need to be remembered: client.screen += ears //add it to the client's screen update_observer_view(ears,1) - overlays_standing[EARS_LAYER] = ears.build_worn_icon(state = ears.icon_state, default_layer = EARS_LAYER, default_icon_file = 'icons/mob/ears.dmi') + overlays_standing[EARS_LAYER] = ears.build_worn_icon(default_layer = EARS_LAYER, default_icon_file = 'icons/mob/ears.dmi') var/mutable_appearance/ears_overlay = overlays_standing[EARS_LAYER] if(OFFSET_EARS in dna.species.offset_features) ears_overlay.pixel_x += dna.species.offset_features[OFFSET_EARS][1] @@ -282,16 +280,13 @@ There are several things that need to be remembered: client.screen += shoes //add it to client's screen update_observer_view(shoes,1) - var/alt_icon = S.alternate_worn_icon || 'icons/mob/feet.dmi' + var/alt_icon = S.mob_overlay_icon || 'icons/mob/feet.dmi' var/variation_flag = NONE if((DIGITIGRADE in dna.species.species_traits) && S.mutantrace_variation & STYLE_DIGITIGRADE) alt_icon = 'icons/mob/feet_digi.dmi' variation_flag |= STYLE_DIGITIGRADE - var/t_state = shoes.item_state - if (!t_state) - t_state = shoes.icon_state - overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(t_state, SHOES_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, variation_flag, FALSE) + overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(SHOES_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, variation_flag, FALSE) var/mutable_appearance/shoes_overlay = overlays_standing[SHOES_LAYER] if(OFFSET_SHOES in dna.species.offset_features) shoes_overlay.pixel_x += dna.species.offset_features[OFFSET_SHOES][1] @@ -314,7 +309,7 @@ There are several things that need to be remembered: var/t_state = s_store.item_state if(!t_state) t_state = s_store.icon_state - overlays_standing[SUIT_STORE_LAYER] = mutable_appearance(((s_store.alternate_worn_icon) ? s_store.alternate_worn_icon : 'icons/mob/belt_mirror.dmi'), t_state, -SUIT_STORE_LAYER) + overlays_standing[SUIT_STORE_LAYER] = mutable_appearance(((s_store.mob_overlay_icon) ? s_store.mob_overlay_icon : 'icons/mob/belt_mirror.dmi'), t_state, -SUIT_STORE_LAYER) var/mutable_appearance/s_store_overlay = overlays_standing[SUIT_STORE_LAYER] if(OFFSET_S_STORE in dna.species.offset_features) s_store_overlay.pixel_x += dna.species.offset_features[OFFSET_S_STORE][1] @@ -324,12 +319,20 @@ There are several things that need to be remembered: /mob/living/carbon/human/update_inv_head() - ..() + remove_overlay(HEAD_LAYER) + + if(!get_bodypart(BODY_ZONE_HEAD)) //Decapitated + return + + if(client && hud_used && hud_used.inv_slots[SLOT_BACK]) + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_HEAD] + inv.update_icon() + update_mutant_bodyparts() if(head) remove_overlay(HEAD_LAYER) var/obj/item/clothing/head/H = head - var/alt_icon = H.alternate_worn_icon || 'icons/mob/head.dmi' + var/alt_icon = H.mob_overlay_icon || 'icons/mob/head.dmi' var/muzzled = FALSE var/variation_flag = NONE if(dna.species.mutant_bodyparts["mam_snouts"] && dna.features["mam_snouts"] != "None") @@ -340,7 +343,7 @@ There are several things that need to be remembered: alt_icon = 'icons/mob/head_muzzled.dmi' variation_flag |= STYLE_MUZZLE - overlays_standing[HEAD_LAYER] = H.build_worn_icon(H.icon_state, HEAD_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, variation_flag, FALSE) + overlays_standing[HEAD_LAYER] = H.build_worn_icon(HEAD_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, H.icon_state, variation_flag, FALSE) var/mutable_appearance/head_overlay = overlays_standing[HEAD_LAYER] if(OFFSET_HEAD in dna.species.offset_features) @@ -362,11 +365,7 @@ There are several things that need to be remembered: client.screen += belt update_observer_view(belt) - var/t_state = belt.item_state - if(!t_state) - t_state = belt.icon_state - - overlays_standing[BELT_LAYER] = belt.build_worn_icon(state = t_state, default_layer = BELT_LAYER, default_icon_file = 'icons/mob/belt.dmi') + overlays_standing[BELT_LAYER] = belt.build_worn_icon(default_layer = BELT_LAYER, default_icon_file = 'icons/mob/belt.dmi') var/mutable_appearance/belt_overlay = overlays_standing[BELT_LAYER] if(OFFSET_BELT in dna.species.offset_features) belt_overlay.pixel_x += dna.species.offset_features[OFFSET_BELT][1] @@ -390,7 +389,7 @@ There are several things that need to be remembered: client.screen += wear_suit update_observer_view(wear_suit,1) - var/worn_icon = wear_suit.alternate_worn_icon || 'icons/mob/suit.dmi' + var/worn_icon = wear_suit.mob_overlay_icon || 'icons/mob/suit.dmi' var/center = FALSE var/dimension_x = 32 var/dimension_y = 32 @@ -418,7 +417,7 @@ There are several things that need to be remembered: worn_icon = 'icons/mob/suit_digi.dmi' variation_flag |= STYLE_DIGITIGRADE - overlays_standing[SUIT_LAYER] = S.build_worn_icon(wear_suit.icon_state, SUIT_LAYER, worn_icon, FALSE, NO_FEMALE_UNIFORM, variation_flag, FALSE) + overlays_standing[SUIT_LAYER] = S.build_worn_icon(SUIT_LAYER, worn_icon, FALSE, NO_FEMALE_UNIFORM, wear_suit.icon_state, variation_flag, FALSE) var/mutable_appearance/suit_overlay = overlays_standing[SUIT_LAYER] if(OFFSET_SUIT in dna.species.offset_features) suit_overlay.pixel_x += dna.species.offset_features[OFFSET_SUIT][1] @@ -456,11 +455,19 @@ There are several things that need to be remembered: /mob/living/carbon/human/update_inv_wear_mask() - ..() + remove_overlay(FACEMASK_LAYER) + + if(!get_bodypart(BODY_ZONE_HEAD)) //Decapitated + return + + if(client && hud_used && hud_used.inv_slots[SLOT_WEAR_MASK]) + var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_WEAR_MASK] + inv.update_icon() + if(wear_mask) var/obj/item/clothing/mask/M = wear_mask remove_overlay(FACEMASK_LAYER) - var/alt_icon = M.alternate_worn_icon || 'icons/mob/mask.dmi' + var/alt_icon = M.mob_overlay_icon || 'icons/mob/mask.dmi' var/muzzled = FALSE var/variation_flag = NONE if(head && (head.flags_inv & HIDEMASK)) @@ -473,8 +480,7 @@ There are several things that need to be remembered: alt_icon = 'icons/mob/mask_muzzled.dmi' variation_flag |= STYLE_MUZZLE - overlays_standing[FACEMASK_LAYER] = M.build_worn_icon(wear_mask.icon_state, FACEMASK_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, variation_flag, FALSE) - var/mutable_appearance/mask_overlay = overlays_standing[FACEMASK_LAYER] + var/mutable_appearance/mask_overlay = M.build_worn_icon(FACEMASK_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, wear_mask.icon_state, variation_flag, FALSE) if(OFFSET_FACEMASK in dna.species.offset_features) mask_overlay.pixel_x += dna.species.offset_features[OFFSET_FACEMASK][1] @@ -563,7 +569,7 @@ default_layer: The layer to draw this on if no other layer is specified default_icon_file: The icon file to draw states from if no other icon file is specified -isinhands: If true then alternate_worn_icon is skipped so that default_icon_file is used, +isinhands: If true then mob_overlay_icon is skipped so that default_icon_file is used, in this situation default_icon_file is expected to match either the lefthand_ or righthand_ file var femalueuniform: A value matching a uniform item's fitted var, if this is anything but NO_FEMALE_UNIFORM, we @@ -571,12 +577,21 @@ generate/load female uniform sprites matching all previously decided variables */ -/obj/item/proc/build_worn_icon(state = "", default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, style_flags = NONE, use_alt_icon = TRUE) +/obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, override_state, style_flags = NONE, use_mob_overlay_icon = TRUE) + + var/t_state + if(override_state) + t_state = override_state + else + if(isinhands && item_state) + t_state = item_state + else + t_state = icon_state //Find a valid icon file from variables+arguments var/file2use - if(!isinhands && alternate_worn_icon && use_alt_icon) - file2use = alternate_worn_icon + if(!isinhands && mob_overlay_icon && use_mob_overlay_icon) + file2use = mob_overlay_icon if(!file2use) file2use = default_icon_file @@ -589,9 +604,9 @@ generate/load female uniform sprites matching all previously decided variables var/mutable_appearance/standing if(femaleuniform) - standing = wear_female_version(state,file2use,layer2use,femaleuniform) + standing = wear_female_version(t_state,file2use,layer2use,femaleuniform) if(!standing) - standing = mutable_appearance(file2use, state, -layer2use) + standing = mutable_appearance(file2use, t_state, -layer2use) //Get the overlays for this item when it's being worn //eg: ammo counters, primed grenade flashes, etc. diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index e5483e8d73..92509d364a 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -42,15 +42,11 @@ observers = null break - var/t_state = I.item_state - if(!t_state) - t_state = I.icon_state - var/icon_file = I.lefthand_file if(get_held_index_of_item(I) % 2 == 0) icon_file = I.righthand_file - hands += I.build_worn_icon(state = t_state, default_layer = HANDS_LAYER, default_icon_file = icon_file, isinhands = TRUE) + hands += I.build_worn_icon(default_layer = HANDS_LAYER, default_icon_file = icon_file, isinhands = TRUE) overlays_standing[HANDS_LAYER] = hands apply_overlay(HANDS_LAYER) @@ -100,7 +96,7 @@ if(wear_mask) if(!(head && (head.flags_inv & HIDEMASK))) - overlays_standing[FACEMASK_LAYER] = wear_mask.build_worn_icon(state = wear_mask.icon_state, default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/mask.dmi') + overlays_standing[FACEMASK_LAYER] = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/mask.dmi', override_state = wear_mask.icon_state) update_hud_wear_mask(wear_mask) apply_overlay(FACEMASK_LAYER) @@ -114,7 +110,7 @@ if(wear_neck) if(!(head && (head.flags_inv & HIDENECK))) - overlays_standing[NECK_LAYER] = wear_neck.build_worn_icon(state = wear_neck.icon_state, default_layer = NECK_LAYER, default_icon_file = 'icons/mob/neck.dmi') + overlays_standing[NECK_LAYER] = wear_neck.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = 'icons/mob/neck.dmi', override_state = wear_mask.icon_state) update_hud_neck(wear_neck) apply_overlay(NECK_LAYER) @@ -127,7 +123,7 @@ inv.update_icon() if(back) - overlays_standing[BACK_LAYER] = back.build_worn_icon(state = back.icon_state, default_layer = BACK_LAYER, default_icon_file = 'icons/mob/back.dmi') + overlays_standing[BACK_LAYER] = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = 'icons/mob/back.dmi', override_state = back.icon_state) update_hud_back(back) apply_overlay(BACK_LAYER) @@ -143,7 +139,7 @@ inv.update_icon() if(head) - overlays_standing[HEAD_LAYER] = head.build_worn_icon(state = head.icon_state, default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/head.dmi') + overlays_standing[HEAD_LAYER] = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/head.dmi', override_state = head.icon_state) update_hud_head(head) apply_overlay(HEAD_LAYER) diff --git a/code/modules/mob/living/silicon/robot/update_icons.dm b/code/modules/mob/living/silicon/robot/update_icons.dm index 8d40e35706..7311806c8b 100644 --- a/code/modules/mob/living/silicon/robot/update_icons.dm +++ b/code/modules/mob/living/silicon/robot/update_icons.dm @@ -41,7 +41,7 @@ else add_overlay("ov-opencover -c") if(hat) - var/mutable_appearance/head_overlay = hat.build_worn_icon(state = hat.icon_state, default_layer = 20, default_icon_file = 'icons/mob/head.dmi') + var/mutable_appearance/head_overlay = hat.build_worn_icon(default_layer = 20, default_icon_file = 'icons/mob/head.dmi', override_state = hat.icon_state) head_overlay.pixel_y += hat_offset add_overlay(head_overlay) update_fire() diff --git a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm index 408edc7110..cece40d3f3 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm @@ -28,12 +28,7 @@ var/y_shift = getItemPixelShiftY() if(r_hand) - - var/r_state = r_hand.item_state - if(!r_state) - r_state = r_hand.icon_state - - var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(state = r_state, default_layer = DRONE_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) + var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(default_layer = DRONE_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) if(y_shift) r_hand_overlay.pixel_y += y_shift @@ -46,12 +41,7 @@ client.screen |= r_hand if(l_hand) - - var/l_state = l_hand.item_state - if(!l_state) - l_state = l_hand.icon_state - - var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(state = l_state, default_layer = DRONE_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) + var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(default_layer = DRONE_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) if(y_shift) l_hand_overlay.pixel_y += y_shift @@ -85,7 +75,7 @@ var/used_head_icon = 'icons/mob/head.dmi' if(istype(head, /obj/item/clothing/mask)) used_head_icon = 'icons/mob/mask.dmi' - var/mutable_appearance/head_overlay = head.build_worn_icon(state = head.icon_state, default_layer = DRONE_HEAD_LAYER, default_icon_file = used_head_icon) + var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = DRONE_HEAD_LAYER, default_icon_file = used_head_icon, override_state = head.icon_state) head_overlay.pixel_y -= 15 drone_overlays[DRONE_HEAD_LAYER] = head_overlay diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 3a1df8c0b3..0c6d760431 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -310,11 +310,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians var/obj/item/r_hand = get_item_for_held_index(2) if(r_hand) - var/r_state = r_hand.item_state - if(!r_state) - r_state = r_hand.icon_state - - hands_overlays += r_hand.build_worn_icon(state = r_state, default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) + hands_overlays += r_hand.build_worn_icon(default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) r_hand.layer = ABOVE_HUD_LAYER @@ -323,11 +319,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians client.screen |= r_hand if(l_hand) - var/l_state = l_hand.item_state - if(!l_state) - l_state = l_hand.icon_state - - hands_overlays += l_hand.build_worn_icon(state = l_state, default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) + hands_overlays += l_hand.build_worn_icon(default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) l_hand.layer = ABOVE_HUD_LAYER diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm index b3e0f3b658..9d451748b0 100644 --- a/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm @@ -33,14 +33,12 @@ var/obj/item/r_hand = get_item_for_held_index(2) if(r_hand) - var/r_state = r_hand.item_state ? r_hand.item_state : r_hand.icon_state - var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(state = r_state, default_layer = GORILLA_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) + var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(default_layer = GORILLA_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) r_hand_overlay.pixel_y -= 1 hands_overlays += r_hand_overlay if(l_hand) - var/l_state = l_hand.item_state ? l_hand.item_state : l_hand.icon_state - var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(state = l_state, default_layer = GORILLA_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) + var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(default_layer = GORILLA_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) l_hand_overlay.pixel_y -= 1 hands_overlays += l_hand_overlay diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 2beb9296b3..241dde13a8 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -9,7 +9,6 @@ throw_speed = 3 throw_range = 7 custom_materials = list(/datum/material/iron=60) - item_color = "cargo" pressure_resistance = 2 attack_verb = list("stamped") @@ -20,52 +19,52 @@ /obj/item/stamp/qm name = "quartermaster's rubber stamp" icon_state = "stamp-qm" - item_color = "qm" + dye_color = DYE_QM /obj/item/stamp/law name = "law office's rubber stamp" icon_state = "stamp-law" - item_color = "cargo" + dye_color = DYE_LAW /obj/item/stamp/captain name = "captain's rubber stamp" icon_state = "stamp-cap" - item_color = "captain" + dye_color = DYE_CAPTAIN /obj/item/stamp/hop name = "head of personnel's rubber stamp" icon_state = "stamp-hop" - item_color = "hop" + dye_color = DYE_HOP /obj/item/stamp/hos name = "head of security's rubber stamp" icon_state = "stamp-hos" - item_color = "hosred" + dye_color = DYE_HOS /obj/item/stamp/ce name = "chief engineer's rubber stamp" icon_state = "stamp-ce" - item_color = "chief" + dye_color = DYE_CE /obj/item/stamp/rd name = "research director's rubber stamp" icon_state = "stamp-rd" - item_color = "director" + dye_color = DYE_RD /obj/item/stamp/cmo name = "chief medical officer's rubber stamp" icon_state = "stamp-cmo" - item_color = "cmo" + dye_color = DYE_CMO /obj/item/stamp/denied name = "\improper DENIED rubber stamp" icon_state = "stamp-deny" - item_color = "redcoat" + dye_color = DYE_REDCOAT /obj/item/stamp/clown name = "clown's rubber stamp" icon_state = "stamp-clown" - item_color = "clown" + dye_color = DYE_CLOWN /obj/item/stamp/attack_paw(mob/user) return attack_hand(user) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 8d5de661ae..195bc8291f 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -196,7 +196,7 @@ By design, d1 is the smallest direction and d2 is the highest /obj/structure/cable/proc/update_stored(length = 1, colorC = "red") stored.amount = length - stored.item_color = colorC + stored.cable_color = colorC stored.update_icon() //////////////////////////////////////////// @@ -482,7 +482,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai max_amount = MAXCOIL amount = MAXCOIL merge_type = /obj/item/stack/cable_coil // This is here to let its children merge between themselves - item_color = "red" + var/cable_color = "red" desc = "A coil of insulated power cable." throwforce = 0 w_class = WEIGHT_CLASS_SMALL @@ -504,7 +504,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai /obj/item/stack/cable_coil/cyborg/attack_self(mob/user) var/cable_color = input(user,"Pick a cable color.","Cable Color") in list("red","yellow","green","blue","pink","orange","cyan","white") - item_color = cable_color + cable_color = cable_color update_icon() /obj/item/stack/cable_coil/suicide_act(mob/user) @@ -518,9 +518,9 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai . = ..() var/list/cable_colors = GLOB.cable_colors - item_color = param_color || item_color || pick(cable_colors) - if(cable_colors[item_color]) - item_color = cable_colors[item_color] + cable_color = param_color || cable_color || pick(cable_colors) + if(cable_colors[cable_color]) + cable_color = cable_colors[cable_color] pixel_x = rand(-2,2) pixel_y = rand(-2,2) @@ -554,7 +554,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai icon_state = "[initial(item_state)][amount < 3 ? amount : ""]" name = "cable [amount < 3 ? "piece" : "coil"]" color = null - add_atom_colour(item_color, FIXED_COLOUR_PRIORITY) + add_atom_colour(cable_color, FIXED_COLOUR_PRIORITY) /obj/item/stack/cable_coil/attack_hand(mob/user) . = ..() @@ -562,7 +562,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai return var/obj/item/stack/cable_coil/new_cable = ..() if(istype(new_cable)) - new_cable.item_color = item_color + new_cable.cable_color = cable_color new_cable.update_icon() //add cables to the stack @@ -581,7 +581,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai /obj/item/stack/cable_coil/proc/get_new_cable(location) var/path = /obj/structure/cable - return new path(location, item_color) + return new path(location, cable_color) // called when cable_coil is clicked on a turf /obj/item/stack/cable_coil/proc/place_turf(turf/T, mob/user, dirnew) @@ -738,7 +738,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai C.d2 = nd2 //updates the stored cable coil - C.update_stored(2, item_color) + C.update_stored(2, cable_color) C.add_fingerprint(user) C.update_icon() @@ -769,38 +769,38 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai ///////////////////////////// /obj/item/stack/cable_coil/red - item_color = "red" + cable_color = "red" color = "#ff0000" /obj/item/stack/cable_coil/yellow - item_color = "yellow" + cable_color = "yellow" color = "#ffff00" /obj/item/stack/cable_coil/blue - item_color = "blue" + cable_color = "blue" color = "#1919c8" /obj/item/stack/cable_coil/green - item_color = "green" + cable_color = "green" color = "#00aa00" /obj/item/stack/cable_coil/pink - item_color = "pink" + cable_color = "pink" color = "#ff3ccd" /obj/item/stack/cable_coil/orange - item_color = "orange" + cable_color = "orange" color = "#ff8000" /obj/item/stack/cable_coil/cyan - item_color = "cyan" + cable_color = "cyan" color = "#00ffff" /obj/item/stack/cable_coil/white - item_color = "white" + cable_color = "white" /obj/item/stack/cable_coil/random - item_color = null + cable_color = null color = "#ffffff" @@ -820,36 +820,36 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai update_icon() /obj/item/stack/cable_coil/cut/red - item_color = "red" + cable_color = "red" color = "#ff0000" /obj/item/stack/cable_coil/cut/yellow - item_color = "yellow" + cable_color = "yellow" color = "#ffff00" /obj/item/stack/cable_coil/cut/blue - item_color = "blue" + cable_color = "blue" color = "#1919c8" /obj/item/stack/cable_coil/cut/green - item_color = "green" + cable_color = "green" color = "#00aa00" /obj/item/stack/cable_coil/cut/pink - item_color = "pink" + cable_color = "pink" color = "#ff3ccd" /obj/item/stack/cable_coil/cut/orange - item_color = "orange" + cable_color = "orange" color = "#ff8000" /obj/item/stack/cable_coil/cut/cyan - item_color = "cyan" + cable_color = "cyan" color = "#00ffff" /obj/item/stack/cable_coil/cut/white - item_color = "white" + cable_color = "white" /obj/item/stack/cable_coil/cut/random - item_color = null + cable_color = null color = "#ffffff" \ No newline at end of file diff --git a/icons/mob/accessories.dmi b/icons/mob/accessories.dmi index cda7cca4049d1a95511f5cf0f97ab8bb34d66a90..c13b6a50bcf8cf896a5eb7062924445e529cb160 100644 GIT binary patch literal 8853 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 EFBVy^wg3PC literal 9688 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 O0-illS1gw|4fro9-8x(V diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 1845e75d26d4d7aae16b9bc18d73a3968344b16c..fe0b080dc61f9ba451f2ab32456103fec3f79992 100644 GIT binary patch literal 403435 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%0DrrJUn|K2J|*z{Q1i?Ly!F7 zSw5(Y17UM&{+X$`Yk{0WRU^-m#G~~JJ?wezueeajbdT|?HcM$jD+;wGg8tFhQL@Mq z{Z{#93)*!pndpb%?*6ozIE;-$7ImpQHMrL}4g=x}lKbAM>*TxHtQ_CYM4yNfrA-^& zWlgr(jCM*>aAE7kjE;CH4iYxuB)SB4zW3>Z54sFMl#%jdifSb>3q9+Ps7t<-?Djpd zMxT4;Bsym)#MUSDyIOwSptU1bxM3Xc@n1DTF)Nq&PFASMk?q|C{L<H%^j8qn9lQiDZOu{EzBmA2HO0KH5 zedrB(dW<9T%PZE!>%jotK_)b{fNm_lIhbXA_r=C{xUHtIrEtL!oq~d5_LdP#;OV2S zeQt9@^uOAYb(Z8YueuMTO(g6UNp`{{xe~r`NoIL-GlqJTCWS-QC{B9?7xh5FGRmtm zG;Shk0cqPNoAp;$?G?r@!xj|cx%D-Xn7F&RIgC>4g9!C3*a$0}CSF)&#H-8h-v0jm z<>L0X571mNPU$rQ%;j~*(ZB;+IM>~t+=9w)whTf$sh6v*HJwr?5)@(z^9=4mZ!{Vd1jTwRcp=l8F zF_AdauGqG)2b9c=ws83kIMIQUsmZ1yOjRdeb{<|ZiUwK*QCC#pd^9j{q`;^LjN}e? z;F`ERr+ZYEJd~~NzmGACM)oHy!b)55Pq1ixx=e3vwpDg0T7}^F@p_~{8#gssD4B+o z1{fKk>|2iiB~rY;a;y(-YQe2&HrwShm^JIdfb_jK=lJ3HWK)Hb@+3s5KvMPpz99KQ z?LIUD=-hz)WM>y$rvb*qLqGNeffb#XtK%Dli3LFMVl$+bB!pwFw1b7TFb4ZymoN z)m}zHd!?)POhF)D^AJUwTA>2(a~;5)fp*CljN9>>jOpnmO`is?N)&}XJAe9*>*1@~s# z@#h=@C=Qup(?!%wka=Klzg%x~2!{>2Y?7u^qcLB`s#5b=qh0qSwBHQ4&*{2CP~%!IXD)KDd(HAS(2s^4`+H!8^N}BxFixqt=j(Ux#v;)S^0AzVOW5Fo;(_IS zKu!gP$e@dhLIJgOcICt5P*2Y}())K2?PrDNxtpNecwZJ?F_VAfu899T6F0xquyjpenlIu4YB|@R+Bshp6qWdv@yRDN(jE(HPh8s#JzEGc2eHGs7o%|-SpxcKAJ9kI zx?BhAq9&{aEY$`=VaMNE|D%T3ETS`>;G_8vPZS{J1ZbP+lu?6`iD9?Ke+q~5ZeN2u zC;}mGGMCwh4ea~Njs=p`8!fNAf;Tjw+Qhn9@8V`EwRxsLkJa005o2^!HWO!3!ebV;$J(txZDwH6S#^$oB%X;gO|cKrM6k0wc-j76|j8 zy6oYGzLv=K6k(5%bWv|`|PFyfMpM9O1A$+r>5C|j2 zA+%{pW`>9e6UyVtV`OT$&26-qkkqqzb5~QAaQn7!l%zkdWRCFS^Nlzt;M*VCE-WtD zB|3vgsuTQ%ioa-_qJ(Dt9+T&&M|XGVFj5IO%qh^gnbRD5Pwe;P0)wIMabyAt2M

bVS?xbyQq-X*H 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űUp4X+R2=zqD})*)aX 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

)yYAu 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 literal 395711 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 l7s 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¥dL3Y9fXRWw&{6(uG#;X&&otD~CxTUi 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 z zrIW8f$CwMdnXBXL*kV}_3$%;1&`zIEwL!wMd-e+kcz(c|Dk8>z)HMfqq;&#+s?oUP zY>tl#{Uo}Fi^}_hR+Q{Oc>49gL!AirQdBC`TTtPmao5edawMxW;)reuOQWQe2_%!@ zhwoGiZB#bgF3&%6xtc30@y9QNf9eJXQ2?a5W;#!ULP=kSJ z0D#7f%gcdac<->^UDly_vkTr{&v-yU$P-n2bs(#0fl)|+3$9Mz(fW#AY}D!%W_W|a zN&9eCbAzs8&r$hi-iq?+-5ruI9hWp>iR@&J^~wcpxvj2a-p-x-U@F5nsK;L#UxbJ^ z8a;I2dK0kmu)GByA}x`^qm6Q{cnEXhS%t#TqVWa;W5iM>R$DDP^pY49sXnh}B>4jsFwq(~i|5bXyFmH<(JNShv9?1SVw3`9hq+04 zRQIA!=f;`UQKE^A4UseZ;}=jYU;2wlE61>N*5fG>w2vq4V?Svc26tWVFSY%xS}UicqO*OEJ{ITc$sbnKmpziHey8_KeEf*r`*ozG@wqaZ zZdAth(L_5!yd*3s9gI#`V0X@)$M(lkTRlh=hi+CXzFkiC=Nh6-&6cx!a3 z>#kF7yWQw3Egg}|)$dX!V2lc)l+>AL*vQs@bB%YRO#suutm@maZfccoa2@7nzm!?XzA%pgxDT`zt=W~ zr~N!!J-60w!uq-V^DMPSJpouD4hbZXT@xNbS780G)dx)WU*|!P5m}m3XnAZrrq+;7f|()KNkl!>i!;pq0RuJP1hlkjr?skH9u7IQ&gsVs*MNER4>> z&))(QsrMqZ3eL?-{w6#;!I882pZA`RBB;$?RPcNJC?U}y|H8n~d&mM%P>0~by9pgr z2633;XAfWEou-D&93PuK=N<|@88eJ!+uycl8>`wy2O87RFCS`eDADgEXQ?-1>%Vk^ zCkIT*d5>2e1Vt9K@*r-lGH!fPVVa;Q+q4f*PG=^OjU?A{KkXeoB#QRa2@wZ z38;Ya+2J9L6C4ijyllA{Bm0&-J3IT`JQn!8edji)>eG1$miY@ZA?4cI=6nM@Z^A70 zHzLkyM6y$T4XUMViwBRsFe1K@XrS$uRLw9QH2f$@)p&p#=;?#9Mj8#|4H_n+8Aq|+ z+x(uRAqP1A`-^avxFub=^UB)(CR}YB@lQ%B5M7!E!pQE&4yri3!!>!!%@ddV zRg1RgcoK#T5c*&K8|xvhh^MyW3tOeeq?ZrlW1rUKj6Vctbg?~Diu-y@L{PX{$@)C; z0YD({PgW-_?(#d0+SFy>F*o0xsRI`2Z8SG-c%6*tbYhC%{D`H+)iYRUCZ*?XL1M2Q zHMO+ZccvW+4|H^N?y|8VZX-pGj&fq91LSjLwY2D(-J67e1%Dc!i#7!k%b*1+e)THd zceiz>&K20b0v+4p39<>0pMGc%je7eF&ze7tSItH6M=WsSBhfUwx%8Ogqr-qkGP2K- z#y4Yl;mi`YM5wBZu)Rk~x{jC0&aiGTti^3IU5^qS7kluFh5~Obr#GhV-=y5XA;rD1 zJnqLSK67Ixmrs8REfl9tP#_w5VFfw?SWwO|$RzZOr*UG+D59%?L|mx+^iACdxW|ej_ha-m*jCB8+XLlEQ%3xUmF-?x!#F>SZhk?sN>eg?O2M>tLrH>dd&NkZjq`cxH zKq35iF~eueIO*Om?}ls+GH=V<_2-u+?`3nT21xmM+QxS$Ap@GE0ihNalMT~yIb|WKOoojll`!FuOHb^-c{@)@; zu=^F5AFLT)hNd9WWZ;GhyhA^?0$Wwgl>3iV0OjmYgc z@vX);P#i^EX}t@)SPIg2UFPNjf0S|6v3QnC6gKF94W$g@UJ;PahSir#8U3Vye1a@k zl%s`CL}qvDhL;<^u|l>euSZo&m_HFZfU=it%eE6(tbIg!^X_ir_bW zuQ(dTT<+@U7#!a71HA%=U``7$Aa!m+3+}xxEvD)MQ{?OFW+mm5Uzcf8e>vbsZ(GhB zT>{_Y{Gf!~ym_+%^xGI$nBai9hO$R=Uh9mLcrdUnn0h;5*|&haI@N!X*G2<#F@)!$ zhu0s5>lpiMp%>!~TxsMIk}?4EOtTydJzt@@wfi@%`E;>cTSF^^!*azF<_#gcxB)D;9jFY**xIZ+VL=bkRm~nWcJFecv z27NH_=lQXMBi^6LHg9FWy6;ip zR>sksAL#ilUhn1SRN11=d2{`Ab##&R=K-|6Qv8aIFj_jS;#m5h2fY2|pYU?}h2g_M z08Gc#KTz5p@Nt_PX$jitUjp*_W}RD`$AJ(E+`ttn#o&mRa)c}{bP`#Ieq-lVP1YhC z<##6JCVuCcoSd`i<=Y97_^fs)g30oaLTh?-1oq$E;7i+e%n{E&jb~I$Op(LGZw#iI z|I+0P#w8bMF~Hge-e;H({_`hhzNgtm*d@HJQw3x7xFW86_Qj3}Gr|jlo3mb5BaxMq zFx5-u7HLTO1$O4#6+#~Ae9m+!1VRAvF<;DfV5;dxYboJjbH#K7Oj^AGO3A8(RBoTdNjq#dvSq%e-Rx|h~1z}vBP zq``lG#XLzasQYicR7~$hWPt+t&6~Mbdafz`8F3Tp2i&WBVWFK@e-@wxCB_d9KVQuU zx;)B~PC??wpO6Y{eC_5m_ajqYhldAT%%XNiXdr?g;}rKApzPGBKKF>%>PV($;*O4d z)-NTvSVkkSfvABszSrLlHU71d%up?hcSS@VfN_~pa=`rJcw-61>bH*rIxAj-`O@^W zAoHUFx};FnK{QK6KzfthZIo3kk{Vbk(49#DbRTnu#D=3odxH#~CK{ifXN&?(0Fh_D zmWZU!YR$KTnBLU10v)g>6W`Fm5#x&~;H(Z3MFkzo_AkD{e#lyP2r~_IzgD+!`?Vw;_!2BP4o;mAm3q+8m!9AI_9P(}~7hg2NeM^x@V;@Nx%-#4F z@>s<`G~;-B?yk>a-{F7P0Jh-FdAlXY_G6WMsTUf4ILr)cl3t7PNYjZ5(}`+(rk-pI zp}}GuKD+7aS1Ug2(PF5TdqT`u{q=>93LmgJPNiUwCJAhHnk1P3{@O3f6>`T9!^6Xq zgzewvph+1X(~>WP4k?@Q_TeqK;7G#$!>5-e4>gik@Dcx<2kSA8w)_a9LHd>mI=X+- zS@iT?+ASVL6-&NQwWZ_xwuHsr@065FTw}kJsjOwO}SE8~V0G)|xI8A8sx{ zt(#6;R`dR_E@haLYgeGKmG7u2gcUbXk`+v)Bf1>DpGK5bPNBXN@(PIHEDUDJ>DIeF z1Tq9cb4|X!O`x1xzAdJ-lz~NaVJ^mzy+-iAC3;~oG1q+h`+X@0pb!&ngW&@2?kOi+ zw=)141V#a~pl#)U*T)PuU#bc;(>yKf>PloT*e`8SEoB23argD!Dc3*Hp1eA{yFBY{?fL5iyXo5lZ>8&Y!!&)Bbq;qQ7{5tvk%p zi8yd8ataiM=Q<@R?>(~qz5ql%?#Vye!@GLCm|p`*fz(ekvwE}Jp}V11qo$);>GIar z1qzOT*Vu%G=@}jyP@xR9@?W2j&k*B zRsEPX!(VxBI9bpB{vL;j4ypI4r0L(Ni#`2WqkJ>8{<0Mlxlz7H^>nondfS`o$o0`B zLta6FB60;b<%lTAeGTD0Ir;SOcecS8d%U8G%JbJB-Q}`+lxE%|os)sX;z#0h1w~(s zp?Q{)|9i!^zxuI^8h~p!skWkwbANv^&I(7k<1qRgu7Xo z;KfAIRt?jqzaL}a?4x|GrG^l;Ilj))n_kO4wvVxAL3NuVVEGX}g!n|+NmVzb@Glwz z$J-7b8I5AP8T#_`{p&K_M7=vtp32v3g?={I(w>fl&*(y@0fWH7 zb8Dx8fWF1oy1HTZ)76X9Ie*6Wr8xUi#at`wr-f^T1#Fa?ORI}kB@XSYE@w1=-1-D* z{yF!wKJf=J*OC;Xwh8Q2SAQoCeElG!?&1W2EngJbm9R5FzSYAfUYsZpEidGU00BXk zE&;50eRBi`dp=}=+Ws-%G*&R?;J^DpAyq5?JNK9Tx8*{mm{ghxr)Ny}Yi*CZ-u zx*D_DS(o(GHo@YO&AaS!7g&}|J0d%Q*WO^cF%;4gb?Zrm$Ie^8^meYqFj)u@mkuYc zV}B>|?H!__($aH+SLvzPfg}OB^Kk_z?to{tMA9l}CCyYXwyoU0W` z5V22lH$s1q)V^^%8no3v_V^@_H~CI9eX~O?KQPt$w~kvbJlE{%tckqXDPku(JoOJY z>x&%ajC(7=+ois*9FmeV{c-%-!DFMNnb!Tc`%x@BBCumMI5#r|k)UAelNc*YajUzD z0$Q4yCVNP1=}*!a%!XQU34ckUvv$huWuRYBDHH-2Ew~U5ODo&AN)d{RicU*+sY@=idUTDv9rI}<>Dqi zhF?v`q#-Kr2%^oXeMj{+KC`kqdNUt>!W6wq`I%(vKx>5^f5wcm>TX?Iy*Tv5l--)o zc{b0)eH`6k;F=RAY0KLyB1YM^N<}mbAw=ZB{nR%+O?t{RhF;0MNBm}|HXB~c-n`rs zSJCwl?@_+k!X72lyBs`f6XpHD^;xr7wOJv!Stn5GL$esY-bbFANxL5H<|f7Wn4B_0 zZbyrz`f8Vkw8SPnQinf7pZ*wf!fsaLvTDzVI|0nRR#}3$P8yq% zn|vU}ecY7wY+iA=F7o-!vUdA32`dH{?Iv8YF|2I%JS}aNeW%X6iWcZvNo#na_~<<% z0~`4RN3_`O=%Ac}CP8luGf-y8v)goLBzd|0!-3G+$cSa-!q=)#Jpo?0M^1O)kb(3l zO_KB$biwZY)MY?J*VPXGmg=9pgy#o^aQ9>X){AG^){*TeV!9uSVe<8_pTrpn^N>&I z-^vTdUW>sL<)62psM)30Xd02cDqwYx1Th(BwA%pNPqWW|0P>zc4J5ByX zxe3gqryWx~soh8n5=6zx_a>5wEJr^wZk(s!$*=}$K?#e>yVGmtz8|BfOXf#MM=`!7 z@2Ntv!f^5M9*yr6uVWom(s?0l)vewzDS`WhSG~U*{EVGd$UN$eJOwB8!cLCtr+>00 zH|KkW)SG>5r+SWCKUw$7WcY2?xE7hbp}8ctxfi_m`OuiHrfR?m=1X{+S6vgAt7a~S z=HWw*oX<)cV;A4a%Z~Yn5=s#LCGR_yr9?4%-*Nvo(%3sVgd8Zy#N04X{nEC1r~G3= z0=<8??b#m&$SLM>K6&OwXlQ6oUY>kxx6RR*o!Q*lUhIeDJf@iMxTgf{slPFpiYb&3 zOj}m()^1p&>&U#_sHawD(e1#K!l$-B16&8__K(_$Dl3UyzqWW<|J6zN2$`AdCvTN0 z81ZUaT6w7=>U~qq|0p_ldiPgHl%%a)?7Vqy^U%If%17=fotNhl@Nu)Uy4M}w`d>`w z?a(y-x=~jmB;DkE97|~hh36zXB!4nW z)3ot6R42Kj%l^;6fKHL^H?wxaSIRG`!R)Obhxf>|>U^`m1B^O~$ByMNp;!Xj+=Io9 zA5ov-_b$Yi`L#R1U;hN$=x@RO-N6I@<)XD%4`b+1U8&Kt_4ASH!CDq2xb1Q*3bmvW zZioK<{(7`}%mw)4>8qwoPTD6N00d(?87_9NV``ek5;{bs9ghX~_F%eUgSHB0gT7`5 z>bw-R+LbSo7ZhSM(0rE8@32=AtZ+hNQf$6In()K2--YQ+E9QfZ4kmZ;{iuklN-j5+ z6}{^@MMo*c$$vWTFpZwH%D{nO_UEyslGw99Nm+&mgK|p^d(DADIa{H;?Um-;yduUD z5{V8D4)PirG@!CJ(`8z=Xx%Uics_VK%15%YLiUxRYQY%Vq)Tvp5C0-Z59K0 z<@q-~TWMwDO#b5)u`O$9Wr8&AKdntYPg$OE`f)~eRykBl#n49QjJqe-n`WltvL2;L zLj=qZpW;#d(#y+FG>7%Go8bQGslQ^Va#8593;5;jNu9qn37QPCF>PJ!DP?H~Em-uR zhmY-0t$g^&_-ufH(k8DOKWj=8=SVX6T$a|a|FHzK(Vp+-%dijmYr6<_ZCO!HTB8C6 zAKRgP4v1zZCIy%c!troiIVng6;S@6Q^4ITv1-B}0V7{UTOD+x@j%KkKlQxq? z=uPdx&))Csr6$*Z6bx2CvW0%Yv!TWG^{7IrR&+RK_GEuuLEA z<8awI~-4=Mz=8<7phmmi-cG*nbzs;a7eV`Gk8Jsu}>d*2zo<13FI8PY&W zRh}eu)>6MCJwTPeFd^2XXq0-i`GjLgnUxy-PsitCk65))D%U}&jz@dX*l8$bgR|+V znUxF8aay9|N1j_^F#VfM~>_j3V-n4QjA0u{azoQSAm8?u!a1m)-mUG3^jrq_SA1U9NsDzUE1(+eu zCrFaeN72JXCD3&A#;8m?U!8xKR&(uBA`TlnC+9%6*vv|P9ZYd#VM$S2S7Vb1hmq@D z@_aC1Q8tzcHi5Pr>aj3hI_MM`z{0RCaw?+ zT`=DMGv0I0V+2giK9*a^me=ra0=YZj&;dQ;o%?ZK=APDtN+XN-^-V0)!_hNhJLagy zz}$qQLAoVJ*L$E<_v>8rjynfUe+-sIMwXee)b}%Mc$Bs@N!X8NV*ZvQdl*Rjy_1Qc zEBuz$*~8MkDb`Tak!v2K6WQzQ9HpE!oZe#aI99jjc0-5U)d$E2tQT@h+E==uNH!OW zS>J<|GMN=PT`Vf7<{85F(zBGqUO&Jy{W!@P&* zy!N}5@TdofJ@MixciLaf;o!k{M7XjN8hE;19A^*}O&QmF^uZZCmgv_62ak#uRTZ8c z;Ss`jzK#A}bRpYul2iWm99<0yDbH1wDnBgJegk+jIG!Zo29(ktxnV%YTMt+O3DEtYS*<(7+;1*JpTyOh!gx zb>Br~feL`c#QmcpmuZZu>f2ABB9DoO^JNa@C~>AQ0x+}Z-QprH&Le`C-h)F3lAqo1 zX>9!0by6a~rk0T(y>`4Pm!obT%Up#0@hYX)99+z@nAxiz<&TPs2*~_?ripBqH+(^> zbmr&q%GV1^+Q1OgX?rxSE#ZZ2dSCv+g{#)hdu3ffH$C>o6M?z$=Fbk*DDgK%rS+#l zaN>t;qFhLGfGC==?#WRAWiWp+e05>*+TW(bp^oht)b|x=m3yq*=@e@6kemJ62=_K` z%xdu9&J5~8`7FZ-FmfrlU;iDREy@%e1e*JK@OnmM1O~F$P%C3sB1H{~C0cVRLO6?jCh9^In`6hmxsv?vER zXr2J~uPy)kHV+X8hjvD9ZmtIzQV5TZTT-lF0iCDWjiII)Plu9cJr#zA#oHpiN;hMkYEJs8)4d?L|o5v;b zs7D-JMy!*RK`rX|@_KtlSKk?#i&^kfvdlVzI0@L5&`>?w0EpQHV|FRGRCYnXddE{I z$galSK|C{y0{cQ%K%eW>9o*4fu5xW{?fjx5+-KDEL?vZSO>TDyWzCCmY~R|pEp>7C zcPnaFvHXx1B5e!9XDT*L198g!`(5?Y;OxyPhz*Ujo;IJG@K|UaxjF$l*o}Ha@ON8z z@66tO1pPa2E#LI!+sjWPnd>{4IpOEf9-y{0vjEssMBdh6!QJbdYB`L=qx)X025!!6x< zgZ*RQe^M0&M-G_fg{d_rN2)!DHOM*xc&%@LtrVTS@Xy+)UqaqcNb@)S_;ok=Z7J>g zVf~MB2`{VMu%XZRZ!XuO?Tcz%J#bI03dhk%Wsr(hD6Mmw6c&~j5fl)ZNQZ!E#AMy{ z)XZ&~24karh~eC(%HEN4#{R_W)-f>I^8`S z>^iB}za9~Njmu1lMI+M9k`($T|AcrqF&>%1ZBirGy|@I?Qv8B{2}_a!ch_q{y;FPK zUl}x>k;i|5wQgTjRFuFFqN{u?nU49UcM_L(asehF^)rE105awnx!qgZR5r zZ=IY7I)ZX?6ZlyQt9gPpEVE-T> zh4maqHTV7qSxdn*9zdXsQ_}q6A|n z71t(Qexm9ywHm%dHKX;5txRkOx#--;UL(p7;v%`nngZ246F&*Bo3&q`gs;V?&%4o4 zF6SN%(K&Yj!o(g^Y1tlvnJ+5lD%iHMrnJ)iEc$K25x%fF@?pL$X5j`SRj{@}5-|v_v-u;ZZfFr?K2cDDs zn{c~C8C8a)2Ck7NasSFk)>H&jOsw9ZYuLogp}irV!f(%9wBC;o)=L<`mC3lbb8Bu5 zWeRb#%)O{DQoOZ({&*sXPM(!Nq#mq zHt~QxM=BZ`o6c9%HtP?>Oh%Y0E?8W>i8``bcb`tA~$hsEsMaC z1cP5b2FGg>ao~C5ocA_N$$X5KH}}j^6e#v@NTYF#e#YhljIqM2NfN$!XDn&SVWY2N z=CHx~Z6qUC%zLfWvbq7PIAEWwUOfz{3IqFCASh8@4LfnwjFQwqv(mPXT)H>Q(04C7Kpw4 z|D2tV54j0cq%AIE(pJSR8$T^W(Y+AnlY$8;XbMj8l)?ly;Oi5lH=<4ox&+HHbAJWQ zM_52x1#!NxbkHD>Wq`5Xu6b*s=1hanCM7JESD6RY^{1RM_oVRIoOnGlGIH>O@b-wh z^OdwSWpfxkTe-{VO-1QMDr)Lg(|>K_)vH&O=gyt`mbNf5B&(%Vke{!juYZn{lXL2C z#k=zITOhYn(iTyFQp?#4Kq`s zOm`MnSUx=S@VLU;?ASk?;liYjJThsTKGx9Z>D z`=(h<@nyN#$6&cAjp5H2&+T+px1vOd9PijbX%zPgbjhShukWINX&uf3-#EOS4M3Jn zJVZ!wSH&L*Jp8nMA#Z8dEFtj8&ET6EW?NHR^vJh(G`(`2F;dZo@>ArF_I%UYvd$ms za<)&7C8&-APp7}^R;^(b#?WDk>u)4JgB&(BWzO*3OT=fhp4#!188A#X$+z#@3@?YV zsM7KM&kOZY1^xf?0c=)hl(eG%-(Q}5X8r&BGm|vMzx!Y9HuoI8)>@{K*`3u=rg2#o zq}OY_{pWFTXIH*|PjDc`np)&PZ9m+rvlI&6E$RyMn$`_|@%d9Q@u77@uq}eil>2Su z8yLT>q|T!_aW~KT7Yi8LPj{p%cG?_WzLwkdK1TT2vk%J)p&!nP=Y2O> ztv!$wo`jPhMUkhV7s)*@nKH9ES@+#{mM-Vto8 z#-aH&0FU&KjD#;O2{;0h;FXZC?8~?!B=mi8M+8suX64~wg8h>rtqqZiyHluP0H3zn zu}iw)5^*g9IkSjG-$(pz^FZAIdKd}*%V|y7kVCQYiRZO5xn5?($&AC);dJR%Qyg#H zFlyXxJ%i25%aaE(jCX+P?E;$sUnr+smU}gP;AqlJHd!7IdB^ zaMN~f9KoEJ&@P3+lur|=7V%DQ-0CZ1lrTo5h$_d10!@_@hDmyOj=Zli7&3pkB5AU zbk^6eTaV`+j0RyNSX2P|l3vuxFn9=pnKF4exrs zZq>fOcu-!%y)pD^kkkm=eT=TQ_VDOx`~1-kzp(HFct%=U99Zje>;BvKxR>C1PibK{jbF#(3+M4h5 z>C=05!ve(>r^n1h3_Glf6{J$i?QsS+xvW-_@cG8ZuYX>Y4TL3naoBR$Rnglj;b$Bi zakn)DVk>rsTwCwYQ+pH0 z08h>?gh&bT-N^QQ>C3sn_)2NSojEa1N-da{15p4{Q=(THyqmc|KB$c}S#j{^iY1LR zi2FTaIs2E8WgyFPk!fQR9@WRMsk+Y;%^H7As&nu?a?ta5MXmuk@^q{;jm4qQ=|yWnPz* zlx*(pkZ2HPbp(Nu$0 zpl~3k;hB|##@L_a*pJ<^b|BNQGHPC)Y?Eq)EPmzp~$DCig&H2@*R63+pG z1Ox>I!6mz|X^t`=n>WH|-a9NJC1}POA>l>St>!4B5;q)KD4tvv@z5=^^EpHMTH`el zri}z-vlFUwR5m=uo$*576GR=i(Nm(fj2)rn8A9UamDFVL_cdNp1@RVXg13*ocdec5 zp?QEDCTy28hgd^T1tVaW!m22Tw@43g`w4NATykCCqtbUhf-KL!nae&N={+Xi9G$$^ z#mA^k`;sqXECcC;x<7AnejtcDS%D=v!@FmskTY*J`NO%_6sNwhT$~{jBDXn?sHv=4 zMMq-k0}ph?&N(p0tG#$3y0*sIH)b54naL8XAP+Q}-g5Z+C`(F9&;5E!85X9lN_Y9{ zRfYl?xT}fMTFTi+#vAb=Fj`Jd(^)Jwer(M69J@gsp!H;xlrSC>sIOeTs_(z02Ij9a z_$`p?nO$CvXw6=$1r3jg#4lM{)D#p<=h%r~P&Zm0(?Z?K( zEB17zzkAZ;#hZ$UH){_dRk`9Pxn&s%L)t%o)fc$StqU1hTPzAq%Dp!6Snf#+FfY6= z!NFZZL2>KN&(XEpd|eD>PjWHCE}gEOEe_!w@Qa0yHe2)YpScB(OQU;d3nj-_(uSckE?{bIu8r^ z)YKDP{(+4jj^yRg2}2>`>+vf#yw&(k+W9d49=SV&J48%^F6FHSwtak(+=~n+!a=*pUR&lc=UK8%(?zcH ztWo5sQz!H5E>2hvjtTy$XTS)CJxQrkqTSm0B4z3t{)+sqwk+&touY#M96voN;>^!? z4b8|n$Okgstsd*u*r@t&|9oj1D5?WX&6c!$yRa0}mEuteE zh2kMHpQ~fyI*T=W@+78S&VfSJ&hGUt=|Nn5eE{&4Y{nA&(8sjVW?;Aw5AqWM3)TXM zF}zS{J(vMh?Ysgr>soy1t5-lvj0#4uoxiqXanUZXwKGw;!fEiU4!p`~P(V?~AXV0j z61EKrWch(;3Q$l5oITDZix-J*=wlo}-Uq*GtAQDj|H_pe(5C*Uz0@Bhrbn4C2m1~z z9|KmkY8n{i3b^JdQ)Ga=PM8_1uQ?VGQB>q^=i{t@koTXN5|R>7li@mZ`ZNowrR(J` z%}UZ=EHFo~dA_>nQ8%Ea&byA~DKT|C;f?sRcvtzjV#mK|PjP3cW6m$=6>h<1w)rI; zrqAo4$l_AW1F@h`2^yGRkZR5hlcC-K8vV)CJodh4%8l_=sNWr_tSXap$6}| zf!ywcMuD+@y76r5dgT4&BN5e%#;xcw-|}n>J02HGgSk!+x4hrdGo& zaeufxX-XMRMI6p5F!BB@s`4Plo6Bz4#X^yV1Ey~z^QEGKI*U)`iJGEjT&(JZ1x~l< zSj^;kB8Rl(>5!1GcWe`qjjT;2^5d!=>FcZIgNsf%&R-3ReGI!(2?m#v@s`Go;PWJDsB!4|&Ml(C7m*ph;R^WX<# z)qnRQR1=0H6s2kmOU<3`ozFHwgUpggD&AV5KOTNBa6t3s8bNG%${it7&&! zKDwbHO;KBh_Oap+Ja!T<7`A6oDeb}j%yl^TL6Xn9A{Zip3e~eWznwo7uRY(lt0_n$ zqyu+t#KW-9j=ETqt3kdrKPW8-v&yfnf&X5Vg6{a@?YzB`$|;-fG{{@#PM+C(VVLsv zowtL%?ZAOYfQ7^7>SL}{d5Ot^-dG?tVQwGpZ+_Qg)2@_I&o8Kzvc}0_iGsgI$rKOC zNaTILsO;<>j`WsT`u2x?-mcHbW+-hwdQ~g@Tk#)=tQ8{{D}24E>5l;%#9l7IWIn8= z2rI^Q8Ls)>3i~LTwViH%DQ%jefKLpn13BAMpoQmiABodgr}(Zlvd7he%Cm54s@c}m zOPfU@u&V}!^@?TLP|6+0`hq^}J&4z?jmj#-yLe8oySw%fc?E+pjLNB_d?c%+^&mhP zMqH|2hNET*Nh$kg(P;wZji0qm!1J>Yy}PFU3o;2*exF$P`fw}>Y7I=D77C6NHyMYH zk3%}088LRqctbag85!XOf+ld!+IoBauM@{JFoT@QRDfZ$|Ebt&9>?oA zKy`5F`>oX_6pcRh^5x6xH=NWT#1QnZo0?MHzt73a!9j;a(tUbTcJV((a}b-qUxhsj`K*)t6Y)0+@k`g2*k z&yKHC(FT-00TCxt@nV;-e~@#24rDaCJDt>Z+E-Vm0SB+lp$DVY0`!MWT84@*g7^7^ zs(ZJeO!{0g0+F}b>}<{DIux^(UwUBnd@ z@cgo!xZv6e?*&ip} zIx#e9V4YYz)Z5uPP-L@cJD;IzxSBFv|H6e<@nT1T;ZHfaz{;kzeRtpatn$9icf{6K z)zr9y#ba#a{0>6#=lfuF3#JLC#piwTut(DxQ-;>XG$^|zw$`My9~?2mYBztq?@ZTO zPVoF2Msue9%I;UpuyGkU0$%nq%sV*+aT^e3Vk=1b-%Wbdv4bQtJ59eqj~g_PiY?J? zht6J??|+nBZDag(y1G_~SY(yEld@+RVo71_rz>%moi>}~BZXA5Shx*WOlH%HcfMd? zc>0oJp=*lRZG(vb^(>TN@Y5>1GwBVK|9yM}lm125=y@^(UaxmUAVv$YAV2shi5G!R z#+W5^4dZo@{2yPJjn*bF@GPl3^&=jY8AxrGB?h6M=6>`U4f3i#UoPsV5^Q;1S`kX8 zfiW^_uOzXYR#slVb|@tU9%>HJ*;lgr8$XC3{ z*F=EWa26K51^?XFyQ_Lr#OMzXl!W)2oXiS51WqJXZdKQtzRzfC%DQ{vf&i*PT@BQ= zqqN_dx#kRGxvjaB0cHV~BEQwR(Odla)Ml8#i^@%SomdXvo2PNi^ED30c!K>)wK%3+ zLIw)Y|LPKFEh>*svY8oLHieH)g@Z5K*(r=0du873FQ{%D`2`ZiXR4hzWN<;OXEW#W zWH3<=1_TaCvSj_x8zLe<68O|ShnCoQzM#amCC`P9C)BzSKgQnC0` zcUsA4kOZO`W@TmMmryZgC^_CQfES4b_-bN1u~1jvaZI9R*{||bxDNJi~m7Y3P%GI zbChd~+v+cl-t61Ab><8VX286^pcVTmZmRE})IZ}0 ze$jn%=SR(`Q1>yeR~b99Bsf~Kep|E1IB481xoBWu5_i9@smRL_nPUv?;BoRRx~G{& z%-iWU@?UPkA7^LfP=R4r#nZFS=4x2NpoUIlVtV?UPcP|Lc+ba^vMGmBi-$(9$QXSN z4hRSsr75;S;Fj~gey#sG{N$L2yMnWWL$TKDq9#|m{Ab+9_5SHj&P>9rU}Sz*3s9l& z_gQgUzKhSQ+h1IJMVU*0dCv1f*U98{xXZ2=$V+L)^Dqv1v?hD_Q2N0O$jKf&9Y3Pj z-pYFM1JZ%~k1vlK02Fxl?p-=Yw~Xm*e84io!h)NViwkfspq{;JJ}WZ54vjw*13xSw zH}qw)+7YpOh8U6_DLR%0JiqMkcWIxw~bJ$I}(Yllu77B1LTl$1A(&5ou z59(vp&i5bIXG~gDmsGdO$?qd-j^E5}Dpx(@co#0pd2_-r`dJOKb={3eVfbQb#o3uR zMW=*1*Y)OvRNs$Y9)BVFE+d1NiCZZuKi^Z|K!)!+OTLFA=*!E_F4UysVRs}z%5Q%6 zKppLt^{mbK$74jJV^X{tGwI0W1I7mnSl*B+kF@al#ttldQM#YbsgMU-DPqaz-_Rc~ zD?=ACNJ#Ovgaic)fDI?gXfRo@aNBxu)d%;(EAa}iVq+N)cO)dL+A5vdNsD5CbBWkd z*zBAP=A7^Jiwh_Gby#y%uTqgY8h~*SsCatb6oCnPLOLLi`I$I92Q z|0;oeeJg993}XwSqM@YYt}%$>+dgvqg2B#qipOajxqS+<3koy72bS6Rc+=uE?8G=g zl`N=mZ79(N;C?}{5lt~8LDiD_ZH<3b!hBzPVQ~Bd8UdZud}SsEhUZ*iK>%K;4Psqb zBm>1{f~|b`)r6!Y%!-hd{PUHBQndH7PJA0%ezf)9A5k0t<^p9~Ib3C2GVc1EZ6AY= zS*Vv658@INPp~dv09E4nVzNvm{H^Y_R&n#oo?+fA6yxMChFV#Ga7?THX9> zMBCgW0&{U}R_;�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
fRjiz^w-f-gcA%bp10~=n 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

5sk)IVkA@|T>;R`dZ=3?${FrEGCFpZ=P=an zszr9bLu7cwHNt^SYDJK369fIZ2f_7wX$)JK5Rp9|zKhM?RoXtK9**(MGEO$@H_g)4 z(Fxl<3krpiFIb|bW9RW7)=#)v@w_IR927w`9mgOF&d-14^?-ng948{xm4_q%r5yfp z^;dRIPDid=ctk|DW|q7(;#B-*#NJ>As0+so<*dw1Z&qwAm6iKCFnh)`PWL2?Z3=og>rJoqwU@fbGe)Uj;oB@PF_Ih|%9l}ZV& zVeuu!h_=a=ma|0i?xS6$-+uU@3|Mt2siJFcX<&iPK``!j@#SeNtHd9zfPR^c+p4Ub z!6bg*QEW4=tOS%}Cm5_4n#UmgBN9}0;Jve~9t zzFyY+kaWmW)@R++eV$~VxNTjB*L!rdp({Cgq7YVkHfU|-e6|E~k+G&Nf%+Ch$g4U; z=0~VVO1aWvU1dVh=7gevpJFAL67E)u)fP8`NsH4E5rsHyPymlaTD;#CAvZFe z?y+Lc>b9l6_zfo4X6ika#mS&%;{PEToG$&_X)9Qd4sp@Ux>t`nDE!bk<;USqEB1Jh z1y{3!+3%kG`aZ+z+_ksXW(`!>A_03DIyvSu@7$i8gc@=G^V1X=GQ#}+vp4=XKWuA` zT0i7xkvtplZhoGE7Oh*8*J?<|aLLiXG5AQ4L_Fj_`(_y18 zXbx=@9DZsZ1Tm$=V&T{Yi`vUYYTR3>qjo{Ap&OAW`ITFLTcfBAf(+y!s< hZy5^Z4)nwZ*`?L|+9wH%0zV6RsG@PdOvya-e*r$o;<*3- diff --git a/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm b/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm index 44b8067876..6c9f12a852 100644 --- a/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm +++ b/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm @@ -2,7 +2,7 @@ name = "shock collar" desc = "A reinforced metal collar. It seems to have some form of wiring near the front. Strange.." icon = 'modular_citadel/icons/obj/clothing/cit_neck.dmi' - alternate_worn_icon = 'modular_citadel/icons/mob/citadel/neck.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/citadel/neck.dmi' icon_state = "shockcollar" item_state = "shockcollar" body_parts_covered = NECK diff --git a/modular_citadel/code/modules/clothing/neck.dm b/modular_citadel/code/modules/clothing/neck.dm index 20324516f6..f57e2ae530 100644 --- a/modular_citadel/code/modules/clothing/neck.dm +++ b/modular_citadel/code/modules/clothing/neck.dm @@ -7,7 +7,7 @@ icon = 'modular_citadel/icons/obj/clothing/cit_neck.dmi' item_state = "undertale" icon_state = "undertale" - alternate_worn_icon = 'modular_citadel/icons/mob/clothing/necks.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/clothing/necks.dmi' resistance_flags = FIRE_PROOF actions_types = list(/datum/action/item_action/zanderlocket) var/toggled = FALSE diff --git a/modular_citadel/code/modules/clothing/suits/polychromic_cloaks.dm b/modular_citadel/code/modules/clothing/suits/polychromic_cloaks.dm index ade6cee3ba..5cf2fccb92 100644 --- a/modular_citadel/code/modules/clothing/suits/polychromic_cloaks.dm +++ b/modular_citadel/code/modules/clothing/suits/polychromic_cloaks.dm @@ -2,9 +2,8 @@ name = "polychromic cloak" desc = "For when you want to show off your horrible colour coordination skills." icon = 'modular_citadel/icons/polyclothes/item/neck.dmi' - alternate_worn_icon = 'modular_citadel/icons/polyclothes/mob/neck.dmi' + mob_overlay_icon = 'modular_citadel/icons/polyclothes/mob/neck.dmi' icon_state = "polyce" - item_color = "polyce" item_state = "qmcloak" hasprimary = TRUE hassecondary = TRUE @@ -13,20 +12,20 @@ secondary_color = "#FFFFFF" tertiary_color = "#808080" -/obj/item/clothing/neck/cloak/polychromic/worn_overlays(isinhands, icon_file, style_flags = NONE) //this is where the main magic happens. Also mandates that ALL polychromic stuff MUST USE alternate_worn_icon +/obj/item/clothing/neck/cloak/polychromic/worn_overlays(isinhands, icon_file, style_flags = NONE) //this is where the main magic happens. Also mandates that ALL polychromic stuff MUST USE mob_overlay_icon . = ..() if(hasprimary | hassecondary | hastertiary) if(!isinhands) //prevents the worn sprites from showing up if you're just holding them if(hasprimary) //checks if overlays are enabled - var/mutable_appearance/primary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-primary") //automagical sprite selection + var/mutable_appearance/primary_worn = mutable_appearance(mob_overlay_icon, "[icon_state]-primary") //automagical sprite selection primary_worn.color = primary_color //colors the overlay . += primary_worn //adds the overlay onto the buffer list to draw on the mob sprite. if(hassecondary) - var/mutable_appearance/secondary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-secondary") + var/mutable_appearance/secondary_worn = mutable_appearance(mob_overlay_icon, "[icon_state]-secondary") secondary_worn.color = secondary_color . += secondary_worn if(hastertiary) - var/mutable_appearance/tertiary_worn = mutable_appearance(alternate_worn_icon, "[item_color]-tertiary") + var/mutable_appearance/tertiary_worn = mutable_appearance(mob_overlay_icon, "[icon_state]-tertiary") tertiary_worn.color = tertiary_color . += tertiary_worn @@ -34,7 +33,6 @@ name = "polychromic embroidered cloak" desc = "A fancy cloak embroidered with polychromatic thread in a pattern that reminds one of the wielders of unlimited power." icon_state = "polyce" - item_color = "polyce" primary_color = "#808080" //RGB in hexcode secondary_color = "#8CC6FF" tertiary_color = "#FF3535" \ No newline at end of file diff --git a/modular_citadel/code/modules/clothing/suits/suits.dm b/modular_citadel/code/modules/clothing/suits/suits.dm index 4b9dd131ca..25b0c120e5 100644 --- a/modular_citadel/code/modules/clothing/suits/suits.dm +++ b/modular_citadel/code/modules/clothing/suits/suits.dm @@ -8,7 +8,7 @@ /obj/item/clothing/suit/armor/hos/trenchcoat/cloak name = "armored trenchcloak" desc = "A trenchcoat enchanced with a special lightweight kevlar. This one appears to be designed to be draped over one's shoulders rather than worn normally.." - alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' icon_state = "hostrench" item_state = "hostrench" mutantrace_variation = NONE diff --git a/modular_citadel/code/modules/clothing/trek.dm b/modular_citadel/code/modules/clothing/trek.dm index c6b0b80f22..b4ec9fbd61 100644 --- a/modular_citadel/code/modules/clothing/trek.dm +++ b/modular_citadel/code/modules/clothing/trek.dm @@ -15,7 +15,7 @@ desc = "The overcoat worn by all officers of the 2380s." icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi' icon_state = "trek_ds9_coat" - alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi' item_state = "trek_ds9_coat" body_parts_covered = CHEST|GROIN|ARMS mutantrace_variation = NONE @@ -44,7 +44,7 @@ name = "Federation Uniform Jacket" desc = "A uniform jacket from the United Federation. Set phasers to awesome." icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi' - alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi' icon_state = "fedcoat" item_state = "fedcoat" mutantrace_variation = NONE @@ -110,7 +110,7 @@ name = "Modern Federation Uniform Jacket" desc = "A modern uniform jacket from the United Federation." icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi' - alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi' icon_state = "fedmodern" item_state = "fedmodern" body_parts_covered = CHEST|GROIN|ARMS @@ -142,7 +142,7 @@ desc = "An officer's cap that demands discipline from the one who wears it." icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi' icon_state = "fedcapofficer" - alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi' item_state = "fedcapofficer" //Variants diff --git a/modular_citadel/code/modules/custom_loadout/custom_items.dm b/modular_citadel/code/modules/custom_loadout/custom_items.dm index 62145616ad..0fcc904ee2 100644 --- a/modular_citadel/code/modules/custom_loadout/custom_items.dm +++ b/modular_citadel/code/modules/custom_loadout/custom_items.dm @@ -26,7 +26,7 @@ desc = "The design on this seems a little too familiar." icon = 'icons/obj/custom.dmi' icon_state = "infcloak" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "infcloak" w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN|LEGS|ARMS @@ -36,9 +36,8 @@ desc = "A soft black collar that seems to stretch to fit whoever wears it." icon = 'icons/obj/custom.dmi' icon_state = "infcollar" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "infcollar" - item_color = null tagname = null /obj/item/clothing/accessory/medal/steele @@ -46,14 +45,13 @@ desc = "An intricate pendant given to those who help a key member of the Steele Corporation." icon = 'icons/obj/custom.dmi' icon_state = "steele" - item_color = "steele" medaltype = "medal-silver" /obj/item/toy/darksabre name = "Kiara's Sabre" desc = "This blade looks as dangerous as its owner." icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' icon_state = "darksabre" item_state = "darksabre" lefthand_file = 'modular_citadel/icons/mob/inhands/stunsword_left.dmi' @@ -70,7 +68,7 @@ name = "Ornate Sheathe" desc = "An ornate and rather sinister looking sabre sheathe." icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' icon_state = "darksheath" item_state = "darksheath" fitting_swords = list(/obj/item/toy/darksabre) @@ -80,7 +78,7 @@ name = "Dark Armor" desc = "A dark, non-functional piece of armor sporting a red and black finish." icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' icon_state = "darkcarapace" item_state = "darkcarapace" blood_overlay_type = "armor" @@ -107,8 +105,7 @@ icon = 'icons/obj/custom.dmi' icon_state = "zombscarf" desc = "A fashionable collar" - alternate_worn_icon = 'icons/mob/custom_w.dmi' - item_color = "zombscarf" + mob_overlay_icon = 'icons/mob/custom_w.dmi' dog_fashion = /datum/dog_fashion/head /obj/item/clothing/suit/toggle/labcoat/mad/red @@ -116,7 +113,7 @@ desc = "An oddly special looking coat." icon = 'icons/obj/custom.dmi' icon_state = "labred" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "labred" mutantrace_variation = NONE @@ -125,7 +122,7 @@ desc = "An oddly special looking coat." icon = 'icons/obj/custom.dmi' icon_state = "labredblack" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "labredblack" mutantrace_variation = NONE @@ -144,7 +141,7 @@ name = "carrot cloak" desc = "A cloak in the shape and color of a carrot!" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' icon_state = "carrotcloak" item_state = "carrotcloak" w_class = WEIGHT_CLASS_SMALL @@ -156,7 +153,7 @@ icon = 'icons/obj/custom.dmi' icon_state = "satchel_carrot" item_state = "satchel_carrot" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' /obj/item/storage/backpack/satchel/carrot/Initialize() . = ..() @@ -179,7 +176,7 @@ icon = 'icons/obj/custom.dmi' icon_state = "festive" item_state = "festive" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN|LEGS|ARMS @@ -187,7 +184,7 @@ name = "Alboroto Rosa mask" icon = 'icons/obj/custom.dmi' icon_state = "lucharzigfie" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "lucharzigfie" /obj/item/clothing/head/hardhat/reindeer/fluff @@ -195,7 +192,7 @@ desc = "Some fake antlers and a very fake red nose - Sponsored by PWR Game(tm)" icon_state = "hardhat0_reindeer" item_state = "hardhat0_reindeer" - item_color = "reindeer" + hat_type = "reindeer" flags_inv = 0 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) brightness_on = 0 //luminosity when on @@ -220,7 +217,7 @@ name = "The Hollow heart" desc = "Sometimes things are too much to hide." icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' icon_state = "hheart" item_state = "hheart" flags_inv = HIDEFACE|HIDEFACIALHAIR @@ -230,7 +227,7 @@ desc = "You would swear this was in your nightmares after eating too many veggies." icon = 'icons/obj/custom.dmi' icon_state = "hos-g" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "hos-g" body_parts_covered = CHEST|GROIN|ARMS|LEGS mutantrace_variation = NONE @@ -247,7 +244,7 @@ desc = "Smells like reactor four." icon = 'icons/obj/custom.dmi' item_state = "stalker" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' icon_state = "stalker" /obj/item/reagent_containers/food/drinks/flask/steel @@ -262,7 +259,7 @@ desc = "It's a collar..." icon = 'icons/obj/custom.dmi' icon_state = "petcollar-stripe" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "petcollar-stripe" tagname = null @@ -271,9 +268,8 @@ desc = "Just looking at this makes you want to sing." icon = 'icons/obj/custom.dmi' icon_state = "singer" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "singer" - item_color = "singer" fitted = NO_FEMALE_UNIFORM alternate_worn_layer = ABOVE_SHOES_LAYER can_adjust = 0 @@ -282,7 +278,7 @@ /obj/item/clothing/shoes/sneakers/pink icon = 'icons/obj/custom.dmi' icon_state = "pink" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "pink" mutantrace_variation = NONE @@ -291,13 +287,13 @@ desc = "A neosilk clip-on tie. This one has a black S on the tipping and looks rather unique." icon = 'icons/obj/custom.dmi' icon_state = "bloodredtie" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' /obj/item/clothing/suit/puffydress name = "Puffy Dress" desc = "A formal puffy black and red Victorian dress." icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' icon_state = "puffydress" item_state = "puffydress" body_parts_covered = CHEST|GROIN|LEGS @@ -310,7 +306,7 @@ item_state = "vermillion" body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/under/sweater/black/naomi @@ -327,7 +323,7 @@ desc = "This cloak doesn't seem too special." icon = 'icons/obj/custom.dmi' icon_state = "wintergreencloak" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "wintergreencloak" w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN|LEGS|ARMS @@ -343,7 +339,7 @@ desc = "An oddly special looking coat." icon = 'icons/obj/custom.dmi' icon_state = "rdcoat" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' item_state = "rdcoat" mutantrace_variation = NONE @@ -359,7 +355,7 @@ desc = "These strange wings look like they once attached to something... or someone...? Whatever the case, their presence makes you feel uneasy.." icon = 'icons/obj/custom.dmi' icon_state = "devilwings" - alternate_worn_icon = 'modular_citadel/icons/mob/clothing/devilwings64x64.dmi' + mob_overlay_icon = 'modular_citadel/icons/mob/clothing/devilwings64x64.dmi' item_state = "devilwings" worn_x_dimension = 64 worn_y_dimension = 34 @@ -369,14 +365,14 @@ desc = "A truly patriotic form of heroic attire." icon = 'icons/obj/custom.dmi' resistance_flags = FLAMMABLE - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' icon_state = "flagcape" item_state = "flagcape" /obj/item/clothing/shoes/lucky name = "Lucky Jackboots" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' desc = "Comfy Lucky Jackboots with the word Luck on them." item_state = "luckyjack" icon_state = "luckyjack" @@ -385,7 +381,7 @@ /obj/item/clothing/under/custom/lunasune name = "Divine Robes" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' desc = "Heavenly robes of the kitsune Luna Pumpkin,you can feel radiance coming from them." item_state = "Divine_robes" icon_state = "Divine_robes" @@ -394,7 +390,7 @@ /obj/item/clothing/under/custom/leoskimpy name = "Leon's Skimpy Outfit" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' desc = "A rather skimpy outfit." item_state = "shark_cloth" icon_state = "shark_cloth" @@ -403,7 +399,7 @@ /obj/item/clothing/under/custom/mimeoveralls name = "Mime's Overalls" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' desc = "A less-than-traditional mime's attire, completed by a set of dorky-looking overalls." item_state = "moveralls" icon_state = "moveralls" @@ -415,7 +411,7 @@ icon_state = "zuliecloak" item_state = "zuliecloak" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' hoodtype = /obj/item/clothing/head/hooded/cloakhood/zuliecloak body_parts_covered = CHEST|GROIN|ARMS slot_flags = SLOT_WEAR_SUIT | ITEM_SLOT_NECK //it's a cloak. it's cosmetic. so why the hell not? what could possibly go wrong? @@ -427,7 +423,7 @@ icon_state = "zuliecap" item_state = "zuliecap" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' flags_inv = HIDEEARS|HIDEHAIR mutantrace_variation = NONE @@ -435,7 +431,7 @@ name = "Multicolor Coat" desc = "An oddly special looking coat with black, red, and gold" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' icon_state = "redgoldjacket" item_state = "redgoldjacket" body_parts_covered = CHEST|GROIN|LEGS|ARMS @@ -447,7 +443,7 @@ icon_state = "kimono" item_state = "kimono" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' body_parts_covered = CHEST|GROIN|LEGS|ARMS mutantrace_variation = NONE @@ -457,7 +453,7 @@ icon_state = "commjacket" item_state = "commjacket" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' body_parts_covered = CHEST|GROIN|LEGS|ARMS mutantrace_variation = NONE @@ -467,7 +463,7 @@ icon_state = "mw2_russian_para" item_state = "mw2_russian_para" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/gloves/longblackgloves @@ -476,7 +472,7 @@ icon_state = "longblackgloves" item_state = "longblackgloves" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' /obj/item/clothing/under/custom/trendy_fit name = "Trendy Fitting Clothing" @@ -484,7 +480,7 @@ icon_state = "trendy_fit" item_state = "trendy_fit" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/head/blueberet @@ -493,7 +489,7 @@ icon_state = "blueberet" item_state = "blueberet" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' dynamic_hair_suffix = "" /obj/item/clothing/head/flight @@ -502,7 +498,7 @@ icon_state = "flight-g" item_state = "flight-g" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' /obj/item/clothing/neck/necklace/onion name = "Onion Necklace" @@ -510,7 +506,7 @@ icon = 'icons/obj/custom.dmi' icon_state = "onion" item_state = "onion" - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' /obj/item/clothing/under/custom/mikubikini name = "starlight singer bikini" @@ -518,7 +514,7 @@ icon_state = "mikubikini" item_state = "mikubikini" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/suit/mikujacket @@ -527,7 +523,7 @@ icon_state = "mikujacket" item_state = "mikujacket" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/head/mikuhair @@ -536,7 +532,7 @@ icon_state = "mikuhair" item_state = "mikuhair" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' mutantrace_variation = NONE flags_inv = HIDEHAIR @@ -546,7 +542,7 @@ icon_state = "mikugloves" item_state = "mikugloves" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/shoes/sneakers/mikuleggings @@ -555,7 +551,7 @@ icon_state = "mikuleggings" item_state = "mikuleggings" icon = 'icons/obj/custom.dmi' - alternate_worn_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/custom_w.dmi' mutantrace_variation = NONE /obj/item/toy/plush/mammal/dog/fritz diff --git a/tgstation.dme b/tgstation.dme index b212fd39d0..030b7c800e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -43,6 +43,7 @@ #include "code\__DEFINES\diseases.dm" #include "code\__DEFINES\DNA.dm" #include "code\__DEFINES\donator_groupings.dm" +#include "code\__DEFINES\dye_keys.dm" #include "code\__DEFINES\dynamic.dm" #include "code\__DEFINES\events.dm" #include "code\__DEFINES\exports.dm" From b69b19eb534bfa4c324cf8d65a6aba7ca696d240 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 29 Mar 2020 20:59:52 -0700 Subject: [PATCH 052/271] runtimes --- code/modules/antagonists/cult/cult.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 84ca13e345..023794182a 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -47,7 +47,7 @@ cult_team = new_team /datum/antagonist/cult/proc/add_objectives() - objectives |= cult_team.objectives + objectives |= cult_team?.objectives /datum/antagonist/cult/Destroy() QDEL_NULL(communion) @@ -74,7 +74,7 @@ SSticker.mode.update_cult_icons_added(owner) current.log_message("has been converted to the cult of Nar'Sie!", LOG_ATTACK, color="#960000") - if(cult_team.blood_target && cult_team.blood_target_image && current.client) + if(cult_team?.blood_target && cult_team.blood_target_image && current.client) current.client.images += cult_team.blood_target_image @@ -117,7 +117,7 @@ current = mob_override current.faction |= "cult" current.grant_language(/datum/language/narsie) - if(!cult_team.cult_master) + if(!cult_team?.cult_master) vote.Grant(current) communion.Grant(current) if(ishuman(current)) From 2bf6d888bd89e614ec4d83fefa2130231e7ddc3d Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 30 Mar 2020 18:31:26 +0200 Subject: [PATCH 053/271] Ports "Obliterates item_color: new washing machine functionality edition" --- _maps/map_files/PubbyStation/PubbyStation.dmm | 2 +- code/modules/clothing/clothing.dm | 2 +- code/modules/clothing/glasses/_glasses.dm | 4 +- code/modules/clothing/glasses/phantomthief.dm | 2 +- code/modules/clothing/head/hardhat.dm | 4 +- code/modules/clothing/neck/_neck.dm | 4 +- code/modules/clothing/shoes/_shoes.dm | 2 +- code/modules/clothing/under/_under.dm | 2 +- .../modules/mining/equipment/explorer_gear.dm | 2 +- .../sprite_accessories/_sprite_accessories.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 34 +++---- .../mob/living/carbon/monkey/update_icons.dm | 2 +- .../modules/mob/living/carbon/update_icons.dm | 12 +-- .../mob/living/silicon/robot/update_icons.dm | 2 +- .../simple_animal/friendly/drone/_drone.dm | 2 +- .../friendly/drone/visuals_icons.dm | 4 +- icons/mob/{ => clothing}/accessories.dmi | Bin icons/mob/{ => clothing}/back.dmi | Bin icons/mob/{ => clothing}/belt.dmi | Bin icons/mob/{ => clothing}/belt_mirror.dmi | Bin icons/mob/{ => clothing}/custom_w.dmi | Bin icons/mob/{ => clothing}/eyes.dmi | Bin icons/mob/{ => clothing}/feet.dmi | Bin icons/mob/{ => clothing}/feet_digi.dmi | Bin icons/mob/{ => clothing}/hands.dmi | Bin icons/mob/{ => clothing}/head.dmi | Bin icons/mob/{ => clothing}/head_muzzled.dmi | Bin icons/mob/{ => clothing}/mask.dmi | Bin icons/mob/{ => clothing}/mask_muzzled.dmi | Bin icons/mob/{ => clothing}/neck.dmi | Bin icons/mob/{ => clothing}/restraints.dmi | Bin icons/mob/{ => clothing}/suit.dmi | Bin icons/mob/{ => clothing}/suit_digi.dmi | Bin icons/mob/{ => clothing}/taur_canine.dmi | Bin icons/mob/{ => clothing}/taur_hooved.dmi | Bin icons/mob/{ => clothing}/taur_naga.dmi | Bin icons/mob/{ => clothing}/underwear.dmi | Bin icons/mob/{ => clothing}/uniform.dmi | Bin icons/mob/{ => clothing}/uniform_digi.dmi | Bin .../modules/custom_loadout/custom_items.dm | 88 +++++++++--------- 40 files changed, 85 insertions(+), 85 deletions(-) rename icons/mob/{ => clothing}/accessories.dmi (100%) rename icons/mob/{ => clothing}/back.dmi (100%) rename icons/mob/{ => clothing}/belt.dmi (100%) rename icons/mob/{ => clothing}/belt_mirror.dmi (100%) rename icons/mob/{ => clothing}/custom_w.dmi (100%) rename icons/mob/{ => clothing}/eyes.dmi (100%) rename icons/mob/{ => clothing}/feet.dmi (100%) rename icons/mob/{ => clothing}/feet_digi.dmi (100%) rename icons/mob/{ => clothing}/hands.dmi (100%) rename icons/mob/{ => clothing}/head.dmi (100%) rename icons/mob/{ => clothing}/head_muzzled.dmi (100%) rename icons/mob/{ => clothing}/mask.dmi (100%) rename icons/mob/{ => clothing}/mask_muzzled.dmi (100%) rename icons/mob/{ => clothing}/neck.dmi (100%) rename icons/mob/{ => clothing}/restraints.dmi (100%) rename icons/mob/{ => clothing}/suit.dmi (100%) rename icons/mob/{ => clothing}/suit_digi.dmi (100%) rename icons/mob/{ => clothing}/taur_canine.dmi (100%) rename icons/mob/{ => clothing}/taur_hooved.dmi (100%) rename icons/mob/{ => clothing}/taur_naga.dmi (100%) rename icons/mob/{ => clothing}/underwear.dmi (100%) rename icons/mob/{ => clothing}/uniform.dmi (100%) rename icons/mob/{ => clothing}/uniform_digi.dmi (100%) diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 637913adf1..70d76763e6 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -21098,7 +21098,7 @@ "aYm" = ( /obj/structure/closet/crate/wooden/toy, /obj/item/lipstick/random, -/obj/item/clothing/gloves/color/rainbow/clown, +/obj/item/clothing/gloves/color/rainbow, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index f68164594c..a4911c7660 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -189,7 +189,7 @@ BLIND // can't see anything /proc/generate_female_clothing(index,t_color,icon,type) var/icon/female_clothing_icon = icon("icon"=icon, "icon_state"=t_color) - var/icon/female_s = icon("icon"='icons/mob/uniform.dmi', "icon_state"="[(type == FEMALE_UNIFORM_FULL) ? "female_full" : "female_top"]") + var/icon/female_s = icon("icon"='icons/mob/clothing/uniform.dmi', "icon_state"="[(type == FEMALE_UNIFORM_FULL) ? "female_full" : "female_top"]") female_clothing_icon.Blend(female_s, ICON_MULTIPLY) female_clothing_icon = fcopy_rsc(female_clothing_icon) GLOB.female_clothing_icons[index] = female_clothing_icon diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 66dcf89a7a..aff86f62f1 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -132,7 +132,7 @@ name = "prescription night vision goggles" desc = "NVGs but for those with nearsightedness." vision_correction = 1 - + /obj/item/clothing/glasses/night/syndicate name = "combat night vision goggles" desc = "See everything, without fear." @@ -350,7 +350,7 @@ . = list() if(!isinhands && ishuman(loc) && !colored_before) var/mob/living/carbon/human/H = loc - var/mutable_appearance/M = mutable_appearance('icons/mob/eyes.dmi', "blindfoldwhite") + var/mutable_appearance/M = mutable_appearance('icons/mob/clothing/eyes.dmi', "blindfoldwhite") M.appearance_flags |= RESET_COLOR M.color = "#[H.eye_color]" . += M diff --git a/code/modules/clothing/glasses/phantomthief.dm b/code/modules/clothing/glasses/phantomthief.dm index 569a743802..92eaaef35b 100644 --- a/code/modules/clothing/glasses/phantomthief.dm +++ b/code/modules/clothing/glasses/phantomthief.dm @@ -1,7 +1,7 @@ /obj/item/clothing/glasses/phantomthief name = "suspicious paper mask" desc = "A cheap, Syndicate-branded paper face mask. They'll never see it coming." - mob_overlay_icon = 'icons/mob/mask.dmi' + mob_overlay_icon = 'icons/mob/clothing/mask.dmi' icon = 'icons/obj/clothing/masks.dmi' icon_state = "s-ninja" item_state = "s-ninja" diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 246be3ff4a..73e626bcd1 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -127,9 +127,9 @@ /obj/item/clothing/head/hardhat/weldhat/worn_overlays(isinhands, icon_file, style_flags = NONE) . = ..() if(!isinhands) - . += mutable_appearance('icons/mob/head.dmi', "weldhelmet") + . += mutable_appearance('icons/mob/clothing/head.dmi', "weldhelmet") if(!up) - . += mutable_appearance('icons/mob/head.dmi', "weldvisor") + . += mutable_appearance('icons/mob/clothing/head.dmi', "weldvisor") /obj/item/clothing/head/hardhat/weldhat/update_overlays() . = ..() diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 7bce47909a..069ab43dd9 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -169,7 +169,7 @@ name = "pet collar" desc = "It's for pets. Though you probably could wear it yourself, you'd doubtless be the subject of ridicule. It seems to be made out of a polychromic material." icon_state = "petcollar" - mob_overlay_icon = 'icons/mob/neck.dmi' //Because, as it appears, the item itself is normally not directly aware of its worn overlays, so this is about the easiest way, without adding a new var. + mob_overlay_icon = 'icons/mob/clothing/neck.dmi' //Because, as it appears, the item itself is normally not directly aware of its worn overlays, so this is about the easiest way, without adding a new var. hasprimary = TRUE primary_color = "#00BBBB" pocket_storage_component_path = /datum/component/storage/concrete/pockets/small/collar @@ -286,7 +286,7 @@ obj/item/clothing/neck/neckerchief /obj/item/clothing/neck/neckerchief/worn_overlays(isinhands) . = ..() if(!isinhands) - var/mutable_appearance/realOverlay = mutable_appearance('icons/mob/mask.dmi', icon_state) + var/mutable_appearance/realOverlay = mutable_appearance('icons/mob/clothing/mask.dmi', icon_state) realOverlay.pixel_y = -3 . += realOverlay diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index 4c6d3a8f88..471c7623fd 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -61,7 +61,7 @@ if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedshoe") if(bloody) - var/file2use = style_flags & STYLE_DIGITIGRADE ? 'icons/mob/feet_digi.dmi' : 'icons/effects/blood.dmi' + var/file2use = style_flags & STYLE_DIGITIGRADE ? 'icons/mob/clothing/feet_digi.dmi' : 'icons/effects/blood.dmi' . += mutable_appearance(file2use, "shoeblood", color = blood_DNA_to_color()) /obj/item/clothing/shoes/equipped(mob/user, slot) diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index bc40b8647d..8f209b06c1 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -113,7 +113,7 @@ return TRUE var/accessory_color = attached_accessory.icon_state - accessory_overlay = mutable_appearance('icons/mob/accessories.dmi', "[accessory_color]") + accessory_overlay = mutable_appearance('icons/mob/clothing/accessories.dmi', "[accessory_color]") accessory_overlay.alpha = attached_accessory.alpha accessory_overlay.color = attached_accessory.color diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index e83ac26153..d3a417b439 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -120,7 +120,7 @@ /obj/item/clothing/head/helmet/space/hostile_environment/worn_overlays(isinhands, icon_file, style_flags = NONE) . = ..() if(!isinhands) - var/mutable_appearance/M = mutable_appearance('icons/mob/head.dmi', "hostile_env_glass") + var/mutable_appearance/M = mutable_appearance('icons/mob/clothing/head.dmi', "hostile_env_glass") M.appearance_flags = RESET_COLOR . += M diff --git a/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm index 4365e59a7a..ab278b2e82 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm @@ -76,7 +76,7 @@ var/list/recommended_species /datum/sprite_accessory/underwear - icon = 'icons/mob/underwear.dmi' + icon = 'icons/mob/clothing/underwear.dmi' var/has_color = FALSE var/has_digitigrade = FALSE var/covers_groin = FALSE diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 9274a24589..7880ca2bc0 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -122,11 +122,11 @@ There are several things that need to be remembered: if(U.adjusted == ALT_STYLE) target_overlay = "[target_overlay]_d" - var/alt_worn = U.mob_overlay_icon || 'icons/mob/uniform.dmi' + var/alt_worn = U.mob_overlay_icon || 'icons/mob/clothing/uniform.dmi' var/variant_flag = NONE if((DIGITIGRADE in dna.species.species_traits) && U.mutantrace_variation & STYLE_DIGITIGRADE) - alt_worn = 'icons/mob/uniform_digi.dmi' + alt_worn = 'icons/mob/clothing/uniform_digi.dmi' variant_flag |= STYLE_DIGITIGRADE var/mutable_appearance/uniform_overlay @@ -200,7 +200,7 @@ There are several things that need to be remembered: var/t_state = gloves.item_state if(!t_state) t_state = gloves.icon_state - overlays_standing[GLOVES_LAYER] = gloves.build_worn_icon(state = t_state, default_layer = GLOVES_LAYER, default_icon_file = 'icons/mob/hands.dmi') + overlays_standing[GLOVES_LAYER] = gloves.build_worn_icon(state = t_state, default_layer = GLOVES_LAYER, default_icon_file = 'icons/mob/clothing/hands.dmi') gloves_overlay = overlays_standing[GLOVES_LAYER] if(OFFSET_GLOVES in dna.species.offset_features) gloves_overlay.pixel_x += dna.species.offset_features[OFFSET_GLOVES][1] @@ -226,7 +226,7 @@ There are several things that need to be remembered: client.screen += glasses //Either way, add the item to the HUD update_observer_view(glasses,1) if(!(head && (head.flags_inv & HIDEEYES)) && !(wear_mask && (wear_mask.flags_inv & HIDEEYES))) - overlays_standing[GLASSES_LAYER] = glasses.build_worn_icon(state = glasses.icon_state, default_layer = GLASSES_LAYER, default_icon_file = 'icons/mob/eyes.dmi') + overlays_standing[GLASSES_LAYER] = glasses.build_worn_icon(state = glasses.icon_state, default_layer = GLASSES_LAYER, default_icon_file = 'icons/mob/clothing/eyes.dmi') var/mutable_appearance/glasses_overlay = overlays_standing[GLASSES_LAYER] if(glasses_overlay) if(OFFSET_GLASSES in dna.species.offset_features) @@ -280,10 +280,10 @@ There are several things that need to be remembered: client.screen += shoes //add it to client's screen update_observer_view(shoes,1) - var/alt_icon = S.mob_overlay_icon || 'icons/mob/feet.dmi' + var/alt_icon = S.mob_overlay_icon || 'icons/mob/clothing/feet.dmi' var/variation_flag = NONE if((DIGITIGRADE in dna.species.species_traits) && S.mutantrace_variation & STYLE_DIGITIGRADE) - alt_icon = 'icons/mob/feet_digi.dmi' + alt_icon = 'icons/mob/clothing/feet_digi.dmi' variation_flag |= STYLE_DIGITIGRADE overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(SHOES_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, variation_flag, FALSE) @@ -309,7 +309,7 @@ There are several things that need to be remembered: var/t_state = s_store.item_state if(!t_state) t_state = s_store.icon_state - overlays_standing[SUIT_STORE_LAYER] = mutable_appearance(((s_store.mob_overlay_icon) ? s_store.mob_overlay_icon : 'icons/mob/belt_mirror.dmi'), t_state, -SUIT_STORE_LAYER) + overlays_standing[SUIT_STORE_LAYER] = mutable_appearance(((s_store.mob_overlay_icon) ? s_store.mob_overlay_icon : 'icons/mob/clothing/belt_mirror.dmi'), t_state, -SUIT_STORE_LAYER) var/mutable_appearance/s_store_overlay = overlays_standing[SUIT_STORE_LAYER] if(OFFSET_S_STORE in dna.species.offset_features) s_store_overlay.pixel_x += dna.species.offset_features[OFFSET_S_STORE][1] @@ -332,7 +332,7 @@ There are several things that need to be remembered: if(head) remove_overlay(HEAD_LAYER) var/obj/item/clothing/head/H = head - var/alt_icon = H.mob_overlay_icon || 'icons/mob/head.dmi' + var/alt_icon = H.mob_overlay_icon || 'icons/mob/clothing/head.dmi' var/muzzled = FALSE var/variation_flag = NONE if(dna.species.mutant_bodyparts["mam_snouts"] && dna.features["mam_snouts"] != "None") @@ -340,7 +340,7 @@ There are several things that need to be remembered: else if(dna.species.mutant_bodyparts["snout"] && dna.features["snout"] != "None") muzzled = TRUE if(muzzled && H.mutantrace_variation & STYLE_MUZZLE) - alt_icon = 'icons/mob/head_muzzled.dmi' + alt_icon = 'icons/mob/clothing/head_muzzled.dmi' variation_flag |= STYLE_MUZZLE overlays_standing[HEAD_LAYER] = H.build_worn_icon(HEAD_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, H.icon_state, variation_flag, FALSE) @@ -365,7 +365,7 @@ There are several things that need to be remembered: client.screen += belt update_observer_view(belt) - overlays_standing[BELT_LAYER] = belt.build_worn_icon(default_layer = BELT_LAYER, default_icon_file = 'icons/mob/belt.dmi') + overlays_standing[BELT_LAYER] = belt.build_worn_icon(default_layer = BELT_LAYER, default_icon_file = 'icons/mob/clothing/belt.dmi') var/mutable_appearance/belt_overlay = overlays_standing[BELT_LAYER] if(OFFSET_BELT in dna.species.offset_features) belt_overlay.pixel_x += dna.species.offset_features[OFFSET_BELT][1] @@ -389,7 +389,7 @@ There are several things that need to be remembered: client.screen += wear_suit update_observer_view(wear_suit,1) - var/worn_icon = wear_suit.mob_overlay_icon || 'icons/mob/suit.dmi' + var/worn_icon = wear_suit.mob_overlay_icon || 'icons/mob/clothing/suit.dmi' var/center = FALSE var/dimension_x = 32 var/dimension_y = 32 @@ -404,17 +404,17 @@ There are several things that need to be remembered: variation_flag |= S.mutantrace_variation & T.taur_mode || S.mutantrace_variation & T.alt_taur_mode switch(variation_flag) if(STYLE_HOOF_TAURIC) - worn_icon = 'icons/mob/taur_hooved.dmi' + worn_icon = 'icons/mob/clothing/taur_hooved.dmi' if(STYLE_SNEK_TAURIC) - worn_icon = 'icons/mob/taur_naga.dmi' + worn_icon = 'icons/mob/clothing/taur_naga.dmi' if(STYLE_PAW_TAURIC) - worn_icon = 'icons/mob/taur_canine.dmi' + worn_icon = 'icons/mob/clothing/taur_canine.dmi' if(worn_icon != init_worn_icon) //worn icon sprite was changed, taur offsets will have to be applied. center = T.center dimension_x = T.dimension_x dimension_y = T.dimension_y else if((DIGITIGRADE in dna.species.species_traits) && S.mutantrace_variation & STYLE_DIGITIGRADE) //not a taur, but digitigrade legs. - worn_icon = 'icons/mob/suit_digi.dmi' + worn_icon = 'icons/mob/clothing/suit_digi.dmi' variation_flag |= STYLE_DIGITIGRADE overlays_standing[SUIT_LAYER] = S.build_worn_icon(SUIT_LAYER, worn_icon, FALSE, NO_FEMALE_UNIFORM, wear_suit.icon_state, variation_flag, FALSE) @@ -467,7 +467,7 @@ There are several things that need to be remembered: if(wear_mask) var/obj/item/clothing/mask/M = wear_mask remove_overlay(FACEMASK_LAYER) - var/alt_icon = M.mob_overlay_icon || 'icons/mob/mask.dmi' + var/alt_icon = M.mob_overlay_icon || 'icons/mob/clothing/mask.dmi' var/muzzled = FALSE var/variation_flag = NONE if(head && (head.flags_inv & HIDEMASK)) @@ -477,7 +477,7 @@ There are several things that need to be remembered: else if(dna.species.mutant_bodyparts["snout"] && dna.features["snout"] != "None") muzzled = TRUE if(muzzled && M.mutantrace_variation & STYLE_MUZZLE) - alt_icon = 'icons/mob/mask_muzzled.dmi' + alt_icon = 'icons/mob/clothing/mask_muzzled.dmi' variation_flag |= STYLE_MUZZLE var/mutable_appearance/mask_overlay = M.build_worn_icon(FACEMASK_LAYER, alt_icon, FALSE, NO_FEMALE_UNIFORM, wear_mask.icon_state, variation_flag, FALSE) diff --git a/code/modules/mob/living/carbon/monkey/update_icons.dm b/code/modules/mob/living/carbon/monkey/update_icons.dm index ff83b00fe1..1e00815f24 100644 --- a/code/modules/mob/living/carbon/monkey/update_icons.dm +++ b/code/modules/mob/living/carbon/monkey/update_icons.dm @@ -45,7 +45,7 @@ remove_overlay(LEGCUFF_LAYER) clear_alert("legcuffed") if(legcuffed) - var/mutable_appearance/legcuffs = mutable_appearance('icons/mob/restraints.dmi', legcuffed.item_state, -LEGCUFF_LAYER) + var/mutable_appearance/legcuffs = mutable_appearance('icons/mob/clothing/restraints.dmi', legcuffed.item_state, -LEGCUFF_LAYER) legcuffs.color = handcuffed.color legcuffs.pixel_y = 8 diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index 92509d364a..0cfca9f212 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -96,7 +96,7 @@ if(wear_mask) if(!(head && (head.flags_inv & HIDEMASK))) - overlays_standing[FACEMASK_LAYER] = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/mask.dmi', override_state = wear_mask.icon_state) + overlays_standing[FACEMASK_LAYER] = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/clothing/mask.dmi', override_state = wear_mask.icon_state) update_hud_wear_mask(wear_mask) apply_overlay(FACEMASK_LAYER) @@ -110,7 +110,7 @@ if(wear_neck) if(!(head && (head.flags_inv & HIDENECK))) - overlays_standing[NECK_LAYER] = wear_neck.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = 'icons/mob/neck.dmi', override_state = wear_mask.icon_state) + overlays_standing[NECK_LAYER] = wear_neck.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = 'icons/mob/clothing/neck.dmi', override_state = wear_mask.icon_state) update_hud_neck(wear_neck) apply_overlay(NECK_LAYER) @@ -123,7 +123,7 @@ inv.update_icon() if(back) - overlays_standing[BACK_LAYER] = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = 'icons/mob/back.dmi', override_state = back.icon_state) + overlays_standing[BACK_LAYER] = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = 'icons/mob/clothing/back.dmi', override_state = back.icon_state) update_hud_back(back) apply_overlay(BACK_LAYER) @@ -139,7 +139,7 @@ inv.update_icon() if(head) - overlays_standing[HEAD_LAYER] = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/head.dmi', override_state = head.icon_state) + overlays_standing[HEAD_LAYER] = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/clothing/head.dmi', override_state = head.icon_state) update_hud_head(head) apply_overlay(HEAD_LAYER) @@ -148,7 +148,7 @@ /mob/living/carbon/update_inv_handcuffed() remove_overlay(HANDCUFF_LAYER) if(handcuffed) - var/mutable_appearance/cuffs = mutable_appearance('icons/mob/restraints.dmi', handcuffed.item_state, -HANDCUFF_LAYER) + var/mutable_appearance/cuffs = mutable_appearance('icons/mob/clothing/restraints.dmi', handcuffed.item_state, -HANDCUFF_LAYER) cuffs.color = handcuffed.color overlays_standing[HANDCUFF_LAYER] = cuffs @@ -158,7 +158,7 @@ remove_overlay(LEGCUFF_LAYER) clear_alert("legcuffed") if(legcuffed) - var/mutable_appearance/legcuffs = mutable_appearance('icons/mob/restraints.dmi', legcuffed.item_state, -LEGCUFF_LAYER) + var/mutable_appearance/legcuffs = mutable_appearance('icons/mob/clothing/restraints.dmi', legcuffed.item_state, -LEGCUFF_LAYER) legcuffs.color = legcuffed.color overlays_standing[LEGCUFF_LAYER] = legcuffs diff --git a/code/modules/mob/living/silicon/robot/update_icons.dm b/code/modules/mob/living/silicon/robot/update_icons.dm index 7311806c8b..72ad21c51e 100644 --- a/code/modules/mob/living/silicon/robot/update_icons.dm +++ b/code/modules/mob/living/silicon/robot/update_icons.dm @@ -41,7 +41,7 @@ else add_overlay("ov-opencover -c") if(hat) - var/mutable_appearance/head_overlay = hat.build_worn_icon(default_layer = 20, default_icon_file = 'icons/mob/head.dmi', override_state = hat.icon_state) + var/mutable_appearance/head_overlay = hat.build_worn_icon(default_layer = 20, default_icon_file = 'icons/mob/clothing/head.dmi', override_state = hat.icon_state) head_overlay.pixel_y += hat_offset add_overlay(head_overlay) update_fire() diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index 0d344f1a9b..2a84152088 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -105,7 +105,7 @@ . = ..() if(can_be_held) //icon/item state is defined in mob_holder/drone_worn_icon() - AddElement(/datum/element/mob_holder, null, 'icons/mob/head.dmi', 'icons/mob/inhands/clothing_righthand.dmi', 'icons/mob/inhands/clothing_lefthand.dmi', ITEM_SLOT_HEAD, /datum/element/mob_holder.proc/drone_worn_icon) + AddElement(/datum/element/mob_holder, null, 'icons/mob/clothing/head.dmi', 'icons/mob/inhands/clothing_righthand.dmi', 'icons/mob/inhands/clothing_lefthand.dmi', ITEM_SLOT_HEAD, /datum/element/mob_holder.proc/drone_worn_icon) /mob/living/simple_animal/drone/med_hud_set_health() var/image/holder = hud_list[DIAG_HUD] diff --git a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm index cece40d3f3..815c2bc0db 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/visuals_icons.dm @@ -72,9 +72,9 @@ if(client && hud_used && hud_used.hud_shown) head.screen_loc = ui_drone_head client.screen += head - var/used_head_icon = 'icons/mob/head.dmi' + var/used_head_icon = 'icons/mob/clothing/head.dmi' if(istype(head, /obj/item/clothing/mask)) - used_head_icon = 'icons/mob/mask.dmi' + used_head_icon = 'icons/mob/clothing/mask.dmi' var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = DRONE_HEAD_LAYER, default_icon_file = used_head_icon, override_state = head.icon_state) head_overlay.pixel_y -= 15 diff --git a/icons/mob/accessories.dmi b/icons/mob/clothing/accessories.dmi similarity index 100% rename from icons/mob/accessories.dmi rename to icons/mob/clothing/accessories.dmi diff --git a/icons/mob/back.dmi b/icons/mob/clothing/back.dmi similarity index 100% rename from icons/mob/back.dmi rename to icons/mob/clothing/back.dmi diff --git a/icons/mob/belt.dmi b/icons/mob/clothing/belt.dmi similarity index 100% rename from icons/mob/belt.dmi rename to icons/mob/clothing/belt.dmi diff --git a/icons/mob/belt_mirror.dmi b/icons/mob/clothing/belt_mirror.dmi similarity index 100% rename from icons/mob/belt_mirror.dmi rename to icons/mob/clothing/belt_mirror.dmi diff --git a/icons/mob/custom_w.dmi b/icons/mob/clothing/custom_w.dmi similarity index 100% rename from icons/mob/custom_w.dmi rename to icons/mob/clothing/custom_w.dmi diff --git a/icons/mob/eyes.dmi b/icons/mob/clothing/eyes.dmi similarity index 100% rename from icons/mob/eyes.dmi rename to icons/mob/clothing/eyes.dmi diff --git a/icons/mob/feet.dmi b/icons/mob/clothing/feet.dmi similarity index 100% rename from icons/mob/feet.dmi rename to icons/mob/clothing/feet.dmi diff --git a/icons/mob/feet_digi.dmi b/icons/mob/clothing/feet_digi.dmi similarity index 100% rename from icons/mob/feet_digi.dmi rename to icons/mob/clothing/feet_digi.dmi diff --git a/icons/mob/hands.dmi b/icons/mob/clothing/hands.dmi similarity index 100% rename from icons/mob/hands.dmi rename to icons/mob/clothing/hands.dmi diff --git a/icons/mob/head.dmi b/icons/mob/clothing/head.dmi similarity index 100% rename from icons/mob/head.dmi rename to icons/mob/clothing/head.dmi diff --git a/icons/mob/head_muzzled.dmi b/icons/mob/clothing/head_muzzled.dmi similarity index 100% rename from icons/mob/head_muzzled.dmi rename to icons/mob/clothing/head_muzzled.dmi diff --git a/icons/mob/mask.dmi b/icons/mob/clothing/mask.dmi similarity index 100% rename from icons/mob/mask.dmi rename to icons/mob/clothing/mask.dmi diff --git a/icons/mob/mask_muzzled.dmi b/icons/mob/clothing/mask_muzzled.dmi similarity index 100% rename from icons/mob/mask_muzzled.dmi rename to icons/mob/clothing/mask_muzzled.dmi diff --git a/icons/mob/neck.dmi b/icons/mob/clothing/neck.dmi similarity index 100% rename from icons/mob/neck.dmi rename to icons/mob/clothing/neck.dmi diff --git a/icons/mob/restraints.dmi b/icons/mob/clothing/restraints.dmi similarity index 100% rename from icons/mob/restraints.dmi rename to icons/mob/clothing/restraints.dmi diff --git a/icons/mob/suit.dmi b/icons/mob/clothing/suit.dmi similarity index 100% rename from icons/mob/suit.dmi rename to icons/mob/clothing/suit.dmi diff --git a/icons/mob/suit_digi.dmi b/icons/mob/clothing/suit_digi.dmi similarity index 100% rename from icons/mob/suit_digi.dmi rename to icons/mob/clothing/suit_digi.dmi diff --git a/icons/mob/taur_canine.dmi b/icons/mob/clothing/taur_canine.dmi similarity index 100% rename from icons/mob/taur_canine.dmi rename to icons/mob/clothing/taur_canine.dmi diff --git a/icons/mob/taur_hooved.dmi b/icons/mob/clothing/taur_hooved.dmi similarity index 100% rename from icons/mob/taur_hooved.dmi rename to icons/mob/clothing/taur_hooved.dmi diff --git a/icons/mob/taur_naga.dmi b/icons/mob/clothing/taur_naga.dmi similarity index 100% rename from icons/mob/taur_naga.dmi rename to icons/mob/clothing/taur_naga.dmi diff --git a/icons/mob/underwear.dmi b/icons/mob/clothing/underwear.dmi similarity index 100% rename from icons/mob/underwear.dmi rename to icons/mob/clothing/underwear.dmi diff --git a/icons/mob/uniform.dmi b/icons/mob/clothing/uniform.dmi similarity index 100% rename from icons/mob/uniform.dmi rename to icons/mob/clothing/uniform.dmi diff --git a/icons/mob/uniform_digi.dmi b/icons/mob/clothing/uniform_digi.dmi similarity index 100% rename from icons/mob/uniform_digi.dmi rename to icons/mob/clothing/uniform_digi.dmi diff --git a/modular_citadel/code/modules/custom_loadout/custom_items.dm b/modular_citadel/code/modules/custom_loadout/custom_items.dm index 0fcc904ee2..a9b502d629 100644 --- a/modular_citadel/code/modules/custom_loadout/custom_items.dm +++ b/modular_citadel/code/modules/custom_loadout/custom_items.dm @@ -26,7 +26,7 @@ desc = "The design on this seems a little too familiar." icon = 'icons/obj/custom.dmi' icon_state = "infcloak" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "infcloak" w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN|LEGS|ARMS @@ -36,7 +36,7 @@ desc = "A soft black collar that seems to stretch to fit whoever wears it." icon = 'icons/obj/custom.dmi' icon_state = "infcollar" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "infcollar" tagname = null @@ -51,7 +51,7 @@ name = "Kiara's Sabre" desc = "This blade looks as dangerous as its owner." icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' icon_state = "darksabre" item_state = "darksabre" lefthand_file = 'modular_citadel/icons/mob/inhands/stunsword_left.dmi' @@ -68,7 +68,7 @@ name = "Ornate Sheathe" desc = "An ornate and rather sinister looking sabre sheathe." icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' icon_state = "darksheath" item_state = "darksheath" fitting_swords = list(/obj/item/toy/darksabre) @@ -78,7 +78,7 @@ name = "Dark Armor" desc = "A dark, non-functional piece of armor sporting a red and black finish." icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' icon_state = "darkcarapace" item_state = "darkcarapace" blood_overlay_type = "armor" @@ -105,7 +105,7 @@ icon = 'icons/obj/custom.dmi' icon_state = "zombscarf" desc = "A fashionable collar" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' dog_fashion = /datum/dog_fashion/head /obj/item/clothing/suit/toggle/labcoat/mad/red @@ -113,7 +113,7 @@ desc = "An oddly special looking coat." icon = 'icons/obj/custom.dmi' icon_state = "labred" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "labred" mutantrace_variation = NONE @@ -122,7 +122,7 @@ desc = "An oddly special looking coat." icon = 'icons/obj/custom.dmi' icon_state = "labredblack" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "labredblack" mutantrace_variation = NONE @@ -141,7 +141,7 @@ name = "carrot cloak" desc = "A cloak in the shape and color of a carrot!" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' icon_state = "carrotcloak" item_state = "carrotcloak" w_class = WEIGHT_CLASS_SMALL @@ -153,7 +153,7 @@ icon = 'icons/obj/custom.dmi' icon_state = "satchel_carrot" item_state = "satchel_carrot" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' /obj/item/storage/backpack/satchel/carrot/Initialize() . = ..() @@ -176,7 +176,7 @@ icon = 'icons/obj/custom.dmi' icon_state = "festive" item_state = "festive" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN|LEGS|ARMS @@ -184,7 +184,7 @@ name = "Alboroto Rosa mask" icon = 'icons/obj/custom.dmi' icon_state = "lucharzigfie" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "lucharzigfie" /obj/item/clothing/head/hardhat/reindeer/fluff @@ -217,7 +217,7 @@ name = "The Hollow heart" desc = "Sometimes things are too much to hide." icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' icon_state = "hheart" item_state = "hheart" flags_inv = HIDEFACE|HIDEFACIALHAIR @@ -227,7 +227,7 @@ desc = "You would swear this was in your nightmares after eating too many veggies." icon = 'icons/obj/custom.dmi' icon_state = "hos-g" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "hos-g" body_parts_covered = CHEST|GROIN|ARMS|LEGS mutantrace_variation = NONE @@ -244,7 +244,7 @@ desc = "Smells like reactor four." icon = 'icons/obj/custom.dmi' item_state = "stalker" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' icon_state = "stalker" /obj/item/reagent_containers/food/drinks/flask/steel @@ -259,7 +259,7 @@ desc = "It's a collar..." icon = 'icons/obj/custom.dmi' icon_state = "petcollar-stripe" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "petcollar-stripe" tagname = null @@ -268,7 +268,7 @@ desc = "Just looking at this makes you want to sing." icon = 'icons/obj/custom.dmi' icon_state = "singer" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "singer" fitted = NO_FEMALE_UNIFORM alternate_worn_layer = ABOVE_SHOES_LAYER @@ -278,7 +278,7 @@ /obj/item/clothing/shoes/sneakers/pink icon = 'icons/obj/custom.dmi' icon_state = "pink" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "pink" mutantrace_variation = NONE @@ -287,13 +287,13 @@ desc = "A neosilk clip-on tie. This one has a black S on the tipping and looks rather unique." icon = 'icons/obj/custom.dmi' icon_state = "bloodredtie" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' /obj/item/clothing/suit/puffydress name = "Puffy Dress" desc = "A formal puffy black and red Victorian dress." icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' icon_state = "puffydress" item_state = "puffydress" body_parts_covered = CHEST|GROIN|LEGS @@ -306,7 +306,7 @@ item_state = "vermillion" body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/under/sweater/black/naomi @@ -323,7 +323,7 @@ desc = "This cloak doesn't seem too special." icon = 'icons/obj/custom.dmi' icon_state = "wintergreencloak" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "wintergreencloak" w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN|LEGS|ARMS @@ -339,7 +339,7 @@ desc = "An oddly special looking coat." icon = 'icons/obj/custom.dmi' icon_state = "rdcoat" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' item_state = "rdcoat" mutantrace_variation = NONE @@ -365,14 +365,14 @@ desc = "A truly patriotic form of heroic attire." icon = 'icons/obj/custom.dmi' resistance_flags = FLAMMABLE - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' icon_state = "flagcape" item_state = "flagcape" /obj/item/clothing/shoes/lucky name = "Lucky Jackboots" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' desc = "Comfy Lucky Jackboots with the word Luck on them." item_state = "luckyjack" icon_state = "luckyjack" @@ -381,7 +381,7 @@ /obj/item/clothing/under/custom/lunasune name = "Divine Robes" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' desc = "Heavenly robes of the kitsune Luna Pumpkin,you can feel radiance coming from them." item_state = "Divine_robes" icon_state = "Divine_robes" @@ -390,7 +390,7 @@ /obj/item/clothing/under/custom/leoskimpy name = "Leon's Skimpy Outfit" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' desc = "A rather skimpy outfit." item_state = "shark_cloth" icon_state = "shark_cloth" @@ -399,7 +399,7 @@ /obj/item/clothing/under/custom/mimeoveralls name = "Mime's Overalls" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' desc = "A less-than-traditional mime's attire, completed by a set of dorky-looking overalls." item_state = "moveralls" icon_state = "moveralls" @@ -411,7 +411,7 @@ icon_state = "zuliecloak" item_state = "zuliecloak" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' hoodtype = /obj/item/clothing/head/hooded/cloakhood/zuliecloak body_parts_covered = CHEST|GROIN|ARMS slot_flags = SLOT_WEAR_SUIT | ITEM_SLOT_NECK //it's a cloak. it's cosmetic. so why the hell not? what could possibly go wrong? @@ -423,7 +423,7 @@ icon_state = "zuliecap" item_state = "zuliecap" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' flags_inv = HIDEEARS|HIDEHAIR mutantrace_variation = NONE @@ -431,7 +431,7 @@ name = "Multicolor Coat" desc = "An oddly special looking coat with black, red, and gold" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' icon_state = "redgoldjacket" item_state = "redgoldjacket" body_parts_covered = CHEST|GROIN|LEGS|ARMS @@ -443,7 +443,7 @@ icon_state = "kimono" item_state = "kimono" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' body_parts_covered = CHEST|GROIN|LEGS|ARMS mutantrace_variation = NONE @@ -453,7 +453,7 @@ icon_state = "commjacket" item_state = "commjacket" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' body_parts_covered = CHEST|GROIN|LEGS|ARMS mutantrace_variation = NONE @@ -463,7 +463,7 @@ icon_state = "mw2_russian_para" item_state = "mw2_russian_para" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/gloves/longblackgloves @@ -472,7 +472,7 @@ icon_state = "longblackgloves" item_state = "longblackgloves" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' /obj/item/clothing/under/custom/trendy_fit name = "Trendy Fitting Clothing" @@ -480,7 +480,7 @@ icon_state = "trendy_fit" item_state = "trendy_fit" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/head/blueberet @@ -489,7 +489,7 @@ icon_state = "blueberet" item_state = "blueberet" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' dynamic_hair_suffix = "" /obj/item/clothing/head/flight @@ -498,7 +498,7 @@ icon_state = "flight-g" item_state = "flight-g" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' /obj/item/clothing/neck/necklace/onion name = "Onion Necklace" @@ -506,7 +506,7 @@ icon = 'icons/obj/custom.dmi' icon_state = "onion" item_state = "onion" - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' /obj/item/clothing/under/custom/mikubikini name = "starlight singer bikini" @@ -514,7 +514,7 @@ icon_state = "mikubikini" item_state = "mikubikini" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/suit/mikujacket @@ -523,7 +523,7 @@ icon_state = "mikujacket" item_state = "mikujacket" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/head/mikuhair @@ -532,7 +532,7 @@ icon_state = "mikuhair" item_state = "mikuhair" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' mutantrace_variation = NONE flags_inv = HIDEHAIR @@ -542,7 +542,7 @@ icon_state = "mikugloves" item_state = "mikugloves" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' mutantrace_variation = NONE /obj/item/clothing/shoes/sneakers/mikuleggings @@ -551,7 +551,7 @@ icon_state = "mikuleggings" item_state = "mikuleggings" icon = 'icons/obj/custom.dmi' - mob_overlay_icon = 'icons/mob/custom_w.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' mutantrace_variation = NONE /obj/item/toy/plush/mammal/dog/fritz From 21a42579c140cb30827ef5620baf8bbeb1502bc2 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 30 Mar 2020 18:55:30 +0200 Subject: [PATCH 054/271] chucklefucks. --- .../mob/living/carbon/human/update_icons.dm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 7880ca2bc0..ae7009f5f6 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -165,7 +165,7 @@ There are several things that need to be remembered: update_observer_view(wear_id) //TODO: add an icon file for ID slot stuff, so it's less snowflakey - id_overlay = wear_id.build_worn_icon(state = wear_id.item_state, default_layer = ID_LAYER, default_icon_file = 'icons/mob/mob.dmi') + id_overlay = wear_id.build_worn_icon(default_layer = ID_LAYER, default_icon_file = 'icons/mob/mob.dmi', override_state = wear_id.item_state) if(OFFSET_ID in dna.species.offset_features) id_overlay.pixel_x += dna.species.offset_features[OFFSET_ID][1] id_overlay.pixel_y += dna.species.offset_features[OFFSET_ID][2] @@ -197,10 +197,7 @@ There are several things that need to be remembered: if(hud_used.inventory_shown) client.screen += gloves update_observer_view(gloves,1) - var/t_state = gloves.item_state - if(!t_state) - t_state = gloves.icon_state - overlays_standing[GLOVES_LAYER] = gloves.build_worn_icon(state = t_state, default_layer = GLOVES_LAYER, default_icon_file = 'icons/mob/clothing/hands.dmi') + overlays_standing[GLOVES_LAYER] = gloves.build_worn_icon(default_layer = GLOVES_LAYER, default_icon_file = 'icons/mob/clothing/hands.dmi') gloves_overlay = overlays_standing[GLOVES_LAYER] if(OFFSET_GLOVES in dna.species.offset_features) gloves_overlay.pixel_x += dna.species.offset_features[OFFSET_GLOVES][1] @@ -226,7 +223,7 @@ There are several things that need to be remembered: client.screen += glasses //Either way, add the item to the HUD update_observer_view(glasses,1) if(!(head && (head.flags_inv & HIDEEYES)) && !(wear_mask && (wear_mask.flags_inv & HIDEEYES))) - overlays_standing[GLASSES_LAYER] = glasses.build_worn_icon(state = glasses.icon_state, default_layer = GLASSES_LAYER, default_icon_file = 'icons/mob/clothing/eyes.dmi') + overlays_standing[GLASSES_LAYER] = glasses.build_worn_icon(default_layer = GLASSES_LAYER, default_icon_file = 'icons/mob/clothing/eyes.dmi', override_state = glasses.icon_state) var/mutable_appearance/glasses_overlay = overlays_standing[GLASSES_LAYER] if(glasses_overlay) if(OFFSET_GLASSES in dna.species.offset_features) @@ -562,8 +559,7 @@ covers: By Remie Richards (yes I'm taking credit because this just removed 90% of the copypaste in update_icons()) -state: A string to use as the state, this is FAR too complex to solve in this proc thanks to shitty old code -so it's specified as an argument instead. +override_state: A string to use as the state, otherwise item_state or icon_state will be used. default_layer: The layer to draw this on if no other layer is specified @@ -575,6 +571,9 @@ in this situation default_icon_file is expected to match either the lefthand_ or femalueuniform: A value matching a uniform item's fitted var, if this is anything but NO_FEMALE_UNIFORM, we generate/load female uniform sprites matching all previously decided variables +style_flags: mutant race appearance flags, mostly used for worn_overlays() + +use_mob_overlay_icon: if FALSE, it will always use the default_icon_file even if mob_overlay_icon is present. */ /obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, override_state, style_flags = NONE, use_mob_overlay_icon = TRUE) From 694abd072458356da51baefc9681725bf8902b49 Mon Sep 17 00:00:00 2001 From: Artur Date: Tue, 31 Mar 2020 19:44:01 +0300 Subject: [PATCH 055/271] Fixes compile. I blame putnam. --- code/modules/antagonists/bloodsucker/datum_bloodsucker.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index edac8763c8..e70160484e 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -90,7 +90,7 @@ owner.current.blood_volume = max(owner.current.blood_volume,BLOOD_VOLUME_SAFE) /datum/antagonist/bloodsucker/threat() - return ..()+3*vamplevel + return ..()+3*bloodsucker_level /datum/antagonist/bloodsucker/proc/SelectFirstName() From 7a5bb4804d59ec0cb910fac1ee25c00e7649d16b Mon Sep 17 00:00:00 2001 From: Artur Date: Tue, 31 Mar 2020 19:46:54 +0300 Subject: [PATCH 056/271] Nice spacing --- code/modules/antagonists/bloodsucker/datum_bloodsucker.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index e70160484e..946be31ed6 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -90,7 +90,7 @@ owner.current.blood_volume = max(owner.current.blood_volume,BLOOD_VOLUME_SAFE) /datum/antagonist/bloodsucker/threat() - return ..()+3*bloodsucker_level + return ..() + 3 * bloodsucker_level /datum/antagonist/bloodsucker/proc/SelectFirstName() From bf3cfb62d1b7ed09f67c1b6a667017c72d19770e Mon Sep 17 00:00:00 2001 From: Artur Date: Tue, 31 Mar 2020 20:52:10 +0300 Subject: [PATCH 057/271] Cherry pick --- tgui-next/packages/tgui/routes.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tgui-next/packages/tgui/routes.js b/tgui-next/packages/tgui/routes.js index 76c2834c7b..3a3ef14dc9 100644 --- a/tgui-next/packages/tgui/routes.js +++ b/tgui-next/packages/tgui/routes.js @@ -93,6 +93,7 @@ import { ThermoMachine } from './interfaces/ThermoMachine'; import { TurbineComputer } from './interfaces/TurbineComputer'; import { Uplink } from './interfaces/Uplink'; import { VaultController } from './interfaces/VaultController'; +import { Vending } from './interfaces/Vending'; import { Wires } from './interfaces/Wires'; import { AtmosRelief } from './interfaces/AtmosRelief'; @@ -510,6 +511,10 @@ const ROUTES = { component: () => VaultController, scrollable: false, }, + vending: { + component: () => Vending, + scrollable: true, + }, wires: { component: () => Wires, scrollable: false, From 4d53c3f6c01fa35436c722e403bb5e22a56c53bd Mon Sep 17 00:00:00 2001 From: Artur Date: Tue, 31 Mar 2020 21:00:50 +0300 Subject: [PATCH 058/271] updates vendors.. --- code/modules/vending/_vending.dm | 596 ++++++++++++++++++++----------- 1 file changed, 392 insertions(+), 204 deletions(-) diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 8a62c19e16..c1f6a3a4be 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -16,12 +16,30 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY CANISTER CHARGES in vending_items.dm */ +#define MAX_VENDING_INPUT_AMOUNT 30 +/** + * # vending record datum + * + * A datum that represents a product that is vendable + */ /datum/data/vending_product name = "generic" + ///Typepath of the product that is created when this record "sells" var/product_path = null + ///How many of this product we currently have var/amount = 0 + ///How many we can store at maximum var/max_amount = 0 + ///Does the item have a custom price override + var/custom_price + ///Does the item have a custom premium price override + var/custom_premium_price +/** + * # vending machines + * + * Captalism in the year 2525, everything in a vending machine, even love + */ /obj/machinery/vending name = "\improper Vendomat" desc = "A generic vending machine." @@ -36,43 +54,120 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C integrity_failure = 0.33 armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70) circuit = /obj/item/circuitboard/machine/vendor - var/active = 1 //No sales pitches if off! - var/vend_ready = 1 //Are we ready to vend?? Is it time?? + light_power = 0.5 + light_range = MINIMUM_USEFUL_LIGHT_RANGE + /// Is the machine active (No sales pitches if off)! + var/active = TRUE + ///Are we ready to vend?? Is it time?? + var/vend_ready = TRUE + ///Next world time to send a purchase message + var/purchase_message_cooldown + ///Last mob to shop with us - // To be filled out at compile time - var/list/products = list() //For each, use the following pattern: - var/list/contraband = list() //list(/type/path = amount, /type/path2 = amount2) - var/list/premium = list() //No specified amount = only one in stock + /** + * List of products this machine sells + * + * form should be list(/type/path = amount, /type/path2 = amount2) + */ + var/list/products = list() + + /** + * List of products this machine sells when you hack it + * + * form should be list(/type/path = amount, /type/path2 = amount2) + */ + var/list/contraband = list() + + /** + * List of premium products this machine sells + * + * form should be list(/type/path, /type/path2) as there is only ever one in stock + */ + var/list/premium = list() + + ///String of slogans separated by semicolons, optional + var/product_slogans = "" + ///String of small ad messages in the vending screen - random chance + var/product_ads = "" - var/product_slogans = "" //String of slogans separated by semicolons, optional - var/product_ads = "" //String of small ad messages in the vending screen - random chance var/list/product_records = list() var/list/hidden_records = list() var/list/coin_records = list() var/list/slogan_list = list() - var/list/small_ads = list() //Small ad messages in the vending screen - random chance of popping up whenever you open it - var/vend_reply //Thank you for shopping! - var/last_reply = 0 - var/last_slogan = 0 //When did we last pitch? - var/slogan_delay = 6000 //How long until we can pitch again? - var/icon_vend //Icon_state when vending! - var/icon_deny //Icon_state when vending! - var/seconds_electrified = 0 //Shock customers like an airlock. - var/shoot_inventory = 0 //Fire items at customers! We're broken! + ///Small ad messages in the vending screen - random chance of popping up whenever you open it + var/list/small_ads = list() + ///Message sent post vend (Thank you for shopping!) + var/vend_reply + ///Last world tick we sent a vent reply + var/last_reply + ///Last world tick we sent a slogan message out + var/last_slogan + ///How many ticks until we can send another + var/slogan_delay = 6000 + ///Icon when vending an item to the user + var/icon_vend + ///Icon to flash when user is denied a vend + var/icon_deny + ///World ticks the machine is electified for + var/seconds_electrified = MACHINE_NOT_ELECTRIFIED + ///When this is TRUE, we fire items at customers! We're broken! + var/shoot_inventory + ///How likely this is to happen (prob 100) var/shoot_inventory_chance = 2 - var/shut_up = 0 //Stop spouting those godawful pitches! - var/extended_inventory = 0 //can we access the hidden inventory? - var/scan_id = 1 + //Stop spouting those godawful pitches! + var/shut_up + ///can we access the hidden inventory? + var/extended_inventory + ///Are we checking the users ID + var/scan_id = TRUE + ///Coins that we accept? var/obj/item/coin/coin + ///Bills we accept? var/obj/item/stack/spacecash/bill + ///Default price of items if not overridden + var/default_price = 25 + ///Default price of premium items if not overridden + var/extra_price = 50 + /** + * Is this item on station or not + * + * if it doesn't originate from off-station during mapload, everything is free + */ + var/onstation = TRUE //if it doesn't originate from off-station during mapload, everything is free + ///A variable to change on a per instance basis on the map that allows the instance to force cost and ID requirements + var/onstation_override = FALSE //change this on the object on the map to override the onstation check. DO NOT APPLY THIS GLOBALLY. - var/static/vending_cache = list() //used for storing the icons of items being vended + ///ID's that can load this vending machine wtih refills + var/list/canload_access_list - var/dish_quants = list() //used by the snack machine's custom compartment to count dishes. - var/obj/item/vending_refill/refill_canister = null //The type of refill canisters used by this machine. + var/list/vending_machine_input = list() + ///Display header on the input view + var/input_display_header = "Custom Vendor" -/obj/machinery/vending/Initialize() + //The type of refill canisters used by this machine. + var/obj/item/vending_refill/refill_canister = null + + /// how many items have been inserted in a vendor + var/loaded_items + + ///Name of lighting mask for the vending machine + var/light_mask + +/obj/item/circuitboard + ///determines if the circuit board originated from a vendor off station or not. + var/onstation = TRUE + +/** + * Initialize the vending machine + * + * Builds the vending machine inventory, sets up slogans and other such misc work + * + * This also sets the onstation var to: + * * FALSE - if the machine was maploaded on a zlevel that doesn't pass the is_station_level check + * * TRUE - all other cases + */ +/obj/machinery/vending/Initialize(mapload) var/build_inv = FALSE if(!refill_canister) circuit = null @@ -97,6 +192,9 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C QDEL_NULL(bill) return ..() +/obj/machinery/vending/can_speak() + return !shut_up + /obj/machinery/vending/RefreshParts() //Better would be to make constructable child if(!component_parts) return @@ -118,10 +216,31 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C else ..() -/obj/machinery/vending/obj_break(damage_flag) - if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1)) - stat |= BROKEN +/obj/machinery/vending/update_icon_state() + if(stat & BROKEN) icon_state = "[initial(icon_state)]-broken" + set_light(0) + else if(powered()) + icon_state = initial(icon_state) + set_light(1.4) + else + icon_state = "[initial(icon_state)]-off" + set_light(0) + + +/obj/machinery/vending/update_overlays() + . = ..() + if(!light_mask) + return + + SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) + if(!(machine_stat & BROKEN) && powered()) + SSvis_overlays.add_vis_overlay(src, icon, light_mask, EMISSIVE_LAYER, EMISSIVE_PLANE) + +/obj/machinery/vending/obj_break(damage_flag) + . = ..() + if(!.) + return var/dump_amount = 0 var/found_anything = TRUE @@ -146,6 +265,16 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C if (dump_amount >= 16) return +GLOBAL_LIST_EMPTY(vending_products) +/** + * Build the inventory of the vending machine from it's product and record lists + * + * This builds up a full set of /datum/data/vending_products from the product list of the vending machine type + * Arguments: + * * productlist - the list of products that need to be converted + * * recordlist - the list containing /datum/data/vending_product datums + * * startempty - should we set vending_product record amount from the product list (so it's prefilled at roundstart) + */ /obj/machinery/vending/proc/build_inventory(list/productlist, list/recordlist, start_empty = FALSE) for(var/typepath in productlist) var/amount = productlist[typepath] @@ -154,13 +283,23 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C var/atom/temp = typepath var/datum/data/vending_product/R = new /datum/data/vending_product() + GLOB.vending_products[typepath] = 1 R.name = initial(temp.name) R.product_path = typepath if(!start_empty) R.amount = amount R.max_amount = amount + R.custom_price = initial(temp.custom_price) + R.custom_premium_price = initial(temp.custom_premium_price) recordlist += R - +/** + * Refill a vending machine from a refill canister + * + * This takes the products from the refill canister and then fills the products,contraband and premium product categories + * + * Arguments: + * * canister - the vending canister we are refilling from + */ /obj/machinery/vending/proc/restock(obj/item/vending_refill/canister) if (!canister.products) canister.products = products.Copy() @@ -172,7 +311,13 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C . += refill_inventory(canister.products, product_records) . += refill_inventory(canister.contraband, hidden_records) . += refill_inventory(canister.premium, coin_records) - +/** + * Refill our inventory from the passed in product list into the record list + * + * Arguments: + * * productlist - list of types -> amount + * * recordlist - existing record datums + */ /obj/machinery/vending/proc/refill_inventory(list/productlist, list/recordlist) . = 0 for(var/R in recordlist) @@ -182,7 +327,11 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C productlist[record.product_path] -= diff record.amount += diff . += diff - +/** + * Set up a refill canister that matches this machines products + * + * This is used when the machine is deconstructed, so the items aren't "lost" + */ /obj/machinery/vending/proc/update_canister() if (!component_parts) return @@ -190,12 +339,14 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C var/obj/item/vending_refill/R = locate() in component_parts if (!R) CRASH("Constructible vending machine did not have a refill canister") - return R.products = unbuild_inventory(product_records) R.contraband = unbuild_inventory(hidden_records) R.premium = unbuild_inventory(coin_records) +/** + * Given a record list, go through and and return a list of type -> amount + */ /obj/machinery/vending/proc/unbuild_inventory(list/recordlist) . = list() for(var/R in recordlist) @@ -209,11 +360,15 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C return TRUE /obj/machinery/vending/wrench_act(mob/living/user, obj/item/I) + ..() if(panel_open) default_unfasten_wrench(user, I, time = 60) + unbuckle_all_mobs(TRUE) return TRUE /obj/machinery/vending/screwdriver_act(mob/living/user, obj/item/I) + if(..()) + return TRUE if(anchored) default_deconstruction_screwdriver(user, icon_state, icon_state, I) cut_overlays() @@ -260,24 +415,84 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C return else if(refill_canister && istype(I, refill_canister)) if (!panel_open) - to_chat(user, "You should probably unscrew the service panel first.") + to_chat(user, "You should probably unscrew the service panel first!") else if (stat & (BROKEN|NOPOWER)) to_chat(user, "[src] does not respond.") else //if the panel is open we attempt to refill the machine var/obj/item/vending_refill/canister = I if(canister.get_part_rating() == 0) - to_chat(user, "[canister] is empty!") + to_chat(user, "[canister] is empty!") else // instantiate canister if needed var/transferred = restock(canister) if(transferred) to_chat(user, "You loaded [transferred] items in [src].") else - to_chat(user, "There's nothing to restock!") + to_chat(user, "There's nothing to restock!") return + if(compartmentLoadAccessCheck(user) && user.a_intent != INTENT_HARM) + if(canLoadItem(I)) + loadingAttempt(I,user) + updateUsrDialog() //can't put this on the proc above because we spam it below + + if(istype(I, /obj/item/storage/bag)) //trays USUALLY + var/obj/item/storage/T = I + var/loaded = 0 + var/denied_items = 0 + for(var/obj/item/the_item in T.contents) + if(contents.len >= MAX_VENDING_INPUT_AMOUNT) // no more than 30 item can fit inside, legacy from snack vending although not sure why it exists + to_chat(user, "[src]'s compartment is full.") + break + if(canLoadItem(the_item) && loadingAttempt(the_item,user)) + SEND_SIGNAL(T, COMSIG_TRY_STORAGE_TAKE, the_item, src, TRUE) + loaded++ else - return ..() + denied_items++ + if(denied_items) + to_chat(user, "[src] refuses some items!") + if(loaded) + to_chat(user, "You insert [loaded] dishes into [src]'s compartment.") + updateUsrDialog() + else + . = ..() + +/obj/machinery/vending/proc/loadingAttempt(obj/item/I, mob/user) + . = TRUE + if(!user.transferItemToLoc(I, src)) + return FALSE + if(vending_machine_input[format_text(I.name)]) + vending_machine_input[format_text(I.name)]++ + else + vending_machine_input[format_text(I.name)] = 1 + to_chat(user, "You insert [I] into [src]'s input compartment.") + loaded_items++ + +/** + * Is the passed in user allowed to load this vending machines compartments + * + * Arguments: + * * user - mob that is doing the loading of the vending machine + */ +/obj/machinery/vending/proc/compartmentLoadAccessCheck(mob/user) + if(!canload_access_list) + return TRUE + else + var/do_you_have_access = FALSE + var/req_access_txt_holder = req_access_txt + for(var/i in canload_access_list) + req_access_txt = i + if(!allowed(user) && !(obj_flags & EMAGGED) && scan_id) + continue + else + do_you_have_access = TRUE + break //you passed don't bother looping anymore + req_access_txt = req_access_txt_holder // revert to normal (before the proc ran) + if(do_you_have_access) + return TRUE + else + to_chat(user, "[src]'s input compartment blinks red: Access denied.") + return FALSE /obj/machinery/vending/exchange_parts(mob/user, obj/item/storage/part_replacer/W) if(!istype(W)) @@ -297,7 +512,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C else display_parts(user) if(moved) - to_chat(user, "[moved] items restocked.") + to_chat(user, "[moved] items restocked.") W.play_rped_sound() return TRUE @@ -306,201 +521,142 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C . = ..() /obj/machinery/vending/emag_act(mob/user) - . = ..() if(obj_flags & EMAGGED) return obj_flags |= EMAGGED to_chat(user, "You short out the product lock on [src].") - return TRUE /obj/machinery/vending/_try_interact(mob/user) if(seconds_electrified && !(stat & NOPOWER)) if(shock(user, 100)) return + + if(tilted && !user.buckled && !isAI(user)) + to_chat(user, "You begin righting [src].") + if(do_after(user, 50, target=src)) + untilt(user) + return + return ..() -/obj/machinery/vending/ui_interact(mob/user) - var/dat = "" +/obj/machinery/vending/ui_base_html(html) + var/datum/asset/spritesheet/assets = get_asset_datum(/datum/asset/spritesheet/vending) + . = replacetext(html, "", assets.css_tag()) - dat += "

Select an item

" - dat += "
" - if(!product_records.len) - dat += "No product loaded!" - else - var/list/display_records = product_records - if(extended_inventory) - display_records = product_records + hidden_records - if(coin || bill) - display_records = product_records + coin_records - if((coin || bill) && extended_inventory) - display_records = product_records + hidden_records + coin_records - dat += "" - for (var/datum/data/vending_product/R in display_records) - dat += "" - dat += "" - if(R.amount > 0) - dat += "" - else - dat += "" - dat += "" - dat += "
[sanitize(R.name)][R.amount] VendVend
" - dat += "
" - if(premium.len > 0) - dat += "Change Return: " - if (coin || bill) - dat += "[(coin ? coin : "")][(bill ? bill : "")]  
Remove" - else - dat += "No money  Remove" - if(istype(src, /obj/machinery/vending/snack)) - dat += "

Chef's Food Selection

" - dat += "
" - for (var/O in dish_quants) - if(dish_quants[O] > 0) - var/N = dish_quants[O] - dat += "Dispense " - dat += "[capitalize(O)]: [N]
" - dat += "
" +/obj/machinery/vending/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + var/datum/asset/assets = get_asset_datum(/datum/asset/spritesheet/vending) + assets.send(user) + ui = new(user, src, ui_key, "vending", ui_key, 450, 600, master_ui, state) + ui.open() - var/datum/browser/popup = new(user, "vending", (name)) - popup.set_content(dat) - popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) - popup.open() +/obj/machinery/vending/ui_static_data(mob/user) + . = list() + .["product_records"] = list() + for (var/datum/data/vending_product/R in product_records) + var/list/data = list( + path = replacetext(replacetext("[R.product_path]", "/obj/item/", ""), "/", "-"), + name = R.name, + price = R.custom_price || default_price, + max_amount = R.max_amount, + ref = REF(R) + ) + .["product_records"] += list(data) + .["coin_records"] = list() + for (var/datum/data/vending_product/R in coin_records) + var/list/data = list( + path = replacetext(replacetext("[R.product_path]", "/obj/item/", ""), "/", "-"), + name = R.name, + price = R.custom_premium_price || extra_price, + max_amount = R.max_amount, + ref = REF(R), + premium = TRUE + ) + .["coin_records"] += list(data) + .["hidden_records"] = list() + for (var/datum/data/vending_product/R in hidden_records) + var/list/data = list( + path = replacetext(replacetext("[R.product_path]", "/obj/item/", ""), "/", "-"), + name = R.name, + price = R.custom_price || default_price, + max_amount = R.max_amount, + ref = REF(R), + premium = TRUE + ) + .["hidden_records"] += list(data) -/obj/machinery/vending/proc/GetIconForProduct(datum/data/vending_product/P) - if(vending_cache[P.product_path]) - return vending_cache[P.product_path] - var/product = new P.product_path() - vending_cache[P.product_path] = icon2base64(getFlatIcon(product, no_anim = TRUE)) - qdel(product) - return vending_cache[P.product_path] +/obj/machinery/vending/ui_data(mob/user) + . = list() + var/mob/living/carbon/human/H + var/obj/item/card/id/C + .["stock"] = list() + for (var/datum/data/vending_product/R in product_records + coin_records + hidden_records) + .["stock"][R.name] = R.amount + .["extended_inventory"] = extended_inventory -/obj/machinery/vending/Topic(href, href_list) - if(..()) - return - - if(href_list["remove_coin"]) - if(!(coin || bill)) - to_chat(usr, "There is no money in this machine.") +/obj/machinery/vending/ui_act(action, params) + . = ..() + if(.) return - if(coin) - usr.put_in_hands(coin) - to_chat(usr, "You remove [coin] from [src].") - coin = null - if(bill) - usr.put_in_hands(bill) - to_chat(usr, "You remove [bill] from [src].") - bill = null - - - usr.set_machine(src) - - if((href_list["dispense"]) && (vend_ready)) - var/N = href_list["dispense"] - if(dish_quants[N] <= 0) // Sanity check, there are probably ways to press the button when it shouldn't be possible. - return - vend_ready = 0 - use_power(5) - - dish_quants[N] = max(dish_quants[N] - 1, 0) - for(var/obj/O in contents) - if(O.name == N) - O.forceMove(drop_location()) - break - vend_ready = 1 - updateUsrDialog() + switch(action) + if("vend") + . = TRUE + if(!vend_ready) return - - if((href_list["vend"]) && (vend_ready)) if(panel_open) - to_chat(usr, "The vending machine cannot dispense products while its service panel is open!") + to_chat(usr, "The vending machine cannot dispense products while its service panel is open!") return - - if((!allowed(usr)) && !(obj_flags & EMAGGED) && scan_id) //For SECURE VENDING MACHINES YEAH - to_chat(usr, "Access denied." ) - flick(icon_deny,src) - return - - vend_ready = 0 //One thing at a time!! - - var/datum/data/vending_product/R = locate(href_list["vend"]) + vend_ready = FALSE //One thing at a time!! + var/datum/data/vending_product/R = locate(params["ref"]) + var/list/record_to_check = product_records + coin_records + if(extended_inventory) + record_to_check = product_records + coin_records + hidden_records if(!R || !istype(R) || !R.product_path) - vend_ready = 1 + vend_ready = TRUE return - + var/price_to_use = default_price + if(R.custom_price) + price_to_use = R.custom_price if(R in hidden_records) if(!extended_inventory) - vend_ready = 1 + vend_ready = TRUE return - else if(R in coin_records) - if(!(coin || bill)) - to_chat(usr, "You need to insert money to get this item!") - vend_ready = 1 - return - if(coin && coin.string_attached) - if(prob(50)) - if(usr.CanReach(src)) - if(usr.put_in_hands(coin)) - to_chat(usr, "You successfully pull [coin] out before [src] could swallow it.") - coin = null - else - to_chat(usr, "You couldn't pull [coin] out because your hands are full!") - QDEL_NULL(coin) - else - to_chat(usr, "You successfully pull [coin] out of [src] to the floor.") - coin = null - else - to_chat(usr, "You weren't able to pull [coin] out fast enough, the machine ate it, string and all!") - QDEL_NULL(coin) - else - QDEL_NULL(coin) - QDEL_NULL(bill) - - else if (!(R in product_records)) - vend_ready = 1 + else if (!(R in record_to_check)) + vend_ready = TRUE message_admins("Vending machine exploit attempted by [ADMIN_LOOKUPFLW(usr)]!") return - if (R.amount <= 0) - to_chat(usr, "Sold out.") - vend_ready = 1 + say("Sold out of [R.name].") + flick(icon_deny,src) + vend_ready = TRUE return - else - R.amount-- + if(onstation && ishuman(usr)) + var/mob/living/carbon/human/H = usr + var/obj/item/card/id/C = H.get_idcard(TRUE) - if(((last_reply + 200) <= world.time) && vend_reply) - speak(vend_reply) - last_reply = world.time + + if(last_shopper != usr || purchase_message_cooldown < world.time) + say("Thank you for shopping with [src]!") + purchase_message_cooldown = world.time + 5 SECONDS + last_shopper = usr use_power(5) if(icon_vend) //Show the vending animation if needed flick(icon_vend,src) - var/vended = new R.product_path(get_turf(src)) - if(usr.CanReach(src)) - if(usr.put_in_hands(vended)) - to_chat(usr, "You take [R.name] out of the slot.") - else - to_chat(usr, "[capitalize(R.name)] falls onto the floor!") - else - to_chat(usr, "[capitalize(R.name)] falls onto the floor!") + playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3) + new R.product_path(get_turf(src)) + R.amount-- SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[R.product_path]")) - vend_ready = 1 - - updateUsrDialog() - return - - else if(href_list["togglevoice"] && panel_open) - shut_up = !shut_up - - updateUsrDialog() - + vend_ready = TRUE /obj/machinery/vending/process() if(stat & (BROKEN|NOPOWER)) - return + return PROCESS_KILL if(!active) return - if(seconds_electrified > 0) + if(seconds_electrified > MACHINE_NOT_ELECTRIFIED) seconds_electrified-- //Pitch to the people! Really sell it! @@ -511,7 +667,14 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C if(shoot_inventory && prob(shoot_inventory_chance)) throw_item() - +/** + * Speak the given message verbally + * + * Checks if the machine is powered and the message exists + * + * Arguments: + * * message - the message to speak + */ /obj/machinery/vending/proc/speak(message) if(stat & (BROKEN|NOPOWER)) return @@ -521,17 +684,17 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C say(message) /obj/machinery/vending/power_change() - if(stat & BROKEN) - icon_state = "[initial(icon_state)]-broken" - else + . = ..() if(powered()) - icon_state = initial(icon_state) - stat &= ~NOPOWER - else - icon_state = "[initial(icon_state)]-off" - stat |= NOPOWER + START_PROCESSING(SSmachines, src) //Somebody cut an important wire and now we're following a new definition of "pitch." +/** + * Throw an item from our internal inventory out in front of us + * + * This is called when we are hacked, it selects a random product from the records that has an amount > 0 + * This item is then created and tossed out in front of us with a visible message + */ /obj/machinery/vending/proc/throw_item() var/obj/throw_item = null var/mob/living/target = locate() in view(7,src) @@ -556,12 +719,28 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C throw_item.throw_at(target, 16, 3) visible_message("[src] launches [throw_item] at [target]!") return 1 - +/** + * A callback called before an item is tossed out + * + * Override this if you need to do any special case handling + * + * Arguments: + * * I - obj/item being thrown + */ /obj/machinery/vending/proc/pre_throw(obj/item/I) return - -/obj/machinery/vending/proc/shock(mob/user, prb) - if(stat & (BROKEN|NOPOWER)) // unpowered, no shock +/** + * Shock the passed in user + * + * This checks we have power and that the passed in prob is passed, then generates some sparks + * and calls electrocute_mob on the user + * + * Arguments: + * * user - the user to shock + * * prb - probability the shock happens + */ +/obj/machinery/vending/proc/shock(mob/living/user, prb) + if(!istype(user) || stat & (BROKEN|NOPOWER)) // unpowered, no shock return FALSE if(!prob(prb)) return FALSE @@ -571,6 +750,15 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C return TRUE else return FALSE +/** + * Are we able to load the item passed in + * + * Arguments: + * * I - the item being loaded + * * user - the user doing the loading + */ +/obj/machinery/vending/proc/canLoadItem(obj/item/I, mob/user) + return FALSE /obj/machinery/vending/onTransitZ() return From 157ef93c0b429ffe3e03b10dc557252b913c0fd8 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Wed, 1 Apr 2020 15:12:59 +1100 Subject: [PATCH 059/271] I think everyone should be landing punches now. --- code/modules/mob/living/carbon/human/species.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index f0bf2fc23e..199f9de4a1 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1477,6 +1477,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) user.adjustStaminaLossBuffered(5) //CITADEL CHANGE - makes punching cause staminaloss var/damage = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh) + var/puncherstam = user.getStaminaLoss() + var/puncherbrute = user.getBruteLoss() //CITADEL CHANGES - makes resting and disabled combat mode reduce punch damage, makes being out of combat mode result in you taking more damage if(!(target.combat_flags & COMBAT_FLAG_COMBAT_ACTIVE) && damage < user.dna.species.punchstunthreshold) @@ -1494,7 +1496,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(atk_verb == ATTACK_EFFECT_KICK) //kicks never miss (provided your species deals more than 0 damage) miss_chance = 0 else - miss_chance = min((user.dna.species.punchdamagehigh/user.dna.species.punchdamagelow) + user.getStaminaLoss() + (user.getBruteLoss()*0.5), 100) //old base chance for a miss + various damage. capped at 100 to prevent weirdness in prob() + miss_chance = min(puncherstam + (puncherbrute*0.5), 100) //probability of miss based on stamina + half of brute. capped at 100 to prevent weirdness in prob() if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted playsound(target.loc, user.dna.species.miss_sound, 25, TRUE, -1) From 6e62ea5cb1dd6634e466ca8d5af8f7eb32964a78 Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 1 Apr 2020 09:15:31 +0300 Subject: [PATCH 060/271] Quickfix for baaad problem --- code/modules/antagonists/bloodsucker/bloodsucker_life.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index 178d069f52..fe43310875 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -236,7 +236,7 @@ else // No damage, OR toxin healed AND brute healed and NOT in coffin (since you cannot heal burn) if(total_damage <= 0 || total_toxloss <= 0 && total_brute <= 0 && !istype(owner.current.loc, /obj/structure/closet/crate/coffin)) // Not Daytime, Not in Torpor - if(!SSticker.mode.is_daylight() && HAS_TRAIT_FROM(owner.current, TRAIT_DEATHCOMA, "bloodsucker")) + if(!SSticker.mode.is_daylight() && HAS_TRAIT_FROM(owner.current, TRAIT_FAKEDEATH, "bloodsucker")) Torpor_End() // Fake Unconscious if(poweron_masquerade == TRUE && total_damage >= owner.current.getMaxHealth() - HEALTH_THRESHOLD_FULLCRIT) @@ -261,6 +261,7 @@ owner.current.stat = SOFT_CRIT owner.current.remove_status_effect(STATUS_EFFECT_UNCONSCIOUS) owner.current.cure_fakedeath("bloodsucker") + REMOVE_TRAIT(owner.current, TRAIT_FAKEDEATH, "bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_NODEATH, "bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_RESISTHIGHPRESSURE, "bloodsucker") REMOVE_TRAIT(owner.current, TRAIT_RESISTLOWPRESSURE, "bloodsucker") From ca1f3d9a1e10e10cba8cc5a9d5b6477f7e0db7cd Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 1 Apr 2020 11:45:11 +0300 Subject: [PATCH 061/271] Added succ sound for the victim --- code/modules/antagonists/bloodsucker/powers/feed.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm index 71b866b2f4..40e0dbd25a 100644 --- a/code/modules/antagonists/bloodsucker/powers/feed.dm +++ b/code/modules/antagonists/bloodsucker/powers/feed.dm @@ -275,8 +275,9 @@ break // Blood Gulp Sound - owner.playsound_local(null, 'sound/effects/singlebeat.ogg', 40, 1) // Play THIS sound for user only. The "null" is where turf would go if a location was needed. Null puts it right in their head. - + owner.playsound_local(null, 'sound/effects/singlebeat.ogg', 40, TRUE) + if(!amSilent) + target.playsound_local(null, 'sound/effects/singlebeat.ogg', 40, TRUE) // DONE! //DeactivatePower(user,target) if(amSilent) @@ -299,7 +300,7 @@ SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "drankkilled", /datum/mood_event/drankkilled) // BAD // in bloodsucker_life.dm /datum/action/bloodsucker/feed/ContinueActive(mob/living/user, mob/living/target) - return ..() && target && (!target_grappled || user.pulling == target) && sucking_checks(target, TRUE, TRUE) // Active, and still Antag, + return ..() && target && (!target_grappled || user.pulling == target) && sucking_checks(target, TRUE, TRUE) // Active, and still antag, // NOTE: We only care about pulling if target started off that way. Mostly only important for Aggressive feed. /datum/action/bloodsucker/feed/proc/ApplyVictimEffects(mob/living/target) From 13c474f2af08623e48344481d3d9348f87dbe356 Mon Sep 17 00:00:00 2001 From: necromanceranne Date: Wed, 1 Apr 2020 22:05:22 +1100 Subject: [PATCH 062/271] brawling just got mathematical? --- code/modules/mob/living/carbon/human/species.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 199f9de4a1..3f7b7d5914 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1479,6 +1479,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) var/damage = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh) var/puncherstam = user.getStaminaLoss() var/puncherbrute = user.getBruteLoss() + var/punchedstam = target.getStaminaLoss() + var/punchedbrute = target.getBruteLoss() //CITADEL CHANGES - makes resting and disabled combat mode reduce punch damage, makes being out of combat mode result in you taking more damage if(!(target.combat_flags & COMBAT_FLAG_COMBAT_ACTIVE) && damage < user.dna.species.punchstunthreshold) @@ -1496,7 +1498,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(atk_verb == ATTACK_EFFECT_KICK) //kicks never miss (provided your species deals more than 0 damage) miss_chance = 0 else - miss_chance = min(puncherstam + (puncherbrute*0.5), 100) //probability of miss based on stamina + half of brute. capped at 100 to prevent weirdness in prob() + miss_chance = min(clamp(((puncherstam + puncherbrute)*0.5) - ((punchedstam + punchedbrute)*0.5), 0, 100)) //probability of miss based on half your stamina and brute total against half their stamina and brute total. Capped at max 100 and min 0 to prevent weirdness in prob() if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted playsound(target.loc, user.dna.species.miss_sound, 25, TRUE, -1) From 881f8765f448c8c6a7827c4a325759755da10f7d Mon Sep 17 00:00:00 2001 From: Artur Date: Wed, 1 Apr 2020 15:29:40 +0300 Subject: [PATCH 063/271] Stufffs --- code/datums/browser.dm | 2 +- code/modules/client/asset_cache.dm | 36 ++++++++- code/modules/vending/_vending.dm | 76 ++++++------------ sound/machines/machine_vend.ogg | Bin 0 -> 13777 bytes tgui-next/packages/tgui/interfaces/Vending.js | 23 +----- tgui-next/packages/tgui/public/tgui.bundle.js | 4 +- 6 files changed, 64 insertions(+), 77 deletions(-) create mode 100644 sound/machines/machine_vend.ogg diff --git a/code/datums/browser.dm b/code/datums/browser.dm index 8b82c1812e..5b1df6cb68 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -39,7 +39,7 @@ //title_image = ntitle_image /datum/browser/proc/add_stylesheet(name, file) - if (istype(name, /datum/asset/spritesheet)) + if(istype(name, /datum/asset/spritesheet)) var/datum/asset/spritesheet/sheet = name stylesheets["spritesheet_[sheet.name].css"] = "data/spritesheets/[sheet.name]" else diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm index 7bafefcf53..d78152acd3 100644 --- a/code/modules/client/asset_cache.dm +++ b/code/modules/client/asset_cache.dm @@ -704,9 +704,43 @@ GLOBAL_LIST_EMPTY(asset_datums) Insert(initial(D.id), I) return ..() +/datum/asset/spritesheet/vending + name = "vending" + +/datum/asset/spritesheet/vending/register() + for(var/k in GLOB.vending_products) + var/atom/item = k + if(!ispath(item, /atom)) + continue + + var/icon_file = initial(item.icon) + var/icon_state = initial(item.icon_state) + var/icon/I + + var/icon_states_list = icon_states(icon_file) + if(icon_state in icon_states_list) + I = icon(icon_file, icon_state, SOUTH) + var/c = initial(item.color) + if(!isnull(c) && c != "#FFFFFF") + I.Blend(c, ICON_MULTIPLY) + else + var/icon_states_string + for(var/an_icon_state in icon_states_list) + if(!icon_states_string) + icon_states_string = "[json_encode(an_icon_state)](\ref[an_icon_state])" + else + icon_states_string += ", [json_encode(an_icon_state)](\ref[an_icon_state])" + stack_trace("[item] does not have a valid icon state, icon=[icon_file], icon_state=[json_encode(icon_state)](\ref[icon_state]), icon_states=[icon_states_string]") + I = icon('icons/turf/floors.dmi', "", SOUTH) + + var/imgid = replacetext(replacetext("[item]", "/obj/item/", ""), "/", "-") + + Insert(imgid, I) + return ..() + /datum/asset/simple/genetics assets = list( "dna_discovered.gif" = 'html/dna_discovered.gif', "dna_undiscovered.gif" = 'html/dna_undiscovered.gif', "dna_extra.gif" = 'html/dna_extra.gif' -) \ No newline at end of file +) diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index c1f6a3a4be..d2ea0ada47 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -30,10 +30,6 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C var/amount = 0 ///How many we can store at maximum var/max_amount = 0 - ///Does the item have a custom price override - var/custom_price - ///Does the item have a custom premium price override - var/custom_premium_price /** * # vending machines @@ -96,12 +92,14 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C var/list/slogan_list = list() ///Small ad messages in the vending screen - random chance of popping up whenever you open it var/list/small_ads = list() + var/dish_quants = list() //used by the snack machine's custom compartment to count dishes. ///Message sent post vend (Thank you for shopping!) var/vend_reply ///Last world tick we sent a vent reply var/last_reply ///Last world tick we sent a slogan message out var/last_slogan + var/last_shopper ///How many ticks until we can send another var/slogan_delay = 6000 ///Icon when vending an item to the user @@ -125,9 +123,6 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C ///Bills we accept? var/obj/item/stack/spacecash/bill ///Default price of items if not overridden - var/default_price = 25 - ///Default price of premium items if not overridden - var/extra_price = 50 /** * Is this item on station or not * @@ -234,7 +229,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C return SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays) - if(!(machine_stat & BROKEN) && powered()) + if(!(stat & BROKEN) && powered()) SSvis_overlays.add_vis_overlay(src, icon, light_mask, EMISSIVE_LAYER, EMISSIVE_PLANE) /obj/machinery/vending/obj_break(damage_flag) @@ -289,8 +284,6 @@ GLOBAL_LIST_EMPTY(vending_products) if(!start_empty) R.amount = amount R.max_amount = amount - R.custom_price = initial(temp.custom_price) - R.custom_premium_price = initial(temp.custom_premium_price) recordlist += R /** * Refill a vending machine from a refill canister @@ -447,7 +440,7 @@ GLOBAL_LIST_EMPTY(vending_products) if(canLoadItem(the_item) && loadingAttempt(the_item,user)) SEND_SIGNAL(T, COMSIG_TRY_STORAGE_TAKE, the_item, src, TRUE) loaded++ - else + else denied_items++ if(denied_items) to_chat(user, "[src] refuses some items!") @@ -530,13 +523,6 @@ GLOBAL_LIST_EMPTY(vending_products) if(seconds_electrified && !(stat & NOPOWER)) if(shock(user, 100)) return - - if(tilted && !user.buckled && !isAI(user)) - to_chat(user, "You begin righting [src].") - if(do_after(user, 50, target=src)) - untilt(user) - return - return ..() /obj/machinery/vending/ui_base_html(html) @@ -558,7 +544,6 @@ GLOBAL_LIST_EMPTY(vending_products) var/list/data = list( path = replacetext(replacetext("[R.product_path]", "/obj/item/", ""), "/", "-"), name = R.name, - price = R.custom_price || default_price, max_amount = R.max_amount, ref = REF(R) ) @@ -568,7 +553,6 @@ GLOBAL_LIST_EMPTY(vending_products) var/list/data = list( path = replacetext(replacetext("[R.product_path]", "/obj/item/", ""), "/", "-"), name = R.name, - price = R.custom_premium_price || extra_price, max_amount = R.max_amount, ref = REF(R), premium = TRUE @@ -579,7 +563,6 @@ GLOBAL_LIST_EMPTY(vending_products) var/list/data = list( path = replacetext(replacetext("[R.product_path]", "/obj/item/", ""), "/", "-"), name = R.name, - price = R.custom_price || default_price, max_amount = R.max_amount, ref = REF(R), premium = TRUE @@ -588,66 +571,55 @@ GLOBAL_LIST_EMPTY(vending_products) /obj/machinery/vending/ui_data(mob/user) . = list() - var/mob/living/carbon/human/H - var/obj/item/card/id/C .["stock"] = list() - for (var/datum/data/vending_product/R in product_records + coin_records + hidden_records) + for(var/datum/data/vending_product/R in product_records + coin_records + hidden_records) .["stock"][R.name] = R.amount .["extended_inventory"] = extended_inventory /obj/machinery/vending/ui_act(action, params) . = ..() if(.) - return + return switch(action) if("vend") . = TRUE if(!vend_ready) - return - if(panel_open) + return + if(panel_open) to_chat(usr, "The vending machine cannot dispense products while its service panel is open!") - return + return vend_ready = FALSE //One thing at a time!! var/datum/data/vending_product/R = locate(params["ref"]) var/list/record_to_check = product_records + coin_records if(extended_inventory) record_to_check = product_records + coin_records + hidden_records - if(!R || !istype(R) || !R.product_path) + if(!R || !istype(R) || !R.product_path) vend_ready = TRUE - return - var/price_to_use = default_price - if(R.custom_price) - price_to_use = R.custom_price - if(R in hidden_records) - if(!extended_inventory) - vend_ready = TRUE return - else if (!(R in record_to_check)) + if(R in hidden_records) + if(!extended_inventory) + vend_ready = TRUE + return + else if(!(R in record_to_check)) vend_ready = TRUE - message_admins("Vending machine exploit attempted by [ADMIN_LOOKUPFLW(usr)]!") - return - if (R.amount <= 0) + message_admins("Vending machine exploit attempted by [ADMIN_LOOKUPFLW(usr)]!") + return + if (R.amount <= 0) say("Sold out of [R.name].") flick(icon_deny,src) vend_ready = TRUE - return - if(onstation && ishuman(usr)) - var/mob/living/carbon/human/H = usr - var/obj/item/card/id/C = H.get_idcard(TRUE) - - - + return if(last_shopper != usr || purchase_message_cooldown < world.time) say("Thank you for shopping with [src]!") purchase_message_cooldown = world.time + 5 SECONDS last_shopper = usr - use_power(5) - if(icon_vend) //Show the vending animation if needed - flick(icon_vend,src) + use_power(5) + if(icon_vend) //Show the vending animation if needed + flick(icon_vend,src) playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3) new R.product_path(get_turf(src)) R.amount-- - SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[R.product_path]")) + SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[R.product_path]")) vend_ready = TRUE /obj/machinery/vending/process() @@ -685,7 +657,7 @@ GLOBAL_LIST_EMPTY(vending_products) /obj/machinery/vending/power_change() . = ..() - if(powered()) + if(powered()) START_PROCESSING(SSmachines, src) //Somebody cut an important wire and now we're following a new definition of "pitch." diff --git a/sound/machines/machine_vend.ogg b/sound/machines/machine_vend.ogg new file mode 100644 index 0000000000000000000000000000000000000000..92867a1f3d3bd6b5b9a22e766ebeca6590420770 GIT binary patch literal 13777 zcmb7qWmsIzvhEt(-9mssaJN8!03ldlfDmLLxVr@gx8T9uJ;B`}I3dB^T@u{gg5809 zd!K#ok9*EtPftI!s=BMYy6f$(?pg9CCQ1Mt@Xtf>50#txLJ&j&a>9*J)t`G=bSejaK*NVLf}46$F`|K}40|5pz)O#H#@qbZxboe8C-nZC-Sc1meV zE)GsE4lWLEN(Ol=YqO7bMo=Sbd&URVAjH2_=|sg;KmZB=cs-XT`RO$r2>}2c0LUzU z8SmEJe6i@}o&T1=E%1R_DSkWb8dwjb_M7ua-TGiWDCG-7LI6MjyckiE?UqHin=dGy ztm7(>GIc#r{y`kEPyB`AX4QA7V&+A+g*GTqFx3zN*szG8Q27xkN>Ta$D`U(_)DLFN zP1NsY%p-&Lb9PbsVhLzRRpt6szdjikr$u`Z!RhQa71BB{*^u2 zK?&;%jA{7De9-(?-(RyR0j~$krK1S?D#!*#$OewchHz;W@MuT4SjQB3l(>Z;$`TXG z5LJklmXpARv>PKbo2``Z;6t3STsWUqCS&VE8a3 znGC@zeBrB7;k0Ja#xC(DLCN_^$(se~Xpco;Q;P7=8(`Tvc*8l|#3lMMPtG$-&i&se z5z}raKm<0HUAAO@(_1?l224Hh4qDa$a$MP2Xq6;ec)?U2JUbZJzxu-@G{a=#+ zn|9bEg3ltMB-j-rIE2qLH1=WuUrynL+}QsjDG_)-`U}husx;$xb1xL`NWI5l@q(!( z`GO*b@wX*dfxs`Tl*z-%CjkAT7po9Dysg{FJR#KsZjJ-)6 znMuRR&_QX8+L_hcg#tMiE-ten|sGIGJp2UuOT;pFxFdIA^~6q`a{ zQ?LA2-=k9KV1ah(;CKFCuo^+LDHippS}^L$Fm-)(S1Z<^QJdV(wXK% z=@E{kPe7GR6+>YkffbX<+0B?u5f&~9F7SP?_=G;k-sjPBN&xV~`A;vV3Lw!Bq{>UR zLu1O%jt*w(WvJ@s>SKAxihm3W?3Dk&5yRlD9tE@TOsE)y)vTvOOZlZNa%v{knR8$c z&Y1HTQLss+G>m+M^yCpA0f}}nRAl;~{pZ9T(hT8}kNig(IwFHP^Iv~{bY_UEqm^2M z!(5%e*0jUYl*iIkm=1A(ky`wJOMgv=Spq!3=@E{x`k|a%slM+-QU6ZxKgfA&OVAZX z))Pe|Q%NH?$}({LLjL5%2)+c&U6cs5MhG3oh>VnYwZ?di#vn!$jz%-JMjCY%Us|mhLqCkLlmYfdK}VBot{R{u^@IILX9d;HhMhJNav)&90BmEfVXcm+7#EbYN0dqZwlB1zyj&3xAWxUX4I_MwGS2AP%s0=O!Oisn!_5I5Tlp zOR8Ek=R6AbS|bo6HG7DfiqXu4mfE?40>ncj&gemUVYNgYFf-}#%U(e5xyRg8 z+}fnWuS?mnT9|_ox(k|R;Ir8 za`eWN`4;wAhq+6u1(W%fh@+L8&M1qycFvtz=zL2lOX~@@r_l%3T(h~{oj(m*4K3_D z4V?2WWdx9kDToGdz(kz?3X$i^w8t+#$$vMbH|??H?5XFRK2;m`>)fN)a!2x+d&Y5p zL)hMRr`@%{hEw?9AqFbUp&opL;|m4>Y2|Yu5FgORvBTm-q*BCytp_<+qF`JD9IlOQ z!+vShoNOYnG^;*_=z3yoKR@G_*mzM!R)0Ko^qikWV6&1M6$^9LNgS}nmsk=pM%LU( zbJ>y!Qcff)=sWOwDr|Lw2`0HV^6jw{w<%%Uxp_r4fx%j8EQSCRxnC@pi8C%%AEV%> ziehk0wz7dm#Tt>p;Fnk;8Kw%Dz>0H?#Gs%5q4CtejZeb*q5^YJm@0mT0+=dB#*Th| zX_zX3O$JyES=J6Ba8LF5RcQr!! z>n6=HbAEpK+jwZrImtugBr;4quo_l8=d=37{5A0w<`wHi217M#lNN)`d6VXH6>GEl z{X**`h6DA;*rG54iNqK=YbVXEIM>PkX`FEqriyiP7AAOXe1a5a$K*6@tfpY93ObT4 z2ETVD8pyLwk{R?1b;Mf?)L$fPM8cqs!3W!r65k`iV2k<)TR(;l53{HYk(u}duU~q}QA{bmy1A{Hv18gmaV?U5(J}f#SOn}#S zTb8~PaRnZunF^XAe2Fm_DjgpF9yl|#R$Bbl3ot|w2k0fvHtb)wuw!%`%EAL} z_+)?=n&k)bU)iQC<&V8W0suV>Q6wsV3{hBA7%M8pNDBbEZ6JWM&5!H7X*U?4ghiT^ zKh-TtV4J0W0W5=20pQ2i|5x_7tNwpygutfiFJSpz_s2F0y@Y|ce?Tz;&<=~k4PZVh zutk$S&ap<~r>H2M6DP^JK^YsZ2rhvPN=xPBOsa=e*u8_zLJg5dD9jnv%~?B140d5& zs&2svqZo2>NDPWOC)LHI3u;IVLV2dt6=6kS*3@4_D~51(YFg~qCrs)W*Q~>$6QLR+ zgA$&NdFbIo;lUbM^!>i1m6a4wgsTtMHL(J`NKN;3X2s*_jH( zf&o|@%n4KT7!OM^{=@T&{D=1?R*~y3k2dx_45AO^U_5Zo-?|TjMsEKPk1^*#--DDf z2NrZQ{Eb#(VbXsnynj=Q|0z!AtQsoSW8H`Bi{FEm2kN2SM~W$j002HN!?r|S zgfv5CHNP-AO=sZI@nNAd<)FGHqvXRt2Xs^Zqzph~>`1M_VDu%+m1XpcjT__)2#g`p zKqrKUMYA{$p%a`p90Nxr2tYlo@!TBmAtpWhZ zUUCRliuzBRV`&hb!?97F&+o@L29g67tb+}I=FYsnyy%gINZY2(h>lP@aSbDlJ~?UG z%1~I76>B3w(2?UL-1R(HA2fnaQRI(Mv{? zm{G-?yubl)a%~AL>2x^-^WM@$Sal(c4F|bW*DhF~31+F*KY>fmEUUIKBkuEVf3^EV zRhAVsQ{VS1=ldk4H`H$sbm4?eV*NsE_3`x&7^8P`OV6$lw3Ob`WRjD{Rc+tiI|q&=pBqD#?N>JkAhI-D)43mMhe% z94st59F}JHJYzpg(E5MZ-V=C9ZI97K?m(!WgdSPQieyu=XI+WyRz+SSrHtl5& zA1Lv>(2zcHaih1`gws5~j%z9jjOn^M@+;kKEdCHm{03R<3$q@u=SNoP7fOO<Be+rN3j4Cmrn63(pMmIePuLDbed#McZmEW9D3XVNtol8iNJ{F6y8CV(k- zPznBMuHkMAdbin^Z}%z5sml4ZveZZ=n5RPet48N|SH+c}2d-IvFs zwU|`#nFPeeC$}pO%Fg9ucJlr<$&T_$i#KywdIgFXBphn_L9oXY&T>6()=#P*!php^ zb~Z)NN!Dd#*A!peYc1-LPJ4Onu8t`sN}smFY#> zmr;2hShw^uKMUd6nmzq0=zsDa_<2PVl&{UN`v84NL{ur7r^!s6+t;byN z(oNL=Bp`JM0^fA|p)IB+a_?j~6Spm4ZYfT-T-l&Kxz@M9QzVKtG!gs`7{8ST>B%Kx zQc`*u0Y%|^lXWckvj{9o5#@&j{*7!Th=gds{FRqD6?${zEpi-YD6l=Nc9fp6Eqo3R z_*itW!q;zvCwB`!e^!W6a`5fL4Ntu(74Ydgyh_zdXU;lZXX?4tfV>*(c$pCzK!)cL z!h9fN?MfSDDpE&IJubGagxKcu{)8oD`2CsxY(RB;RV$p_gxgVJf_DYIl z>V638FMRQOW`lCcPH4{LT=0^3jbO7x;0=Kku`xJZOGcJvse9HcSf=mOL^rnA`)+4I#=IlFLPMT&#b${msUAl1Irb!)D zpEk2nl?>_E?XFm)zh%a$7YV)a|bIOKSsz=T!W?@cdnFiK4#cd{VD; z@Z#l_(?n*N>fc|JS*!UTO&F+^BFO|3si?W5&|r+42BVqMZfRlCsXnh~BHzSrmQ|e~ z_!+1nMEQxd)RNc7u5;El-R>9JT_J+&+Lp3_450nQ!7uQm0Up|Ac$xg|)M`*|P<;#v z0&=rmN3eoqpI1up$;p(e{N~oET-q%|(ETuEK1HU+0#`nqdr+a_?o^O>hY^%Tfvalz z3CmwV#phLhdx0njE7zKlm9(6WBK(9 zk>6CD>}{xCve;x}_12*c%;q3kAQ2jq=Bm4XsYiqglgX?}s8y3tSInYed z?8j$?ujbGE8}?}>Q3YyQkXocLEuRy>!P_$fUL%yg9Y~gyk#40l1^W<`%tkvL5f6F$ zl2k{n^%A5UInn^WgH)_v5q-?(s(qv9$c2CU!f94M8_xUvqQRnbfNI)dTd>q!4!a2E zZ6%=={D}BUECz@PX%u>bItz7e2d!`I8>rE>FZAgWU%v+l|HGIOoUv*{d|ttW^K`C z@8?Q%%yCj)T?3DG_2z&IbDXjTVK(8beqSV*;zpWoG`G0jhFCbY5q^sQF`4{*}BeHKR;C*^qjKY7b9T^h1GxFy&%4jvm?4?v>DEZ zbcs0Qd-;A5He!q1bG=j_q20RKOT6DlCtVaKiEVQ1GpbW-`!9GA_IG)eLk7}+_(t~g z8Vl4P@!%NnysU9Ia}*zROQR=U;4q99<%^!l^dlL>nJN@{mV1N4SuCI^$`X9p!LR(5 zZDgWi7wM!EKcTLBk4U)OWn!HRXF|d5ycp}j=aTJmb$u6)xQ@o?)0$JPHeB@RiKNRc zUjjsu&w`x%z0h{zw_S%E$P&qZh@a(DNk_+mO_a1LAnKXjbEu{4)lyEo=->H8L8bx< z-@>r)B{r+NQmVvaqqZ>QXtd8>f@DXFj8rYMG&O2kEbfZmzv^@KVI*Lpx~9|H<`XJs zqiT6)pa=NqON}TnJ?mRk3T5zPJnnO6{=i36OD7AKihvWTOl2!_{zaj2LvfssW9jfx za@Yk<&C2vS8 zjmu}oc;(ow;U!qbG9X00yTVH9Vuv7q+NaZM4#4fxWNG-8%Yk@PV3Y?w0bypWYhv>C z0~ib1aY-s+H9v}D4UO9?2or_#MS?=gQs?YtIgAY}2xs~{cr}fKX6Xazw@C<~B1bh@ zjornR8uFMvx&+0==SyxfFA5RLF;09w38NJk_;15pObakBSzeUXCSMXgPWKCDu z43Vw9zcUkv-VvRwIC~Jhg-~o8v%ZQguzw7m@N)(NEw-LE6rmMb5 zih!vA*~ahIO065vr<{&zWTz(9(tidfUZvDMMfju4S7uwF37=f88=GF891b=*^YTmN z*f}7Ht%^E+shAVT=PHP1p3|x$)Ng;sa}<7Y2tW(yojq30SWew%4IP1e#zfgaD)N=o zQMbdB^dd3{qGL$a(Jm!daij5~(d_)h6m#oFP~yB@Cz(J>oP)6uUkMu1~x6N?(rmjcLt)jt>gAXIvHxzh6rj zJ0lCZiStd^*u%c)8jm~Y;E6bDRQJAkGCujuy&{87q@m5lH}hn`wR|SIMiK=%bqWF8 z3e*NZbCmjhazd))nk?Ta8iHUKkKTRNfIITR?R=e;U(HG3W@Ju&>gfsdW~|ac^o{<~ zi2ko6q}D+p5@M^^Zr)E~ERDiWb#{f%2PgI_e>u;F%Co62t9T=xuIU-IxW#@oL=Y)FET;WT0)@2 zOt^NwOn@1({^cn?RN=+O&LYFjn*vP9SCP$#D^uIwf`z zI3i*e_UqH<7+-VbaWb>O_1xN2o^HmjC_q!J&0Cb&Zp)9lUX)#R9rcAIJ-!k_gX8QA z>OHW-#wx1MytgklZ|w)t$q{99=pfC$-O}c=<)?&INeq%9p)l#)tK2twbvo8Ri`SX< zv|{3TGjPfGe0La(Dw;&G0!0MadzvkIb2LtpDH>0a&W$lD>GHjg12%O)03KW>1iNzj zo42|c=;Gv8<{P?#6f&eSh#Mi#t@le;mz@yu7VT#3F?!y&8yID!EPcea<$+o6`Vcty zxK1O!C$fD6`#1=%C{W=H-ehbXI3fuCEdZTh&ysAboUce zR!2)bTL^T{PO))Jj%t^*cdY+ooHj|7#}!UC6J(^@?V$dg$uve_(e207N;mbY}xv+z$*g^=|EZ$s*Yi4p-X$5iQ%g25E+E%}O+ zfhpkT~F3ld8@tj>vH$GZRiB_cg?cs}BY41yU59>ARu( z4jimXARK|xNx5WVF$r)Am%A?)JOh`=yM0q{8WW4tVXEy)fCo+$Q6=83FJH)gumoD@ zkf7NOX{})#*$Ek|*Vd!#7fOpsgT6zw)(}~%>p-BcB8fqFg4)*oI!JY|P8af(U8Ws*V_Pu^rBO@73$G*sKSpgTrq4XHzSH>-2&%I%tfw3p|PrW(D zck4lii7V#p&aU(1&WjK|WaFVf6VB@enpN~42^WUGdwv^mY`)p>-4I{IzNY^&IJ5(( zT+SyBfP}pjzG#2|>spPM;+YBGdTZWb{A4WmRjwvjKG|_tycru?YEGuNa+pZ&(eb=j zj}ns0+iBWJ@4!#WCYE_H2DzJsP zXFs4xtEVYEXWb&Lc=-#zI``P(H?n(;>Q@f!kROzWY0{WC#b=oeTip&BscCtBVzNU1 zjOq>*fBMM{qYSi(T3P@`M4L3WGHRsdJ#oE{?Jp0Xhns(^w6cveR&<7lIs4Rj35x#gOL^&+q3!-XL%mZXhd!`Q!z7i8nxFuaB= zHk2n^H44>*?h4aR3oD|S!u=33ByJD^KRPA2UYZqV*FTtks9rl9q&deIGq<(UDQ(VM ziCaUSx~?qiu&Z*UMhrz@%VV0l?ISSIdLr5}vIAdeS2-zIyU%VbXmWWKLjlCn8G+Z8 zC4Xn`9h8xhfLLtwl2z`WVt4qjyQGCJPWInOz&Yv2Mx_zz@{Zib{US|DIo{tq5yeyY`&TqI2v z;{3&Oi^=jP@|Me(Fll;5;^v~<9PgjsPvxvQ?e6Q7iGRCPo3f)C%%0Y5<23d~7Okv# zL+I`1wx1QNZu9g~O^`n^<5}deDHP8eO>7jyXXtaA_f%dxXY%~Q{n2NjESLl-X$OQA zK8^*d8Sa@{(j2Y=fuU1Nj>b(dN41+4GjNR;EP8Uv?=Cjj+aQKvO^IBgo5*5X8(GT3 zWW|UU1%uC8+QWL`ZjZD9vM_+HCpj7z>kGPYTs2&7#}=GS{WOlf$2K8TZ< zTD1b)VH?0xs11BZQPz3xu$nYmXHb_;k5;rpx{_!iGUnEy$df$H(WEt)g?!i4x|9nE z>DkI>bKN=VKKhVHF;&N1H8)e_^qq@ZNv+W6#FM`ATwTVdjTd^qo5VK<7vI{|^~25@ zsd$cFutq_=^i5mCX08jGwLO3RdT~3r;f;?@PO%shSuXX%WMifwB56Tytt*fe6d$x3nwLJ_9)SNrjY=(o#spGUaH>$*) z;Or~aef@;@HJ^@uunTcdL@(G)OiTHzec7CEQ!S6)Zi8)Ros#0&a+E^<`LK@qk}4zC z9$fXU`PJ|zXIkk6eS8HZ-HnuK+aV}TBGYlOwa%Pq6$&~g);Ffmz@%Q>!2X4l@tyq> zZC>z#?dzU?rd>nT(J|Dej4lQDJG5&QPfq~^lweuZDdrb{y5K(wpDla|fGZvU^40ZV zogg4ED(0n}1e;6W^W4(87uj8kQ*y&v_S&wPEC}OpRL2+_Emo^!e>!7&Qe`Z&N_M5G z-z?o~8Xxe7zclOgQ+Ih zG^fg+E^@a}>aFKO5`wPDwZ{IuI6uFH@^YWxt!G*wJ4Q1vY-s$2^?EfHGrTUk(9fR9qn$>PnSS#6ErxeWzS^{k15Yl? z>V|Z`-7HO}2!G{h@*Wxxv{+C|z&UA)YFN3kr!$R$J@V68Nx&O*NU&N({6Y(Td<{qw zir}>b;%v;Brt?Q+n0&G1sS&(Jrz%-wozh$v^sQgHX4O|YbIp{F1K-}d9T z`OS{&i8r^TwlU=({3bZ{@b1Dz7>8x%K!SQoind#-+1EYOs(9Tjs37Z$~Tx9n@I!`k3LV$Lus$+6v!(iU*&^j5Ucfo`OGdM%XlVB9rzkwDIQIcl0*lIKZw7 zo6m>*zT~7b7i8|i8KVIrXy49^*BzU<`63J%$BHk?F7#HzbvH}C3XaVxjc96ZOldnc z@W+cDH1X$@O-&*S3OO3rm~gnIgh64~IXK>VBX$HI8u|)cf5zytV&1!HBRdiEum%&m z@xG#19x-4V6nkD^8bd0n6{&vSz1&s;mo9k^CJr&EDuJP*X zB5o-$bli1&HPKLo9`GlSyLOeiI3{30)uSVBZl4qOkXPvF%@TN;=6aT>yrCS$B>1(p;gWVaLE+ zgStRo$N2v0Za0jJr^Okix^8P|_gCeJx8wX#Yu2vPWNiedw>r^~Mo4oSvoPjS)5)Z~ zn6Vk!j16O1RGmtzt7CX^^64z=mk?yP+_sm$aozJ8IBb>x_}Z9g{_h>prJ0DGLKflW zB0_6Vu?7i`j3Q3mN?N0>#*Ps~ovf2-S2`)c+9KCic7Zf8`4()nn{$;U8;f@!o8Ti<%A2P^$)W z02uu4MkV$$Tkv`&qfTqes<|U$S3s20ehlWDF5e(u!T|(?6*T5(orJ^vPwur~*H}gt z`Cz$-y-$(O>a&W!n0~%vbBb+y`YQU$d>2m>v-c{ja-Xq1Md;(NzWf~L8BtA-6JgnDXqs57#eTwl)9un+;B(!fu^)x+O<}g+4B;n% z1eIJM`yD1q#Si7XTNflQ{9(JsNo%pSE-RPHew#Cr_sut|c22F@-l+KKsjD%YZ-8P+ zOd{I|^}B1$N-A>^?xkd8p+k0wI>(Y?DU#O*brUqI6v}cMq0CjOyz8#`K;<{Gcj^E+ zANk=z>HYDA>ewb@!Dru|MZS32t+=AvkB%O8IYC3i!phFd zzBAU^SYBm`_q4b28I9i~Xf{JI@mXs@Dh;9Skvu~=<$e%~HXf`gl|I#Mz(Xj~x~zh4PxRFLG&KL52hS7^z!OT)y2L;J zQgscXTX$_0uum8!BkyH}U58a+{{qv>k=VZbjT0~s_3n$$c zMOr|UPRV=N_*W^Omnb0YwP$jMKUQ!k(D-r3RQpQ(hnm{+L(Q!jUyvq|5?X!C>bWBT zf_F~W%gN*Vte$yX@}U^dJy7OkoE)f-Mph=pr}8g(UQU~0gNy_BzVt}fx;|wM(ZLxC z>D-e{SL_SfVx(y3qEnKRrm+aoqNRh~Lb=LVps73m7uJ6+Patx-{1W z^#hyc?pmwoXUz+X*Xr#N8n}c`_fuEb*B8B&e1pUk@IbYl2SCV?aU0v1iP_d~5JoM{ zYXJ2;;o8!0*ZxiSUFTl1V^q8@Vo`f1?Q@wJsG)0~CIy+vE6Au3_8t9Xh@nQb8(R^7 zLNSt|0Q+0GG{=b^y(vSAdvl+@kXP2t1wy|z8)_O?NHsK13GV%zPX;Wml*Q!w?J?@Q zV{>s|ND*HCd`i^vtFYWQjmv;Dv;VgNnHa@OU;gNQV4%~GmCh^Bdhid#bBD0sz^KYL z?vmQ#>`zF^dSX!OU{Z8?VUH?j)c{dCT&%J5ITC`=koqmfi)CW+y1P#Q!wJpQ!fnb3 z^)AWjEH_HORwn1QG6#5o;10*30DCgB0d|q%w>o*kfU=Fm_VkYS%XOo!-0PwiUK1Wt zxbwLbL}4=w5VomT#hU}aD`QzQ&P_7@5Xy3IO$aS1fAMqF%c-V$v=pB7d#8xhPgbu_ zU9il8pc#5!%eUVeOHIk3a$PAxoVwzjYeSMfW(;G>sG-GjN-y!wXo8IU8b02Is z+EnwQ*;axF?o6s(P{zY#sgpbff9M9=BJivW1H;S(AH2hM(Li^?jiyF1_Rujua~s^C ziv9v|x}vL-{daaH7&4yRy!?gNv=}LwRkh=HrKWcprJni@xLyU?`uB%}*T~SI4kFP? znO7LF6X;hgPYBm)DS%<@;2Egf{M#`o8<4`e^^nOwEJY>qBmR}hB2$OXst9jtx>d~m zd-enh?>H-tj-JP4cq~o!v9+d6P6p2PV@mNXTNP;a#Q4C6`4q3ekO|acvdTwn6+pAK zJooeb)|sDbW^*CL$_PU154=Vap2|u}=-w+CnuK_!bu-b2z4wLV<2|xk6+Md#ZNVqZ z4Jb+;nW@4?8j!kyzt8}G?rvDBd+AL@zD%9P zs8ihTHuq~#VOC&!Z6uG(mt=d$2;(jy znMHmoQv;lk1PAU`vl5G~JrhLRZ%pn3|H_&-`Zf5Comj$A;cVcTRTFT6N&wIJ(2Av+@U;O3 zQSxPB>W$6R4P65a?oKI@A>N9hux!P)x;oEvX@T9r5S|N)&Wp>*SI@`0JFCT2DdZ=% z3Joc*>w}%oHk~#k;rj}oHk+K;^L=Wx2)e7KE)?c*lIW8;{7Nd~KkuxM6$dnn?oP|f zI!Ub;7G2MvWEP|S= { Welcome, {data.user.name}, {' '} {data.user.job || "Unemployed"}! -
- Your balance is {data.user.cash} credits. ) || ( @@ -47,16 +45,6 @@ export const Vending = props => {
{inventory.map((product => { - const free = ( - !data.onstation - || product.price === 0 - || ( - !product.premium - && data.department - && data.user - && data.department === data.user.department - ) - ); return ( @@ -91,7 +79,7 @@ export const Vending = props => { {custom && (
{inventory.map((product => { @@ -79,7 +65,7 @@ export const Vending = props => { {custom && (
{inventory.map((product => { @@ -65,16 +77,13 @@ export const Vending = props => { {custom && (

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≷*Efgn~Mt;@ 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 z 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