From e7e08da8cf9d8a77fcef924e6219ab2218d6d726 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 24 Sep 2024 07:17:26 +0300 Subject: [PATCH 001/152] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_species.dme | 5 + .../code/mob/living/carbon/human/human_mob.dm | 8 + .../mob/living/carbon/species/serpentids.dm | 320 ++++++++++++++++++ .../organs/subtypes/serpentids_organs.dm | 121 +++++++ .../subtypes/serpentids_organs_external.dm | 129 +++++++ .../subtypes/serpentids_organs_internal.dm | 166 +++++++++ modular_ss220/species/code/species.dm | 5 +- .../icons/mob/human_races/r_serpentid.dmi | Bin 0 -> 9867 bytes .../icons/mob/human_races/serpentid_eyes.dmi | Bin 0 -> 563 bytes 9 files changed, 753 insertions(+), 1 deletion(-) create mode 100644 modular_ss220/species/code/mob/living/carbon/species/serpentids.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm create mode 100644 modular_ss220/species/icons/mob/human_races/r_serpentid.dmi create mode 100644 modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index 9317c0e06809..8b29ca1f6b1b 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -13,3 +13,8 @@ #include "code/mob/living/carbon/species/nucleation.dm" #include "code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm" #include "code/mob/surgery/organs/subtypes/nucleation_organs.dm" + +#include "code/mob/living/carbon/species/serpentids.dm" +#include "code/mob/surgery/organs/subtypes/serpentids_organs.dm" +#include "code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm" +#include "code/mob/surgery/organs/subtypes/serpentids_organs_external.dm" diff --git a/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm b/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm index 35e30e02d5b6..f687d7fa8168 100644 --- a/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm +++ b/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm @@ -10,3 +10,11 @@ . = ..() if(amount) nutrition = min(NUTRITION_LEVEL_FAT, nutrition + round(amount / 10)) + +/mob/living/carbon/human + var/atom/movable/loaded = null + var/mob/living/passenger = null + +/mob/living/carbon/human/serpentid/Initialize(mapload) + . = ..(mapload, /datum/species/serpentid) + diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm new file mode 100644 index 000000000000..d5414887761b --- /dev/null +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -0,0 +1,320 @@ +#define SERPENTID_CHEM_REAGENT_ID "msg" +#define SERPENTID_CARAPICE_MAX_STATE 50 +#define SERPENTID_CARAPICE_BROKEN_STATE 30 +#define SERPENTID_CARAPICE_CHAMELION_STATE 45 + +#define SERPENTID_CHEM_CARAPICE_HEAL_REAGENT_ID "synthflesh" +#define SERPENTID_CHEM_CARAPICE_HEAL_COUNT 2 +#define SERPENTID_CHEM_CARAPICE_HEAL_MULTIPLAYER 0.5 + +#define SERPENTID_GENE_DEGRADATION_BASIC 0.02 +#define SERPENTID_GENE_DEGRADATION_EXTRA 0.05 +#define SERPENTID_GENE_DEGRADATION_CD 60 + +/datum/species/serpentid + name = "Giant Armored Serpentid" + name_plural = "Serpentids" + icobase = 'modular_ss220/species/icons/mob/human_races/r_serpentid.dmi' + blurb = "TODO" + language = "Stok" + burn_mod = 0.8 + brute_mod = 0.6 + siemens_coeff = 2.0 + stun_mod = 2 + armor = 20 + + species_traits = list(LIPS, NO_HAIR) + inherent_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_RESISTHEAT, TRAIT_RESISTHIGHPRESSURE, TRAIT_NOPAIN) + inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_REPTILE + dies_at_threshold = TRUE + + dietflags = DIET_CARN + taste_sensitivity = TASTE_SENSITIVITY_SHARP + allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, + /mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/poison/bees) + + bodyflags = HAS_SKIN_COLOR | TAIL_OVERLAPPED | BALD | SHAVED + skinned_type = /obj/item/stack/sheet/animalhide/lizard + flesh_color = "#34AF10" + base_color = "#066000" + eyes = "serpentid_eyes_s" + + exotic_blood = "facid" + blood_color = "#b0fc22" + + reagent_tag = PROCESS_ORG + + has_organ = list( + "heart" = /obj/item/organ/internal/heart/serpentid, + "lungs" = /obj/item/organ/internal/lungs/serpentid, + "liver" = /obj/item/organ/internal/liver/serpentid, + "kidneys" = /obj/item/organ/internal/kidneys/serpentid, + "brain" = /obj/item/organ/internal/brain/serpentid, + "eyes" = /obj/item/organ/internal/eyes/serpentid, + "ears" = /obj/item/organ/internal/ears/serpentid, + "l_arm" = /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l, + "r_arm" = /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade + ) + + has_limbs = list( + "chest" = list("path" = /obj/item/organ/external/chest/carapice, "descriptor" = "chest"), + "groin" = list("path" = /obj/item/organ/external/groin/carapice, "descriptor" = "groin"), + "head" = list("path" = /obj/item/organ/external/head/carapice, "descriptor" = "head"), + "l_arm" = list("path" = /obj/item/organ/external/arm/carapice, "descriptor" = "left arm"), + "r_arm" = list("path" = /obj/item/organ/external/arm/right/carapice, "descriptor" = "right arm"), + "l_leg" = list("path" = /obj/item/organ/external/leg/carapice, "descriptor" = "left leg"), + "r_leg" = list("path" = /obj/item/organ/external/leg/right/carapice, "descriptor" = "right leg"), + "l_hand" = list("path" = /obj/item/organ/external/hand/carapice, "descriptor" = "left hand"), + "r_hand" = list("path" = /obj/item/organ/external/hand/right/carapice, "descriptor" = "right hand"), + "l_foot" = list("path" = /obj/item/organ/external/foot/carapice, "descriptor" = "left foot"), + "r_foot" = list("path" = /obj/item/organ/external/foot/right/carapice, "descriptor" = "right foot")) + + suicide_messages = list( + "is attempting to bite their tongue off!", + "is jamming their claws into their eye sockets!", + "is twisting their own neck!", + "is holding their breath!") + + autohiss_basic_map = list( + "s" = list("ss", "sss", "ssss") + ) + autohiss_extra_map = list( + "x" = list("ks", "kss", "ksss") + ) + + var/can_stealth = TRUE + var/armor_count = 0 + var/load_mode = FALSE + var/list/valid_organs = list() + var/list/valid_limbs = list() + var/gene_lastcall = 0 + +/datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) + . = .. () + if (R.id == SERPENTID_CHEM_REAGENT_ID) + return FALSE + //Хитин лечится синтплотью онли + if (R.id == SERPENTID_CHEM_CARAPICE_HEAL_REAGENT_ID) + for(var/obj/item/organ/external/limb in H.bodyparts) + if (limb.carapice_limb < SERPENTID_CARAPICE_MAX_STATE) + limb.carapice_limb += SERPENTID_CHEM_CARAPICE_HEAL_COUNT * SERPENTID_CHEM_CARAPICE_HEAL_MULTIPLAYER + R.holder.remove_reagent(SERPENTID_CHEM_CARAPICE_HEAL_REAGENT_ID, SERPENTID_CHEM_CARAPICE_HEAL_COUNT) + return FALSE + else + return TRUE + +/datum/species/serpentid/handle_life(mob/living/carbon/human/H) + var/blood_percent = round((H.blood_volume / BLOOD_VOLUME_NORMAL)*100) + speed_mod = (90 - blood_percent)/100 + + var/gene_degradation = 0 + for(var/obj/item/organ/external/limb in H.bodyparts) + var/gene_affected = SERPENTID_GENE_DEGRADATION_BASIC + if (!(limb.type in valid_limbs)) + gene_affected += SERPENTID_GENE_DEGRADATION_EXTRA + var/limb_armor = limb.carapice_state + armor_count += limb_armor + gene_degradation += gene_affected + + for(var/obj/item/organ/internal/organ in H.bodyparts) + var/gene_affected = SERPENTID_GENE_DEGRADATION_BASIC + if (!(organ.type in valid_organs)) + gene_affected += SERPENTID_GENE_DEGRADATION_EXTRA + gene_degradation += gene_affected + + if (gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD) + H.adjustCloneLoss(gene_degradation) + gene_lastcall = 0 + else + gene_lastcall += 1 + + armor_count = armor_count/H.bodyparts.len + if (armor_count >= SERPENTID_CARAPICE_BROKEN_STATE) + brute_mod = 0.6 + burn_mod = brute_mod + 0.2 + + if (armor_count >= SERPENTID_CARAPICE_CHAMELION_STATE) + can_stealth = TRUE + else + can_stealth = FALSE + else + brute_mod = (100 + SERPENTID_CARAPICE_BROKEN_STATE - armor_count) / 100 + burn_mod = brute_mod + 0.2 + if (can_stealth) + sneak(H) + + . = ..() + +/datum/species/serpentid/proc/sneak(mob/living/M) //look if a ghost gets this, its an admins problem + if((world.time - M.last_movement) >= 300 && !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained()) + if(M.invisibility != INVISIBILITY_LEVEL_TWO) + M.alpha -= 25 + else + M.reset_visibility() + M.alpha = 255 + if(M.alpha == 0) + M.make_invisible() + +/datum/species/serpentid/on_species_gain(mob/living/carbon/human/H) + ..() + H.resize = 1 + H.can_buckle = TRUE + H.buckle_lying = 0 + H.update_transform() + H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) + for (var/organ_name in has_organ) + valid_organs += has_organ[organ_name] + for (var/limb_name in has_limbs) + valid_limbs += has_limbs[limb_name]["path"] + +/datum/species/serpentid/can_equip(obj/item/I, slot, disable_warning = FALSE, mob/living/carbon/human/H) + switch(slot) + if(SLOT_HUD_SHOES) + return FALSE + . = .. () + +/mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) + var/datum/dna/genetic_info = user.dna + var/datum/species/spiece = genetic_info.species + if((user.a_intent == "grab") && spiece.type == /datum/species/serpentid) + if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, src) > 1) + return + + if(!istype(AM)) + return + + load(AM) + return TRUE + . = .. () + +/datum/species/serpentid/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + if (!isnull(user.loaded)) + user.unload(user.dir) + . = .. () + +/datum/element/strippable/mouse_drop_onto(datum/source, atom/over, mob/user) + var/mob/living/carbon/human/puppet = user + var/datum/dna/genetic_info = user.dna + var/datum/species/spiece = genetic_info.species + if((user.a_intent == "grab") && spiece.type == /datum/species/serpentid) + if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, source) > 1) + return + if(!istype(source)) + return + puppet.load(source) + return TRUE + + . = .. () + +/mob/living/carbon/human/proc/load(atom/movable/AM) + if(loaded || AM.anchored || get_dist(src, AM) > 1) + return + + //I'm sure someone will come along and ask why this is here... well people were dragging screen items onto the mule, and that was not cool. + //So this is a simple fix that only allows a selection of item types to be considered. Further narrowing-down is below. + if(!isitem(AM) && !ismachinery(AM) && !isstructure(AM) && !ismob(AM)) + return + if(!isturf(AM.loc)) //To prevent the loading from stuff from someone's inventory or screen icons. + return + + var/obj/structure/closet/crate/CRATE + if(istype(AM,/obj/structure/closet/crate)) + CRATE = AM + if(CRATE) // if it's a crate, close before loading + CRATE.close() + + if(isobj(AM)) + var/obj/O = AM + if(O.has_buckled_mobs() || (locate(/mob) in AM)) //can't load non crates objects with mobs buckled to it or inside it. + return + + if(isliving(AM)) + if(!load_mob(AM)) + return + else + AM.crate_carrying_person = src + AM.forceMoveCrate(src) + + loaded = AM + update_icon() + +/atom/movable/proc/forceMoveCrate(atom/destination) + var/turf/old_loc = loc + loc = destination.loc + moving_diagonally = 0 + + if(old_loc) + old_loc.Exited(src, destination) + for(var/atom/movable/AM in old_loc) + AM.Uncrossed(src) + + if(destination) + destination.Entered(src) + for(var/atom/movable/AM in destination) + if(AM == src) + continue + AM.Crossed(src, old_loc) + var/turf/oldturf = get_turf(old_loc) + var/turf/destturf = get_turf(destination) + var/old_z = (oldturf ? oldturf.z : null) + var/dest_z = (destturf ? destturf.z : null) + if(old_z != dest_z) + onTransitZ(old_z, dest_z) + + + Moved(old_loc, NONE) + + return TRUE + + +/atom/movable/Move(atom/newloc, direct = 0, movetime) + . = .. () + var/mob/living/carbon/human/puppet = src + if(ishuman(puppet)) + if(!isnull(puppet.loaded)) + puppet.loaded.forceMoveCrate(puppet) + +/atom/movable + var/mob/living/carbon/human/crate_carrying_person = null + +/mob/living/carbon/human/proc/load_mob(mob/living/M) + can_buckle = TRUE + if(buckle_mob(M)) + passenger = M + loaded = M + can_buckle = FALSE + return TRUE + return FALSE + +/mob/living/carbon/human/post_buckle_mob(mob/living/M) + .=..() + M.pixel_y = initial(M.pixel_y) + 2 + M.layer = layer - 2 + +/mob/living/carbon/human/post_unbuckle_mob(mob/living/M) + .=..() + loaded = null + passenger = null + M.layer = initial(M.layer) + M.pixel_y = initial(M.pixel_y) + +/mob/living/carbon/human/proc/unload(dirn) + if(!loaded) + return + + unbuckle_all_mobs() + + if(loaded) + loaded.forceMove(loc) + loaded.pixel_y = initial(loaded.pixel_y) + loaded.layer = initial(loaded.layer) + loaded.plane = initial(loaded.plane) + if(dirn) + var/turf/T = loc + var/turf/newT = get_step(T,dirn) + if(loaded.CanPass(loaded,newT)) //Can't get off onto anything that wouldn't let you pass normally + step(loaded, dirn) + loaded.crate_carrying_person = null + loaded = null + + update_icon(UPDATE_OVERLAYS) diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm new file mode 100644 index 000000000000..3238cc03dc97 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm @@ -0,0 +1,121 @@ +#define GAS_ORGAN_MULT_DAMAGE 0.1 +#define GAS_ORGAN_MULT_RECOVER 0.02 +#define BASIC_DECAY_VALUE 1 +#define GAS_ORGAN_CHEMISTRY_EYES 0.3 +#define GAS_ORGAN_CHEMISTRY_EARS 0.75 +#define GAS_ORGAN_CHEMISTRY_HEART 25 +#define GAS_ORGAN_CHEMISTRY_LUNGS 0.5 + +#define SERPENTID_CHEM_MULT_CONSUPTION 0.75 +#define SERPENTID_CHEM_MULT_PRODUCTION 0.6 +#define STAMINA_DAMAGE_ON_MEPH 50 + +#define SERPENTID_TOX_LIVER_LOSS 0.01 +#define SERPENTID_TOX_KIDNEY_LOSS 0.1 +#define SERPENTID_TOX_ORGAN_LOSS 0.025 + +/obj/item/organ/internal + var/decayable = FALSE + var/recoverable = FALSE + var/decay_rate = BASIC_DECAY_VALUE + var/is_destroying = FALSE + var/chemical_consuption = 0 + var/sensitive = FALSE + +/obj/item/organ/internal/process() + if(is_destroying) + receive_damage(decay_rate * GAS_ORGAN_MULT_DAMAGE, 1) + if((damage <= (max_damage/4)) && (damage > 0) && !is_destroying && recoverable) + heal_internal_damage(GAS_ORGAN_MULT_RECOVER, FALSE) + . = ..() + if (decayable) + var/is_dead = (owner.stat == DEAD) + var/is_no_owner = isnull(owner) + is_destroying = (is_dead || is_no_owner) + + if(owner.get_damage_amount(TOX) > 0) + var/list/organs = owner.internal_organs + var/obj/item/organ/internal/liver/serpentid/target_liver = null + var/obj/item/organ/internal/kidneys/serpentid/target_kidney = null + for(var/obj/item/organ/internal/O in organs) + if (istype(O, /obj/item/organ/internal/liver/serpentid)) + target_liver = O + if (istype(O, /obj/item/organ/internal/kidneys/serpentid)) + target_kidney = O + if (src == target_liver) + receive_damage(owner.get_damage_amount(TOX) * SERPENTID_TOX_LIVER_LOSS, 1) + owner.adjustToxLoss(-1 * owner.get_damage_amount(TOX) * SERPENTID_TOX_LIVER_LOSS) + else if (target_liver.status == ORGAN_DEAD && src == target_kidney) + receive_damage(owner.get_damage_amount(TOX) * SERPENTID_TOX_KIDNEY_LOSS, 1) + owner.adjustToxLoss(-1 * owner.get_damage_amount(TOX) * SERPENTID_TOX_KIDNEY_LOSS) + else if (target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) + receive_damage(owner.get_damage_amount(TOX) * SERPENTID_TOX_ORGAN_LOSS, 1) + chems_process() + +/obj/item/organ/internal/proc/get_chemical_value(var/id) + if(isnull(owner)) + return TRUE + for(var/datum/reagent/R in owner.reagents.reagent_list) + if (R.id == id) + return R.volume + return 0 + +/obj/item/organ/internal/proc/get_chemical_path(var/id) + if(isnull(owner)) + return TRUE + for(var/datum/reagent/R in owner.reagents.reagent_list) + if (R.id == id) + return R + return null + +/obj/item/organ/internal/proc/chems_process() + if(isnull(owner)) + return TRUE + var/chemical_volume = get_chemical_value(SERPENTID_CHEM_REAGENT_ID) + var/datum/reagent/chemical = get_chemical_path(SERPENTID_CHEM_REAGENT_ID) + if (chemical_volume < chemical_consuption) + //Если коилчества недостаточно - выключить режим + switch_mode(force_off = TRUE) + else + if(!isnull(chemical)) + //Убрать количество глутамата из тела + chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, chemical_consuption) + +/obj/item/organ/internal/proc/switch_mode(var/force_off = FALSE) + return + +/obj/item/organ/external + var/carapice_state = SERPENTID_CARAPICE_MAX_STATE + var/carapice_limb = FALSE + var/can_change_visual = FALSE + var/change_visual = FALSE + var/alt_visual_icon = null + +/obj/item/organ/external/proc/update_visual() + if (can_change_visual && change_visual) + icon_name = alt_visual_icon + if (can_change_visual && !(change_visual)) + icon_name = initial(icon_name) + owner.update_body() + +/obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) + . = ..() + if (carapice_limb) + carapice_state -= brute + if (carapice_state < SERPENTID_CARAPICE_BROKEN_STATE) + fracture() + for(var/obj/item/organ/internal/O in internal_organs) + O.receive_damage(burn * ((SERPENTID_CARAPICE_MAX_STATE - carapice_state)/SERPENTID_CARAPICE_MAX_STATE)) + if (status & ORGAN_BROKEN) + brute_mod = (100 + SERPENTID_CARAPICE_BROKEN_STATE - carapice_state)/100 + else + brute_mod = 0.6 + burn_mod = brute_mod + 0.2 + if (carapice_state < 0) + carapice_state = 0 + if ((status & ORGAN_BROKEN) && carapice_state > SERPENTID_CARAPICE_BROKEN_STATE) + mend_fracture() + if (carapice_state > SERPENTID_CARAPICE_MAX_STATE) + carapice_state = SERPENTID_CARAPICE_MAX_STATE + return + diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm new file mode 100644 index 000000000000..4ff4e2ed926e --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm @@ -0,0 +1,129 @@ +// ============ Органы внешние ============ +///Руки - аналогичные богомолам имлпанты, но при изъятии сжирают по 10 стамины +/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade + name = "hidden blade implant" + desc = "A blade designed to be hidden just beneath the skin. The brain is directly linked to this bad boy, allowing it to spring into action." + contents = newlist(/obj/item/kitchen/knife/combat/serpentblade) + action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/items_cyborg.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "knife") + origin_tech = "biotech=6;" + +/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l + parent_organ = "l_arm" + slot = "l_arm_device" + +/obj/item/organ/internal/cyberimp/arm/toolset/ui_action_click() + . = ..() + var/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/pair_implant = null + var/list/organs = owner.internal_organs + for(var/obj/item/organ/internal/O in organs) + if (istype(O, /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade) && src != O) + pair_implant = O + if (!isnull(pair_implant)) + if(!pair_implant.holder || (pair_implant.holder in src)) + pair_implant.holder = null + pair_implant.Extend(pair_implant.contents[1]) + else + pair_implant.Retract() + +/obj/item/kitchen/knife/combat/serpentblade + name = "serpentid mantis blade" + icon = 'icons/obj/items_cyborg.dmi' + icon_state = "knife" + lefthand_file = null + righthand_file = null + desc = "Biological melee weapon. Sharp and durable. It can cut off some heads, or maybe not..." + origin_tech = null + force = 7 + armour_penetration_flat = 3 + var/attack_in_progress = FALSE + tool_behaviour = TOOL_SAW + +/obj/item/kitchen/knife/combat/serpentblade/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_ADVANCED_SURGICAL, ROUNDSTART_TRAIT) + ADD_TRAIT(src, TRAIT_FORCES_OPEN_DOORS_ITEM, ROUNDSTART_TRAIT) + AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS) + +/obj/item/melee/serpentblade/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(attack_type == PROJECTILE_ATTACK) + final_block_chance = 0 + return ..() + +/obj/item/kitchen/knife/combat/serpentblade/attack(mob/living/target, mob/living/user, params, def_zone, skip_attack_anim = FALSE) + . = ..() + if(attack_in_progress) + return TRUE + var/obj/item/kitchen/knife/combat/serpentblade/offhand_blade = user.get_inactive_hand() + addtimer(CALLBACK(offhand_blade, PROC_REF(offhand_attack), target, user, params, def_zone), 0.2 SECONDS) + +/obj/item/kitchen/knife/combat/serpentblade/proc/offhand_attack(mob/living/target, mob/living/user, params, def_zone) + if(QDELETED(src) || QDELETED(target) || user != src.loc || !user.Adjacent(target)) + return + attack_in_progress = TRUE + attack(target, user, params, def_zone) + attack_in_progress = FALSE + +///Хитиновые конечности +/obj/item/organ/external/chest/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE + +/obj/item/organ/external/groin/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE + +/obj/item/organ/external/head/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE + +/obj/item/organ/external/arm/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE + can_change_visual = TRUE + alt_visual_icon = "l_arm_agressive" + +/obj/item/organ/external/arm/right/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE + can_change_visual = TRUE + alt_visual_icon = "r_arm_agressive" + +/obj/item/organ/external/leg/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE + +/obj/item/organ/external/leg/right/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE + +/obj/item/organ/external/hand/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE + can_change_visual = TRUE + alt_visual_icon = "l_arm_agressive" + +/obj/item/organ/external/hand/right/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE + can_change_visual = TRUE + alt_visual_icon = "r_arm_agressive" + +/obj/item/organ/external/foot/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE + +/obj/item/organ/external/foot/right/carapice + encased = "chitin" + min_broken_damage = 20 + carapice_limb = TRUE diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm new file mode 100644 index 000000000000..18554da8dbc9 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -0,0 +1,166 @@ +// ============ Органы внутренние ============ +///почки - базовые c добавлением дикея +/obj/item/organ/internal/kidneys/serpentid + name = "serpentid kidneys" + icon = 'icons/obj/species_organs/unathi.dmi' + decayable = TRUE + recoverable = TRUE + decay_rate = 4 + +///печень - вырабатывает глутамат натрия из нутриентов +/obj/item/organ/internal/liver/serpentid + name = "serpentid liver" + icon = 'icons/obj/species_organs/unathi.dmi' + desc = "A large looking liver." + alcohol_intensity = 2 + decayable = TRUE + recoverable = TRUE + decay_rate = 4 + +/obj/item/organ/internal/liver/serpentid/on_life() + . = ..() + for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) + if(!isnull(chemical)) + chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) + owner.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) + +///Легкие - вырабатывают сальбутамол при наличии глутамата натрия +/obj/item/organ/internal/lungs/serpentid + name = "serpentid lungs" + icon = 'icons/obj/species_organs/unathi.dmi' + organ_datums = list(/datum/organ/lungs/serpentid) + decayable = TRUE + recoverable = TRUE + decay_rate = 3 + var/salb_secretion = FALSE + actions_types = list(/datum/action/item_action/organ_action/use) + +/datum/organ/lungs/serpentid + safe_oxygen_min = 21 + safe_toxins_max = 5 + heat_level_1_threshold = 350 + heat_level_2_threshold = 400 + heat_level_3_threshold = 450 + + cold_level_1_threshold = 250 + cold_level_2_threshold = 180 + cold_level_3_threshold = 100 + +/obj/item/organ/internal/lungs/serpentid/ui_action_click() + switch_mode() + +/obj/item/organ/internal/lungs/serpentid/switch_mode(var/force_off = FALSE) + .=..() + if(!salb_secretion && !force_off && get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) + salb_secretion = TRUE + chemical_consuption += GAS_ORGAN_CHEMISTRY_LUNGS + else + salb_secretion = FALSE + chemical_consuption -= 0 + +/obj/item/organ/internal/lungs/serpentid/on_life() + .=..() + if(salb_secretion) + var/mob/living/carbon/human/human_owner = owner + human_owner.reagents.add_reagent("salbutamol", GAS_ORGAN_CHEMISTRY_LUNGS * SERPENTID_CHEM_MULT_CONSUPTION) + +///Сердце - вырабатывают мефедрон при активации, но за каждый тик сжирает стамину ГБС, получает урон при ударе электричеством +/obj/item/organ/internal/heart/serpentid + name = "serpentid heart" + decayable = TRUE + recoverable = TRUE + decay_rate = 5 + actions_types = list(/datum/action/item_action/organ_action/use) + +/obj/item/organ/internal/heart/serpentid/ui_action_click() + var/mob/living/heart_owner = owner + if(!get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) < STAMINA_DAMAGE_ON_MEPH) + var/mob/living/carbon/human/human_owner = owner + var/datum/reagent/chem = get_chemical_path(SERPENTID_CHEM_REAGENT_ID) + chem.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, GAS_ORGAN_CHEMISTRY_HEART) + human_owner.reagents.add_reagent("mephedrone", GAS_ORGAN_CHEMISTRY_HEART * SERPENTID_CHEM_MULT_PRODUCTION) + heart_owner.apply_damage(STAMINA_DAMAGE_ON_MEPH, STAMINA) + +/obj/item/organ/internal/ears/serpentid + name = "serpentid ears" + decayable = TRUE + recoverable = TRUE + decay_rate = 2 + actions_types = list(/datum/action/item_action/organ_action/use) + var/sonar_active = FALSE + +/obj/item/organ/internal/ears/serpentid/ui_action_click() + switch_mode() + +/obj/item/organ/internal/ears/serpentid/switch_mode(var/force_off = FALSE) + .=..() + if(!sonar_active && !force_off && get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) + sonar_active = TRUE + chemical_consuption += GAS_ORGAN_CHEMISTRY_EARS + else + sonar_active = FALSE + chemical_consuption -= 0 + +/obj/item/organ/internal/ears/serpentid/on_life() + .=..() + if(sonar_active && prob(max_damage - damage)) + sense_creatures() + +/obj/item/organ/internal/ears/serpentid/proc/sense_creatures() + playsound(owner, 'sound/mecha/skyfall_power_up.ogg', vol = 20, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE) + for(var/mob/living/creature in range(9, owner)) + if(creature == owner || creature.stat == DEAD) + continue + new /obj/effect/temp_visual/sonar_ping(owner.loc, owner, creature) + +/obj/item/organ/internal/eyes/serpentid + name = "serpentid eyes" + icon = 'modular_ss220/species/icons/obj/surgery.dmi' + icon_state = "crystal-eyes" + light_color = "#1C1C00" + decayable = TRUE + recoverable = TRUE + decay_rate = 1 + see_in_dark = 1 + flash_protect = FLASH_PROTECTION_VERYVUNERABLE + lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE + actions_types = list(/datum/action/item_action/organ_action/use) + +/obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) + var/mob/living/carbon/human/H = HA + if(!istype(H)) + H = owner + var/icon/eyes_icon = new /icon('modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi', H.dna.species.eyes) + eyes_icon.Blend(eye_color, ICON_ADD) + + return eyes_icon + +/obj/item/organ/internal/eyes/serpentid/ui_action_click() + switch_mode() + owner.update_sight() + +/obj/item/organ/internal/eyes/serpentid/switch_mode(var/force_off = FALSE) + .=..() + vision_flags = initial(vision_flags) + if(lighting_alpha == LIGHTING_PLANE_ALPHA_VISIBLE && !force_off && get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) + lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + see_in_dark = 8 + chemical_consuption += GAS_ORGAN_CHEMISTRY_EYES + else + lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE + see_in_dark = 1 + vision_flags &= ~SEE_BLACKNESS + chemical_consuption -= 0 + +/obj/item/organ/internal/eyes/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = ..() + ADD_TRAIT(M, TRAIT_COLORBLIND, ROUNDSTART_TRAIT) + +/obj/item/organ/internal/eyes/serpentid/remove(mob/living/carbon/M, special = 0) + . = ..() + REMOVE_TRAIT(M, TRAIT_COLORBLIND, ROUNDSTART_TRAIT) + +/obj/item/organ/internal/brain/serpentid + name = "serpentid brain" + icon = 'modular_ss220/species/icons/obj/surgery.dmi' + icon_state = "crystal-brain" diff --git a/modular_ss220/species/code/species.dm b/modular_ss220/species/code/species.dm index c953b5ecbe61..ca444c0ef3d5 100644 --- a/modular_ss220/species/code/species.dm +++ b/modular_ss220/species/code/species.dm @@ -11,4 +11,7 @@ return TRUE /datum/species/nucleation - required_playtimes_minutes = 12000 // 200 часов + required_playtimes_minutes = -1 // 200 часов + +/datum/species/serpentid + required_playtimes_minutes = -1 // 200 часов diff --git a/modular_ss220/species/icons/mob/human_races/r_serpentid.dmi b/modular_ss220/species/icons/mob/human_races/r_serpentid.dmi new file mode 100644 index 0000000000000000000000000000000000000000..82eb64a8b08f803772c0886922d78599c50f6a1f GIT binary patch literal 9867 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 IY1=>gH+mJ8U;qFB literal 0 HcmV?d00001 diff --git a/modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi b/modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi new file mode 100644 index 0000000000000000000000000000000000000000..89e8fc5e8a0cfbff0098cb8d5fc4427cb658230a GIT binary patch literal 563 zcmeAS@N?(olHy`uVBq!ia0vp^4nQ2h!3HE(?k{!)Qsq@45hX6E#mPmP1tppJc?=8{ zbArPPib}tK2`>2f^@*0ZuGYCT=Yuzd8eBAf@JQ#pkLF2+qMqIz7REuwmyNv~jM!q1 zs&=ZbbXXQtm=)-l73Z1eRg;yPRamo8NIcyuEzrlH!bpnKN2AXS7e^)R1gq75eKj zEr5xo`K0TkSoXdTKT|Z%`rq1C8ve|U`vMF5idC-!KmEJU$(7K4X49L;8@%5qe}4PB z`rCb(19oxKo<6Dy6nS@s!|sz*^*8=qjE4<&6w1V2HaYoauWfnk^GhbYKVu9^W7XZS zJ>QZ4ccJX1SNr7aUjN!Z=|%pBM;Z*e4vQJKF!VBAU^3xy;J!eHK#bjiXOas|mragL zKhJUW-s=y%A0B6$IZc25bLHlyx{&kVx=kmQ|6u#^a>Ks&@#o`ozWIJ=-yUe2oEMYN ze{tE7KfWER-&Wf$>O1*2${<7mzA2>oj`>(~&t1 VbM}XwdIn4d44$rjF6*2UngEaq=i&eW literal 0 HcmV?d00001 From 2435aca572add9acf9aa6408b876a9d93a0e6131 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 25 Sep 2024 18:28:09 +0300 Subject: [PATCH 002/152] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/mob/living/carbon/human/human_mob.dm | 1 - .../mob/living/carbon/species/serpentids.dm | 63 ++++++++++++++++--- .../organs/subtypes/serpentids_organs.dm | 25 ++++---- .../subtypes/serpentids_organs_internal.dm | 59 ++++++++++------- .../mob/surgery/serpentids_break_carapice.dm | 19 ++++++ .../code/mob/surgery/serpentids_incision.dm | 6 ++ 6 files changed, 128 insertions(+), 45 deletions(-) create mode 100644 modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm create mode 100644 modular_ss220/species/code/mob/surgery/serpentids_incision.dm diff --git a/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm b/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm index f687d7fa8168..6f6a1e96e5dd 100644 --- a/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm +++ b/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm @@ -17,4 +17,3 @@ /mob/living/carbon/human/serpentid/Initialize(mapload) . = ..(mapload, /datum/species/serpentid) - diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index d5414887761b..47d0266add82 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -1,7 +1,9 @@ #define SERPENTID_CHEM_REAGENT_ID "msg" #define SERPENTID_CARAPICE_MAX_STATE 50 #define SERPENTID_CARAPICE_BROKEN_STATE 30 -#define SERPENTID_CARAPICE_CHAMELION_STATE 45 +#define SERPENTID_CARAPICE_CHAMELION_STATE 48 +#define SERPENTID_CARAPICE_CHAMELION_CHEM 1 +#define SERPENTID_CARAPICE_NOPRESSURE_STATE 40 #define SERPENTID_CHEM_CARAPICE_HEAL_REAGENT_ID "synthflesh" #define SERPENTID_CHEM_CARAPICE_HEAL_COUNT 2 @@ -11,6 +13,15 @@ #define SERPENTID_GENE_DEGRADATION_EXTRA 0.05 #define SERPENTID_GENE_DEGRADATION_CD 60 +#define SERPENTID_HEAT_THRESHOLD_LEVEL_BASE 350 +#define SERPENTID_HEAT_THRESHOLD_LEVEL_UP 50 +#define SERPENTID_ARMORED_HEAT_THRESHOLD 380 + +#define SERPENTID_COLD_THRESHOLD_LEVEL_BASE 250 +#define SERPENTID_COLD_THRESHOLD_LEVEL_DOWN 80 +#define SERPENTID_ARMORED_COLD_THRESHOLD 70 + + /datum/species/serpentid name = "Giant Armored Serpentid" name_plural = "Serpentids" @@ -21,10 +32,13 @@ brute_mod = 0.6 siemens_coeff = 2.0 stun_mod = 2 - armor = 20 + armor = 10 + coldmod = 2 + heatmod = 4 + hunger_drain = 0.5 species_traits = list(LIPS, NO_HAIR) - inherent_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_RESISTHEAT, TRAIT_RESISTHIGHPRESSURE, TRAIT_NOPAIN) + inherent_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_RESISTHEAT, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOPAIN) inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_REPTILE dies_at_threshold = TRUE @@ -83,11 +97,11 @@ ) var/can_stealth = TRUE - var/armor_count = 0 var/load_mode = FALSE var/list/valid_organs = list() var/list/valid_limbs = list() var/gene_lastcall = 0 + var/cloak_engaged = FALSE /datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) . = .. () @@ -107,14 +121,16 @@ var/blood_percent = round((H.blood_volume / BLOOD_VOLUME_NORMAL)*100) speed_mod = (90 - blood_percent)/100 + var/armor_count = 0 var/gene_degradation = 0 for(var/obj/item/organ/external/limb in H.bodyparts) - var/gene_affected = SERPENTID_GENE_DEGRADATION_BASIC + var/gene_affected = 0 if (!(limb.type in valid_limbs)) gene_affected += SERPENTID_GENE_DEGRADATION_EXTRA var/limb_armor = limb.carapice_state armor_count += limb_armor gene_degradation += gene_affected + gene_degradation += SERPENTID_GENE_DEGRADATION_BASIC for(var/obj/item/organ/internal/organ in H.bodyparts) var/gene_affected = SERPENTID_GENE_DEGRADATION_BASIC @@ -140,21 +156,50 @@ else brute_mod = (100 + SERPENTID_CARAPICE_BROKEN_STATE - armor_count) / 100 burn_mod = brute_mod + 0.2 + + var/up = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + var/down = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + var/cold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE + var/heat = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + if (armor_count >= SERPENTID_CARAPICE_NOPRESSURE_STATE) + hazard_high_pressure = 1000 + warning_high_pressure = 1000 + warning_low_pressure = -1 + hazard_low_pressure = -1 + cold = SERPENTID_ARMORED_COLD_THRESHOLD + heat = SERPENTID_ARMORED_HEAT_THRESHOLD + else + hazard_high_pressure = HAZARD_HIGH_PRESSURE + warning_high_pressure = WARNING_HIGH_PRESSURE + warning_low_pressure = WARNING_LOW_PRESSURE + hazard_low_pressure = HAZARD_LOW_PRESSURE + cold_level_1 = cold + cold_level_2 = cold_level_1 - down + cold_level_3 = cold_level_2 - down + heat_level_1 = heat + heat_level_2 = heat_level_1 + up + heat_level_3 = heat_level_2 + up + if (can_stealth) sneak(H) . = ..() /datum/species/serpentid/proc/sneak(mob/living/M) //look if a ghost gets this, its an admins problem - if((world.time - M.last_movement) >= 300 && !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained()) + var/mob/living/carbon/human/H = M + if((world.time - M.last_movement) >= 10 && !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained() && (H.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= SERPENTID_CARAPICE_CHAMELION_CHEM) && cloak_engaged) if(M.invisibility != INVISIBILITY_LEVEL_TWO) - M.alpha -= 25 + M.alpha -= 51 + var/datum/reagent/chemical = H.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) + chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CARAPICE_CHAMELION_CHEM) else M.reset_visibility() M.alpha = 255 if(M.alpha == 0) M.make_invisible() + + /datum/species/serpentid/on_species_gain(mob/living/carbon/human/H) ..() H.resize = 1 @@ -162,6 +207,7 @@ H.buckle_lying = 0 H.update_transform() H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) + H.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, 20) for (var/organ_name in has_organ) valid_organs += has_organ[organ_name] for (var/limb_name in has_limbs) @@ -174,8 +220,7 @@ . = .. () /mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) - var/datum/dna/genetic_info = user.dna - var/datum/species/spiece = genetic_info.species + var/datum/species/spiece = user.dna.species if((user.a_intent == "grab") && spiece.type == /datum/species/serpentid) if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, src) > 1) return diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm index 3238cc03dc97..91f93f895132 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm @@ -1,8 +1,8 @@ #define GAS_ORGAN_MULT_DAMAGE 0.1 #define GAS_ORGAN_MULT_RECOVER 0.02 #define BASIC_DECAY_VALUE 1 -#define GAS_ORGAN_CHEMISTRY_EYES 0.3 -#define GAS_ORGAN_CHEMISTRY_EARS 0.75 +#define GAS_ORGAN_CHEMISTRY_EYES 0.75 +#define GAS_ORGAN_CHEMISTRY_EARS 0.25 #define GAS_ORGAN_CHEMISTRY_HEART 25 #define GAS_ORGAN_CHEMISTRY_LUNGS 0.5 @@ -14,6 +14,11 @@ #define SERPENTID_TOX_KIDNEY_LOSS 0.1 #define SERPENTID_TOX_ORGAN_LOSS 0.025 +#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.33 +#define SERPENTID_EYES_MAX_VISIBLE_VALUE 1 + +#define GAS_ORGAN_CHEMISTRY_MAX 100 + /obj/item/organ/internal var/decayable = FALSE var/recoverable = FALSE @@ -52,18 +57,14 @@ receive_damage(owner.get_damage_amount(TOX) * SERPENTID_TOX_ORGAN_LOSS, 1) chems_process() -/obj/item/organ/internal/proc/get_chemical_value(var/id) - if(isnull(owner)) - return TRUE - for(var/datum/reagent/R in owner.reagents.reagent_list) +/mob/living/carbon/human/proc/get_chemical_value(var/id) + for(var/datum/reagent/R in src.reagents.reagent_list) if (R.id == id) return R.volume return 0 -/obj/item/organ/internal/proc/get_chemical_path(var/id) - if(isnull(owner)) - return TRUE - for(var/datum/reagent/R in owner.reagents.reagent_list) +/mob/living/carbon/human/proc/get_chemical_path(var/id) + for(var/datum/reagent/R in src.reagents.reagent_list) if (R.id == id) return R return null @@ -71,8 +72,8 @@ /obj/item/organ/internal/proc/chems_process() if(isnull(owner)) return TRUE - var/chemical_volume = get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - var/datum/reagent/chemical = get_chemical_path(SERPENTID_CHEM_REAGENT_ID) + var/chemical_volume = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) + var/datum/reagent/chemical = owner.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) if (chemical_volume < chemical_consuption) //Если коилчества недостаточно - выключить режим switch_mode(force_off = TRUE) diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm index 18554da8dbc9..bc7e65a670bf 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -19,10 +19,14 @@ /obj/item/organ/internal/liver/serpentid/on_life() . = ..() - for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) - if(!isnull(chemical)) - chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) - owner.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) + if (owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) < GAS_ORGAN_CHEMISTRY_MAX) + for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) + if(!isnull(chemical)) + chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) + owner.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) + else + var/excess_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - GAS_ORGAN_CHEMISTRY_MAX + chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, excess_value) ///Легкие - вырабатывают сальбутамол при наличии глутамата натрия /obj/item/organ/internal/lungs/serpentid @@ -38,20 +42,21 @@ /datum/organ/lungs/serpentid safe_oxygen_min = 21 safe_toxins_max = 5 - heat_level_1_threshold = 350 - heat_level_2_threshold = 400 - heat_level_3_threshold = 450 - cold_level_1_threshold = 250 - cold_level_2_threshold = 180 - cold_level_3_threshold = 100 + cold_level_1_threshold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE + cold_level_2_threshold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE - SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + cold_level_3_threshold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE - 2*SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + + heat_level_1_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + heat_level_2_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + SERPENTID_HEAT_THRESHOLD_LEVEL_UP + heat_level_3_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + 2*SERPENTID_HEAT_THRESHOLD_LEVEL_UP /obj/item/organ/internal/lungs/serpentid/ui_action_click() switch_mode() /obj/item/organ/internal/lungs/serpentid/switch_mode(var/force_off = FALSE) .=..() - if(!salb_secretion && !force_off && get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) + if(!salb_secretion && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) salb_secretion = TRUE chemical_consuption += GAS_ORGAN_CHEMISTRY_LUNGS else @@ -74,9 +79,9 @@ /obj/item/organ/internal/heart/serpentid/ui_action_click() var/mob/living/heart_owner = owner - if(!get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) < STAMINA_DAMAGE_ON_MEPH) + if(!owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) < STAMINA_DAMAGE_ON_MEPH) var/mob/living/carbon/human/human_owner = owner - var/datum/reagent/chem = get_chemical_path(SERPENTID_CHEM_REAGENT_ID) + var/datum/reagent/chem = owner.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) chem.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, GAS_ORGAN_CHEMISTRY_HEART) human_owner.reagents.add_reagent("mephedrone", GAS_ORGAN_CHEMISTRY_HEART * SERPENTID_CHEM_MULT_PRODUCTION) heart_owner.apply_damage(STAMINA_DAMAGE_ON_MEPH, STAMINA) @@ -94,7 +99,7 @@ /obj/item/organ/internal/ears/serpentid/switch_mode(var/force_off = FALSE) .=..() - if(!sonar_active && !force_off && get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) + if(!sonar_active && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) sonar_active = TRUE chemical_consuption += GAS_ORGAN_CHEMISTRY_EARS else @@ -107,9 +112,8 @@ sense_creatures() /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() - playsound(owner, 'sound/mecha/skyfall_power_up.ogg', vol = 20, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE) for(var/mob/living/creature in range(9, owner)) - if(creature == owner || creature.stat == DEAD) + if(creature == owner || creature.stat == DEAD || (world.time - creature.l_move_time) < 50) continue new /obj/effect/temp_visual/sonar_ping(owner.loc, owner, creature) @@ -125,6 +129,7 @@ flash_protect = FLASH_PROTECTION_VERYVUNERABLE lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE actions_types = list(/datum/action/item_action/organ_action/use) + see_invisible = 20 /obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) var/mob/living/carbon/human/H = HA @@ -142,7 +147,7 @@ /obj/item/organ/internal/eyes/serpentid/switch_mode(var/force_off = FALSE) .=..() vision_flags = initial(vision_flags) - if(lighting_alpha == LIGHTING_PLANE_ALPHA_VISIBLE && !force_off && get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) + if(lighting_alpha == LIGHTING_PLANE_ALPHA_VISIBLE && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE see_in_dark = 8 chemical_consuption += GAS_ORGAN_CHEMISTRY_EYES @@ -152,13 +157,21 @@ vision_flags &= ~SEE_BLACKNESS chemical_consuption -= 0 -/obj/item/organ/internal/eyes/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) - . = ..() - ADD_TRAIT(M, TRAIT_COLORBLIND, ROUNDSTART_TRAIT) - -/obj/item/organ/internal/eyes/serpentid/remove(mob/living/carbon/M, special = 0) +/obj/item/organ/internal/eyes/serpentid/on_life() . = ..() - REMOVE_TRAIT(M, TRAIT_COLORBLIND, ROUNDSTART_TRAIT) + if(!isnull(owner)) + var/mob/mob = owner + mob.update_client_colour(time = 10) + owner.invisibility = 0 + +/obj/item/organ/internal/eyes/serpentid/get_colourmatrix() //Returns a special colour matrix + var/chem_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID)/100 + var/vision_chem = clamp(chem_value + SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) + var/vision_adjust = clamp((SERPENTID_EYES_LOW_VISIBLE_VALUE - chem_value)*2, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE) + var/vision_matrix = list(vision_chem, vision_adjust, vision_adjust,\ + vision_adjust, vision_chem, vision_adjust,\ + vision_adjust, vision_adjust, vision_chem) + return vision_matrix /obj/item/organ/internal/brain/serpentid name = "serpentid brain" diff --git a/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm b/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm new file mode 100644 index 000000000000..6400b9ace6b3 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm @@ -0,0 +1,19 @@ +//Procedures in this file: Carapice break surgery +////////////////////////////////////////////////////////////////// +// CARAPICE SURGERY // +////////////////////////////////////////////////////////////////// +///Surgery Datums +/datum/surgery/carapice_break + name = "Bone Repair" + steps = list( + /datum/surgery_step/open_encased/saw, + /datum/surgery_step/open_encased/retract + ) + + possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) + +/datum/surgery/carapice_break/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(limb.carapice_limb && !(affected.status & ORGAN_BROKEN)) + return TRUE + return FALSE diff --git a/modular_ss220/species/code/mob/surgery/serpentids_incision.dm b/modular_ss220/species/code/mob/surgery/serpentids_incision.dm new file mode 100644 index 000000000000..b96daa014ae6 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/serpentids_incision.dm @@ -0,0 +1,6 @@ +/datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/external/limb = target.get_organ(target_zone) + if(limb.carapice_limb && limb.carapice_state > 0) + user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") + return FALSE + . = .. () From 0873266d2802a2801d1f045c66434adcb468b4b9 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 25 Sep 2024 18:44:34 +0300 Subject: [PATCH 003/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BF=D0=BE?= =?UTF-8?q?=D1=81=D0=BB=D0=B5=20=D0=B7=D0=B0=D0=B1=D1=8B=D0=B2=D1=87=D0=B8?= =?UTF-8?q?=D0=B2=D0=BE=D1=81=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_species.dme | 2 ++ .../species/code/mob/living/carbon/species/serpentids.dm | 8 -------- .../surgery/organs/subtypes/serpentids_organs_internal.dm | 3 ++- .../species/code/mob/surgery/serpentids_break_carapice.dm | 4 ++-- .../species/code/mob/surgery/serpentids_incision.dm | 2 +- 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index 8b29ca1f6b1b..21ca493866db 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -18,3 +18,5 @@ #include "code/mob/surgery/organs/subtypes/serpentids_organs.dm" #include "code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm" #include "code/mob/surgery/organs/subtypes/serpentids_organs_external.dm" +#include "code/mob/surgery/serpentids_break_carapice.dm" +#include "code/mob/surgery/serpentids_incision.dm" diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index 47d0266add82..7c062c334f90 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -28,8 +28,6 @@ icobase = 'modular_ss220/species/icons/mob/human_races/r_serpentid.dmi' blurb = "TODO" language = "Stok" - burn_mod = 0.8 - brute_mod = 0.6 siemens_coeff = 2.0 stun_mod = 2 armor = 10 @@ -146,16 +144,10 @@ armor_count = armor_count/H.bodyparts.len if (armor_count >= SERPENTID_CARAPICE_BROKEN_STATE) - brute_mod = 0.6 - burn_mod = brute_mod + 0.2 - if (armor_count >= SERPENTID_CARAPICE_CHAMELION_STATE) can_stealth = TRUE else can_stealth = FALSE - else - brute_mod = (100 + SERPENTID_CARAPICE_BROKEN_STATE - armor_count) / 100 - burn_mod = brute_mod + 0.2 var/up = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN var/down = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm index bc7e65a670bf..d0363ee929cf 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -26,7 +26,8 @@ owner.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) else var/excess_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - GAS_ORGAN_CHEMISTRY_MAX - chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, excess_value) + var/datum/reagent/chem = owner.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) + chem.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, excess_value) ///Легкие - вырабатывают сальбутамол при наличии глутамата натрия /obj/item/organ/internal/lungs/serpentid diff --git a/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm b/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm index 6400b9ace6b3..590f41838b58 100644 --- a/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm +++ b/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm @@ -4,7 +4,7 @@ ////////////////////////////////////////////////////////////////// ///Surgery Datums /datum/surgery/carapice_break - name = "Bone Repair" + name = "Break Carapice" steps = list( /datum/surgery_step/open_encased/saw, /datum/surgery_step/open_encased/retract @@ -14,6 +14,6 @@ /datum/surgery/carapice_break/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(limb.carapice_limb && !(affected.status & ORGAN_BROKEN)) + if(affected.carapice_limb && !(affected.status & ORGAN_BROKEN)) return TRUE return FALSE diff --git a/modular_ss220/species/code/mob/surgery/serpentids_incision.dm b/modular_ss220/species/code/mob/surgery/serpentids_incision.dm index b96daa014ae6..03cbcd97682b 100644 --- a/modular_ss220/species/code/mob/surgery/serpentids_incision.dm +++ b/modular_ss220/species/code/mob/surgery/serpentids_incision.dm @@ -2,5 +2,5 @@ var/obj/item/organ/external/limb = target.get_organ(target_zone) if(limb.carapice_limb && limb.carapice_state > 0) user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") - return FALSE + return SURGERY_BEGINSTEP_ABORT . = .. () From 806bcb5e12d8565985d6bd48bd0cdc6f57928106 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 25 Sep 2024 22:07:50 +0300 Subject: [PATCH 004/152] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B3=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=BA=20=D1=84=D0=B8=D0=BD=D0=B8?= =?UTF-8?q?=D1=88=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/living/carbon/species/serpentids.dm | 14 ++---- .../organs/subtypes/serpentids_organs.dm | 3 +- .../subtypes/serpentids_organs_external.dm | 39 ++++++++++++--- .../subtypes/serpentids_organs_internal.dm | 49 +++++++++++++------ modular_ss220/species/code/species.dm | 4 +- 5 files changed, 74 insertions(+), 35 deletions(-) diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index 7c062c334f90..a2ed58cd7010 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -2,7 +2,6 @@ #define SERPENTID_CARAPICE_MAX_STATE 50 #define SERPENTID_CARAPICE_BROKEN_STATE 30 #define SERPENTID_CARAPICE_CHAMELION_STATE 48 -#define SERPENTID_CARAPICE_CHAMELION_CHEM 1 #define SERPENTID_CARAPICE_NOPRESSURE_STATE 40 #define SERPENTID_CHEM_CARAPICE_HEAL_REAGENT_ID "synthflesh" @@ -103,15 +102,15 @@ /datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) . = .. () - if (R.id == SERPENTID_CHEM_REAGENT_ID) - return FALSE - //Хитин лечится синтплотью онли + //Хитин лечится синтплотью онли if (R.id == SERPENTID_CHEM_CARAPICE_HEAL_REAGENT_ID) for(var/obj/item/organ/external/limb in H.bodyparts) if (limb.carapice_limb < SERPENTID_CARAPICE_MAX_STATE) limb.carapice_limb += SERPENTID_CHEM_CARAPICE_HEAL_COUNT * SERPENTID_CHEM_CARAPICE_HEAL_MULTIPLAYER R.holder.remove_reagent(SERPENTID_CHEM_CARAPICE_HEAL_REAGENT_ID, SERPENTID_CHEM_CARAPICE_HEAL_COUNT) return FALSE + else if (R.id == SERPENTID_CHEM_REAGENT_ID) + return FALSE else return TRUE @@ -178,20 +177,15 @@ . = ..() /datum/species/serpentid/proc/sneak(mob/living/M) //look if a ghost gets this, its an admins problem - var/mob/living/carbon/human/H = M - if((world.time - M.last_movement) >= 10 && !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained() && (H.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= SERPENTID_CARAPICE_CHAMELION_CHEM) && cloak_engaged) + if((world.time - M.last_movement) >= 10 && !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained() && cloak_engaged) if(M.invisibility != INVISIBILITY_LEVEL_TWO) M.alpha -= 51 - var/datum/reagent/chemical = H.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) - chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CARAPICE_CHAMELION_CHEM) else M.reset_visibility() M.alpha = 255 if(M.alpha == 0) M.make_invisible() - - /datum/species/serpentid/on_species_gain(mob/living/carbon/human/H) ..() H.resize = 1 diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm index 91f93f895132..d492c4bc7feb 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm @@ -5,6 +5,7 @@ #define GAS_ORGAN_CHEMISTRY_EARS 0.25 #define GAS_ORGAN_CHEMISTRY_HEART 25 #define GAS_ORGAN_CHEMISTRY_LUNGS 0.5 +#define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.6 #define SERPENTID_CHEM_MULT_CONSUPTION 0.75 #define SERPENTID_CHEM_MULT_PRODUCTION 0.6 @@ -78,7 +79,7 @@ //Если коилчества недостаточно - выключить режим switch_mode(force_off = TRUE) else - if(!isnull(chemical)) + if(!isnull(chemical) && chemical_consuption > 0) //Убрать количество глутамата из тела chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, chemical_consuption) diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm index 4ff4e2ed926e..ab44fe483818 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm @@ -7,24 +7,51 @@ action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/items_cyborg.dmi') action_icon_state = list(/datum/action/item_action/organ_action/toggle = "knife") origin_tech = "biotech=6;" + var/blade_on = FALSE /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l parent_organ = "l_arm" slot = "l_arm_device" -/obj/item/organ/internal/cyberimp/arm/toolset/ui_action_click() +/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l/on_life() . = ..() + var/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/pair_implant = null + var/list/organs = owner.internal_organs + for(var/obj/item/organ/internal/O in organs) + if (istype(O, /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade) && src != O) + pair_implant = O + if (isnull(pair_implant)) + action_icon = initial(action_icon) + action_icon_state = initial(action_icon_state) + actions_types = initial(actions_types) + else + action_icon = null + action_icon_state = null + actions_types = null + +/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/proc/synchonize_blades() var/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/pair_implant = null var/list/organs = owner.internal_organs for(var/obj/item/organ/internal/O in organs) if (istype(O, /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade) && src != O) pair_implant = O if (!isnull(pair_implant)) - if(!pair_implant.holder || (pair_implant.holder in src)) - pair_implant.holder = null - pair_implant.Extend(pair_implant.contents[1]) - else - pair_implant.Retract() + if (src.blade_on != pair_implant.blade_on) + if(src.blade_on) + pair_implant.holder = null + pair_implant.Extend(pair_implant.contents[1]) + else + pair_implant.Retract() + +/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/Extend() + . = .. () + blade_on = TRUE + synchonize_blades() + +/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/Retract() + . = .. () + blade_on = FALSE + synchonize_blades() /obj/item/kitchen/knife/combat/serpentblade name = "serpentid mantis blade" diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm index d0363ee929cf..4c5b8b945542 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -1,11 +1,27 @@ // ============ Органы внутренние ============ -///почки - базовые c добавлением дикея +///почки - базовые c добавлением дикея, вырабатывают энзимы, которые позволяют ГБС скрываться /obj/item/organ/internal/kidneys/serpentid name = "serpentid kidneys" icon = 'icons/obj/species_organs/unathi.dmi' decayable = TRUE recoverable = TRUE decay_rate = 4 + actions_types = list(/datum/action/item_action/organ_action/use) + +/obj/item/organ/internal/kidneys/serpentid/ui_action_click() + switch_mode() + +/obj/item/organ/internal/kidneys/serpentid/switch_mode(var/force_off = FALSE) + .=..() + var/datum/species/serpentid/spiece = owner.dna.species + if (istype(spiece, /datum/species/serpentid)) + if(!force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= GAS_ORGAN_CHEMISTRY_KIDNEYS && !spiece.cloak_engaged) + spiece.cloak_engaged = TRUE + chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS + else + spiece.cloak_engaged = FALSE + chemical_consuption = 0 + ///печень - вырабатывает глутамат натрия из нутриентов /obj/item/organ/internal/liver/serpentid @@ -57,12 +73,12 @@ /obj/item/organ/internal/lungs/serpentid/switch_mode(var/force_off = FALSE) .=..() - if(!salb_secretion && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) + if(!salb_secretion && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= GAS_ORGAN_CHEMISTRY_LUNGS) salb_secretion = TRUE - chemical_consuption += GAS_ORGAN_CHEMISTRY_LUNGS + chemical_consuption = GAS_ORGAN_CHEMISTRY_LUNGS else salb_secretion = FALSE - chemical_consuption -= 0 + chemical_consuption = 0 /obj/item/organ/internal/lungs/serpentid/on_life() .=..() @@ -80,7 +96,7 @@ /obj/item/organ/internal/heart/serpentid/ui_action_click() var/mob/living/heart_owner = owner - if(!owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) < STAMINA_DAMAGE_ON_MEPH) + if(!owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) <= STAMINA_DAMAGE_ON_MEPH) var/mob/living/carbon/human/human_owner = owner var/datum/reagent/chem = owner.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) chem.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, GAS_ORGAN_CHEMISTRY_HEART) @@ -100,12 +116,12 @@ /obj/item/organ/internal/ears/serpentid/switch_mode(var/force_off = FALSE) .=..() - if(!sonar_active && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) + if(!sonar_active && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= GAS_ORGAN_CHEMISTRY_EARS) sonar_active = TRUE - chemical_consuption += GAS_ORGAN_CHEMISTRY_EARS + chemical_consuption = GAS_ORGAN_CHEMISTRY_EARS else sonar_active = FALSE - chemical_consuption -= 0 + chemical_consuption = 0 /obj/item/organ/internal/ears/serpentid/on_life() .=..() @@ -143,32 +159,33 @@ /obj/item/organ/internal/eyes/serpentid/ui_action_click() switch_mode() - owner.update_sight() /obj/item/organ/internal/eyes/serpentid/switch_mode(var/force_off = FALSE) .=..() vision_flags = initial(vision_flags) - if(lighting_alpha == LIGHTING_PLANE_ALPHA_VISIBLE && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > 0) + if(lighting_alpha == LIGHTING_PLANE_ALPHA_VISIBLE && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= GAS_ORGAN_CHEMISTRY_EYES) lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE see_in_dark = 8 - chemical_consuption += GAS_ORGAN_CHEMISTRY_EYES + chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES + owner.update_sight() else lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE see_in_dark = 1 vision_flags &= ~SEE_BLACKNESS - chemical_consuption -= 0 + chemical_consuption = 0 + owner.update_sight() /obj/item/organ/internal/eyes/serpentid/on_life() . = ..() if(!isnull(owner)) var/mob/mob = owner mob.update_client_colour(time = 10) - owner.invisibility = 0 /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() //Returns a special colour matrix - var/chem_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID)/100 - var/vision_chem = clamp(chem_value + SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) - var/vision_adjust = clamp((SERPENTID_EYES_LOW_VISIBLE_VALUE - chem_value)*2, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE) + var/chem_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID)/GAS_ORGAN_CHEMISTRY_MAX + var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) + var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE + var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE) var/vision_matrix = list(vision_chem, vision_adjust, vision_adjust,\ vision_adjust, vision_chem, vision_adjust,\ vision_adjust, vision_adjust, vision_chem) diff --git a/modular_ss220/species/code/species.dm b/modular_ss220/species/code/species.dm index ca444c0ef3d5..2d50851ddd34 100644 --- a/modular_ss220/species/code/species.dm +++ b/modular_ss220/species/code/species.dm @@ -11,7 +11,7 @@ return TRUE /datum/species/nucleation - required_playtimes_minutes = -1 // 200 часов + required_playtimes_minutes = 12000 // 200 часов /datum/species/serpentid - required_playtimes_minutes = -1 // 200 часов + required_playtimes_minutes = -1 // 400 часов From 980623f9c6a2013565323a5f5df6dd6ccb3bff1f Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 26 Sep 2024 00:06:43 +0300 Subject: [PATCH 005/152] =?UTF-8?q?=D0=91=D0=B0=D0=BB=D0=B0=D0=BD=D1=81-?= =?UTF-8?q?=D1=82=D0=B2=D0=B8=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/mob/living/carbon/species/serpentids.dm | 4 ++-- .../mob/surgery/organs/subtypes/serpentids_organs.dm | 4 ++-- .../organs/subtypes/serpentids_organs_internal.dm | 6 ++++-- .../code/mob/surgery/serpentids_break_carapice.dm | 12 ++++++++++++ 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index a2ed58cd7010..99266e9aa5c2 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -9,7 +9,7 @@ #define SERPENTID_CHEM_CARAPICE_HEAL_MULTIPLAYER 0.5 #define SERPENTID_GENE_DEGRADATION_BASIC 0.02 -#define SERPENTID_GENE_DEGRADATION_EXTRA 0.05 +#define SERPENTID_GENE_DEGRADATION_EXTRA 0.1 #define SERPENTID_GENE_DEGRADATION_CD 60 #define SERPENTID_HEAT_THRESHOLD_LEVEL_BASE 350 @@ -116,7 +116,7 @@ /datum/species/serpentid/handle_life(mob/living/carbon/human/H) var/blood_percent = round((H.blood_volume / BLOOD_VOLUME_NORMAL)*100) - speed_mod = (90 - blood_percent)/100 + speed_mod = (95 - blood_percent)/100 var/armor_count = 0 var/gene_degradation = 0 diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm index d492c4bc7feb..b3f38002cf11 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm @@ -4,7 +4,7 @@ #define GAS_ORGAN_CHEMISTRY_EYES 0.75 #define GAS_ORGAN_CHEMISTRY_EARS 0.25 #define GAS_ORGAN_CHEMISTRY_HEART 25 -#define GAS_ORGAN_CHEMISTRY_LUNGS 0.5 +#define GAS_ORGAN_CHEMISTRY_LUNGS 1 #define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.6 #define SERPENTID_CHEM_MULT_CONSUPTION 0.75 @@ -103,7 +103,7 @@ /obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) . = ..() if (carapice_limb) - carapice_state -= brute + carapice_state -= brute + burn if (carapice_state < SERPENTID_CARAPICE_BROKEN_STATE) fracture() for(var/obj/item/organ/internal/O in internal_organs) diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm index 4c5b8b945542..54c43de351c1 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -31,17 +31,19 @@ alcohol_intensity = 2 decayable = TRUE recoverable = TRUE + max_value = GAS_ORGAN_CHEMISTRY_MAX decay_rate = 4 /obj/item/organ/internal/liver/serpentid/on_life() . = ..() - if (owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) < GAS_ORGAN_CHEMISTRY_MAX) + max_value = clamp((((max_damage - damage)/max_damage)*100),0,GAS_ORGAN_CHEMISTRY_MAX) + if (owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) < max_value) for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) if(!isnull(chemical)) chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) owner.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) else - var/excess_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - GAS_ORGAN_CHEMISTRY_MAX + var/excess_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - max_value var/datum/reagent/chem = owner.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) chem.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, excess_value) diff --git a/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm b/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm index 590f41838b58..2b681efd46b6 100644 --- a/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm +++ b/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm @@ -17,3 +17,15 @@ if(affected.carapice_limb && !(affected.status & ORGAN_BROKEN)) return TRUE return FALSE + +/datum/surgery_step/open_encased/saw/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(affected.carapice_limb && !(affected.status & ORGAN_BROKEN)) + carapice_state = 0 + . = .. () + +/datum/surgery_step/finish_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(affected.carapice_limb && !(affected.status & ORGAN_BROKEN)) + carapice_state = SERPENTID_CARAPICE_MAX_STATE + . = .. () From 88d344b97250b73ba87495f214f63d5895da1ac6 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 27 Sep 2024 07:12:05 +0300 Subject: [PATCH 006/152] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=85=D0=B8=D1=80=D1=83=D1=80=D0=B3?= =?UTF-8?q?=D0=B8=D0=B8=20=D0=BA=D0=B0=D1=80=D0=B0=D0=BF=D0=B0=D1=81=D0=B0?= =?UTF-8?q?,=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=BE=D1=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_species.dme | 4 +- .../mob/living/carbon/species/serpentids.dm | 78 ++++++++++++------- .../organs/subtypes/serpentids_organs.dm | 24 +++--- .../subtypes/serpentids_organs_external.dm | 58 +++++++------- .../subtypes/serpentids_organs_internal.dm | 7 +- .../mob/surgery/serpentids_break_carapice.dm | 31 -------- .../code/mob/surgery/serpentids_incision.dm | 6 -- .../mob/surgery/serpentids_surgery_steps.dm | 57 ++++++++++++++ .../mob/surgery/serpentids_surgery_types.dm | 36 +++++++++ 9 files changed, 193 insertions(+), 108 deletions(-) delete mode 100644 modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm delete mode 100644 modular_ss220/species/code/mob/surgery/serpentids_incision.dm create mode 100644 modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm create mode 100644 modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index 21ca493866db..f354e26bf4df 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -18,5 +18,5 @@ #include "code/mob/surgery/organs/subtypes/serpentids_organs.dm" #include "code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm" #include "code/mob/surgery/organs/subtypes/serpentids_organs_external.dm" -#include "code/mob/surgery/serpentids_break_carapice.dm" -#include "code/mob/surgery/serpentids_incision.dm" +#include "code/mob/surgery/serpentids_surgery_steps.dm" +#include "code/mob/surgery/serpentids_surgery_types.dm" diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index 99266e9aa5c2..97701b0d044a 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -1,12 +1,12 @@ #define SERPENTID_CHEM_REAGENT_ID "msg" -#define SERPENTID_CARAPICE_MAX_STATE 50 -#define SERPENTID_CARAPICE_BROKEN_STATE 30 -#define SERPENTID_CARAPICE_CHAMELION_STATE 48 -#define SERPENTID_CARAPICE_NOPRESSURE_STATE 40 +#define SERPENTID_CARAPACE_MAX_STATE 50 +#define SERPENTID_CARAPACE_BROKEN_STATE 30 +#define SERPENTID_CARAPACE_CHAMELION_STATE 48 +#define SERPENTID_CARAPACE_NOPRESSURE_STATE 40 -#define SERPENTID_CHEM_CARAPICE_HEAL_REAGENT_ID "synthflesh" -#define SERPENTID_CHEM_CARAPICE_HEAL_COUNT 2 -#define SERPENTID_CHEM_CARAPICE_HEAL_MULTIPLAYER 0.5 +#define SERPENTID_CHEM_CARAPACE_HEAL_REAGENT_ID "synthflesh" +#define SERPENTID_CHEM_CARAPACE_HEAL_COUNT 2 +#define SERPENTID_CHEM_CARAPACE_HEAL_MULTIPLAYER 0.5 #define SERPENTID_GENE_DEGRADATION_BASIC 0.02 #define SERPENTID_GENE_DEGRADATION_EXTRA 0.1 @@ -20,6 +20,10 @@ #define SERPENTID_COLD_THRESHOLD_LEVEL_DOWN 80 #define SERPENTID_ARMORED_COLD_THRESHOLD 70 +#define SPIECES_BAN_HEADS_JOB (1<<12) + +/datum/species + var/disabilities = 0 /datum/species/serpentid name = "Giant Armored Serpentid" @@ -32,7 +36,7 @@ armor = 10 coldmod = 2 heatmod = 4 - hunger_drain = 0.5 + hunger_drain = 0.3 species_traits = list(LIPS, NO_HAIR) inherent_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_RESISTHEAT, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOPAIN) @@ -68,17 +72,17 @@ ) has_limbs = list( - "chest" = list("path" = /obj/item/organ/external/chest/carapice, "descriptor" = "chest"), - "groin" = list("path" = /obj/item/organ/external/groin/carapice, "descriptor" = "groin"), - "head" = list("path" = /obj/item/organ/external/head/carapice, "descriptor" = "head"), - "l_arm" = list("path" = /obj/item/organ/external/arm/carapice, "descriptor" = "left arm"), - "r_arm" = list("path" = /obj/item/organ/external/arm/right/carapice, "descriptor" = "right arm"), - "l_leg" = list("path" = /obj/item/organ/external/leg/carapice, "descriptor" = "left leg"), - "r_leg" = list("path" = /obj/item/organ/external/leg/right/carapice, "descriptor" = "right leg"), - "l_hand" = list("path" = /obj/item/organ/external/hand/carapice, "descriptor" = "left hand"), - "r_hand" = list("path" = /obj/item/organ/external/hand/right/carapice, "descriptor" = "right hand"), - "l_foot" = list("path" = /obj/item/organ/external/foot/carapice, "descriptor" = "left foot"), - "r_foot" = list("path" = /obj/item/organ/external/foot/right/carapice, "descriptor" = "right foot")) + "chest" = list("path" = /obj/item/organ/external/chest/carapace, "descriptor" = "chest"), + "groin" = list("path" = /obj/item/organ/external/groin/carapace, "descriptor" = "groin"), + "head" = list("path" = /obj/item/organ/external/head/carapace, "descriptor" = "head"), + "l_arm" = list("path" = /obj/item/organ/external/arm/carapace, "descriptor" = "left arm"), + "r_arm" = list("path" = /obj/item/organ/external/arm/right/carapace, "descriptor" = "right arm"), + "l_leg" = list("path" = /obj/item/organ/external/leg/carapace, "descriptor" = "left leg"), + "r_leg" = list("path" = /obj/item/organ/external/leg/right/carapace, "descriptor" = "right leg"), + "l_hand" = list("path" = /obj/item/organ/external/hand/carapace, "descriptor" = "left hand"), + "r_hand" = list("path" = /obj/item/organ/external/hand/right/carapace, "descriptor" = "right hand"), + "l_foot" = list("path" = /obj/item/organ/external/foot/carapace, "descriptor" = "left foot"), + "r_foot" = list("path" = /obj/item/organ/external/foot/right/carapace, "descriptor" = "right foot")) suicide_messages = list( "is attempting to bite their tongue off!", @@ -93,6 +97,8 @@ "x" = list("ks", "kss", "ksss") ) + disabilities = SPIECES_BAN_HEADS_JOB + var/can_stealth = TRUE var/load_mode = FALSE var/list/valid_organs = list() @@ -103,11 +109,11 @@ /datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) . = .. () //Хитин лечится синтплотью онли - if (R.id == SERPENTID_CHEM_CARAPICE_HEAL_REAGENT_ID) + if (R.id == SERPENTID_CHEM_CARAPACE_HEAL_REAGENT_ID) for(var/obj/item/organ/external/limb in H.bodyparts) - if (limb.carapice_limb < SERPENTID_CARAPICE_MAX_STATE) - limb.carapice_limb += SERPENTID_CHEM_CARAPICE_HEAL_COUNT * SERPENTID_CHEM_CARAPICE_HEAL_MULTIPLAYER - R.holder.remove_reagent(SERPENTID_CHEM_CARAPICE_HEAL_REAGENT_ID, SERPENTID_CHEM_CARAPICE_HEAL_COUNT) + if (limb.carapace_limb < SERPENTID_CARAPACE_MAX_STATE) + limb.carapace_limb += SERPENTID_CHEM_CARAPACE_HEAL_COUNT * SERPENTID_CHEM_CARAPACE_HEAL_MULTIPLAYER + R.holder.remove_reagent(SERPENTID_CHEM_CARAPACE_HEAL_REAGENT_ID, SERPENTID_CHEM_CARAPACE_HEAL_COUNT) return FALSE else if (R.id == SERPENTID_CHEM_REAGENT_ID) return FALSE @@ -124,7 +130,7 @@ var/gene_affected = 0 if (!(limb.type in valid_limbs)) gene_affected += SERPENTID_GENE_DEGRADATION_EXTRA - var/limb_armor = limb.carapice_state + var/limb_armor = limb.carapace_state armor_count += limb_armor gene_degradation += gene_affected gene_degradation += SERPENTID_GENE_DEGRADATION_BASIC @@ -142,8 +148,8 @@ gene_lastcall += 1 armor_count = armor_count/H.bodyparts.len - if (armor_count >= SERPENTID_CARAPICE_BROKEN_STATE) - if (armor_count >= SERPENTID_CARAPICE_CHAMELION_STATE) + if (armor_count >= SERPENTID_CARAPACE_BROKEN_STATE) + if (armor_count >= SERPENTID_CARAPACE_CHAMELION_STATE) can_stealth = TRUE else can_stealth = FALSE @@ -152,7 +158,7 @@ var/down = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN var/cold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE var/heat = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE - if (armor_count >= SERPENTID_CARAPICE_NOPRESSURE_STATE) + if (armor_count >= SERPENTID_CARAPACE_NOPRESSURE_STATE) hazard_high_pressure = 1000 warning_high_pressure = 1000 warning_low_pressure = -1 @@ -349,3 +355,21 @@ loaded = null update_icon(UPDATE_OVERLAYS) + +/datum/job + var/additional_restrictions = 0 + +/datum/job/captain/ + additional_restrictions = SPIECES_BAN_HEADS_JOB + +/datum/job/New() + . = .. () + blacklisted_disabilities += additional_restrictions + +/datum/character_save/update_preview_icon(for_observer=0) + . = .. () + var/datum/species/selected_specie = GLOB.all_species[species] + var/user_selected_disabilities = disabilities & 0xFFF + disabilities = user_selected_disabilities + disabilities |= selected_specie.disabilities + diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm index b3f38002cf11..e52713886d40 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm @@ -87,8 +87,8 @@ return /obj/item/organ/external - var/carapice_state = SERPENTID_CARAPICE_MAX_STATE - var/carapice_limb = FALSE + var/carapace_state = SERPENTID_CARAPACE_MAX_STATE + var/carapace_limb = FALSE var/can_change_visual = FALSE var/change_visual = FALSE var/alt_visual_icon = null @@ -102,22 +102,22 @@ /obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) . = ..() - if (carapice_limb) - carapice_state -= brute + burn - if (carapice_state < SERPENTID_CARAPICE_BROKEN_STATE) + if (carapace_limb) + carapace_state -= brute + burn + if (carapace_state < SERPENTID_CARAPACE_BROKEN_STATE) fracture() for(var/obj/item/organ/internal/O in internal_organs) - O.receive_damage(burn * ((SERPENTID_CARAPICE_MAX_STATE - carapice_state)/SERPENTID_CARAPICE_MAX_STATE)) + O.receive_damage(burn * ((SERPENTID_CARAPACE_MAX_STATE - carapace_state)/SERPENTID_CARAPACE_MAX_STATE)) if (status & ORGAN_BROKEN) - brute_mod = (100 + SERPENTID_CARAPICE_BROKEN_STATE - carapice_state)/100 + brute_mod = (100 + SERPENTID_CARAPACE_BROKEN_STATE - carapace_state)/100 else brute_mod = 0.6 burn_mod = brute_mod + 0.2 - if (carapice_state < 0) - carapice_state = 0 - if ((status & ORGAN_BROKEN) && carapice_state > SERPENTID_CARAPICE_BROKEN_STATE) + if (carapace_state < 0) + carapace_state = 0 + if ((status & ORGAN_BROKEN) && carapace_state > SERPENTID_CARAPACE_BROKEN_STATE) mend_fracture() - if (carapice_state > SERPENTID_CARAPICE_MAX_STATE) - carapice_state = SERPENTID_CARAPICE_MAX_STATE + if (carapace_state > SERPENTID_CARAPACE_MAX_STATE) + carapace_state = SERPENTID_CARAPACE_MAX_STATE return diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm index ab44fe483818..c6e26bb43de6 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm @@ -20,14 +20,14 @@ for(var/obj/item/organ/internal/O in organs) if (istype(O, /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade) && src != O) pair_implant = O - if (isnull(pair_implant)) - action_icon = initial(action_icon) - action_icon_state = initial(action_icon_state) - actions_types = initial(actions_types) + var/datum/action/action_candidate = src.actions[1] + if (!isnull(pair_implant)) + if (action_candidate in owner.actions) + action_candidate.Remove(owner) else - action_icon = null - action_icon_state = null - actions_types = null + if (!(action_candidate in owner.actions)) + action_candidate.Grant(owner) + owner.update_action_buttons() /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/proc/synchonize_blades() var/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/pair_implant = null @@ -92,65 +92,65 @@ attack_in_progress = FALSE ///Хитиновые конечности -/obj/item/organ/external/chest/carapice +/obj/item/organ/external/chest/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE -/obj/item/organ/external/groin/carapice +/obj/item/organ/external/groin/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE -/obj/item/organ/external/head/carapice +/obj/item/organ/external/head/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE -/obj/item/organ/external/arm/carapice +/obj/item/organ/external/arm/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE can_change_visual = TRUE alt_visual_icon = "l_arm_agressive" -/obj/item/organ/external/arm/right/carapice +/obj/item/organ/external/arm/right/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE can_change_visual = TRUE alt_visual_icon = "r_arm_agressive" -/obj/item/organ/external/leg/carapice +/obj/item/organ/external/leg/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE -/obj/item/organ/external/leg/right/carapice +/obj/item/organ/external/leg/right/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE -/obj/item/organ/external/hand/carapice +/obj/item/organ/external/hand/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE can_change_visual = TRUE alt_visual_icon = "l_arm_agressive" -/obj/item/organ/external/hand/right/carapice +/obj/item/organ/external/hand/right/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE can_change_visual = TRUE alt_visual_icon = "r_arm_agressive" -/obj/item/organ/external/foot/carapice +/obj/item/organ/external/foot/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE -/obj/item/organ/external/foot/right/carapice +/obj/item/organ/external/foot/right/carapace encased = "chitin" min_broken_damage = 20 - carapice_limb = TRUE + carapace_limb = TRUE diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm index 54c43de351c1..0281dc5c95c3 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -31,8 +31,8 @@ alcohol_intensity = 2 decayable = TRUE recoverable = TRUE - max_value = GAS_ORGAN_CHEMISTRY_MAX decay_rate = 4 + var/max_value = GAS_ORGAN_CHEMISTRY_MAX /obj/item/organ/internal/liver/serpentid/on_life() . = ..() @@ -187,7 +187,12 @@ var/chem_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID)/GAS_ORGAN_CHEMISTRY_MAX var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE + + // Коэффициент смещения + var/k = 2 // Смещаем на 20% ближе к SERPENTID_EYES_LOW_VISIBLE_VALUE + vision_concentration = SERPENTID_EYES_LOW_VISIBLE_VALUE * (1 - chem_value**k) var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE) + var/vision_matrix = list(vision_chem, vision_adjust, vision_adjust,\ vision_adjust, vision_chem, vision_adjust,\ vision_adjust, vision_adjust, vision_chem) diff --git a/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm b/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm deleted file mode 100644 index 2b681efd46b6..000000000000 --- a/modular_ss220/species/code/mob/surgery/serpentids_break_carapice.dm +++ /dev/null @@ -1,31 +0,0 @@ -//Procedures in this file: Carapice break surgery -////////////////////////////////////////////////////////////////// -// CARAPICE SURGERY // -////////////////////////////////////////////////////////////////// -///Surgery Datums -/datum/surgery/carapice_break - name = "Break Carapice" - steps = list( - /datum/surgery_step/open_encased/saw, - /datum/surgery_step/open_encased/retract - ) - - possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) - -/datum/surgery/carapice_break/can_start(mob/user, mob/living/carbon/target) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapice_limb && !(affected.status & ORGAN_BROKEN)) - return TRUE - return FALSE - -/datum/surgery_step/open_encased/saw/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapice_limb && !(affected.status & ORGAN_BROKEN)) - carapice_state = 0 - . = .. () - -/datum/surgery_step/finish_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapice_limb && !(affected.status & ORGAN_BROKEN)) - carapice_state = SERPENTID_CARAPICE_MAX_STATE - . = .. () diff --git a/modular_ss220/species/code/mob/surgery/serpentids_incision.dm b/modular_ss220/species/code/mob/surgery/serpentids_incision.dm deleted file mode 100644 index 03cbcd97682b..000000000000 --- a/modular_ss220/species/code/mob/surgery/serpentids_incision.dm +++ /dev/null @@ -1,6 +0,0 @@ -/datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/obj/item/organ/external/limb = target.get_organ(target_zone) - if(limb.carapice_limb && limb.carapice_state > 0) - user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") - return SURGERY_BEGINSTEP_ABORT - . = .. () diff --git a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm new file mode 100644 index 000000000000..f102d9b0dec8 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm @@ -0,0 +1,57 @@ +#define CARAPACE_BLOCK_OPERATION list(/datum/surgery/bone_repair,/datum/surgery/bone_repair/skull,/datum/surgery/organ_manipulation) + +/datum/surgery/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + return FALSE + if (src.type in CARAPACE_BLOCK_OPERATION)//отключить стандартные операции класса "манипуляция органов", восстановить кость. + return FALSE + . = .. () + +/datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + return FALSE + +/datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(affected.carapace_limb && (affected.status & ORGAN_BROKEN)) + return TRUE + return FALSE + +/datum/surgery/carapace_break/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + return TRUE + return FALSE + +/datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/external/limb = target.get_organ(target_zone) + if(limb.carapace_limb && limb.carapace_state > 0) + user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") + return SURGERY_BEGINSTEP_ABORT + . = .. () + +/datum/surgery_step/saw_carapace/serpentid/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + affected.carapace_state = 0 + . = .. () + +/datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + affected.fracture() + . = .. () + +/datum/surgery_step/finish_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + affected.carapace_state = SERPENTID_CARAPACE_MAX_STATE + . = .. () + +/datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + affected.mend_fracture() + . = .. () diff --git a/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm b/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm new file mode 100644 index 000000000000..0ef683e6e987 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm @@ -0,0 +1,36 @@ +//Procedures in this file: carapace break surgery +////////////////////////////////////////////////////////////////// +// carapace SURGERY // +////////////////////////////////////////////////////////////////// +///Surgery Datums +/datum/surgery/carapace_break + name = "Break carapace" + steps = list( + /datum/surgery_step/saw_carapace/serpentid, + /datum/surgery_step/cut_carapace, + /datum/surgery_step/retract_carapace + ) + + possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) + requires_organic_bodypart = TRUE + +/datum/surgery/organ_manipulation/carapace + name = "Organ manipulation" + steps = list( + /datum/surgery_step/open_encased/retract, + /datum/surgery_step/proxy/manipulate_organs, + /datum/surgery_step/internal/manipulate_organs/finish, + ) + possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) + requires_organic_bodypart = TRUE + +/datum/surgery/bone_repair/carapace + name = "Carapace Repair" + steps = list( + /datum/surgery_step/glue_bone, + /datum/surgery_step/set_bone, + /datum/surgery_step/finish_bone, + /datum/surgery_step/generic/cauterize + ) + possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) + requires_organic_bodypart = TRUE From 47676faf598af42798026064b4cc96461bf5a11d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 27 Sep 2024 08:56:10 +0300 Subject: [PATCH 007/152] =?UTF-8?q?=D0=9C=D0=B5=D1=85=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=83=D0=B2=D0=B5=D0=BB=D0=B8=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B2=D0=B5=D1=81=D0=B0=20=D0=BC=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=20(=D0=BD=D0=B5=20=D0=BF=D1=83=D0=BB=D0=B8=D1=82=D1=81?= =?UTF-8?q?=D1=8F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/mob/living/carbon/species/serpentids.dm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index 97701b0d044a..3fb30062e220 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -22,8 +22,12 @@ #define SPIECES_BAN_HEADS_JOB (1<<12) +#define SERPENTID_MOVE_RESIST 1100 + /datum/species var/disabilities = 0 + var/can_buckle = FALSE + var/buckle_lying = TRUE /datum/species/serpentid name = "Giant Armored Serpentid" @@ -98,9 +102,10 @@ ) disabilities = SPIECES_BAN_HEADS_JOB + can_buckle = TRUE + buckle_lying = FALSE var/can_stealth = TRUE - var/load_mode = FALSE var/list/valid_organs = list() var/list/valid_limbs = list() var/gene_lastcall = 0 @@ -195,11 +200,11 @@ /datum/species/serpentid/on_species_gain(mob/living/carbon/human/H) ..() H.resize = 1 - H.can_buckle = TRUE - H.buckle_lying = 0 + H.can_buckle = can_buckle + H.buckle_lying = buckle_lying H.update_transform() H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) - H.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, 20) + H.move_resist = SERPENTID_MOVE_RESIST for (var/organ_name in has_organ) valid_organs += has_organ[organ_name] for (var/limb_name in has_limbs) From dbc4d8f384d8ff764ec801ebdc45047f1e31be0d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 27 Sep 2024 11:46:25 +0300 Subject: [PATCH 008/152] =?UTF-8?q?=D0=9F=D1=80=D0=B8=D1=87=D0=B5=D1=81?= =?UTF-8?q?=D0=BE=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_species.dme | 1 - .../mob/living/carbon/species/serpentids.dm | 50 +++---- .../organs/subtypes/serpentids_organs.dm | 123 ----------------- .../subtypes/serpentids_organs_external.dm | 81 ++++++++++-- .../subtypes/serpentids_organs_internal.dm | 124 +++++++++++++++--- .../mob/surgery/serpentids_surgery_steps.dm | 13 +- .../mob/surgery/serpentids_surgery_types.dm | 2 +- 7 files changed, 206 insertions(+), 188 deletions(-) delete mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index f354e26bf4df..24aa2fb5e571 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -15,7 +15,6 @@ #include "code/mob/surgery/organs/subtypes/nucleation_organs.dm" #include "code/mob/living/carbon/species/serpentids.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs.dm" #include "code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm" #include "code/mob/surgery/organs/subtypes/serpentids_organs_external.dm" #include "code/mob/surgery/serpentids_surgery_steps.dm" diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index 3fb30062e220..607cc886dcc2 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -1,12 +1,7 @@ #define SERPENTID_CHEM_REAGENT_ID "msg" -#define SERPENTID_CARAPACE_MAX_STATE 50 -#define SERPENTID_CARAPACE_BROKEN_STATE 30 -#define SERPENTID_CARAPACE_CHAMELION_STATE 48 -#define SERPENTID_CARAPACE_NOPRESSURE_STATE 40 -#define SERPENTID_CHEM_CARAPACE_HEAL_REAGENT_ID "synthflesh" -#define SERPENTID_CHEM_CARAPACE_HEAL_COUNT 2 -#define SERPENTID_CHEM_CARAPACE_HEAL_MULTIPLAYER 0.5 +#define SERPENTID_CARAPACE_CHAMELION_STATE 5 +#define SERPENTID_CARAPACE_NOPRESSURE_STATE 10 #define SERPENTID_GENE_DEGRADATION_BASIC 0.02 #define SERPENTID_GENE_DEGRADATION_EXTRA 0.1 @@ -20,6 +15,20 @@ #define SERPENTID_COLD_THRESHOLD_LEVEL_DOWN 80 #define SERPENTID_ARMORED_COLD_THRESHOLD 70 +#define GAS_ORGAN_CHEMISTRY_EYES 0.75 +#define GAS_ORGAN_CHEMISTRY_EARS 0.25 +#define GAS_ORGAN_CHEMISTRY_HEART 25 +#define GAS_ORGAN_CHEMISTRY_LUNGS 1 +#define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.6 + +#define SERPENTID_CHEM_MULT_CONSUPTION 0.75 +#define SERPENTID_CHEM_MULT_PRODUCTION 0.6 + +#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.33 +#define SERPENTID_EYES_MAX_VISIBLE_VALUE 1 + +#define GAS_ORGAN_CHEMISTRY_MAX 100 + #define SPIECES_BAN_HEADS_JOB (1<<12) #define SERPENTID_MOVE_RESIST 1100 @@ -112,15 +121,7 @@ var/cloak_engaged = FALSE /datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) - . = .. () - //Хитин лечится синтплотью онли - if (R.id == SERPENTID_CHEM_CARAPACE_HEAL_REAGENT_ID) - for(var/obj/item/organ/external/limb in H.bodyparts) - if (limb.carapace_limb < SERPENTID_CARAPACE_MAX_STATE) - limb.carapace_limb += SERPENTID_CHEM_CARAPACE_HEAL_COUNT * SERPENTID_CHEM_CARAPACE_HEAL_MULTIPLAYER - R.holder.remove_reagent(SERPENTID_CHEM_CARAPACE_HEAL_REAGENT_ID, SERPENTID_CHEM_CARAPACE_HEAL_COUNT) - return FALSE - else if (R.id == SERPENTID_CHEM_REAGENT_ID) + if (R.id == SERPENTID_CHEM_REAGENT_ID) return FALSE else return TRUE @@ -135,7 +136,7 @@ var/gene_affected = 0 if (!(limb.type in valid_limbs)) gene_affected += SERPENTID_GENE_DEGRADATION_EXTRA - var/limb_armor = limb.carapace_state + var/limb_armor = limb.damage armor_count += limb_armor gene_degradation += gene_affected gene_degradation += SERPENTID_GENE_DEGRADATION_BASIC @@ -153,17 +154,16 @@ gene_lastcall += 1 armor_count = armor_count/H.bodyparts.len - if (armor_count >= SERPENTID_CARAPACE_BROKEN_STATE) - if (armor_count >= SERPENTID_CARAPACE_CHAMELION_STATE) - can_stealth = TRUE - else - can_stealth = FALSE + if (armor_count <= SERPENTID_CARAPACE_CHAMELION_STATE) + can_stealth = TRUE + else + can_stealth = FALSE var/up = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN var/down = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN var/cold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE var/heat = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE - if (armor_count >= SERPENTID_CARAPACE_NOPRESSURE_STATE) + if (armor_count <= SERPENTID_CARAPACE_NOPRESSURE_STATE) hazard_high_pressure = 1000 warning_high_pressure = 1000 warning_low_pressure = -1 @@ -188,9 +188,9 @@ . = ..() /datum/species/serpentid/proc/sneak(mob/living/M) //look if a ghost gets this, its an admins problem - if((world.time - M.last_movement) >= 10 && !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained() && cloak_engaged) + if(((world.time - M.last_movement) >= 10 || M.move_speed < 30)&& !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained() && cloak_engaged) if(M.invisibility != INVISIBILITY_LEVEL_TWO) - M.alpha -= 51 + M.alpha -= 125 else M.reset_visibility() M.alpha = 255 diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm deleted file mode 100644 index e52713886d40..000000000000 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs.dm +++ /dev/null @@ -1,123 +0,0 @@ -#define GAS_ORGAN_MULT_DAMAGE 0.1 -#define GAS_ORGAN_MULT_RECOVER 0.02 -#define BASIC_DECAY_VALUE 1 -#define GAS_ORGAN_CHEMISTRY_EYES 0.75 -#define GAS_ORGAN_CHEMISTRY_EARS 0.25 -#define GAS_ORGAN_CHEMISTRY_HEART 25 -#define GAS_ORGAN_CHEMISTRY_LUNGS 1 -#define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.6 - -#define SERPENTID_CHEM_MULT_CONSUPTION 0.75 -#define SERPENTID_CHEM_MULT_PRODUCTION 0.6 -#define STAMINA_DAMAGE_ON_MEPH 50 - -#define SERPENTID_TOX_LIVER_LOSS 0.01 -#define SERPENTID_TOX_KIDNEY_LOSS 0.1 -#define SERPENTID_TOX_ORGAN_LOSS 0.025 - -#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.33 -#define SERPENTID_EYES_MAX_VISIBLE_VALUE 1 - -#define GAS_ORGAN_CHEMISTRY_MAX 100 - -/obj/item/organ/internal - var/decayable = FALSE - var/recoverable = FALSE - var/decay_rate = BASIC_DECAY_VALUE - var/is_destroying = FALSE - var/chemical_consuption = 0 - var/sensitive = FALSE - -/obj/item/organ/internal/process() - if(is_destroying) - receive_damage(decay_rate * GAS_ORGAN_MULT_DAMAGE, 1) - if((damage <= (max_damage/4)) && (damage > 0) && !is_destroying && recoverable) - heal_internal_damage(GAS_ORGAN_MULT_RECOVER, FALSE) - . = ..() - if (decayable) - var/is_dead = (owner.stat == DEAD) - var/is_no_owner = isnull(owner) - is_destroying = (is_dead || is_no_owner) - - if(owner.get_damage_amount(TOX) > 0) - var/list/organs = owner.internal_organs - var/obj/item/organ/internal/liver/serpentid/target_liver = null - var/obj/item/organ/internal/kidneys/serpentid/target_kidney = null - for(var/obj/item/organ/internal/O in organs) - if (istype(O, /obj/item/organ/internal/liver/serpentid)) - target_liver = O - if (istype(O, /obj/item/organ/internal/kidneys/serpentid)) - target_kidney = O - if (src == target_liver) - receive_damage(owner.get_damage_amount(TOX) * SERPENTID_TOX_LIVER_LOSS, 1) - owner.adjustToxLoss(-1 * owner.get_damage_amount(TOX) * SERPENTID_TOX_LIVER_LOSS) - else if (target_liver.status == ORGAN_DEAD && src == target_kidney) - receive_damage(owner.get_damage_amount(TOX) * SERPENTID_TOX_KIDNEY_LOSS, 1) - owner.adjustToxLoss(-1 * owner.get_damage_amount(TOX) * SERPENTID_TOX_KIDNEY_LOSS) - else if (target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) - receive_damage(owner.get_damage_amount(TOX) * SERPENTID_TOX_ORGAN_LOSS, 1) - chems_process() - -/mob/living/carbon/human/proc/get_chemical_value(var/id) - for(var/datum/reagent/R in src.reagents.reagent_list) - if (R.id == id) - return R.volume - return 0 - -/mob/living/carbon/human/proc/get_chemical_path(var/id) - for(var/datum/reagent/R in src.reagents.reagent_list) - if (R.id == id) - return R - return null - -/obj/item/organ/internal/proc/chems_process() - if(isnull(owner)) - return TRUE - var/chemical_volume = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - var/datum/reagent/chemical = owner.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) - if (chemical_volume < chemical_consuption) - //Если коилчества недостаточно - выключить режим - switch_mode(force_off = TRUE) - else - if(!isnull(chemical) && chemical_consuption > 0) - //Убрать количество глутамата из тела - chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, chemical_consuption) - -/obj/item/organ/internal/proc/switch_mode(var/force_off = FALSE) - return - -/obj/item/organ/external - var/carapace_state = SERPENTID_CARAPACE_MAX_STATE - var/carapace_limb = FALSE - var/can_change_visual = FALSE - var/change_visual = FALSE - var/alt_visual_icon = null - -/obj/item/organ/external/proc/update_visual() - if (can_change_visual && change_visual) - icon_name = alt_visual_icon - if (can_change_visual && !(change_visual)) - icon_name = initial(icon_name) - owner.update_body() - -/obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) - . = ..() - if (carapace_limb) - carapace_state -= brute + burn - if (carapace_state < SERPENTID_CARAPACE_BROKEN_STATE) - fracture() - for(var/obj/item/organ/internal/O in internal_organs) - O.receive_damage(burn * ((SERPENTID_CARAPACE_MAX_STATE - carapace_state)/SERPENTID_CARAPACE_MAX_STATE)) - if (status & ORGAN_BROKEN) - brute_mod = (100 + SERPENTID_CARAPACE_BROKEN_STATE - carapace_state)/100 - else - brute_mod = 0.6 - burn_mod = brute_mod + 0.2 - if (carapace_state < 0) - carapace_state = 0 - if ((status & ORGAN_BROKEN) && carapace_state > SERPENTID_CARAPACE_BROKEN_STATE) - mend_fracture() - if (carapace_state > SERPENTID_CARAPACE_MAX_STATE) - carapace_state = SERPENTID_CARAPACE_MAX_STATE - return - diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm index c6e26bb43de6..b3a0ec387d94 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm @@ -1,5 +1,61 @@ +#define CARAPACE_BROKEN_STATE 20 +#define CARAPACE_BASIC_BRUTE_RESISTANCE 0.8 +#define CHEM_CARAPACE_HEAL_REAGENT_ID "synthflesh" +#define CHEM_CARAPACE_HEAL_REAGENT_COUNT 10 +#define CHEM_CARAPACE_HEAL_REAGENT_PROB 50 + +/obj/item/organ/external + + var/can_change_visual = FALSE + var/change_visual = FALSE + var/alt_visual_icon = null + + var/carapace_limb = FALSE + var/carapace_heal_reagent_id = CHEM_CARAPACE_HEAL_REAGENT_ID + var/carapace_broken_treshold = CARAPACE_BROKEN_STATE + var/carapace_brute_resistance = CARAPACE_BASIC_BRUTE_RESISTANCE + +/obj/item/organ/external/proc/update_visual() + if (can_change_visual && change_visual) + icon_name = alt_visual_icon + if (can_change_visual && !(change_visual)) + icon_name = initial(icon_name) + owner.update_body() + +/obj/item/organ/external/proc/update_resistance() + if (status & ORGAN_BROKEN) + brute_mod = (100 + get_damage())/100 + else + brute_mod = carapace_brute_resistance + burn_mod = brute_mod + 0.2 + +/obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) + . = ..() + if (carapace_limb) + if (get_damage() > carapace_broken_treshold) + fracture() + var/obj/item/organ/internal/O = pick(internal_organs) + O.receive_damage(burn * get_damage()) + update_resistance() + return + +/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) + . = .. () + if ((status & ORGAN_BROKEN) && get_damage() < carapace_broken_treshold) + for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) + if(istype(chemical, owner.get_chemical_path(carapace_heal_reagent_id)) && owner.get_chemical_value(carapace_heal_reagent_id) >= CHEM_CARAPACE_HEAL_REAGENT_COUNT) + chemical.holder.remove_reagent(carapace_heal_reagent_id, CHEM_CARAPACE_HEAL_REAGENT_COUNT) + if (prob(CHEM_CARAPACE_HEAL_REAGENT_PROB)) + mend_fracture() + update_resistance() + return + // ============ Органы внешние ============ ///Руки - аналогичные богомолам имлпанты, но при изъятии сжирают по 10 стамины +/obj/item/organ/internal/cyberimp/arm/ + var/can_work_in_pair = FALSE + var/state_active = FALSE + /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade name = "hidden blade implant" desc = "A blade designed to be hidden just beneath the skin. The brain is directly linked to this bad boy, allowing it to spring into action." @@ -7,7 +63,8 @@ action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/items_cyborg.dmi') action_icon_state = list(/datum/action/item_action/organ_action/toggle = "knife") origin_tech = "biotech=6;" - var/blade_on = FALSE + can_work_in_pair = TRUE + state_active = FALSE /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l parent_organ = "l_arm" @@ -29,29 +86,31 @@ action_candidate.Grant(owner) owner.update_action_buttons() -/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/proc/synchonize_blades() +/obj/item/organ/internal/cyberimp/arm/proc/synchonize_implants() var/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/pair_implant = null var/list/organs = owner.internal_organs for(var/obj/item/organ/internal/O in organs) - if (istype(O, /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade) && src != O) + if (istype(O, /obj/item/organ/internal/cyberimp/arm) && istype(src, /obj/item/organ/internal/cyberimp/arm) && src != O) pair_implant = O if (!isnull(pair_implant)) - if (src.blade_on != pair_implant.blade_on) - if(src.blade_on) + if (src.state_active != pair_implant.state_active) + if(src.state_active) pair_implant.holder = null pair_implant.Extend(pair_implant.contents[1]) else pair_implant.Retract() -/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/Extend() +/obj/item/organ/internal/cyberimp/arm/Retract() . = .. () - blade_on = TRUE - synchonize_blades() + state_active = FALSE + if (can_work_in_pair) + synchonize_implants() -/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/Retract() +/obj/item/organ/internal/cyberimp/arm/Extend() . = .. () - blade_on = FALSE - synchonize_blades() + state_active = TRUE + if (can_work_in_pair) + synchonize_implants() /obj/item/kitchen/knife/combat/serpentblade name = "serpentid mantis blade" diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm index 0281dc5c95c3..cdfdfb96c5c6 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -1,3 +1,80 @@ +#define BASIC_RECOVER_VALUE 0.02 +#define BASIC_DECAY_VALUE 1 +#define TOX_ORGANS_PROCESS 1 + +#define SERPENTID_STAMINA_DAMAGE_ON_MEPH 50 + +/obj/item/organ/internal + var/decayable = FALSE + var/recoverable = FALSE + var/decay_rate = BASIC_DECAY_VALUE + var/recover_rate = BASIC_RECOVER_VALUE + var/is_destroying = FALSE + var/chemical_consuption = 0 + var/sensitive = FALSE + var/can_chem_process = FALSE + var/chemical_id = "" + var/organ_process_toxins = TOX_ORGANS_PROCESS + +/obj/item/organ/internal/process() + if(is_destroying) + receive_damage(decay_rate, 1) + if((damage <= (max_damage/4)) && (damage > 0) && !is_destroying && recoverable) + heal_internal_damage(recover_rate, FALSE) + . = ..() + if (decayable) + var/is_dead = (owner.stat == DEAD) + var/is_no_owner = isnull(owner) + is_destroying = (is_dead || is_no_owner) + + if(owner.get_damage_amount(TOX) > 0) + var/list/organs = owner.internal_organs + var/obj/item/organ/internal/liver/target_liver = null + var/obj/item/organ/internal/kidneys/target_kidney = null + for(var/obj/item/organ/internal/O in organs) + if (istype(O, /obj/item/organ/internal/liver)) + target_liver = O + if (istype(O, /obj/item/organ/internal/kidneys)) + target_kidney = O + if (src == target_liver) + receive_damage(owner.get_damage_amount(TOX) * organ_process_toxins, 1) + owner.adjustToxLoss(-1 * owner.get_damage_amount(TOX) * organ_process_toxins) + else if (target_liver.status == ORGAN_DEAD && src == target_kidney) + receive_damage(owner.get_damage_amount(TOX) * organ_process_toxins, 1) + owner.adjustToxLoss(-1 * owner.get_damage_amount(TOX) * organ_process_toxins) + else if (target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) + receive_damage(owner.get_damage_amount(TOX) * organ_process_toxins, 1) + if (can_chem_process) + chems_process() + +/mob/living/carbon/human/proc/get_chemical_value(var/id) + for(var/datum/reagent/R in src.reagents.reagent_list) + if (R.id == id) + return R.volume + return 0 + +/mob/living/carbon/human/proc/get_chemical_path(var/id) + for(var/datum/reagent/R in src.reagents.reagent_list) + if (R.id == id) + return R + return null + +/obj/item/organ/internal/proc/chems_process() + if(isnull(owner)) + return TRUE + var/chemical_volume = owner.get_chemical_value(chemical_id) + var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) + if (chemical_volume < chemical_consuption) + //Если коилчества недостаточно - выключить режим + switch_mode(force_off = TRUE) + else + if(!isnull(chemical) && chemical_consuption > 0) + //Убрать количество глутамата из тела + chemical.holder.remove_reagent(chemical_id, chemical_consuption) + +/obj/item/organ/internal/proc/switch_mode(var/force_off = FALSE) + return + // ============ Органы внутренние ============ ///почки - базовые c добавлением дикея, вырабатывают энзимы, которые позволяют ГБС скрываться /obj/item/organ/internal/kidneys/serpentid @@ -7,6 +84,9 @@ recoverable = TRUE decay_rate = 4 actions_types = list(/datum/action/item_action/organ_action/use) + can_chem_process = TRUE + chemical_id = SERPENTID_CHEM_REAGENT_ID + organ_process_toxins = 0.01 /obj/item/organ/internal/kidneys/serpentid/ui_action_click() switch_mode() @@ -15,7 +95,7 @@ .=..() var/datum/species/serpentid/spiece = owner.dna.species if (istype(spiece, /datum/species/serpentid)) - if(!force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= GAS_ORGAN_CHEMISTRY_KIDNEYS && !spiece.cloak_engaged) + if(!force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_KIDNEYS && !spiece.cloak_engaged) spiece.cloak_engaged = TRUE chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS else @@ -32,20 +112,23 @@ decayable = TRUE recoverable = TRUE decay_rate = 4 + can_chem_process = TRUE + chemical_id = SERPENTID_CHEM_REAGENT_ID + organ_process_toxins = 0.05 var/max_value = GAS_ORGAN_CHEMISTRY_MAX /obj/item/organ/internal/liver/serpentid/on_life() . = ..() max_value = clamp((((max_damage - damage)/max_damage)*100),0,GAS_ORGAN_CHEMISTRY_MAX) - if (owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) < max_value) + if (owner.get_chemical_value(chemical_id) < max_value) for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) if(!isnull(chemical)) chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) - owner.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) + owner.reagents.add_reagent(chemical_id, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) else - var/excess_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - max_value - var/datum/reagent/chem = owner.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) - chem.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, excess_value) + var/excess_value = owner.get_chemical_value(chemical_id) - max_value + var/datum/reagent/chem = owner.get_chemical_path(chemical_id) + chem.holder.remove_reagent(chemical_id, excess_value) ///Легкие - вырабатывают сальбутамол при наличии глутамата натрия /obj/item/organ/internal/lungs/serpentid @@ -55,6 +138,9 @@ decayable = TRUE recoverable = TRUE decay_rate = 3 + can_chem_process = TRUE + chemical_id = SERPENTID_CHEM_REAGENT_ID + organ_process_toxins = 0.25 var/salb_secretion = FALSE actions_types = list(/datum/action/item_action/organ_action/use) @@ -75,7 +161,7 @@ /obj/item/organ/internal/lungs/serpentid/switch_mode(var/force_off = FALSE) .=..() - if(!salb_secretion && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= GAS_ORGAN_CHEMISTRY_LUNGS) + if(!salb_secretion && !force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_LUNGS) salb_secretion = TRUE chemical_consuption = GAS_ORGAN_CHEMISTRY_LUNGS else @@ -95,15 +181,18 @@ recoverable = TRUE decay_rate = 5 actions_types = list(/datum/action/item_action/organ_action/use) + can_chem_process = TRUE + chemical_id = SERPENTID_CHEM_REAGENT_ID + organ_process_toxins = 1 /obj/item/organ/internal/heart/serpentid/ui_action_click() var/mob/living/heart_owner = owner - if(!owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) <= STAMINA_DAMAGE_ON_MEPH) + if(!owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) <= SERPENTID_STAMINA_DAMAGE_ON_MEPH) var/mob/living/carbon/human/human_owner = owner - var/datum/reagent/chem = owner.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) - chem.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, GAS_ORGAN_CHEMISTRY_HEART) + var/datum/reagent/chem = owner.get_chemical_path(chemical_id) + chem.holder.remove_reagent(chemical_id, GAS_ORGAN_CHEMISTRY_HEART) human_owner.reagents.add_reagent("mephedrone", GAS_ORGAN_CHEMISTRY_HEART * SERPENTID_CHEM_MULT_PRODUCTION) - heart_owner.apply_damage(STAMINA_DAMAGE_ON_MEPH, STAMINA) + heart_owner.apply_damage(SERPENTID_STAMINA_DAMAGE_ON_MEPH, STAMINA) /obj/item/organ/internal/ears/serpentid name = "serpentid ears" @@ -111,6 +200,9 @@ recoverable = TRUE decay_rate = 2 actions_types = list(/datum/action/item_action/organ_action/use) + can_chem_process = TRUE + chemical_id = SERPENTID_CHEM_REAGENT_ID + organ_process_toxins = 0.25 var/sonar_active = FALSE /obj/item/organ/internal/ears/serpentid/ui_action_click() @@ -118,7 +210,7 @@ /obj/item/organ/internal/ears/serpentid/switch_mode(var/force_off = FALSE) .=..() - if(!sonar_active && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= GAS_ORGAN_CHEMISTRY_EARS) + if(!sonar_active && !force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_EARS) sonar_active = TRUE chemical_consuption = GAS_ORGAN_CHEMISTRY_EARS else @@ -148,7 +240,9 @@ flash_protect = FLASH_PROTECTION_VERYVUNERABLE lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE actions_types = list(/datum/action/item_action/organ_action/use) - see_invisible = 20 + can_chem_process = TRUE + chemical_id = SERPENTID_CHEM_REAGENT_ID + organ_process_toxins = 0.35 /obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) var/mob/living/carbon/human/H = HA @@ -165,7 +259,7 @@ /obj/item/organ/internal/eyes/serpentid/switch_mode(var/force_off = FALSE) .=..() vision_flags = initial(vision_flags) - if(lighting_alpha == LIGHTING_PLANE_ALPHA_VISIBLE && !force_off && owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= GAS_ORGAN_CHEMISTRY_EYES) + if(lighting_alpha == LIGHTING_PLANE_ALPHA_VISIBLE && !force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_EYES) lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE see_in_dark = 8 chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES @@ -184,7 +278,7 @@ mob.update_client_colour(time = 10) /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() //Returns a special colour matrix - var/chem_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID)/GAS_ORGAN_CHEMISTRY_MAX + var/chem_value = owner.get_chemical_value(chemical_id)/GAS_ORGAN_CHEMISTRY_MAX var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE diff --git a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm index f102d9b0dec8..6e6e69e0623d 100644 --- a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm +++ b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm @@ -27,28 +27,17 @@ /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/limb = target.get_organ(target_zone) - if(limb.carapace_limb && limb.carapace_state > 0) + if(limb.carapace_limb && !(limb.status & ORGAN_BROKEN)) user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") return SURGERY_BEGINSTEP_ABORT . = .. () -/datum/surgery_step/saw_carapace/serpentid/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) - affected.carapace_state = 0 - . = .. () - /datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) affected.fracture() . = .. () -/datum/surgery_step/finish_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) - affected.carapace_state = SERPENTID_CARAPACE_MAX_STATE - . = .. () /datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) diff --git a/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm b/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm index 0ef683e6e987..40209b660fde 100644 --- a/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm +++ b/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm @@ -6,7 +6,7 @@ /datum/surgery/carapace_break name = "Break carapace" steps = list( - /datum/surgery_step/saw_carapace/serpentid, + /datum/surgery_step/saw_carapace, /datum/surgery_step/cut_carapace, /datum/surgery_step/retract_carapace ) From de77266c9e9f1959d390c15aa8fdd17a09f69220 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 27 Sep 2024 12:46:07 +0300 Subject: [PATCH 009/152] =?UTF-8?q?=D0=9E=D1=82=D0=BA=D0=B0=D0=B7=20=D0=BE?= =?UTF-8?q?=D1=82=20=D1=82=D0=BE=D0=BB=D0=BA=D0=B0=D0=BD=D0=B8=D1=8F=20(?= =?UTF-8?q?=D1=82=D0=B0=D0=BA=20=D0=B1=D1=83=D0=B4=D0=B5=D1=82=20=D0=BB?= =?UTF-8?q?=D1=83=D1=87=D1=88=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/code/mob/living/carbon/species/serpentids.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index 607cc886dcc2..9cbd66c2a1c7 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -31,8 +31,6 @@ #define SPIECES_BAN_HEADS_JOB (1<<12) -#define SERPENTID_MOVE_RESIST 1100 - /datum/species var/disabilities = 0 var/can_buckle = FALSE @@ -204,7 +202,6 @@ H.buckle_lying = buckle_lying H.update_transform() H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) - H.move_resist = SERPENTID_MOVE_RESIST for (var/organ_name in has_organ) valid_organs += has_organ[organ_name] for (var/limb_name in has_limbs) From 4eecd42e81f064350932304aa86aef75a0077bab Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 27 Sep 2024 18:23:09 +0300 Subject: [PATCH 010/152] =?UTF-8?q?=D0=9D=D1=83=20=D1=82=D0=B5=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D1=8C-=D1=82=D0=BE=20=D1=82=D0=BE=D1=87=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/living/carbon/species/serpentids.dm | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index 9cbd66c2a1c7..9354a189adc4 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -35,11 +35,13 @@ var/disabilities = 0 var/can_buckle = FALSE var/buckle_lying = TRUE + var/eyes_icon = 'icons/mob/human_face.dmi' /datum/species/serpentid name = "Giant Armored Serpentid" name_plural = "Serpentids" icobase = 'modular_ss220/species/icons/mob/human_races/r_serpentid.dmi' + eyes_icon = 'modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi' blurb = "TODO" language = "Stok" siemens_coeff = 2.0 @@ -59,7 +61,7 @@ allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, /mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/poison/bees) - bodyflags = HAS_SKIN_COLOR | TAIL_OVERLAPPED | BALD | SHAVED + bodyflags = HAS_SKIN_COLOR | BALD | SHAVED skinned_type = /obj/item/stack/sheet/animalhide/lizard flesh_color = "#34AF10" base_color = "#066000" @@ -375,3 +377,24 @@ disabilities = user_selected_disabilities disabilities |= selected_specie.disabilities + var/icon/face_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = "bald_s") + if(!(selected_specie.bodyflags & NO_EYES)) + var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") + eyes_s.Blend(e_colour, ICON_ADD) + face_s.Blend(eyes_s, ICON_OVERLAY) + + preview_icon.Blend(face_s, ICON_OVERLAY) + preview_icon_front = new(preview_icon, dir = SOUTH) + preview_icon_side = new(preview_icon, dir = WEST) + +/mob/living/carbon/human/serpentid/get_eyecon() + var/obj/item/organ/internal/eyes/eyes = get_int_organ(/obj/item/organ/internal/eyes) + if(istype(dna.species) && dna.species.eyes) + var/icon/eyes_icon + if(eyes) + eyes_icon = eyes.generate_icon() + else //Error 404: Eyes not found! + eyes_icon = new('modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi', dna.species.eyes) + eyes_icon.Blend("#800000", ICON_ADD) + + return eyes_icon From ac40b5e2b95d3cac7d38ae459757884c4e09b054 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 27 Sep 2024 21:08:01 +0300 Subject: [PATCH 011/152] =?UTF-8?q?=D0=AF=20=D1=82=D0=BE=D1=87=D0=BD=D0=BE?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BA=D0=BE=D0=BD=D1=87=D0=B8=D0=BB=20(=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=B4=D0=B0=20=D0=B6=D0=B5=3F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/code/mob/living/carbon/species/serpentids.dm | 4 ++-- .../organs/subtypes/serpentids_organs_internal.dm | 9 +++++---- .../species/code/mob/surgery/serpentids_surgery_steps.dm | 1 + 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index 9354a189adc4..d780f9dcb7cf 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -17,7 +17,7 @@ #define GAS_ORGAN_CHEMISTRY_EYES 0.75 #define GAS_ORGAN_CHEMISTRY_EARS 0.25 -#define GAS_ORGAN_CHEMISTRY_HEART 25 +#define GAS_ORGAN_CHEMISTRY_HEART 50 #define GAS_ORGAN_CHEMISTRY_LUNGS 1 #define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.6 @@ -188,7 +188,7 @@ . = ..() /datum/species/serpentid/proc/sneak(mob/living/M) //look if a ghost gets this, its an admins problem - if(((world.time - M.last_movement) >= 10 || M.move_speed < 30)&& !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained() && cloak_engaged) + if(((world.time - M.last_movement) >= 10 || M.move_speed >= 5)&& !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained() && cloak_engaged) if(M.invisibility != INVISIBILITY_LEVEL_TWO) M.alpha -= 125 else diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm index cdfdfb96c5c6..a60faec4c7c0 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -2,7 +2,8 @@ #define BASIC_DECAY_VALUE 1 #define TOX_ORGANS_PROCESS 1 -#define SERPENTID_STAMINA_DAMAGE_ON_MEPH 50 +#define SERPENTID_STAMINA_DAMAGE_ON_MEPH 100 +#define GAS_METH_HEART_COUNT 2.5 /obj/item/organ/internal var/decayable = FALSE @@ -187,11 +188,11 @@ /obj/item/organ/internal/heart/serpentid/ui_action_click() var/mob/living/heart_owner = owner - if(!owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) <= SERPENTID_STAMINA_DAMAGE_ON_MEPH) + if(owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) <= SERPENTID_STAMINA_DAMAGE_ON_MEPH) var/mob/living/carbon/human/human_owner = owner var/datum/reagent/chem = owner.get_chemical_path(chemical_id) chem.holder.remove_reagent(chemical_id, GAS_ORGAN_CHEMISTRY_HEART) - human_owner.reagents.add_reagent("mephedrone", GAS_ORGAN_CHEMISTRY_HEART * SERPENTID_CHEM_MULT_PRODUCTION) + human_owner.reagents.add_reagent("mephedrone", GAS_METH_HEART_COUNT) heart_owner.apply_damage(SERPENTID_STAMINA_DAMAGE_ON_MEPH, STAMINA) /obj/item/organ/internal/ears/serpentid @@ -224,7 +225,7 @@ /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() for(var/mob/living/creature in range(9, owner)) - if(creature == owner || creature.stat == DEAD || (world.time - creature.l_move_time) < 50) + if(creature == owner || creature.stat == DEAD || (world.time - creature.l_move_time) > 50) continue new /obj/effect/temp_visual/sonar_ping(owner.loc, owner, creature) diff --git a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm index 6e6e69e0623d..64d52c2dec7f 100644 --- a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm +++ b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm @@ -12,6 +12,7 @@ var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) return FALSE + . = ..() /datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) From be6b26a29994f74d5a4d05c8e015481ce79b0420 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 27 Sep 2024 21:51:36 +0300 Subject: [PATCH 012/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BE=D1=80?= =?UTF-8?q?=D0=B3=D0=B0=D0=BD=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/surgery/organs/subtypes/serpentids_organs_internal.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm index a60faec4c7c0..899b46213933 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -22,7 +22,6 @@ receive_damage(decay_rate, 1) if((damage <= (max_damage/4)) && (damage > 0) && !is_destroying && recoverable) heal_internal_damage(recover_rate, FALSE) - . = ..() if (decayable) var/is_dead = (owner.stat == DEAD) var/is_no_owner = isnull(owner) @@ -47,6 +46,7 @@ receive_damage(owner.get_damage_amount(TOX) * organ_process_toxins, 1) if (can_chem_process) chems_process() + . = ..() /mob/living/carbon/human/proc/get_chemical_value(var/id) for(var/datum/reagent/R in src.reagents.reagent_list) From f9347789d39df3df35077b79ecd6e6644ab4ab4d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 29 Sep 2024 16:08:15 +0300 Subject: [PATCH 013/152] =?UTF-8?q?=D0=A0=D0=B5=D0=B2=D0=BE=D1=80=D0=BA=20?= =?UTF-8?q?=D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=93=D0=91=D0=A1?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_species.dme | 9 + .../mob/living/carbon/species/serpentids.dm | 25 +- .../subtypes/serpentids_organs_external.dm | 106 ++++++- .../subtypes/serpentids_organs_internal.dm | 296 ++++++++++++++---- .../icons/mob/human_races/r_serpentid.dmi | Bin 9867 -> 3808 bytes .../icons/mob/human_races/r_serpentid_old.dmi | Bin 0 -> 9867 bytes 6 files changed, 356 insertions(+), 80 deletions(-) create mode 100644 modular_ss220/species/icons/mob/human_races/r_serpentid_old.dmi diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index 24aa2fb5e571..8228863aa1fa 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -19,3 +19,12 @@ #include "code/mob/surgery/organs/subtypes/serpentids_organs_external.dm" #include "code/mob/surgery/serpentids_surgery_steps.dm" #include "code/mob/surgery/serpentids_surgery_types.dm" +// BEGIN_INTERNALS +// END_INTERNALS +// BEGIN_FILE_DIR +#define FILE_DIR . +// END_FILE_DIR +// BEGIN_PREFERENCES +// END_PREFERENCES +// BEGIN_INCLUDE +// END_INCLUDE diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index d780f9dcb7cf..b67c0d1f9930 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -3,8 +3,7 @@ #define SERPENTID_CARAPACE_CHAMELION_STATE 5 #define SERPENTID_CARAPACE_NOPRESSURE_STATE 10 -#define SERPENTID_GENE_DEGRADATION_BASIC 0.02 -#define SERPENTID_GENE_DEGRADATION_EXTRA 0.1 +#define SERPENTID_GENE_DEGRADATION_DAMAGE 0.5 #define SERPENTID_GENE_DEGRADATION_CD 60 #define SERPENTID_HEAT_THRESHOLD_LEVEL_BASE 350 @@ -24,7 +23,7 @@ #define SERPENTID_CHEM_MULT_CONSUPTION 0.75 #define SERPENTID_CHEM_MULT_PRODUCTION 0.6 -#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.33 +#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.5 #define SERPENTID_EYES_MAX_VISIBLE_VALUE 1 #define GAS_ORGAN_CHEMISTRY_MAX 100 @@ -80,8 +79,9 @@ "brain" = /obj/item/organ/internal/brain/serpentid, "eyes" = /obj/item/organ/internal/eyes/serpentid, "ears" = /obj/item/organ/internal/ears/serpentid, - "l_arm" = /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l, - "r_arm" = /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade + //"l_hand" = /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l, + //"r_hand" = /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade, + "chest" = /obj/item/organ/internal/cyberimp/chest/serpentid_blades, ) has_limbs = list( @@ -97,6 +97,7 @@ "l_foot" = list("path" = /obj/item/organ/external/foot/carapace, "descriptor" = "left foot"), "r_foot" = list("path" = /obj/item/organ/external/foot/right/carapace, "descriptor" = "right foot")) + suicide_messages = list( "is attempting to bite their tongue off!", "is jamming their claws into their eye sockets!", @@ -115,7 +116,6 @@ buckle_lying = FALSE var/can_stealth = TRUE - var/list/valid_organs = list() var/list/valid_limbs = list() var/gene_lastcall = 0 var/cloak_engaged = FALSE @@ -133,19 +133,10 @@ var/armor_count = 0 var/gene_degradation = 0 for(var/obj/item/organ/external/limb in H.bodyparts) - var/gene_affected = 0 if (!(limb.type in valid_limbs)) - gene_affected += SERPENTID_GENE_DEGRADATION_EXTRA + gene_degradation += SERPENTID_GENE_DEGRADATION_DAMAGE var/limb_armor = limb.damage armor_count += limb_armor - gene_degradation += gene_affected - gene_degradation += SERPENTID_GENE_DEGRADATION_BASIC - - for(var/obj/item/organ/internal/organ in H.bodyparts) - var/gene_affected = SERPENTID_GENE_DEGRADATION_BASIC - if (!(organ.type in valid_organs)) - gene_affected += SERPENTID_GENE_DEGRADATION_EXTRA - gene_degradation += gene_affected if (gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD) H.adjustCloneLoss(gene_degradation) @@ -204,8 +195,6 @@ H.buckle_lying = buckle_lying H.update_transform() H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) - for (var/organ_name in has_organ) - valid_organs += has_organ[organ_name] for (var/limb_name in has_limbs) valid_limbs += has_limbs[limb_name]["path"] diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm index b3a0ec387d94..cee2300b0766 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm @@ -51,7 +51,7 @@ return // ============ Органы внешние ============ -///Руки - аналогичные богомолам имлпанты, но при изъятии сжирают по 10 стамины +///Руки - аналогичные богомолам имлпанты /obj/item/organ/internal/cyberimp/arm/ var/can_work_in_pair = FALSE var/state_active = FALSE @@ -65,10 +65,13 @@ origin_tech = "biotech=6;" can_work_in_pair = TRUE state_active = FALSE + parent_organ = "r_hand" + slot = "r_hand_device" + emp_proof = TRUE /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l - parent_organ = "l_arm" - slot = "l_arm_device" + parent_organ = "l_hand" + slot = "l_hand_device" /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l/on_life() . = ..() @@ -111,6 +114,103 @@ state_active = TRUE if (can_work_in_pair) synchonize_implants() +//===Окончание первой вариации парных имплантов=== +//===Клинки через грудной имплант=== +/obj/item/organ/internal/cyberimp/chest/serpentid_blades + name = "serpentid blade implant" + desc = "implants for the organs in your torso." + icon_state = "chest_implant" + implant_overlay = "chest_implant_overlay" + parent_organ = "chest" + actions_types = list(/datum/action/item_action/organ_action/toggle/switch_blades) + contents = newlist(/obj/item/kitchen/knife/combat/serpentblade,/obj/item/kitchen/knife/combat/serpentblade) + action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/items_cyborg.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "knife") + var/obj/item/holder_l = null + var/obj/item/holder_r = null + emp_proof = TRUE + +/datum/action/item_action/organ_action/toggle/switch_blades + name = "Switch Threat Mode" + desc = "Switch your stance to show other your intentions" + button_overlay_icon = 'icons/obj/items_cyborg.dmi' + button_overlay_icon_state = "knife" + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() + if(crit_fail || (!holder_l && !length(contents)) && (!holder_r && !length(contents))) + to_chat(owner, "The implant doesn't respond. It seems to be broken...") + return + if(do_after(owner, 20)) + if(holder_l && !(holder_l in src) && holder_r && !(holder_r in src)) + Retract() + else + holder_l = null + holder_r = null + Extend(contents[1],contents[2]) + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/check_cuffs() + if(owner.handcuffed) + to_chat(owner, "The handcuffs interfere with [src]!") + return TRUE + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Extend(obj/item/item_l, obj/item/item_r) + if(!(item_l in src) && !(item_r in src) && check_cuffs()) + return + if(status & ORGAN_DEAD) + return + + holder_l = item_l + holder_r = item_r + + holder_l.flags |= NODROP + holder_l.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + holder_l.slot_flags = null + holder_l.w_class = WEIGHT_CLASS_HUGE + holder_l.materials = null + + holder_r.flags |= NODROP + holder_r.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + holder_r.slot_flags = null + holder_r.w_class = WEIGHT_CLASS_HUGE + holder_r.materials = null + + for(var/arm_slot in list(SLOT_HUD_RIGHT_HAND, SLOT_HUD_LEFT_HAND)) + var/obj/item/arm_item = owner.get_item_by_slot(arm_slot) + + if(arm_item) + if(istype(arm_item, /obj/item/offhand)) + var/obj/item/offhand_arm_item = owner.get_active_hand() + to_chat(owner, "Your hands are too encumbered wielding [offhand_arm_item] to deploy [src]!") + return + else if(!owner.unEquip(arm_item)) + to_chat(owner, "Your [arm_item] interferes with [src]!") + return + else + to_chat(owner, "You drop [arm_item] to activate [src]!") + + if(!owner.put_in_l_hand(holder_l)) + return + if(!owner.put_in_r_hand(holder_r)) + return + + playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) + return TRUE + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Retract() + if((!holder_l || (holder_l in src)) && (!holder_r || (holder_r in src))) + return + if(status & ORGAN_DEAD) + return + + owner.unEquip(holder_r, 1) + owner.unEquip(holder_l, 1) + holder_r.forceMove(src) + holder_l.forceMove(src) + holder_r = null + holder_l = null + playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) +//==Конец клинков через грудной имплант== + /obj/item/kitchen/knife/combat/serpentblade name = "serpentid mantis blade" diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm index 899b46213933..a3f6808bacd2 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -2,8 +2,8 @@ #define BASIC_DECAY_VALUE 1 #define TOX_ORGANS_PROCESS 1 -#define SERPENTID_STAMINA_DAMAGE_ON_MEPH 100 -#define GAS_METH_HEART_COUNT 2.5 +#define SERPENTID_STAMINA_DAMAGE_ON_MEPH 50 +#define GAS_METH_HEART_COUNT 1 /obj/item/organ/internal var/decayable = FALSE @@ -36,10 +36,10 @@ target_liver = O if (istype(O, /obj/item/organ/internal/kidneys)) target_kidney = O - if (src == target_liver) + if (src == target_kidney) receive_damage(owner.get_damage_amount(TOX) * organ_process_toxins, 1) owner.adjustToxLoss(-1 * owner.get_damage_amount(TOX) * organ_process_toxins) - else if (target_liver.status == ORGAN_DEAD && src == target_kidney) + else if (target_kidney.status == ORGAN_DEAD && src == target_liver) receive_damage(owner.get_damage_amount(TOX) * organ_process_toxins, 1) owner.adjustToxLoss(-1 * owner.get_damage_amount(TOX) * organ_process_toxins) else if (target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) @@ -76,6 +76,52 @@ /obj/item/organ/internal/proc/switch_mode(var/force_off = FALSE) return +/datum/action/item_action/organ_action/toggle/serpentid_actions + name = "Serpentid actions" + desc = "Allow you to activate serpentid features." + button_overlay_icon = 'icons/obj/items_cyborg.dmi' + button_overlay_icon_state = "knife" + +/obj/item/organ/internal/proc/check_actions(mob/user) + return (owner && owner == user && owner.stat != DEAD && (src in owner.internal_organs)) + +/obj/item/organ/internal/proc/open_actions(mob/user) + var/list/choices = list() + var/list/organs_list = list() + for(var/obj/item/organ/internal/O in owner.internal_organs) + if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + organs_list += O + for(var/obj/I in organs_list) + choices["[I.name]"] = image(icon = I.icon, icon_state = I.icon_state) + var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, PROC_REF(check_actions), user)) + if(!check_actions(user)) + return + var/obj/item/organ/internal/selected + for(var/obj/item in organs_list) + if(item.name == choice) + selected = item + break + if(istype(selected) && (selected in organs_list)) + selected.switch_mode() + +/obj/item/organ/internal/proc/buttons_resort() + var/list/organs_list = list() + for(var/obj/item/organ/internal/O in owner.internal_organs) + if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + organs_list += O + + for(var/obj/item/organ/internal/O in organs_list) + organs_list -= O + for(var/obj/item/organ/internal/D in organs_list) + var/datum/action/action_candidate = O.actions[1] + if (D != O) + if (action_candidate in owner.actions) + action_candidate.Remove(owner) + else + if (!(action_candidate in owner.actions)) + action_candidate.Grant(owner) + break + // ============ Органы внутренние ============ ///почки - базовые c добавлением дикея, вырабатывают энзимы, которые позволяют ГБС скрываться /obj/item/organ/internal/kidneys/serpentid @@ -89,8 +135,16 @@ chemical_id = SERPENTID_CHEM_REAGENT_ID organ_process_toxins = 0.01 +/obj/item/organ/internal/kidneys/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = .. () + buttons_resort() + +/obj/item/organ/internal/kidneys/serpentid/remove(mob/living/carbon/M, special = 0) + . = .. () + buttons_resort() + /obj/item/organ/internal/kidneys/serpentid/ui_action_click() - switch_mode() + open_actions(owner) /obj/item/organ/internal/kidneys/serpentid/switch_mode(var/force_off = FALSE) .=..() @@ -113,7 +167,6 @@ decayable = TRUE recoverable = TRUE decay_rate = 4 - can_chem_process = TRUE chemical_id = SERPENTID_CHEM_REAGENT_ID organ_process_toxins = 0.05 var/max_value = GAS_ORGAN_CHEMISTRY_MAX @@ -139,11 +192,13 @@ decayable = TRUE recoverable = TRUE decay_rate = 3 - can_chem_process = TRUE chemical_id = SERPENTID_CHEM_REAGENT_ID organ_process_toxins = 0.25 - var/salb_secretion = FALSE - actions_types = list(/datum/action/item_action/organ_action/use) + chemical_consuption = 1 + var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault + +/obj/item/tank/internals/oxygen/serpentid_vault + volume = 5 /datum/organ/lungs/serpentid safe_oxygen_min = 21 @@ -157,23 +212,131 @@ heat_level_2_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + SERPENTID_HEAT_THRESHOLD_LEVEL_UP heat_level_3_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + 2*SERPENTID_HEAT_THRESHOLD_LEVEL_UP -/obj/item/organ/internal/lungs/serpentid/ui_action_click() - switch_mode() +/datum/organ/lungs/serpentid/proc/in_danger_zone(datum/gas_mixture/breath) + + //Получение данных + var/ox_pressure = (breath ? breath.get_breath_partial_pressure(breath.oxygen()) : 0) + var/n2_pressure = (breath ? breath.get_breath_partial_pressure(breath.nitrogen()) : 0) + var/tox_pressure = (breath ? breath.get_breath_partial_pressure(breath.toxins()) : 0) + var/co2_pressure = (breath ? breath.get_breath_partial_pressure(breath.carbon_dioxide()) : 0) + var/sa_pressure = (breath ? breath.get_breath_partial_pressure(breath.sleeping_agent()) : 0) + + // Проверка кислорода + var/O2_above_max = (safe_oxygen_max == 0? FALSE : ox_pressure > safe_oxygen_max) + var/O2_below_min = (safe_oxygen_min == 0? FALSE : ox_pressure < safe_oxygen_min) + var/O2_pp = O2_above_max || O2_below_min + + // Проверка азота + var/N2_above_max = (safe_nitro_max == 0? FALSE : n2_pressure > safe_nitro_max) + var/N2_below_min = (safe_nitro_min == 0? FALSE : n2_pressure < safe_nitro_min) + var/N2_pp = N2_above_max || N2_below_min + + // Проверка токсинов + var/Toxins_above_max = (safe_toxins_max == 0? FALSE : tox_pressure > safe_toxins_max) + var/Toxins_below_min = (safe_toxins_min == 0? FALSE : tox_pressure < safe_toxins_min) + var/Toxins_pp = Toxins_above_max || Toxins_below_min + + // Проверка углекислого газа + var/CO2_above_max = (safe_co2_max == 0? FALSE : co2_pressure > safe_co2_max) + var/CO2_below_min = (safe_co2_min == 0? FALSE : co2_pressure < safe_co2_min) + var/CO2_pp = CO2_above_max || CO2_below_min + + // Проверка сонного газа + var/SA_pp = (SA_para_min == 0? FALSE : sa_pressure > SA_para_min) + + // Общая проверка зоны опасности + var/danger_zone = O2_pp || N2_pp || Toxins_pp || CO2_pp || SA_pp + + return danger_zone + +/obj/item/organ/internal/lungs/serpentid/proc/get_turf_air(turf/T) + RETURN_TYPE(/datum/gas_mixture) + // This is one of two intended places to call this otherwise-unsafe proc. + var/datum/gas_mixture/bound_to_turf/air = T.private_unsafe_get_air() + if(air.lastread < SSair.times_fired) + var/list/milla_tile = new/list(MILLA_TILE_SIZE) + get_tile_atmos(T, milla_tile) + air.copy_from_milla(milla_tile) + air.lastread = SSair.times_fired + air.readonly = null + air.dirty = FALSE + if(!air.synchronized) + air.synchronized = TRUE + SSair.bound_mixtures += air + return air -/obj/item/organ/internal/lungs/serpentid/switch_mode(var/force_off = FALSE) +/obj/item/organ/internal/lungs/serpentid/on_life() .=..() - if(!salb_secretion && !force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_LUNGS) - salb_secretion = TRUE - chemical_consuption = GAS_ORGAN_CHEMISTRY_LUNGS + var/turf/T = get_turf(owner) + var/datum/gas_mixture/environment = get_turf_air(T) + var/datum/gas_mixture/breath + breath = owner.serpen_lugns(BREATH_VOLUME) + if(!breath) + var/breath_moles = 0 + if(environment) + breath_moles = environment.total_moles()*BREATH_PERCENTAGE + breath = environment.get_by_amount(breath_moles) + breath_secretion(breath) + +#define QUANTIZE(variable) (round(variable, 0.0001)) +/datum/gas_mixture/proc/get_by_amount(amount) + + var/sum = total_moles() + amount = min(amount, sum) //Can not take more air than tile has! + if(amount <= 0) + return null + + var/datum/gas_mixture/atmo_value = new + + atmo_value.private_oxygen = QUANTIZE((private_oxygen / sum) * amount) + atmo_value.private_nitrogen = QUANTIZE((private_nitrogen/ sum) * amount) + atmo_value.private_carbon_dioxide = QUANTIZE((private_carbon_dioxide / sum) * amount) + atmo_value.private_toxins = QUANTIZE((private_toxins / sum) * amount) + atmo_value.private_sleeping_agent = QUANTIZE((private_sleeping_agent / sum) * amount) + atmo_value.private_agent_b = QUANTIZE((private_agent_b / sum) * amount) + atmo_value.private_temperature = private_temperature + + return atmo_value +#undef QUANTIZE + +/obj/item/organ/internal/lungs/serpentid/proc/breath_secretion(datum/gas_mixture/breath) + var/can_secretion = owner.get_chemical_value(chemical_id) > chemical_consuption + var/danger_state = owner.getOxyLoss() > 0 + var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] + var/danger_air = lung_data.in_danger_zone(breath) + var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) + if (danger_air) + if (!owner.internal) + owner.internal = serpentid_vault + var/inner_oxygen_value = serpentid_vault.volume < 10 + if(inner_oxygen_value && serpentid_vault && can_secretion) + serpentid_vault.air_contents.set_oxygen((ONE_ATMOSPHERE) * serpentid_vault.volume / (R_IDEAL_GAS_EQUATION * T20C)) + chemical.holder.remove_reagent(chemical_id, chemical_consuption) else - salb_secretion = FALSE - chemical_consuption = 0 + if (owner.internal) + owner.internal = null -/obj/item/organ/internal/lungs/serpentid/on_life() - .=..() - if(salb_secretion) + if(danger_state && can_secretion) var/mob/living/carbon/human/human_owner = owner - human_owner.reagents.add_reagent("salbutamol", GAS_ORGAN_CHEMISTRY_LUNGS * SERPENTID_CHEM_MULT_CONSUPTION) + human_owner.reagents.add_reagent("salbutamol", chemical_consuption) + chemical.holder.remove_reagent(chemical_id, chemical_consuption) + +/mob/living/carbon/breathe(datum/gas_mixture/environment) + var/obj/item/organ/internal/lungs/lugns = null + for(var/obj/item/organ/internal/O in src.internal_organs) + if (istype(O, /obj/item/organ/internal/lungs)) + lugns = O + if(istype(lugns, /obj/item/organ/internal/lungs/serpentid)) + var/obj/item/organ/internal/lungs/serpentid/serpentid_lungs = lugns + if (src.internal == serpentid_lungs.serpentid_vault) + return + . = ..() + +/mob/living/carbon/human/proc/serpen_lugns(volume_needed) //making this call the parent would be far too complicated + if(internal) //check for hud updates every time this is called + return internal.remove_air_volume(volume_needed) //returns the valid air + + return null ///Сердце - вырабатывают мефедрон при активации, но за каждый тик сжирает стамину ГБС, получает урон при ударе электричеством /obj/item/organ/internal/heart/serpentid @@ -182,50 +345,69 @@ recoverable = TRUE decay_rate = 5 actions_types = list(/datum/action/item_action/organ_action/use) - can_chem_process = TRUE chemical_id = SERPENTID_CHEM_REAGENT_ID organ_process_toxins = 1 + var/meph_injected = FALSE + var/inject_drug_id = "mephedrone" + var/inject_drug = /datum/reagent/mephedrone + +/obj/item/organ/internal/heart/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = .. () + buttons_resort() + +/obj/item/organ/internal/heart/serpentid/remove(mob/living/carbon/M, special = 0) + . = .. () + buttons_resort() /obj/item/organ/internal/heart/serpentid/ui_action_click() + open_actions(owner) + +/obj/item/organ/internal/heart/serpentid/switch_mode(var/force_off = FALSE) + .=..() var/mob/living/heart_owner = owner if(owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) <= SERPENTID_STAMINA_DAMAGE_ON_MEPH) var/mob/living/carbon/human/human_owner = owner var/datum/reagent/chem = owner.get_chemical_path(chemical_id) + var/datum/reagent/meph_handler = inject_drug chem.holder.remove_reagent(chemical_id, GAS_ORGAN_CHEMISTRY_HEART) - human_owner.reagents.add_reagent("mephedrone", GAS_METH_HEART_COUNT) + human_owner.reagents.add_reagent(inject_drug_id, GAS_METH_HEART_COUNT + meph_handler.overdose_threshold) heart_owner.apply_damage(SERPENTID_STAMINA_DAMAGE_ON_MEPH, STAMINA) + meph_injected = TRUE + +/obj/item/organ/internal/heart/serpentid/on_life() + . = ..() + var/datum/reagent/meph_handler = inject_drug + var/overdose_threshold = meph_handler.overdose_threshold + var/datum/reagent/meph_value = owner.get_chemical_value(inject_drug_id) + if (meph_injected) + if(meph_value <= overdose_threshold) + meph_handler = owner.get_chemical_path(inject_drug_id) + meph_handler.holder.remove_reagent(inject_drug_id, overdose_threshold) + meph_injected = FALSE /obj/item/organ/internal/ears/serpentid name = "serpentid ears" decayable = TRUE recoverable = TRUE decay_rate = 2 - actions_types = list(/datum/action/item_action/organ_action/use) - can_chem_process = TRUE - chemical_id = SERPENTID_CHEM_REAGENT_ID organ_process_toxins = 0.25 - var/sonar_active = FALSE -/obj/item/organ/internal/ears/serpentid/ui_action_click() - switch_mode() +/obj/item/organ/internal/ears/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = .. () + buttons_resort() -/obj/item/organ/internal/ears/serpentid/switch_mode(var/force_off = FALSE) - .=..() - if(!sonar_active && !force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_EARS) - sonar_active = TRUE - chemical_consuption = GAS_ORGAN_CHEMISTRY_EARS - else - sonar_active = FALSE - chemical_consuption = 0 +/obj/item/organ/internal/ears/serpentid/remove(mob/living/carbon/M, special = 0) + . = .. () + buttons_resort() /obj/item/organ/internal/ears/serpentid/on_life() .=..() - if(sonar_active && prob(max_damage - damage)) - sense_creatures() + sense_creatures() /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() for(var/mob/living/creature in range(9, owner)) - if(creature == owner || creature.stat == DEAD || (world.time - creature.l_move_time) > 50) + var/last_movement_timer = world.time - creature.l_move_time + if(creature == owner || creature.stat == DEAD || last_movement_timer > 50) continue new /obj/effect/temp_visual/sonar_ping(owner.loc, owner, creature) @@ -237,13 +419,12 @@ decayable = TRUE recoverable = TRUE decay_rate = 1 - see_in_dark = 1 - flash_protect = FLASH_PROTECTION_VERYVUNERABLE - lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE + see_in_dark = 2 + flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE actions_types = list(/datum/action/item_action/organ_action/use) - can_chem_process = TRUE - chemical_id = SERPENTID_CHEM_REAGENT_ID organ_process_toxins = 0.35 + chemical_id = SERPENTID_CHEM_REAGENT_ID + var/eye_shielded = FALSE /obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) var/mob/living/carbon/human/H = HA @@ -255,22 +436,20 @@ return eyes_icon /obj/item/organ/internal/eyes/serpentid/ui_action_click() - switch_mode() + open_actions(owner) /obj/item/organ/internal/eyes/serpentid/switch_mode(var/force_off = FALSE) - .=..() vision_flags = initial(vision_flags) - if(lighting_alpha == LIGHTING_PLANE_ALPHA_VISIBLE && !force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_EYES) - lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE - see_in_dark = 8 - chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES + if(eye_shielded) + flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE + tint = FLASH_PROTECTION_NONE owner.update_sight() + eye_shielded = FALSE else - lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE - see_in_dark = 1 - vision_flags &= ~SEE_BLACKNESS - chemical_consuption = 0 + flash_protect = FLASH_PROTECTION_WELDER + tint = FLASH_PROTECTION_WELDER owner.update_sight() + eye_shielded = TRUE /obj/item/organ/internal/eyes/serpentid/on_life() . = ..() @@ -279,14 +458,13 @@ mob.update_client_colour(time = 10) /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() //Returns a special colour matrix - var/chem_value = owner.get_chemical_value(chemical_id)/GAS_ORGAN_CHEMISTRY_MAX + var/chem_value = (owner.get_chemical_value(chemical_id) + GAS_ORGAN_CHEMISTRY_MAX/2)/GAS_ORGAN_CHEMISTRY_MAX var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE - // Коэффициент смещения - var/k = 2 // Смещаем на 20% ближе к SERPENTID_EYES_LOW_VISIBLE_VALUE + var/k = 1 vision_concentration = SERPENTID_EYES_LOW_VISIBLE_VALUE * (1 - chem_value**k) - var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE) + var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE/2) var/vision_matrix = list(vision_chem, vision_adjust, vision_adjust,\ vision_adjust, vision_chem, vision_adjust,\ diff --git a/modular_ss220/species/icons/mob/human_races/r_serpentid.dmi b/modular_ss220/species/icons/mob/human_races/r_serpentid.dmi index 82eb64a8b08f803772c0886922d78599c50f6a1f..a581790af0362a50e758721ea86f369b0028eb88 100644 GIT binary patch literal 3808 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 WrUXNGPR^bH0000v4+oH*AR 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 IY1=>gH+mJ8U;qFB diff --git a/modular_ss220/species/icons/mob/human_races/r_serpentid_old.dmi b/modular_ss220/species/icons/mob/human_races/r_serpentid_old.dmi new file mode 100644 index 0000000000000000000000000000000000000000..82eb64a8b08f803772c0886922d78599c50f6a1f GIT binary patch literal 9867 zcmb_?cUV&I!}kGk;egDQ3r)?Pnx;8Ht;{TEIdfa?k$a0NYFTRKDtEccowIV_o;kA2 zQ7SpmT;xJU;ov4+oH*AR zAZ*d;%Z~XPm&)KEk^$~TO)Ug0b3H6j6xy-E94Q3bCDnF=F=#fon6^3EJJ|)!YS% zqE&JD;&p84HC*Ocl0-zVpFGdJPc&)PV2ZL=iu8&)`P;X}5xwX?dqp2j(plY_Yn?3~ zLNEZDvbk*-aG&Z?7lK@Kw36-fWCcXLu6kp1vMJ8)*8O_0{h}~&dw#wpni93Uv#cLw zcZbnv44bPK{Ao|)avEG~lxcalI{MUOcSyE90J=(@s$s2q4ViMf9UUAk{6#i&^^b-U znaeTJuK3>5-h}vs>y)iupT8u)5T8cJ;gr8A(E%EQZL+k|EPG^lR1qwT-U@VCMOF1r z6!`>?^dawLwg+^k>`=CX+h-%rUC3SDIb$?ErD%k27?L_j8RrCgvk}Os4IZ^PmV)PTXBD2L}%H5far~=tE1-pADEl*?5+l6i9nDmr`LppMKK^t0mew0e&GZ$e|~?nL(3r41R{d8+4QT1 zh7&uJhVAI+Ft>nU@~uYm7s&cXivGLuGmNf%KjGkmtFB9pxb&Qi@Z-I;-YN(LCZN8$ z1N7WsQw5&WGiZiKOMWaf7>P$Ga2RL59C#Q_un9UABgDxD*9FRZpW)>rBeKv1w~QRIf;#-*M`jEyUXm zL2Fu(3>uWQ2oVY3k((R?vTwejWmN7+=aKHszx@ec+Sf9nJT^pAU3qN+VOv!oJRj-)`-@3>lrct){g5-H7UkYAc+t&>;mL! zY<)haYKSG0xe@GM@hEoLp&_atiq`JdS$KaHDqDe8={lW`5wI5`D3KJ7#Yxt3Fm3$5gx#aTROFC#P|9-$F3s@Ah!RE-H_wgI2eRN?c%|>t9yX_-z2eLU)A0El zG$P?@Z}vktIZ~Ph*q=l&0l2=ipUZZcdSf)dxG-m>0wH!rODXW znQvj_gX#JYfcS}NK4tahhxK2D5c}k>yrX}E2flDmk_HA@UriSCv=Q4bA*2;BU&*&) ziZcYVWo`8n1TzH^zA}E-dsaE_A-sH)`92(x&NCcI);rh0dZywymaQfV{Q}d}2{#3d zu1*!23&XmVz-U_4DBCFasFU|~sfb4-2wnuL(=J|qwEg-mXj|Vd@lpQkgmE3f8|p~2 zXMpmilU$=MemM?PCIr8;1ehc_p}o+;$U_TG_t-~r`KCnh0>^SgQhvqJ=>0ykb^XJk zGht+IRwKP1W#J_bmCsd1krIN5xv?%cYNm+AHJqqRS4ztLju5%h(o$@wGvYCC6$mOV?G!dLNGgA zTUxYbu(;v;$HX4c!k@M*cUhoy{M(#{M0>mDGG;qHB<=IJa_XC)=nHKczFo?kP%BSS z`!(AT*Gz~03GXIvzt# ztx0hWbyZH7fR9`+Zw#h;D?@6ukf{EOB}bZV$WmwiS5w1V?LKwJ{iM(;nWhyUVW`)z zHh;!E{V{WT&)g`uqx*1dCFKz^NF1(kx~cJ;ZenM*Rp%&h#l120zGLw8G0;5xutMdm z6{AILR{FT|sCS=N?UzethY5p-Gxc7hPr{aruq(mCf22K*X)Ji=c8+ifh!>C_8TmI+ zNf^lC>kE!g2(e>9_ItNfz6=%Cmh)ThM$S`wmpK=jrwtmGd4{I57z%q# zldIe5kluK6MV~^ysUBf%PYys?(TKs(S`gGoqoA%tNb+_4F!M~ZhI1@7chrU+Gh7`e zTqx%hq`=C}GciL-IKO(lGrO%Fh!bYVKyr=_G`xqo>{Ecn(^Ny=GgXs;pg3yBhZH1<{ob?w42Vj zX07fd2r7GFNy)}e_arYb?6VnGlK->wG(G5VAlIkNYJ3(OVe-YVrb0_#{4?7aqI1Bj z1{?Oy>DkxV^()B@8kKgpm%~kad7R-!*e>N8tKrZODW+pTNJ3t8iwqdsoz{=l!o4&L za#(2lyk@Js7)fqw?WLIEr|pL_yN|58xKxvr>FfIe&PI zy&~FzSu6oTk?z`uq%04B_I#tYWaIqnqn$wcJGw1&tVnTt5qPmyPkg&J$I{{0IBxrV03= zCq%~k?x?ZdL7QL`n?(z_fI!)sFr4kbLiO5qIQ+sw!SqT-G2aJcRfLjr#A5+h#DbY0 z;>rW>g}aE1lqKf2&mpw-9k!tiQR@+DiUTD}Z?A8wvrqVL%9(KddEDWk-Itis!-SmC ztg!p}dE4{pofji?o{Zeu*FB*qQ!3YBTGs$hD;gaa<@l`u z?&m_dzQ{9(OS;*!jI@Mb!Sh~L$;8Li1ktP>IVLa7o8sqto!K46hO8$LX54RNjTvug z@MWBNqkX2{uc0;92++qSH#w{v-M}_f00`vxfvP&ta7QyB4}~-ne+MbizR#94mm^hE z&W>eh(OFS{^KjkMhT-7|P>kw}`radX-Hyoqt#-6KA+d?7;pFbJk2gTfa8;qlhXS?r z3$?7hHeyGR(OFNLL*|@UKTDVa!_o02O|8hd{H{m$p63QX;4HYTJ{(7A z_G{_mu1OE|xvI_?UG=D$IS<)FR_Ahbdf;qNJFJrQ;z@pI{_Z_`3H0-+ z3G@i&RJsUq^LAg)h)j)(z>JWVUGon6h#|YCQ(4G0&Nk**ts7%U5hfg{`6(p+BWsd5 z;EArBX!74$3HjjFW@QPmN2zg$J5<7G`L}gC^S*lYl?3YZ{dq%oiETTQ9v+rV*?4!e z7y=_94)fMj%ZsK4km?R9cnu=e0F8ZwN#ISoN1pYcGVh_z79>oLJhm1EZZbU%+_0=` z?;SvzfJq4g56-ird|0OHSUr|H4o)tQkQPe{W}AFGTpenlA6Irq(^q~+0{XEW0&3IE zN;-J{m2TN6D+PA#VCV3MOat2>2eq8nRg<7w5RRxV!HOA@f>(A`*wQB>hDt)y6+iwF z?Zdp4iX)@0GjA6Zmu6hJHY$>A;#u5bAjgSL38K|zEc;qN;~_G_XZF28#tYbg2dn?# zJqu{!gxT-71rs92`h{={!ewQX>rZ=+uk8$7UxNa~e z<~W-I?Bw9>xyq{NmmX-wu`j!{ghVKn3RDml+aUO}Rqvv%seC}NJV@5F;!wZDx7=5F zh8k1aeV>N74+qJfP@~PJWZ92R2ugUN`IUKqkg8Lgv0y?bPohhW> z_f%PEy6;g3o@4gu0#0moSz-fN(M(=1VQUWCci+)4PDw~e_(d9f<>SHc{|aWQ#}B``pz$2yh)eHcH140>{|A1vhe*x1tW0v!c60j=ZX)4PTS7Rlqz9Y+6SX$s@796dIrGGx0y@cV@8^*UV>4+$_{!^L@8=~`h99aS z_n6pG(gT=9|E-bsw18SYhQW-_7mFFX@6^Lx!R*=$NOMX<*6Y|h_!F_f>KM4lx-^z2 z128=liU`_;mEm&n0aC&I;9=FAQFRd?HO~8gpMQA{!2uAXV<6%FQ_ zYw01+pG6EI5q?@%UG|jTgs; zeezo#T%c1)COO#PA}hzjOn~#}vdYZPSm5YGQbs4MAda}dj=WvmG;E7e%+(etqNQ2O zH1L-NM~K(Q4bZ}+!@vR5Ar7Xsy&VbEu1_yo-+vO0ebc$2#aIM%yEfB-wnL2`+rU6A zmus#!Yw&GX5@y2+9lK=>P74k4)kD8Vrg%*6W(HJL-IPjFw~%c@l!oE#tUVc+{xGt( zXDj>IzUQi91PXT%1#*PowaxkR2suYhGsX}pbcN+1=oCSf)t}p3kcYzj!kW__Xm+#( zpHoh_2WJ#pdFhlYx^Vsfr=B#ze;Jy3T(J zEGKoyk4KjN`ThBG@OBWsXV+y|qDA}GHE02xot!Ca=Z&m$>F#Ux#~TpCDCEol%gxJ`tt|}~dY|!TQwyiyZDZt#W{~Cy752(h zR`}HtPOKvFQJB_oOqpbt`GLa2Ni&ys)TD`~dvcw{bMb;_#bNQ_yl0hNdz*@e#^zk~ z@!q@g{Ly@*oe@~^bee<=+bauSp09LWOQ{Le_F%|mMe#oU{;wkH___@#Y)-USvi;+I zeKVl!kP79%Z5RypnT}N-XyujUU+BnfpC1?;W#m~;momR7aWh5v^r*eEW>TQy%o1f` z!TxLHiA${#t{QXsasJ!4Z}ort_D2i7sI;DCRau(3ENU;)4>$5F88*HqUot!Z1+Z5! zN+suO(pd=t`IX-TL^s|Mu+pws)F!JXKm+qd)Bc-q0!;%0BjpZZ!_dHB#9n5uCA7{% z*$$$51>*P?4}ZD0e<-wEGxU@rYLL%)V{^7C?XqlA><48%5Wq^)g21{sR^9}jaki#y zp03d(+KdX!OPc8Q05enmHjlWiw8BW}?IZUSL z>N9alOyuPL#W<+Z1%0q(JRDV~`H)!z_zJ6EX~D+^tn`a|*gwlL4>311JM?O`uzSqE zt{J*hM9Oor7#pk|w9Voi?n;1-Ca0u`;b{UvQUJ<#IwK+lpU%1ya~zXe*QG^&)q$Q& ziWFY*O&PF!!j`osSJ`{8cqd=NwWML64B3zS7_As)CkyvJ_%r$Qx(~hU@#5>5{XYD9 zx|-fyun}KKgErHIhBFAAn))^u!xORbTII=m(Ly0?Dq&U#O^LcezF_|1i)%&UKXA#l zqQZp*z|2FjRA{M|zHg_iFVk5XP?8+A0KFwxYj2*f_kQ%WR`T@n=l1~WmJrz5pz-;; zPS^tpbfL$j^ofX>VQnCw^W(eo>bcU39s~Z66;l_F{G@?*r+2E};qS)FRghGT*rqAu)T7 zhcZ*MoFEF!wMEXhUOd)Xf4a9bb`?SrKM_ddy1B56AI(ldAh#kzH6rF@?bd5^+cZsoi1F@qZKHh%bk3pMO zVkZFX6){&B9jU#wE>1UGT`UDkyU(?w!qMm!Am}OV(Rn}?DFd`SksOL8FJHb?xPtJW zYnk5vU3mS$ZR4V$Ie~v+B=x0*jo_~|RjW_Fg~nLD_y_~zJ$>P#`sp^olU4D9S4Kw; z#-@i3{IUAaY7OD-icbfgDHlK*Gth?AETD~M2SG*fA@W{gN4EK0*B_HEW*;75)h``g4MVeJJH=Bw z@4PQ=f^b1`04wl(`!rA!5rPg$m1a(R%yEfwdM`rsl3~zEcgyr>sLc&fVwi>KaHCdT ze(Ssys?=?{GXts0sk^8v8h>l{jwsL*V=h%M&jiH9sVjLW*}Qx!R!2>2AeI?(U97c~ zeglAQvjlni$7#&-v``{B(X!F?Y@V?U@{P|A=|S2n=KWe)6;878?HA02x60|$-c~19 zfGs`{&L;C3m)Mwr<#G6*#IN}}tS#!sgczA4dK)_${`e51RIs9&lCvgtJ{8V5bt+WpAW*{- z=$j}y+b(ndg`CTpxZxsBs_9!X= z4z88DgMNG1tDSrk*QJ^RM!Fw0Pp7MLndp+16)je4l1$dl=Tf)1?O_XsMlM4sPwTy~ z5fmjtBZOMi8J*BR^nwlB%bBV#ybGZhtc;oI0w%j~I0u*Kme;VTW~b+1_)Bba-L(K4 z-V1p`3v%pwUWfh#3r&1bL9Z-I2&@029IAKG^ZjYbgec%31dgbONUlB{-?f^e`B4MT zqMIn96+xiOz&rx9DF!H`2}XvProu(n*O`srsa=JdN(3DiVQj)UwwHiMxP|TJ%fn3n znP>sdfoGV`sdAYfDV-1ycJaX0tkOL4aFoTSfhh}9l8KT z&F-3tKZl(aRh?yXLy|fgxEp`=pRF1sQoDQBPT%#_^#3199`i;g6j^7F3pZqr_ za+b0(_DZ5%B@Wmp@~L3ctM>(e_#3X(H-DMqdBSHJH;#v{iZ1{3Zt_20E$$Qlb%-C> zZ!3JY&MGb*Of4Vl;=%G0^T(RC=3!0`m<^Mps zsHo9mdq=zBjv-vhbpkYl*d5=tDJf7!{?IMryAx4Y9Ar=bp-$1o*e`mn;;8wn?uNIA z-o*Wwud`ufz$Ii%_r;I?L-MaI-%;iFgk(l$tG8n0Rv=m*keR;@7|{AbFmlQkWk-~{ zetg~0punY?_}`9_ls=a1Y^z@2`7275?`%!AK@(OSF@kbRbXhI(w^k|7r7b&$ z(q3Amx(>bkA0=@Fnx6`#Ylaua(UHLs#yWjDmq@ncNT4;JE9j&ZG9;rYmHLv;HhOfD z9$m|k;|zZk8ylPBrYI!Rueh({QRa1olOj+)$I)FN_Z`)(#{21?A=?y}UrA2VT7P)w zqJe=yqqe7x%EV)5-ej5f{7#`Am^4gXS>t8sMkNfp#l6U80*%h^n@Y%L8@kqs%=e<* z%H~*T?a8SwAS3mc%q%7qVp6{EzP1wLJ0?`(7`p%rUo z!nej(O@Om*{2FCLJ(LhzGRFcjBk^)e?E*P2CV zD|Av5wqm78{a%f6ywz2hd%ETXhERxa0?BzW3T6faQw`j*wx2l&< zHsAH%q6vg`lrH)tBebD{XDBGEPW1w=ifI~?!@p3Fbm(~l20EYGp;l`;NFkzoMGPP0 zZ>8RhOt|;dO+M3^c0tDtGq)|Z*ZezX%G5o<@q0S9WWZL=y!vb`?z;fh;5x{5?|FoD zztTj@P0h96y(0G?S4O!X7)`VBjy+&~38TN9oP2k){{x9eJWiB|POxWq|BQ(PV=Jcn zmOIvMVO-9mn9w=@o=7ZQ8B;2NF3O>pLLZ^qQmYTNmGHP>CL_zc25ecYg^ZB;K(pl`BQykl~DggI7B}f_ycK4&re%?SsPi(m_pH~Pmg zeVDCOB2Yddo+w%Y_#9i`{u$sRvIMi(?|TH5AtJ;_)??uhzA(w#-oS-sSocO z*ey2b)fOQlg*G8UVO1jJ4P|D~hEc&%)fFgmFokG@t-mt0n|VdeU_)7L4N^aQQLFrA zgwX>v_8QGIsUFBHw#M5*bPzIKD7oie&>$nj0>qO8(%D&vraTRdDa8JC)BF7Axoz~f zR@zYUho1Eo^lHlxKC2*Wf0-73Xo2}kfZ#3v7fx1Rv&n_UQ z*Z)fis6YA7xUMYGxO%aX3V~N|_((0}${~q^gxrVV;?^EMuLmk9MDX#Y4Gxv<`TY9Sz(J?h*h^|B?^h?m zpYnD3bhNfn$Rq_;`Z(%9`I*_&pzjWFsq%hI$PSJB$4Nh>-}K$;$xmq8#`R<1tl}U( zgAeg%AIHH#A}9Z)iD#Zr3(N?EdTg0mTbCj}yCjoV9=K~#4w~9I22!S2t}8p<`iQ%% zg!jg;q@<+OG3oyMEiCO9&ljJV0P7D-XuLx;)#Bvp|G>aTHwmPjaVtin!_o{JsQs^7 zw$P{c99IhCOZO(h+I{xtPGW#>w$NKKq$7NOcI7qunadpcQ?eJNfQ`FE-GJ|%0`M7V z-rdCgBU{F)LhXMv;^NP3K4i=4S!&@2&w{5jp*4K` z{9fMkZNDV6q2h4}>zDp37@{Lj2!_!0$8zw3cx^VdP&f#KYwn#W0S{zA&Slc^bUqyC zbDW~T(X)dJ(2gE{{|84_Hz2e(F20PXcF8T;fPP-$*+=woGc?*(|IUqiJ@p~J(X1Z@ zPoOLpR$deVV-p2U;U|ZG<6Gfqwldrqmt&yQKAd8P!)77uW!~J|j|sQW(z>rNc%n*g zG<@IhhTH^Jc3A5NmMOYCFBMF_#uyNYR)7}%2j!IzhW5DpU$wAel{6{AZdU)vYGbPC zK!s_rtDc7g%vjh^U%F|^>w*es96rtaed`nhKT2Jw;$s0#ei^w&%c;Gj14Sir2-6C7 zKcQML$DSJ?hFZrWAkISG1kkSFmH>pzo>Hy6)b;=U!*-(wLB_h@bc>a!cb5Tr*9@*! IY1=>gH+mJ8U;qFB literal 0 HcmV?d00001 From b8edf07bd7b2f05d32db27bb5252be38bc131623 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 29 Sep 2024 18:08:14 +0300 Subject: [PATCH 014/152] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../surgery/organs/subtypes/serpentids_organs_external.dm | 2 +- .../surgery/organs/subtypes/serpentids_organs_internal.dm | 5 +++-- .../species/code/mob/surgery/serpentids_surgery_steps.dm | 3 +-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm index cee2300b0766..972c2d28080b 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm @@ -140,7 +140,7 @@ if(crit_fail || (!holder_l && !length(contents)) && (!holder_r && !length(contents))) to_chat(owner, "The implant doesn't respond. It seems to be broken...") return - if(do_after(owner, 20)) + if(do_after(owner, 20, FALSE, owner)) if(holder_l && !(holder_l in src) && holder_r && !(holder_r in src)) Retract() else diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm index a3f6808bacd2..6560f531e671 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm @@ -308,7 +308,7 @@ if (danger_air) if (!owner.internal) owner.internal = serpentid_vault - var/inner_oxygen_value = serpentid_vault.volume < 10 + var/inner_oxygen_value = serpentid_vault.volume < 100 if(inner_oxygen_value && serpentid_vault && can_secretion) serpentid_vault.air_contents.set_oxygen((ONE_ATMOSPHERE) * serpentid_vault.volume / (R_IDEAL_GAS_EQUATION * T20C)) chemical.holder.remove_reagent(chemical_id, chemical_consuption) @@ -402,7 +402,8 @@ /obj/item/organ/internal/ears/serpentid/on_life() .=..() - sense_creatures() + if (prob((max_damage - damage)/max_damage) * 100) + sense_creatures() /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() for(var/mob/living/creature in range(9, owner)) diff --git a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm index 64d52c2dec7f..ec0848423c6a 100644 --- a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm +++ b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm @@ -10,9 +10,8 @@ /datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + if(affected.carapace_limb) return FALSE - . = ..() /datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) From 2b564a12b5620fd37e40e6e1b4611f7966922171 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 4 Oct 2024 07:37:37 +0300 Subject: [PATCH 015/152] =?UTF-8?q?=D0=9A=D1=80=D1=83=D0=BF=D0=BD=D1=8B?= =?UTF-8?q?=D0=B9=20=D1=80=D0=B5=D0=B2=D0=BE=D1=80=D0=BA=20=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BF=D1=8B=D1=82=D0=BA=D0=B0=20=D1=80=D0=B0=D0=B7=D0=B3?= =?UTF-8?q?=D1=80=D0=B5=D0=B1=D1=81=D1=82=D0=B8=20=D0=B2=D1=81=D0=B5=20?= =?UTF-8?q?=D0=B2=20=D0=BA=D1=83=D1=87=D1=83=20=D1=84=D0=B0=D0=B9=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_species.dme | 34 +- modular_ss220/species/code/datum/carapace.dm | 93 ++++ .../species/code/datum/double_attack.dm | 65 +++ .../code/datum/grab_and_drag_on_mob_crates.dm | 145 ++++++ .../code/datum/grab_and_drag_on_mob_mobs.dm | 118 +++++ .../species/code/datum/organ_actions.dm | 50 ++ .../species/code/datum/organ_chemistry.dm | 42 ++ .../species/code/datum/organ_decay.dm | 38 ++ .../species/code/datum/organ_toxins.dm | 48 ++ .../species/code/datum/paired_implants.dm | 75 +++ modular_ss220/species/code/datum/reagents.dm | 128 +++++ .../code/mob/living/carbon/human/human_mob.dm | 4 - .../mob/living/carbon/species/serpentids.dm | 275 ++++------ .../implants/serpentid_mantis_blades.dm | 24 + .../organs/implants/serpentid_mantis_chest.dm | 94 ++++ .../organs/implants/serpentid_mantis_hand.dm | 21 + .../subtypes/serpentids_organs_additionals.dm | 5 + .../organs/subtypes/serpentids_organs_ears.dm | 23 + .../subtypes/serpentids_organs_external.dm | 321 ++---------- .../organs/subtypes/serpentids_organs_eyes.dm | 77 +++ .../subtypes/serpentids_organs_heart.dm | 42 ++ .../subtypes/serpentids_organs_internal.dm | 478 ------------------ .../subtypes/serpentids_organs_kidneys.dm | 41 ++ .../subtypes/serpentids_organs_liver.dm | 29 ++ .../subtypes/serpentids_organs_lungs.dm | 190 +++++++ .../mob/surgery/serpentids_surgery_steps.dm | 18 +- .../mob/surgery/serpentids_surgery_types.dm | 5 +- modular_ss220/species/code/species.dm | 2 +- .../species/icons/mob/human_races/organs.dmi | Bin 0 -> 7149 bytes .../species/icons/mob/screen_alert.dmi | Bin 0 -> 3674 bytes 30 files changed, 1523 insertions(+), 962 deletions(-) create mode 100644 modular_ss220/species/code/datum/carapace.dm create mode 100644 modular_ss220/species/code/datum/double_attack.dm create mode 100644 modular_ss220/species/code/datum/grab_and_drag_on_mob_crates.dm create mode 100644 modular_ss220/species/code/datum/grab_and_drag_on_mob_mobs.dm create mode 100644 modular_ss220/species/code/datum/organ_actions.dm create mode 100644 modular_ss220/species/code/datum/organ_chemistry.dm create mode 100644 modular_ss220/species/code/datum/organ_decay.dm create mode 100644 modular_ss220/species/code/datum/organ_toxins.dm create mode 100644 modular_ss220/species/code/datum/paired_implants.dm create mode 100644 modular_ss220/species/code/datum/reagents.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_blades.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_chest.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_hand.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_additionals.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_ears.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_eyes.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_heart.dm delete mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_kidneys.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_liver.dm create mode 100644 modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_lungs.dm create mode 100644 modular_ss220/species/icons/mob/human_races/organs.dmi create mode 100644 modular_ss220/species/icons/mob/screen_alert.dmi diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index 8228863aa1fa..2e7997553901 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -14,17 +14,29 @@ #include "code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm" #include "code/mob/surgery/organs/subtypes/nucleation_organs.dm" +#include "code/datum/reagents.dm" +#include "code/datum/organ_decay.dm" +#include "code/datum/organ_chemistry.dm" +#include "code/datum/organ_toxins.dm" +#include "code/datum/organ_actions.dm" +#include "code/datum/carapace.dm" +#include "code/datum/paired_implants.dm" +#include "code/datum/double_attack.dm" +#include "code/datum/grab_and_drag_on_mob_mobs.dm" +#include "code/datum/grab_and_drag_on_mob_crates.dm" + +#include "code/mob/surgery/organs/implants/serpentid_mantis_blades.dm" +#include "code/mob/surgery/organs/implants/serpentid_mantis_chest.dm" +#include "code/mob/surgery/organs/implants/serpentid_mantis_hand.dm" + #include "code/mob/living/carbon/species/serpentids.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs_external.dm" #include "code/mob/surgery/serpentids_surgery_steps.dm" #include "code/mob/surgery/serpentids_surgery_types.dm" -// BEGIN_INTERNALS -// END_INTERNALS -// BEGIN_FILE_DIR -#define FILE_DIR . -// END_FILE_DIR -// BEGIN_PREFERENCES -// END_PREFERENCES -// BEGIN_INCLUDE -// END_INCLUDE +#include "code/mob/surgery/organs/subtypes/serpentids_organs_external.dm" +#include "code/mob/surgery/organs/subtypes/serpentids_organs_eyes.dm" +#include "code/mob/surgery/organs/subtypes/serpentids_organs_ears.dm" +#include "code/mob/surgery/organs/subtypes/serpentids_organs_lungs.dm" +#include "code/mob/surgery/organs/subtypes/serpentids_organs_heart.dm" +#include "code/mob/surgery/organs/subtypes/serpentids_organs_kidneys.dm" +#include "code/mob/surgery/organs/subtypes/serpentids_organs_liver.dm" +#include "code/mob/surgery/organs/subtypes/serpentids_organs_additionals.dm" diff --git a/modular_ss220/species/code/datum/carapace.dm b/modular_ss220/species/code/datum/carapace.dm new file mode 100644 index 000000000000..8079cfc51849 --- /dev/null +++ b/modular_ss220/species/code/datum/carapace.dm @@ -0,0 +1,93 @@ +/* +===Модуль панциря (карапаса) +Цепляется на конечность. Особенность в том, что изначально придает конечности усиленную броню, но по достиженю трешхолда слома (устаналивается тут) конечность ломается + +Сломанная конечность увеличивает входящий по ней урон. Считает и брут и берн уроны. В случае получения берн урона процент урона переносится на органы.area + +Сопротивление/уязвимость к урону ожогами всегда ниже/выше сопротивления травмам. + +Панцирь блокирует стандартные операции, пока не будет сломан. + +Панцирь самовосстановится, если полностью вылечить конечность. Но есть параметр, который разрешает 100% или иное заживление при исцелении урона конечности. +*/ +//Базовый трешхолд урона, при достижение или выше которого будет слом. +#define CARAPACE_BROKEN_STATE 20 +//Базовая уязвимость к урону травмами (0.8 = 80%) +#define CARAPACE_BASIC_BRUTE_VULNERABILITY 0.8 +//Бонус к уязвимости ожогу относительно урона травм +#define CARAPACE_ADDITIVE_BURN_VULNERABILITY 0.1 +//Функция на будущее - позволяет переносить проценты урона +#define CARAPACE_DAMAGE_TRANSFER_PERCENTAGES 1 +//Вероятность восстановления конечности при достижении 0 урона +#define CARAPACE_HEAL_BROKEN_PROB 50 +//Список операций, которые будут заблокированы пока панцирь не будет сломан +#define CARAPACE_BLOCK_OPERATION list(/datum/surgery/bone_repair,/datum/surgery/bone_repair/skull,/datum/surgery/organ_manipulation) + +#define COMSIG_CARAPACE_RECEIVE_DAMAGE "receive_damage" +#define COMSIG_CARAPACE_HEAL_DAMAGE "heal_damage" + +#define COMSIG_CARAPACE_SURGERY_CAN_START "block_operation" + #define CARAPACE_STOP_SURGERY_STEP (1<<0) + +/datum/component/carapace + var/obj/item/organ/external/limb + var/self_medning = FALSE + var/broken_treshold = CARAPACE_BROKEN_STATE + var/brute_resistance = CARAPACE_BASIC_BRUTE_VULNERABILITY + +/datum/component/carapace/Initialize(var/caller_limb, var/allow_self_medning, var/break_threshold) + ..() + limb = parent + self_medning = allow_self_medning + broken_treshold = break_threshold + update_resistance(limb) + +/datum/component/carapace/RegisterWithParent() + RegisterSignal(parent, COMSIG_CARAPACE_RECEIVE_DAMAGE, PROC_REF(receive_damage)) + RegisterSignal(parent, COMSIG_CARAPACE_HEAL_DAMAGE, PROC_REF(heal_damage)) + RegisterSignal(parent, COMSIG_CARAPACE_SURGERY_CAN_START, PROC_REF(block_operation)) + +/datum/component/carapace/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_CARAPACE_RECEIVE_DAMAGE) + UnregisterSignal(parent, COMSIG_CARAPACE_HEAL_DAMAGE) + UnregisterSignal(parent, COMSIG_CARAPACE_SURGERY_CAN_START) + +/datum/component/carapace/proc/block_operation() + SIGNAL_HANDLER + return ((limb.status & ORGAN_BROKEN) ? CARAPACE_STOP_SURGERY_STEP : FALSE) + +//Прок на обновление сопротивления урона +/datum/component/carapace/proc/update_resistance(var/affected_limb) + if (limb.status & ORGAN_BROKEN) + limb.brute_mod = (100 + limb.get_damage()) / 100 + else + limb.brute_mod = brute_resistance + limb.burn_mod = limb.brute_mod + CARAPACE_ADDITIVE_BURN_VULNERABILITY + +//Проки, срабатываемые при получении или исцелении урона +/datum/component/carapace/proc/receive_damage(var/affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) + if (limb.get_damage() > broken_treshold) + limb.fracture() + if (limb.internal_organs.len > 0) + var/obj/item/organ/internal/O = pick(limb.internal_organs) + O.receive_damage(burn * limb.burn_dam) + update_resistance() + +/datum/component/carapace/proc/heal_damage(var/affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) + if ((limb.status & ORGAN_BROKEN) && limb.get_damage() == 0) + if (self_medning) + limb.mend_fracture() + else if(prob(CARAPACE_HEAL_BROKEN_PROB)) + limb.mend_fracture() + update_resistance() + +//Расширение проков урона и лечения для обращения к компоненту +/obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) + . = ..() + SEND_SIGNAL(src, COMSIG_CARAPACE_RECEIVE_DAMAGE, brute, burn, sharp, used_weapon, forbidden_limbs, ignore_resists, updating_health) + return + +/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) + . = ..() + SEND_SIGNAL(src, COMSIG_CARAPACE_HEAL_DAMAGE, brute, burn, internal, robo_repair, updating_health) + return diff --git a/modular_ss220/species/code/datum/double_attack.dm b/modular_ss220/species/code/datum/double_attack.dm new file mode 100644 index 000000000000..2df97f2b0618 --- /dev/null +++ b/modular_ss220/species/code/datum/double_attack.dm @@ -0,0 +1,65 @@ +/* +===Компонент на атаку парного оружия +Срабатывает при атаке оружием. Второе оружие через паузу в 0.2 секунды запускает атаку. + +Срабатывает только, если оружие одинаковое. +*/ + +#define COMSIG_DOUBLEATTACK_PROCESS "offhand_pre_attack" +#define COMSIG_DOUBLEATTACK_SYNC "sync_states" +#define COMSIG_DOUBLEATTACK_CHECK "check_state" + #define DOUBLEATTACK_CHECK_ACTIVE (1<<0) + +/datum/component/double_attack + var/obj/item/mainhand_item = null + var/obj/item/offhand_item = null + var/state_attack = FALSE + +/datum/component/double_attack/Initialize(var/obj/item/weapon) + mainhand_item = weapon + +/datum/component/double_attack/RegisterWithParent() + RegisterSignal(parent, COMSIG_DOUBLEATTACK_PROCESS, PROC_REF(offhand_pre_attack)) + RegisterSignal(parent, COMSIG_DOUBLEATTACK_CHECK, PROC_REF(check_state)) + RegisterSignal(parent, COMSIG_DOUBLEATTACK_SYNC, PROC_REF(sync_states)) + +/datum/component/double_attack/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_DOUBLEIMP_SYNCHONIZE) + +//Проверка, что оружие запустило атаку (для избегания цепи атак) +/datum/component/double_attack/proc/check_state() + SIGNAL_HANDLER + return state_attack ? DOUBLEATTACK_CHECK_ACTIVE : 0 + +//Синхронизация состояния атак, чтобы оба оружия понимали, что они запустили атаку +/datum/component/double_attack/proc/sync_states(var/weapon, var/newstate) + SIGNAL_HANDLER + state_attack = newstate + +/datum/component/double_attack/proc/offhand_pre_attack(var/obj/item/weapon, mob/living/target, mob/living/user, def_zone) + SIGNAL_HANDLER + offhand_item = user.get_inactive_hand() + if(offhand_item.type != mainhand_item.type) + return + if (SEND_SIGNAL(offhand_item, COMSIG_DOUBLEATTACK_CHECK) && DOUBLEATTACK_CHECK_ACTIVE) + return + state_attack = TRUE + SEND_SIGNAL(offhand_item, COMSIG_DOUBLEATTACK_SYNC, state_attack) + if (offhand_item) + addtimer(CALLBACK(src, PROC_REF(offhand_attack), target, user, def_zone), (user.next_move_modifier / 5) SECONDS) + +/datum/component/double_attack/proc/offhand_attack(mob/living/target, mob/living/user, def_zone) + if(QDELETED(src) || QDELETED(target) || user != offhand_item.loc || !user.Adjacent(target)) + return + offhand_item.attack(target, user, def_zone) + addtimer(CALLBACK(src, PROC_REF(offhand_post_attack)), (user.next_move_modifier / 2) SECONDS) + +/datum/component/double_attack/proc/offhand_post_attack() + state_attack = FALSE + SEND_SIGNAL(offhand_item, COMSIG_DOUBLEATTACK_SYNC, state_attack) + +//Расширение базового прока атаки для запуска сигнала +/obj/item/attack(mob/living/M, mob/living/user, def_zone) + . = .. () + SEND_SIGNAL(src, COMSIG_DOUBLEATTACK_PROCESS, M, user, def_zone) + diff --git a/modular_ss220/species/code/datum/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/code/datum/grab_and_drag_on_mob_crates.dm new file mode 100644 index 000000000000..66c81ea970f5 --- /dev/null +++ b/modular_ss220/species/code/datum/grab_and_drag_on_mob_crates.dm @@ -0,0 +1,145 @@ +/* +=== Перенос ящиков === +Компонент для переноса ящиков карго на мобах. Срабатывает в случае граб-интента, драг-энд-дропа ящика на модель +*/ + +#define COMSIG_GADOM_UNMOB_LOAD "try_load_cargo" +#define COMSIG_GADOM_UNMOB_UNLOAD "try_unload_cargo" + +#define COMSIG_GADOM_UNMOB_CAN_GRAB "block_operation" + #define GADOM_UNMOB_ALLOW_TO_GRAB (1<<0) + +//Для отслеживания кто несет объект +/atom/movable + var/mob/living/carbon/human/crate_carrying_person = null + +//Для расширения движения (иначе возникает графический глич и ящик пропадает при движении) +/atom/movable/Move(atom/newloc, direct = 0, movetime) + . = .. () + var/mob/living/carbon/human/puppet = src + if(ishuman(puppet)) + if(!isnull(puppet.loaded)) + puppet.loaded.forceMoveCrate(puppet) + +//Клонированый и изменны прок движения, чтобы не трогать основной +/atom/movable/proc/forceMoveCrate(atom/destination) + var/turf/old_loc = loc + loc = destination.loc //изменение здесь (добавлено .loc) + moving_diagonally = 0 + + if(old_loc) + old_loc.Exited(src, destination) + for(var/atom/movable/AM in old_loc) + AM.Uncrossed(src) + + if(destination) + destination.Entered(src) + for(var/atom/movable/AM in destination) + if(AM == src) + continue + AM.Crossed(src, old_loc) + var/turf/oldturf = get_turf(old_loc) + var/turf/destturf = get_turf(destination) + var/old_z = (oldturf ? oldturf.z : null) + var/dest_z = (destturf ? destturf.z : null) + if(old_z != dest_z) + onTransitZ(old_z, dest_z) + + + Moved(old_loc, NONE) + + return TRUE + +/datum/component/gadom_cargo + var/mob/living/carbon/human/carrier = null + var/list/allowed_races = list(/datum/species/serpentid) + +/datum/component/gadom_cargo/Initialize() + ..() + carrier = parent + +/datum/component/gadom_cargo/RegisterWithParent() + RegisterSignal(parent, COMSIG_GADOM_UNMOB_LOAD, PROC_REF(try_load_cargo)) + RegisterSignal(parent, COMSIG_GADOM_UNMOB_UNLOAD, PROC_REF(try_unload_cargo)) + RegisterSignal(parent, COMSIG_GADOM_UNMOB_CAN_GRAB, PROC_REF(block_operation)) + +/datum/component/gadom_cargo/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_GADOM_UNMOB_LOAD) + UnregisterSignal(parent, COMSIG_GADOM_UNMOB_UNLOAD) + UnregisterSignal(parent, COMSIG_GADOM_UNMOB_CAN_GRAB) + +/datum/component/gadom_cargo/proc/block_operation() + SIGNAL_HANDLER + return GADOM_UNMOB_ALLOW_TO_GRAB + +/datum/component/gadom_cargo/proc/try_load_cargo(datum/component_holder, mob/user, atom/movable/AM) + var/datum/species/spiece = user.dna.species + if((user.a_intent == "grab") && (spiece.type in allowed_races)) + if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, AM) > 1) + return + + if(!istype(AM)) + return + + if(do_after(user, 20 * user.dna.species.action_mult, FALSE, AM)) + load(AM) + +/datum/component/gadom_cargo/proc/load(atom/movable/AM) + if(carrier.loaded || AM.anchored || get_dist(carrier, AM) > 1) + return + + if(!isitem(AM) && !ismachinery(AM) && !isstructure(AM) && !ismob(AM)) + return + if(!isturf(AM.loc)) + return + + var/obj/structure/closet/crate/CRATE + if(istype(AM,/obj/structure/closet/crate)) + CRATE = AM + if(CRATE) + CRATE.close() + + if(isobj(AM)) + var/obj/O = AM + if(O.has_buckled_mobs() || (locate(/mob) in AM)) + return + + if(!isliving(AM)) + AM.crate_carrying_person = carrier + //AM.forceMove(carrier) - //блокировка стандартного прока + AM.forceMoveCrate(src) + + carrier.loaded = AM + carrier.update_icon() + +/datum/component/gadom_cargo/proc/try_unload_cargo() + var/dirn = carrier.dir + if(!carrier.loaded) + return + + if(carrier.loaded) + carrier.loaded.forceMove(carrier.loc) + carrier.loaded.pixel_y = initial(carrier.loaded.pixel_y) + carrier.loaded.layer = initial(carrier.loaded.layer) + carrier.loaded.plane = initial(carrier.loaded.plane) + if(dirn) + var/turf/T = carrier.loc + var/turf/newT = get_step(T,dirn) + if(carrier.loaded.CanPass(carrier.loaded, newT)) + step(carrier.loaded, dirn) + carrier.loaded.crate_carrying_person = null + carrier.loaded = null + + carrier.update_icon(UPDATE_OVERLAYS) + +//Расширение прока для переноса ящика на моба +/mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) + if (SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) && GADOM_UNMOB_ALLOW_TO_GRAB) + SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_LOAD, usr, AM) + . = .. () + +//Расширение прока на отстегивание ящика +/datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) + if (SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_CAN_GRAB) && GADOM_UNMOB_ALLOW_TO_GRAB && H.loaded) + SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_UNLOAD, M) + . = .. () diff --git a/modular_ss220/species/code/datum/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/code/datum/grab_and_drag_on_mob_mobs.dm new file mode 100644 index 000000000000..07b1fbf13e7b --- /dev/null +++ b/modular_ss220/species/code/datum/grab_and_drag_on_mob_mobs.dm @@ -0,0 +1,118 @@ +/* +=== Перенос мобов === +Компонент для переноса мобов на мобах. Срабатывает в случае граб-интента, драг-энд-дропа моба на модель (аля стул) +*/ + +#define COMSIG_GADOM_MOB_LOAD "try_load_mob" +#define COMSIG_GADOM_MOB_UNLOAD "try_unload_mob" + +#define COMSIG_GADOM_MOB_CAN_GRAB "block_operation" + #define GADOM_MOB_ALLOW_TO_GRAB (1<<0) + +/mob/living/carbon/human + var/atom/movable/loaded = null + var/mob/living/passenger = null + +/datum/component/gadom_living + var/mob/living/carbon/human/carrier = null + var/list/allowed_races = list(/datum/species/serpentid) + +/datum/component/gadom_living/Initialize() + ..() + carrier = parent + +/datum/component/gadom_living/RegisterWithParent() + RegisterSignal(parent, COMSIG_GADOM_MOB_LOAD, PROC_REF(try_load_mob)) + RegisterSignal(parent, COMSIG_GADOM_MOB_UNLOAD, PROC_REF(try_unload_mob)) + RegisterSignal(parent, COMSIG_GADOM_MOB_CAN_GRAB, PROC_REF(block_operation)) + +/datum/component/gadom_living/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_GADOM_MOB_LOAD) + UnregisterSignal(parent, COMSIG_GADOM_MOB_UNLOAD) + UnregisterSignal(parent, COMSIG_GADOM_MOB_CAN_GRAB) + +/datum/component/gadom_living/proc/block_operation() + SIGNAL_HANDLER + return GADOM_MOB_ALLOW_TO_GRAB + +/datum/component/gadom_living/proc/try_load_mob(datum/component_holder, mob/user, mob/target) + SIGNAL_HANDLER + var/mob/living/carbon/human/puppet = component_holder + var/datum/dna/genetic_info = puppet.dna + var/datum/species/spiece = genetic_info.species + if((puppet.a_intent == "grab") && (spiece.type in allowed_races)) + if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, puppet) > 1) + return + if(!istype(target)) + return + if(do_after(puppet, 20 * puppet.dna.species.action_mult, FALSE, target)) + load(puppet, target) + + +/datum/component/gadom_living/proc/load(mob/living/carbon/human/puppet, atom/movable/AM) + if(carrier.loaded|| AM.anchored || get_dist(puppet, AM) > 1) + return + + if(!isitem(AM) && !ismachinery(AM) && !isstructure(AM) && !ismob(AM)) + return + if(!isturf(AM.loc)) + return + + if(isliving(AM)) + if(!load_mob(AM)) + return + + carrier.loaded = AM + carrier.update_icon() + +/datum/component/gadom_living/proc/load_mob(mob/living/M) + carrier.can_buckle = TRUE + carrier.buckle_lying = FALSE + if(carrier.buckle_mob(M)) + carrier.passenger = M + carrier.loaded = M + carrier.can_buckle = FALSE + + return TRUE + return FALSE + +/datum/component/gadom_living/proc/try_unload_mob(mob/user) + SIGNAL_HANDLER + if(!carrier.passenger) + return + + carrier.loaded = null + carrier.passenger = null + carrier.unbuckle_all_mobs() + carrier.can_buckle = TRUE + carrier.update_icon(UPDATE_OVERLAYS) + +//Обновление при отстегивании для восстановления слоя моба +/mob/living/carbon/human/post_unbuckle_mob(mob/living/M) + .=..() + loaded = null + passenger = null + M.layer = initial(M.layer) + M.pixel_y = initial(M.pixel_y) + +//Расширение для пристегивания моба +/mob/MouseDrop(mob/M as mob, src_location, over_location, src_control, over_control, params) + if((M != usr) || !istype(M)) + ..() + return + if(usr == src) + return + if(!Adjacent(usr)) + return + if(IsFrozen(src) && !is_admin(usr)) + to_chat(usr, "Interacting with admin-frozen players is not permitted.") + return + if (SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB) && GADOM_MOB_ALLOW_TO_GRAB) + SEND_SIGNAL(usr, COMSIG_GADOM_MOB_LOAD, usr, src) + +/datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) + if (SEND_SIGNAL(H, COMSIG_GADOM_MOB_CAN_GRAB) && GADOM_MOB_ALLOW_TO_GRAB && H.loaded) + SEND_SIGNAL(H, COMSIG_GADOM_MOB_UNLOAD, M) + . = .. () + + diff --git a/modular_ss220/species/code/datum/organ_actions.dm b/modular_ss220/species/code/datum/organ_actions.dm new file mode 100644 index 000000000000..1bc9dbd12c32 --- /dev/null +++ b/modular_ss220/species/code/datum/organ_actions.dm @@ -0,0 +1,50 @@ +/* +Расширение на органы, который бы позволяли объединять многочисленные действия органов в одну радиальную кнопку +*/ + +/obj/item/organ/internal + var/radial_additive_state = "" + var/radial_additive_icon = 'modular_ss220/species/icons/mob/human_races/organs.dmi' + +/obj/item/organ/internal/proc/check_actions(mob/user) + return (owner && owner == user && owner.stat != DEAD && (src in owner.internal_organs)) + +//Прок, вызывается непосредственно в кнопке действия органа +/obj/item/organ/internal/proc/open_actions(mob/user) + var/list/choices = list() + var/list/organs_list = list() + for(var/obj/item/organ/internal/O in owner.internal_organs) + if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + organs_list += O + for(var/obj/item/organ/internal/I in organs_list) + choices["[I.name]"] = image(icon = radial_additive_icon, icon_state = I.radial_additive_state) + var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, PROC_REF(check_actions), user)) + if(!check_actions(user)) + return + var/obj/item/organ/internal/selected + for(var/obj/item in organs_list) + if(item.name == choice) + selected = item + break + if(istype(selected) && (selected in organs_list)) + selected.switch_mode() + +//Прок для ресортировки кнопок (убирает лишние дубли) (должен вызываться на insert/remove конкретного органа, чтобы не трогать остальные) +/obj/item/organ/internal/proc/buttons_resort() + var/list/organs_list = list() + if (owner) + for(var/obj/item/organ/internal/O in owner.internal_organs) + if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + organs_list += O + + for(var/obj/item/organ/internal/O in organs_list) + organs_list -= O + for(var/obj/item/organ/internal/D in organs_list) + var/datum/action/action_candidate = O.actions[1] + if (D != O) + if (action_candidate in owner.actions) + action_candidate.Remove(owner) + else + if (!(action_candidate in owner.actions)) + action_candidate.Grant(owner) + break diff --git a/modular_ss220/species/code/datum/organ_chemistry.dm b/modular_ss220/species/code/datum/organ_chemistry.dm new file mode 100644 index 000000000000..42056610e611 --- /dev/null +++ b/modular_ss220/species/code/datum/organ_chemistry.dm @@ -0,0 +1,42 @@ +/* +Расширение на органы для работы с запасами химикатов +*/ + +/obj/item/organ/internal + var/chemical_consuption = 0 + var/can_chem_process = FALSE + var/chemical_id = "" + +/obj/item/organ/internal/process() + . = ..() + if (can_chem_process) + chems_process() + +/obj/item/organ/internal/proc/chems_process() + if(isnull(owner)) + return TRUE + var/chemical_volume = owner.get_chemical_value(chemical_id) + var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) + if (chemical_volume < chemical_consuption) + //Если количества недостаточно - выключить режим + switch_mode(force_off = TRUE) + else + if(!isnull(chemical) && chemical_consuption > 0) + chemical.holder.remove_reagent(chemical_id, chemical_consuption) + +//Переписываемый прок, который вызывается когда заканчивается запас химического препарата +/obj/item/organ/internal/proc/switch_mode(var/force_off = FALSE) + return + +//Пара помощников - получить количество и путь химиката по его ID +/mob/living/carbon/human/proc/get_chemical_value(var/id) + for(var/datum/reagent/R in src.reagents.reagent_list) + if (R.id == id) + return R.volume + return 0 + +/mob/living/carbon/human/proc/get_chemical_path(var/id) + for(var/datum/reagent/R in src.reagents.reagent_list) + if (R.id == id) + return R + return null diff --git a/modular_ss220/species/code/datum/organ_decay.dm b/modular_ss220/species/code/datum/organ_decay.dm new file mode 100644 index 000000000000..2722d10842c2 --- /dev/null +++ b/modular_ss220/species/code/datum/organ_decay.dm @@ -0,0 +1,38 @@ +/* +=== Компонент разложения и восстановления органов === +Запускает процессинг, отслеживающий состояние органов, контролирует их разложение в случае смерти владельца, в случае изъятия. + +В случае, если орган в теле носителя или не уничтожается и его урон ниже 25%, то происходит постепенное самовосстановление +*/ + +#define BASIC_RECOVER_VALUE 0.02 +#define BASIC_DECAY_VALUE 0.5 + +/datum/component/organ_decay + var/obj/item/organ/internal/organ = null + var/recover_rate + var/decay_rate + +/datum/component/organ_decay/Initialize(var/income_decay_rate = BASIC_RECOVER_VALUE, var/income_recover_rate = BASIC_DECAY_VALUE) + . = ..() + organ = parent + recover_rate = income_recover_rate + decay_rate = income_decay_rate + START_PROCESSING(SSdcs, src) + +/datum/component/organ_decay/Destroy(force, silent) + STOP_PROCESSING(SSdcs, src) + . = ..() + +/datum/component/organ_decay/process() + if(organ.status & ORGAN_DEAD) + return + + var/is_no_owner = isnull(organ.owner) + var/is_dead = (is_no_owner ? FALSE : organ.owner.stat == DEAD) + + var/is_destroying = (is_dead || (is_no_owner && !organ.is_in_freezer)) + if(is_destroying) + organ.receive_damage(decay_rate, 1) + if((organ.damage <= (organ.max_damage/4)) && (organ.damage > 0) && !is_destroying) + organ.heal_internal_damage(recover_rate, FALSE) diff --git a/modular_ss220/species/code/datum/organ_toxins.dm b/modular_ss220/species/code/datum/organ_toxins.dm new file mode 100644 index 000000000000..f3a8a62a90d2 --- /dev/null +++ b/modular_ss220/species/code/datum/organ_toxins.dm @@ -0,0 +1,48 @@ +/* +=== Органы-токсины === +Реализует процесс повреждения урона если в орагнизме обнаружен токсинный урон +*/ + +#define TOX_ORGANS_PROCESS 1 + +#define COMSIG_ORGAN_TOX_HANDLE "tox_handle_organ" + +/datum/component/organ_toxin_damage + var/obj/item/organ/internal/organ = null + var/toxin_damage_rate + +/datum/component/organ_toxin_damage/Initialize(var/tox_rate = TOX_ORGANS_PROCESS) + . = ..() + organ = parent + toxin_damage_rate = tox_rate + +/datum/component/organ_toxin_damage/RegisterWithParent() + RegisterSignal(parent, COMSIG_ORGAN_TOX_HANDLE, PROC_REF(tox_handle_organ)) + +/datum/component/organ_toxin_damage/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_ORGAN_TOX_HANDLE) + +/datum/component/organ_toxin_damage/proc/tox_handle_organ() + if(organ.status & ORGAN_DEAD) + return + if(organ.owner.get_damage_amount(TOX) > 0) + var/list/organs = organ.owner.internal_organs + var/obj/item/organ/internal/liver/target_liver = null + var/obj/item/organ/internal/kidneys/target_kidney = null + for(var/obj/item/organ/internal/O in organs) + if (istype(O, /obj/item/organ/internal/liver)) + target_liver = O + if (istype(O, /obj/item/organ/internal/kidneys)) + target_kidney = O + if (src == target_kidney) + organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) + organ.owner.adjustToxLoss(-1 * organ.owner.get_damage_amount(TOX) * toxin_damage_rate) + else if (target_kidney.status == ORGAN_DEAD && src == target_liver) + organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) + organ.owner.adjustToxLoss(-1 * organ.owner.get_damage_amount(TOX) * toxin_damage_rate) + else if (target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) + organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) + +/obj/item/organ/internal/process() + SEND_SIGNAL(src, COMSIG_ORGAN_TOX_HANDLE) + . = .. () diff --git a/modular_ss220/species/code/datum/paired_implants.dm b/modular_ss220/species/code/datum/paired_implants.dm new file mode 100644 index 000000000000..3484c393d63d --- /dev/null +++ b/modular_ss220/species/code/datum/paired_implants.dm @@ -0,0 +1,75 @@ +/* +===Парные импланты=== +Элемент дял парных имплантов, который позволяет их синхронную активацию и скрытие второй кнопки (1 кнопка на 2 импланта) +*/ + +#define COMSIG_DOUBLEIMP_SYNCHONIZE "synchonize_implants" +#define COMSIG_DOUBLEIMP_ACTION_REBUILD "action_rebuild" + +/datum/element/paired_implants + +/datum/element/paired_implants/Attach(obj/item/organ/internal/cyberimp/arm/target) + . = ..() + RegisterSignal(target, COMSIG_DOUBLEIMP_SYNCHONIZE, PROC_REF(synchonize_implants)) + RegisterSignal(target, COMSIG_DOUBLEIMP_ACTION_REBUILD, PROC_REF(action_rebuild)) + +/datum/element/paired_implants/Detach(obj/item/organ/internal/cyberimp/arm/target) + UnregisterSignal(target, COMSIG_DOUBLEIMP_SYNCHONIZE) + UnregisterSignal(target, COMSIG_DOUBLEIMP_ACTION_REBUILD) + return ..() + +/datum/element/paired_implants/proc/action_rebuild(var/processed_implant) + var/obj/item/organ/internal/cyberimp/arm/pair_implant = null + var/obj/item/organ/internal/cyberimp/arm/assigned_implant = processed_implant + var/list/organs = assigned_implant.owner.internal_organs + for(var/obj/item/organ/internal/O in organs) + if (istype(O, /obj/item/organ/internal/cyberimp/arm) && assigned_implant != O) + pair_implant = O + var/datum/action/action_candidate = assigned_implant.actions[1] + if (!isnull(pair_implant)) + if (action_candidate in assigned_implant.owner.actions) + action_candidate.Remove(assigned_implant.owner) + else + if (!(action_candidate in assigned_implant.owner.actions)) + action_candidate.Grant(assigned_implant.owner) + assigned_implant.owner.update_action_buttons() + +/datum/element/paired_implants/proc/synchonize_implants(var/processed_implant) + var/obj/item/organ/internal/cyberimp/arm/pair_implant = null + var/obj/item/organ/internal/cyberimp/arm/assigned_implant = processed_implant + var/list/organs = assigned_implant.owner.internal_organs + for(var/obj/item/organ/internal/O in organs) + if (istype(O, /obj/item/organ/internal/cyberimp/arm) && istype(assigned_implant, /obj/item/organ/internal/cyberimp/arm) && assigned_implant != O) + pair_implant = O + + if (!isnull(pair_implant)) + var/main_implant_retracted = !assigned_implant.holder || (assigned_implant.holder in assigned_implant) + var/pair_implant_retracted = !pair_implant.holder || (pair_implant.holder in pair_implant) + + if (main_implant_retracted != pair_implant_retracted) + if(!main_implant_retracted) + pair_implant.holder = null + if (assigned_implant.holder) + var/content_object = assigned_implant.holder.type + for(var/obj/item/candidate in pair_implant.contents) + if (istype(candidate,content_object)) + pair_implant.Extend(candidate) + break + else + pair_implant.Retract() + +/obj/item/organ/internal/cyberimp/arm/Retract() + . = .. () + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_SYNCHONIZE) + +/obj/item/organ/internal/cyberimp/arm/Extend() + . = .. () + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_SYNCHONIZE) + +/obj/item/organ/internal/cyberimp/arm/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = .. () + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_ACTION_REBUILD) + +/obj/item/organ/internal/cyberimp/arm/remove(mob/living/carbon/M, special = 0) + . = .. () + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_ACTION_REBUILD) diff --git a/modular_ss220/species/code/datum/reagents.dm b/modular_ss220/species/code/datum/reagents.dm new file mode 100644 index 000000000000..b76059869ce8 --- /dev/null +++ b/modular_ss220/species/code/datum/reagents.dm @@ -0,0 +1,128 @@ +//Расширение на химикаты - новый химикат для серпентидов +//Химикат позволяет ускорять в 2 раза действия серпентидов (погрузка людей/ящиков, активация клинков) +//Для остальных видов он ускоряет действия при движении по прямой (если не двигаться более 1 секунды или сменить направление, бонус сбросится) +//Атакует сердце, мощнее мефедрона + +#define SERPADRONE_SCREEN_FILTER "serpadrone_screen_filter" +#define SERPADRONE_SCREEN_BLUR "serpadrone_screen_blur" + +/datum/reagent/serpadrone + name = "Serpadrone" + id = "serpadrone" + description = "An unsual reagent that allows serptentids to haste their long-term actions and speed up them." + reagent_state = LIQUID + color = "#c22a44" + taste_description = "television static" + metabolization_rate = 0.1 + process_flags = ORGANIC + goal_department = "Science" + goal_difficulty = REAGENT_GOAL_SKIP + var/last_move_count = 0 + var/last_move = null + +/datum/reagent/serpadrone/on_mob_add(mob/living/carbon/L) + L.next_move_modifier = initial(L.next_move_modifier) + RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(on_movement)) + RegisterSignal(L, COMSIG_HUMAN_CREATE_MOB_HUD, PROC_REF(no_hud_cheese)) + var/mob/living/carbon/human/H = L + if (istype(H.dna.species, /datum/species/serpentid)) + var/datum/species/spicie = H.dna.species + spicie.action_mult = 0.5 + if(!L.hud_used) + return + var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] + var/static/list/col_filter_green = list(1,0,0,0, 0,0.66,0,0, 0,0,0.66,0, 0,0,0,1) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) + last_move_count = 0 + last_move = null + if(!IS_CHANGELING(L)) + return + var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) + cling.chem_recharge_slowdown += 1 + +/datum/reagent/serpadrone/on_mob_delete(mob/living/carbon/L) + UnregisterSignal(L, COMSIG_MOVABLE_MOVED) + L.next_move_modifier = initial(L.next_move_modifier) + var/mob/living/carbon/human/H = L + if (istype(H.dna.species, /datum/species/serpentid)) + var/datum/species/spicie = H.dna.species + spicie.action_mult = initial(spicie.action_mult) + if(!L.hud_used) + return + var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_FILTER) + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) + last_move_count = 0 + last_move = null + if(IS_CHANGELING(L)) + var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) + cling.chem_recharge_slowdown -= 1 + +/// Leaves an afterimage behind the mob when they move +/datum/reagent/serpadrone/proc/on_movement(mob/living/carbon/L, atom/old_loc) + SIGNAL_HANDLER + if(HAS_TRAIT(L, TRAIT_IMMOBILIZED)) //No, dead people floating through space do not need afterimages + return NONE + if(last_move == L.last_movement_dir && world.time - L.last_movement < 10) + if (last_move_count >= 5) + if(!HAS_TRAIT(L, TRAIT_GOTTAGONOTSOFAST)) + ADD_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + if (last_move_count >= 15) + REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + ADD_TRAIT(L, TRAIT_GOTTAGOFAST, id) + else + last_move_count += 1 + else + last_move_count += 1 + else + last_move_count = 0 + REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) + REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + new /obj/effect/temp_visual/decoy/serpadrone_afterimage(old_loc, L, 0.75 SECONDS) + last_move = L.last_movement_dir + +/datum/reagent/serpadrone/on_mob_life(mob/living/carbon/L) + . = ..() + + if(ishuman(L)) + var/heart_damage = 0.5 + var/mob/living/carbon/human/H = L + if (istype(H.dna.species, /datum/species/serpentid)) + var/datum/organ/heart/datum_heart = H.get_int_organ_datum(ORGAN_DATUM_HEART) + if(datum_heart) + var/obj/item/organ/internal/our_heart = datum_heart.linked_organ + our_heart.receive_damage(heart_damage, TRUE) + +/// So. If a person changes up their hud settings (Changing their ui theme), the visual effects for this reagent will break, and they will be able to see easily. This 3 part proc waits for the plane controlers to be setup, and over 2 other procs, rengages the visuals +/datum/reagent/serpadrone/proc/no_hud_cheese(mob/living/carbon/L) + SIGNAL_HANDLER + addtimer(CALLBACK(src, PROC_REF(no_hud_cheese_2), L), 2 SECONDS) //Calling it instantly will not work, need to give it a moment + +/// This part of the anticheese sets up the basic visual effects normally setup when the reagent gets into your system. +/datum/reagent/serpadrone/proc/no_hud_cheese_2(mob/living/carbon/L) //Basically if you change the UI you would remove the visuals. This fixes that. + var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_FILTER) + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) + + var/static/list/col_filter_green = list(1,0,0,0, 0,0.4,0,0, 0,0,0.4,0, 0,0,0,1) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) + +// Temp visual that changes color for that bootleg sandevistan effect +/obj/effect/temp_visual/decoy/serpadrone_afterimage + duration = 0.75 SECONDS + /// The color matrix it should be at spawn + var/list/matrix_start = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.8,0,0.1,0) + /// The color matrix it should be by the time it despawns + var/list/matrix_end = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.75,0,0.75,0) + +/obj/effect/temp_visual/decoy/serpadrone_afterimage/Initialize(mapload, atom/mimiced_atom, our_duration = 0.75 SECONDS) + duration = our_duration + . = ..() + color = matrix_start + animate(src, color = matrix_end, time = duration, easing = EASE_OUT) + animate(src, alpha = 0, time = duration, easing = EASE_OUT) + +#undef SERPADRONE_SCREEN_FILTER +#undef SERPADRONE_SCREEN_BLUR diff --git a/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm b/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm index 6f6a1e96e5dd..2ad91938fa76 100644 --- a/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm +++ b/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm @@ -11,9 +11,5 @@ if(amount) nutrition = min(NUTRITION_LEVEL_FAT, nutrition + round(amount / 10)) -/mob/living/carbon/human - var/atom/movable/loaded = null - var/mob/living/passenger = null - /mob/living/carbon/human/serpentid/Initialize(mapload) . = ..(mapload, /datum/species/serpentid) diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm index b67c0d1f9930..b8f9ffda18d4 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm @@ -1,7 +1,8 @@ #define SERPENTID_CHEM_REAGENT_ID "msg" -#define SERPENTID_CARAPACE_CHAMELION_STATE 5 -#define SERPENTID_CARAPACE_NOPRESSURE_STATE 10 +#define SERPENTID_CARAPACE_NOARMOR_STATE 60 +#define SERPENTID_CARAPACE_NOCHAMELION_STATE 30 +#define SERPENTID_CARAPACE_NOPRESSURE_STATE 90 #define SERPENTID_GENE_DEGRADATION_DAMAGE 0.5 #define SERPENTID_GENE_DEGRADATION_CD 60 @@ -12,18 +13,18 @@ #define SERPENTID_COLD_THRESHOLD_LEVEL_BASE 250 #define SERPENTID_COLD_THRESHOLD_LEVEL_DOWN 80 -#define SERPENTID_ARMORED_COLD_THRESHOLD 70 +#define SERPENTID_ARMORED_COLD_THRESHOLD 0 #define GAS_ORGAN_CHEMISTRY_EYES 0.75 #define GAS_ORGAN_CHEMISTRY_EARS 0.25 -#define GAS_ORGAN_CHEMISTRY_HEART 50 +#define GAS_ORGAN_CHEMISTRY_HEART 25 #define GAS_ORGAN_CHEMISTRY_LUNGS 1 #define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.6 #define SERPENTID_CHEM_MULT_CONSUPTION 0.75 #define SERPENTID_CHEM_MULT_PRODUCTION 0.6 -#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.5 +#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.7 #define SERPENTID_EYES_MAX_VISIBLE_VALUE 1 #define GAS_ORGAN_CHEMISTRY_MAX 100 @@ -31,24 +32,27 @@ #define SPIECES_BAN_HEADS_JOB (1<<12) /datum/species - var/disabilities = 0 var/can_buckle = FALSE var/buckle_lying = TRUE var/eyes_icon = 'icons/mob/human_face.dmi' + var/eyes_faces = 'icons/mob/human_face.dmi' + var/default_face = "bald_s" + var/action_mult = 1 /datum/species/serpentid - name = "Giant Armored Serpentid" + name = "Serpentid" name_plural = "Serpentids" icobase = 'modular_ss220/species/icons/mob/human_races/r_serpentid.dmi' eyes_icon = 'modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi' blurb = "TODO" language = "Stok" siemens_coeff = 2.0 - stun_mod = 2 - armor = 10 - coldmod = 2 - heatmod = 4 + coldmod = 0.9 + heatmod = 1.2 hunger_drain = 0.3 + action_mult = 1 + tox_mod = 1.5 + species_traits = list(LIPS, NO_HAIR) inherent_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_RESISTHEAT, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOPAIN) @@ -79,8 +83,8 @@ "brain" = /obj/item/organ/internal/brain/serpentid, "eyes" = /obj/item/organ/internal/eyes/serpentid, "ears" = /obj/item/organ/internal/ears/serpentid, - //"l_hand" = /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l, - //"r_hand" = /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade, + //"l_hand" = /obj/item/organ/internal/cyberimp/arm/toolset/mantisblade/l, + //"r_hand" = /obj/item/organ/internal/cyberimp/arm/toolset/mantisblade, "chest" = /obj/item/organ/internal/cyberimp/chest/serpentid_blades, ) @@ -111,7 +115,6 @@ "x" = list("ks", "kss", "ksss") ) - disabilities = SPIECES_BAN_HEADS_JOB can_buckle = TRUE buckle_lying = FALSE @@ -119,6 +122,7 @@ var/list/valid_limbs = list() var/gene_lastcall = 0 var/cloak_engaged = FALSE + var/cloaked = FALSE /datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) if (R.id == SERPENTID_CHEM_REAGENT_ID) @@ -127,15 +131,13 @@ return TRUE /datum/species/serpentid/handle_life(mob/living/carbon/human/H) - var/blood_percent = round((H.blood_volume / BLOOD_VOLUME_NORMAL)*100) - speed_mod = (95 - blood_percent)/100 var/armor_count = 0 var/gene_degradation = 0 for(var/obj/item/organ/external/limb in H.bodyparts) if (!(limb.type in valid_limbs)) gene_degradation += SERPENTID_GENE_DEGRADATION_DAMAGE - var/limb_armor = limb.damage + var/limb_armor = limb.brute_dam + limb.burn_dam armor_count += limb_armor if (gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD) @@ -144,16 +146,35 @@ else gene_lastcall += 1 - armor_count = armor_count/H.bodyparts.len - if (armor_count <= SERPENTID_CARAPACE_CHAMELION_STATE) + //Потеря брони при первом трешхолде + if (armor_count <= SERPENTID_CARAPACE_NOARMOR_STATE) + brute_mod = 0.6 + burn_mod = 0.8 + ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") + H.clear_alert("carapace_break_armor") + else + brute_mod = 1.3 + burn_mod = 1.5 + REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") + H.throw_alert("carapace_break_armor", /atom/movable/screen/alert/carapace_break_armor) + + //Потеря стелса при втором трешхолде + if (armor_count <= SERPENTID_CARAPACE_NOCHAMELION_STATE) can_stealth = TRUE + H.clear_alert("carapace_break_cloak") else + H.throw_alert("carapace_break_cloak", /atom/movable/screen/alert/carapace_break_cloak) can_stealth = FALSE - var/up = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN - var/down = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + //Потеря рига при третьем трешхолде var/cold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE var/heat = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + hazard_high_pressure = HAZARD_HIGH_PRESSURE + warning_high_pressure = WARNING_HIGH_PRESSURE + warning_low_pressure = WARNING_LOW_PRESSURE + hazard_low_pressure = HAZARD_LOW_PRESSURE + cold = SERPENTID_ARMORED_COLD_THRESHOLD + heat = SERPENTID_ARMORED_HEAT_THRESHOLD if (armor_count <= SERPENTID_CARAPACE_NOPRESSURE_STATE) hazard_high_pressure = 1000 warning_high_pressure = 1000 @@ -161,11 +182,11 @@ hazard_low_pressure = -1 cold = SERPENTID_ARMORED_COLD_THRESHOLD heat = SERPENTID_ARMORED_HEAT_THRESHOLD + H.clear_alert("carapace_break_rig") else - hazard_high_pressure = HAZARD_HIGH_PRESSURE - warning_high_pressure = WARNING_HIGH_PRESSURE - warning_low_pressure = WARNING_LOW_PRESSURE - hazard_low_pressure = HAZARD_LOW_PRESSURE + H.throw_alert("carapace_break_rig", /atom/movable/screen/alert/carapace_break_rig) + var/up = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + var/down = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN cold_level_1 = cold cold_level_2 = cold_level_1 - down cold_level_3 = cold_level_2 - down @@ -178,15 +199,27 @@ . = ..() -/datum/species/serpentid/proc/sneak(mob/living/M) //look if a ghost gets this, its an admins problem - if(((world.time - M.last_movement) >= 10 || M.move_speed >= 5)&& !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained() && cloak_engaged) +/datum/species/serpentid/proc/sneak(mob/living/M) + if(((world.time - M.last_movement) >= 10 || M.move_speed >= 7)&& !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained() && cloak_engaged) if(M.invisibility != INVISIBILITY_LEVEL_TWO) - M.alpha -= 125 + M.alpha -= 25.5 else M.reset_visibility() M.alpha = 255 + cloaked = FALSE if(M.alpha == 0) M.make_invisible() + cloaked = TRUE + +//Модификация граба для хвата из стелса +/datum/species/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + . = .. () + if (istype(user.dna.species, /datum/species/serpentid)) + if (user.dna.species.cloaked) + for(var/X in target.grabbed_by) + var/obj/item/grab/G = X + G.state = GRAB_AGGRESSIVE + G.icon_state = "grabbed1" /datum/species/serpentid/on_species_gain(mob/living/carbon/human/H) ..() @@ -195,178 +228,56 @@ H.buckle_lying = buckle_lying H.update_transform() H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) + H.AddComponent(/datum/component/gadom_living) + H.AddComponent(/datum/component/gadom_cargo) for (var/limb_name in has_limbs) valid_limbs += has_limbs[limb_name]["path"] +//Блокировка ботинок /datum/species/serpentid/can_equip(obj/item/I, slot, disable_warning = FALSE, mob/living/carbon/human/H) switch(slot) if(SLOT_HUD_SHOES) return FALSE . = .. () -/mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) - var/datum/species/spiece = user.dna.species - if((user.a_intent == "grab") && spiece.type == /datum/species/serpentid) - if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, src) > 1) - return - - if(!istype(AM)) - return - - load(AM) - return TRUE - . = .. () - -/datum/species/serpentid/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) - if (!isnull(user.loaded)) - user.unload(user.dir) +//Ограничение на роли антагов (генокрад онли) +/datum/antag_scenario/vampire/New() + restricted_species += list("Serpentid") . = .. () -/datum/element/strippable/mouse_drop_onto(datum/source, atom/over, mob/user) - var/mob/living/carbon/human/puppet = user - var/datum/dna/genetic_info = user.dna - var/datum/species/spiece = genetic_info.species - if((user.a_intent == "grab") && spiece.type == /datum/species/serpentid) - if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, source) > 1) - return - if(!istype(source)) - return - puppet.load(source) - return TRUE - +/datum/antag_scenario/traitor/New() + restricted_species += list("Serpentid") . = .. () -/mob/living/carbon/human/proc/load(atom/movable/AM) - if(loaded || AM.anchored || get_dist(src, AM) > 1) - return - - //I'm sure someone will come along and ask why this is here... well people were dragging screen items onto the mule, and that was not cool. - //So this is a simple fix that only allows a selection of item types to be considered. Further narrowing-down is below. - if(!isitem(AM) && !ismachinery(AM) && !isstructure(AM) && !ismob(AM)) - return - if(!isturf(AM.loc)) //To prevent the loading from stuff from someone's inventory or screen icons. - return - - var/obj/structure/closet/crate/CRATE - if(istype(AM,/obj/structure/closet/crate)) - CRATE = AM - if(CRATE) // if it's a crate, close before loading - CRATE.close() - - if(isobj(AM)) - var/obj/O = AM - if(O.has_buckled_mobs() || (locate(/mob) in AM)) //can't load non crates objects with mobs buckled to it or inside it. - return - - if(isliving(AM)) - if(!load_mob(AM)) - return - else - AM.crate_carrying_person = src - AM.forceMoveCrate(src) - - loaded = AM - update_icon() - -/atom/movable/proc/forceMoveCrate(atom/destination) - var/turf/old_loc = loc - loc = destination.loc - moving_diagonally = 0 - - if(old_loc) - old_loc.Exited(src, destination) - for(var/atom/movable/AM in old_loc) - AM.Uncrossed(src) - - if(destination) - destination.Entered(src) - for(var/atom/movable/AM in destination) - if(AM == src) - continue - AM.Crossed(src, old_loc) - var/turf/oldturf = get_turf(old_loc) - var/turf/destturf = get_turf(destination) - var/old_z = (oldturf ? oldturf.z : null) - var/dest_z = (destturf ? destturf.z : null) - if(old_z != dest_z) - onTransitZ(old_z, dest_z) - - - Moved(old_loc, NONE) - - return TRUE - - -/atom/movable/Move(atom/newloc, direct = 0, movetime) - . = .. () - var/mob/living/carbon/human/puppet = src - if(ishuman(puppet)) - if(!isnull(puppet.loaded)) - puppet.loaded.forceMoveCrate(puppet) - -/atom/movable - var/mob/living/carbon/human/crate_carrying_person = null - -/mob/living/carbon/human/proc/load_mob(mob/living/M) - can_buckle = TRUE - if(buckle_mob(M)) - passenger = M - loaded = M - can_buckle = FALSE - return TRUE - return FALSE - -/mob/living/carbon/human/post_buckle_mob(mob/living/M) - .=..() - M.pixel_y = initial(M.pixel_y) + 2 - M.layer = layer - 2 - -/mob/living/carbon/human/post_unbuckle_mob(mob/living/M) - .=..() - loaded = null - passenger = null - M.layer = initial(M.layer) - M.pixel_y = initial(M.pixel_y) - -/mob/living/carbon/human/proc/unload(dirn) - if(!loaded) - return - - unbuckle_all_mobs() - - if(loaded) - loaded.forceMove(loc) - loaded.pixel_y = initial(loaded.pixel_y) - loaded.layer = initial(loaded.layer) - loaded.plane = initial(loaded.plane) - if(dirn) - var/turf/T = loc - var/turf/newT = get_step(T,dirn) - if(loaded.CanPass(loaded,newT)) //Can't get off onto anything that wouldn't let you pass normally - step(loaded, dirn) - loaded.crate_carrying_person = null - loaded = null - - update_icon(UPDATE_OVERLAYS) - -/datum/job - var/additional_restrictions = 0 - -/datum/job/captain/ - additional_restrictions = SPIECES_BAN_HEADS_JOB - -/datum/job/New() +/datum/antag_scenario/team/blood_brothers/New() + restricted_species += list("Serpentid") . = .. () - blacklisted_disabilities += additional_restrictions +//Добавление новых алертов +/atom/movable/screen/alert/carapace_break_armor + name = "Слабые повреждения панциря." + desc = "Ваш панцирь поврежден. Нарушение целостности снизило сопротивление урону." + icon_state = "carapace_break_armor" + icon = 'modular_ss220/species/icons/mob/screen_alert.dmi' + +/atom/movable/screen/alert/carapace_break_cloak + name = "Средние повреждения панциря" + desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас возможность скрывать себя." + icon_state = "carapace_break_cloak" + icon = 'modular_ss220/species/icons/mob/screen_alert.dmi' + +/atom/movable/screen/alert/carapace_break_rig + name = "Сильные повреждения панциря" + desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас сопротивлению окружающей среде." + icon_state = "carapace_break_rig" + icon = 'modular_ss220/species/icons/mob/screen_alert.dmi' + +//Обновление иконок для кастомных рас /datum/character_save/update_preview_icon(for_observer=0) . = .. () var/datum/species/selected_specie = GLOB.all_species[species] - var/user_selected_disabilities = disabilities & 0xFFF - disabilities = user_selected_disabilities - disabilities |= selected_specie.disabilities - var/icon/face_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = "bald_s") + var/icon/face_s = new/icon("icon" = selected_specie.eyes_faces, "icon_state" = selected_specie.default_face) if(!(selected_specie.bodyflags & NO_EYES)) var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") eyes_s.Blend(e_colour, ICON_ADD) @@ -383,7 +294,7 @@ if(eyes) eyes_icon = eyes.generate_icon() else //Error 404: Eyes not found! - eyes_icon = new('modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi', dna.species.eyes) + eyes_icon = new(dna.species.eyes_icon, dna.species.eyes) eyes_icon.Blend("#800000", ICON_ADD) return eyes_icon diff --git a/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_blades.dm b/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_blades.dm new file mode 100644 index 000000000000..8358d5012a1c --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_blades.dm @@ -0,0 +1,24 @@ +// ============ Органы внешние ============ +/obj/item/kitchen/knife/combat/serpentblade + name = "serpentid mantis blade" + icon = 'icons/obj/items_cyborg.dmi' + icon_state = "knife" + lefthand_file = null + righthand_file = null + desc = "Biological melee weapon. Sharp and durable. It can cut off some heads, or maybe not..." + origin_tech = null + force = 7 + armour_penetration_flat = 3 + tool_behaviour = TOOL_SAW + +/obj/item/kitchen/knife/combat/serpentblade/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_ADVANCED_SURGICAL, ROUNDSTART_TRAIT) + ADD_TRAIT(src, TRAIT_FORCES_OPEN_DOORS_ITEM, ROUNDSTART_TRAIT) + AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS) + AddComponent(/datum/component/double_attack, weapon = src) + +/obj/item/melee/serpentblade/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(attack_type == PROJECTILE_ATTACK) + final_block_chance = 0 + return ..() diff --git a/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_chest.dm b/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_chest.dm new file mode 100644 index 000000000000..baf7ce08fad8 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_chest.dm @@ -0,0 +1,94 @@ +//===Клинки через грудной имплант=== +/obj/item/organ/internal/cyberimp/chest/serpentid_blades + name = "serpentid blade implant" + desc = "implants for the organs in your torso." + icon_state = "chest_implant" + implant_overlay = "chest_implant_overlay" + parent_organ = "chest" + actions_types = list(/datum/action/item_action/organ_action/toggle/switch_blades) + contents = newlist(/obj/item/kitchen/knife/combat/serpentblade,/obj/item/kitchen/knife/combat/serpentblade) + action_icon = list(/datum/action/item_action/organ_action/toggle/switch_blades = 'modular_ss220/species/icons/mob/human_races/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle/switch_blades = "gas_hand_act") + var/obj/item/holder_l = null + var/obj/item/holder_r = null + emp_proof = TRUE + +/datum/action/item_action/organ_action/toggle/switch_blades + name = "Switch Threat Mode" + desc = "Switch your stance to show other your intentions" + button_overlay_icon = 'modular_ss220/species/icons/mob/human_races/organs.dmi' + button_overlay_icon_state = "gas_hand_act" + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() + if(crit_fail || (!holder_l && !length(contents)) && (!holder_r && !length(contents))) + to_chat(owner, "The implant doesn't respond. It seems to be broken...") + return + if(holder_l && !(holder_l in src) && holder_r && !(holder_r in src)) + Retract() + else if(do_after(owner, 20*(owner.dna.species.action_mult), FALSE, owner)) + holder_l = null + holder_r = null + Extend(contents[1],contents[2]) + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/check_cuffs() + if(owner.handcuffed) + to_chat(owner, "The handcuffs interfere with [src]!") + return TRUE + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Extend(obj/item/item_l, obj/item/item_r) + if(!(item_l in src) && !(item_r in src) && check_cuffs()) + return + if(status & ORGAN_DEAD) + return + + holder_l = item_l + holder_r = item_r + + holder_l.flags |= NODROP + holder_l.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + holder_l.slot_flags = null + holder_l.w_class = WEIGHT_CLASS_HUGE + holder_l.materials = null + + holder_r.flags |= NODROP + holder_r.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + holder_r.slot_flags = null + holder_r.w_class = WEIGHT_CLASS_HUGE + holder_r.materials = null + + for(var/arm_slot in list(SLOT_HUD_RIGHT_HAND, SLOT_HUD_LEFT_HAND)) + var/obj/item/arm_item = owner.get_item_by_slot(arm_slot) + + if(arm_item) + if(istype(arm_item, /obj/item/offhand)) + var/obj/item/offhand_arm_item = owner.get_active_hand() + to_chat(owner, "Your hands are too encumbered wielding [offhand_arm_item] to deploy [src]!") + return + else if(!owner.unEquip(arm_item)) + to_chat(owner, "Your [arm_item] interferes with [src]!") + return + else + to_chat(owner, "You drop [arm_item] to activate [src]!") + + if(!owner.put_in_l_hand(holder_l)) + return + if(!owner.put_in_r_hand(holder_r)) + return + + playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) + return TRUE + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Retract() + if((!holder_l || (holder_l in src)) && (!holder_r || (holder_r in src))) + return + if(status & ORGAN_DEAD) + return + + owner.unEquip(holder_r, 1) + owner.unEquip(holder_l, 1) + holder_r.forceMove(src) + holder_l.forceMove(src) + holder_r = null + holder_l = null + playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) +//==Конец клинков через грудной имплант== diff --git a/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_hand.dm b/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_hand.dm new file mode 100644 index 000000000000..60aab553da90 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_hand.dm @@ -0,0 +1,21 @@ +/obj/item/organ/internal/cyberimp/arm/toolset/mantisblade + name = "mantis blade implant right" + desc = "A blade designed to be hidden just beneath the skin. The brain is directly linked to this bad boy, allowing it to spring into action." + contents = newlist(/obj/item/kitchen/knife/combat/cyborg) + action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/items_cyborg.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "knife") + origin_tech = "biotech=6;" + var/can_work_in_pair = TRUE + var/state_active = FALSE + parent_organ = "r_arm" + slot = "r_arm_device" + emp_proof = TRUE + +/obj/item/organ/internal/cyberimp/arm/toolset/mantisblade/l + name = "mantis blade implant left" + parent_organ = "l_arm" + slot = "l_arm_device" + +/obj/item/organ/internal/cyberimp/arm/toolset/mantisblade/Initialize(mapload) + . = ..() + AddElement(/datum/element/paired_implants, src) diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_additionals.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_additionals.dm new file mode 100644 index 000000000000..7ad33ebaa74e --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_additionals.dm @@ -0,0 +1,5 @@ +//Да, это мозг. Обычный мозг серпентида. +/obj/item/organ/internal/brain/serpentid + name = "serpentid brain" + icon = 'modular_ss220/species/icons/obj/surgery.dmi' + icon_state = "crystal-brain" diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_ears.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_ears.dm new file mode 100644 index 000000000000..30193eaa3d0b --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_ears.dm @@ -0,0 +1,23 @@ +//Уши серпентидов позволяют постоянно сканировать окружение в поисках существ в зависимости от их состояния +/obj/item/organ/internal/ears/serpentid + name = "serpentid ears" + var/decay_rate = 2 + var/decay_recovery = BASIC_RECOVER_VALUE + var/organ_process_toxins = 0.25 + +/obj/item/organ/internal/ears/serpentid/Initialize(mapload) + . = ..() + AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) + AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + +/obj/item/organ/internal/ears/serpentid/on_life() + .=..() + if (prob(((max_damage - damage)/max_damage) * 100)) + sense_creatures() + +/obj/item/organ/internal/ears/serpentid/proc/sense_creatures() + for(var/mob/living/creature in range(9, owner)) + var/last_movement_timer = world.time - creature.l_move_time + if(creature == owner || creature.stat == DEAD || last_movement_timer > 50) + continue + new /obj/effect/temp_visual/sonar_ping(owner.loc, owner, creature) diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm index 972c2d28080b..030e16f6bc36 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm @@ -1,315 +1,88 @@ -#define CARAPACE_BROKEN_STATE 20 -#define CARAPACE_BASIC_BRUTE_RESISTANCE 0.8 -#define CHEM_CARAPACE_HEAL_REAGENT_ID "synthflesh" -#define CHEM_CARAPACE_HEAL_REAGENT_COUNT 10 -#define CHEM_CARAPACE_HEAL_REAGENT_PROB 50 - -/obj/item/organ/external - - var/can_change_visual = FALSE - var/change_visual = FALSE - var/alt_visual_icon = null - - var/carapace_limb = FALSE - var/carapace_heal_reagent_id = CHEM_CARAPACE_HEAL_REAGENT_ID - var/carapace_broken_treshold = CARAPACE_BROKEN_STATE - var/carapace_brute_resistance = CARAPACE_BASIC_BRUTE_RESISTANCE - -/obj/item/organ/external/proc/update_visual() - if (can_change_visual && change_visual) - icon_name = alt_visual_icon - if (can_change_visual && !(change_visual)) - icon_name = initial(icon_name) - owner.update_body() - -/obj/item/organ/external/proc/update_resistance() - if (status & ORGAN_BROKEN) - brute_mod = (100 + get_damage())/100 - else - brute_mod = carapace_brute_resistance - burn_mod = brute_mod + 0.2 - -/obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) - . = ..() - if (carapace_limb) - if (get_damage() > carapace_broken_treshold) - fracture() - var/obj/item/organ/internal/O = pick(internal_organs) - O.receive_damage(burn * get_damage()) - update_resistance() - return - -/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) - . = .. () - if ((status & ORGAN_BROKEN) && get_damage() < carapace_broken_treshold) - for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) - if(istype(chemical, owner.get_chemical_path(carapace_heal_reagent_id)) && owner.get_chemical_value(carapace_heal_reagent_id) >= CHEM_CARAPACE_HEAL_REAGENT_COUNT) - chemical.holder.remove_reagent(carapace_heal_reagent_id, CHEM_CARAPACE_HEAL_REAGENT_COUNT) - if (prob(CHEM_CARAPACE_HEAL_REAGENT_PROB)) - mend_fracture() - update_resistance() - return - -// ============ Органы внешние ============ -///Руки - аналогичные богомолам имлпанты -/obj/item/organ/internal/cyberimp/arm/ - var/can_work_in_pair = FALSE - var/state_active = FALSE - -/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade - name = "hidden blade implant" - desc = "A blade designed to be hidden just beneath the skin. The brain is directly linked to this bad boy, allowing it to spring into action." - contents = newlist(/obj/item/kitchen/knife/combat/serpentblade) - action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/items_cyborg.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "knife") - origin_tech = "biotech=6;" - can_work_in_pair = TRUE - state_active = FALSE - parent_organ = "r_hand" - slot = "r_hand_device" - emp_proof = TRUE - -/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l - parent_organ = "l_hand" - slot = "l_hand_device" - -/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/l/on_life() - . = ..() - var/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/pair_implant = null - var/list/organs = owner.internal_organs - for(var/obj/item/organ/internal/O in organs) - if (istype(O, /obj/item/organ/internal/cyberimp/arm/toolset/serpentblade) && src != O) - pair_implant = O - var/datum/action/action_candidate = src.actions[1] - if (!isnull(pair_implant)) - if (action_candidate in owner.actions) - action_candidate.Remove(owner) - else - if (!(action_candidate in owner.actions)) - action_candidate.Grant(owner) - owner.update_action_buttons() - -/obj/item/organ/internal/cyberimp/arm/proc/synchonize_implants() - var/obj/item/organ/internal/cyberimp/arm/toolset/serpentblade/pair_implant = null - var/list/organs = owner.internal_organs - for(var/obj/item/organ/internal/O in organs) - if (istype(O, /obj/item/organ/internal/cyberimp/arm) && istype(src, /obj/item/organ/internal/cyberimp/arm) && src != O) - pair_implant = O - if (!isnull(pair_implant)) - if (src.state_active != pair_implant.state_active) - if(src.state_active) - pair_implant.holder = null - pair_implant.Extend(pair_implant.contents[1]) - else - pair_implant.Retract() - -/obj/item/organ/internal/cyberimp/arm/Retract() - . = .. () - state_active = FALSE - if (can_work_in_pair) - synchonize_implants() - -/obj/item/organ/internal/cyberimp/arm/Extend() - . = .. () - state_active = TRUE - if (can_work_in_pair) - synchonize_implants() -//===Окончание первой вариации парных имплантов=== -//===Клинки через грудной имплант=== -/obj/item/organ/internal/cyberimp/chest/serpentid_blades - name = "serpentid blade implant" - desc = "implants for the organs in your torso." - icon_state = "chest_implant" - implant_overlay = "chest_implant_overlay" - parent_organ = "chest" - actions_types = list(/datum/action/item_action/organ_action/toggle/switch_blades) - contents = newlist(/obj/item/kitchen/knife/combat/serpentblade,/obj/item/kitchen/knife/combat/serpentblade) - action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/items_cyborg.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "knife") - var/obj/item/holder_l = null - var/obj/item/holder_r = null - emp_proof = TRUE - -/datum/action/item_action/organ_action/toggle/switch_blades - name = "Switch Threat Mode" - desc = "Switch your stance to show other your intentions" - button_overlay_icon = 'icons/obj/items_cyborg.dmi' - button_overlay_icon_state = "knife" - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() - if(crit_fail || (!holder_l && !length(contents)) && (!holder_r && !length(contents))) - to_chat(owner, "The implant doesn't respond. It seems to be broken...") - return - if(do_after(owner, 20, FALSE, owner)) - if(holder_l && !(holder_l in src) && holder_r && !(holder_r in src)) - Retract() - else - holder_l = null - holder_r = null - Extend(contents[1],contents[2]) - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/check_cuffs() - if(owner.handcuffed) - to_chat(owner, "The handcuffs interfere with [src]!") - return TRUE - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Extend(obj/item/item_l, obj/item/item_r) - if(!(item_l in src) && !(item_r in src) && check_cuffs()) - return - if(status & ORGAN_DEAD) - return - - holder_l = item_l - holder_r = item_r - - holder_l.flags |= NODROP - holder_l.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - holder_l.slot_flags = null - holder_l.w_class = WEIGHT_CLASS_HUGE - holder_l.materials = null - - holder_r.flags |= NODROP - holder_r.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - holder_r.slot_flags = null - holder_r.w_class = WEIGHT_CLASS_HUGE - holder_r.materials = null - - for(var/arm_slot in list(SLOT_HUD_RIGHT_HAND, SLOT_HUD_LEFT_HAND)) - var/obj/item/arm_item = owner.get_item_by_slot(arm_slot) - - if(arm_item) - if(istype(arm_item, /obj/item/offhand)) - var/obj/item/offhand_arm_item = owner.get_active_hand() - to_chat(owner, "Your hands are too encumbered wielding [offhand_arm_item] to deploy [src]!") - return - else if(!owner.unEquip(arm_item)) - to_chat(owner, "Your [arm_item] interferes with [src]!") - return - else - to_chat(owner, "You drop [arm_item] to activate [src]!") - - if(!owner.put_in_l_hand(holder_l)) - return - if(!owner.put_in_r_hand(holder_r)) - return - - playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) - return TRUE - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Retract() - if((!holder_l || (holder_l in src)) && (!holder_r || (holder_r in src))) - return - if(status & ORGAN_DEAD) - return - - owner.unEquip(holder_r, 1) - owner.unEquip(holder_l, 1) - holder_r.forceMove(src) - holder_l.forceMove(src) - holder_r = null - holder_l = null - playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) -//==Конец клинков через грудной имплант== - - -/obj/item/kitchen/knife/combat/serpentblade - name = "serpentid mantis blade" - icon = 'icons/obj/items_cyborg.dmi' - icon_state = "knife" - lefthand_file = null - righthand_file = null - desc = "Biological melee weapon. Sharp and durable. It can cut off some heads, or maybe not..." - origin_tech = null - force = 7 - armour_penetration_flat = 3 - var/attack_in_progress = FALSE - tool_behaviour = TOOL_SAW - -/obj/item/kitchen/knife/combat/serpentblade/Initialize(mapload) - . = ..() - ADD_TRAIT(src, TRAIT_ADVANCED_SURGICAL, ROUNDSTART_TRAIT) - ADD_TRAIT(src, TRAIT_FORCES_OPEN_DOORS_ITEM, ROUNDSTART_TRAIT) - AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS) - -/obj/item/melee/serpentblade/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(attack_type == PROJECTILE_ATTACK) - final_block_chance = 0 - return ..() - -/obj/item/kitchen/knife/combat/serpentblade/attack(mob/living/target, mob/living/user, params, def_zone, skip_attack_anim = FALSE) - . = ..() - if(attack_in_progress) - return TRUE - var/obj/item/kitchen/knife/combat/serpentblade/offhand_blade = user.get_inactive_hand() - addtimer(CALLBACK(offhand_blade, PROC_REF(offhand_attack), target, user, params, def_zone), 0.2 SECONDS) - -/obj/item/kitchen/knife/combat/serpentblade/proc/offhand_attack(mob/living/target, mob/living/user, params, def_zone) - if(QDELETED(src) || QDELETED(target) || user != src.loc || !user.Adjacent(target)) - return - attack_in_progress = TRUE - attack(target, user, params, def_zone) - attack_in_progress = FALSE - ///Хитиновые конечности /obj/item/organ/external/chest/carapace encased = "chitin" - min_broken_damage = 20 - carapace_limb = TRUE + min_broken_damage = 40 + +/obj/item/organ/external/chest/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) /obj/item/organ/external/groin/carapace encased = "chitin" - min_broken_damage = 20 - carapace_limb = TRUE + min_broken_damage = 40 + +/obj/item/organ/external/groin/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) /obj/item/organ/external/head/carapace encased = "chitin" - min_broken_damage = 20 - carapace_limb = TRUE + min_broken_damage = 30 + +/obj/item/organ/external/head/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) /obj/item/organ/external/arm/carapace encased = "chitin" min_broken_damage = 20 - carapace_limb = TRUE - can_change_visual = TRUE - alt_visual_icon = "l_arm_agressive" + +/obj/item/organ/external/arm/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) /obj/item/organ/external/arm/right/carapace encased = "chitin" min_broken_damage = 20 - carapace_limb = TRUE - can_change_visual = TRUE - alt_visual_icon = "r_arm_agressive" + +/obj/item/organ/external/arm/right/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) /obj/item/organ/external/leg/carapace encased = "chitin" min_broken_damage = 20 - carapace_limb = TRUE + +/obj/item/organ/external/leg/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) /obj/item/organ/external/leg/right/carapace encased = "chitin" min_broken_damage = 20 - carapace_limb = TRUE + +/obj/item/organ/external/leg/right/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) /obj/item/organ/external/hand/carapace encased = "chitin" min_broken_damage = 20 - carapace_limb = TRUE - can_change_visual = TRUE - alt_visual_icon = "l_arm_agressive" + +/obj/item/organ/external/hand/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) /obj/item/organ/external/hand/right/carapace encased = "chitin" min_broken_damage = 20 - carapace_limb = TRUE - can_change_visual = TRUE - alt_visual_icon = "r_arm_agressive" + +/obj/item/organ/external/hand/right/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) /obj/item/organ/external/foot/carapace encased = "chitin" min_broken_damage = 20 - carapace_limb = TRUE + +/obj/item/organ/external/foot/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) /obj/item/organ/external/foot/right/carapace encased = "chitin" min_broken_damage = 20 - carapace_limb = TRUE + +/obj/item/organ/external/foot/right/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_eyes.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_eyes.dm new file mode 100644 index 000000000000..87193e839714 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_eyes.dm @@ -0,0 +1,77 @@ +//Глаза - включают режим щитков, но очень уязвивым к вспышкам (в 2 раза сильнее молиных глаз) +/obj/item/organ/internal/eyes/serpentid + name = "serpentid eyes" + icon = 'modular_ss220/species/icons/obj/surgery.dmi' + icon_state = "crystal-eyes" + light_color = "#1C1C00" + see_in_dark = 2 + flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE + tint = FLASH_PROTECTION_NONE + actions_types = list(/datum/action/item_action/organ_action/use) + action_icon = list(/datum/action/item_action/organ_action/use = 'modular_ss220/species/icons/mob/human_races/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/use = "gas_abilities") + chemical_id = SERPENTID_CHEM_REAGENT_ID + radial_additive_state = "gas_eyes_0" + var/eye_shielded = FALSE + var/decay_rate = 1 + var/decay_recovery = BASIC_RECOVER_VALUE + var/organ_process_toxins = 0.35 + + +/obj/item/organ/internal/eyes/serpentid/Initialize(mapload) + . = ..() + AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) + AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + +/obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) + var/mob/living/carbon/human/H = HA + if(!istype(H)) + H = owner + var/icon/eyes_icon = new /icon('modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi', H.dna.species.eyes) + eyes_icon.Blend(eye_color, ICON_ADD) + + return eyes_icon + +/obj/item/organ/internal/eyes/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = .. () + buttons_resort() + +/obj/item/organ/internal/eyes/serpentid/remove(mob/living/carbon/M, special = 0) + . = .. () + buttons_resort() + +/obj/item/organ/internal/eyes/serpentid/ui_action_click() + open_actions(owner) + +/obj/item/organ/internal/eyes/serpentid/switch_mode(var/force_off = FALSE) + if(eye_shielded) + flash_protect = initial(flash_protect) + tint = initial(tint) + owner.update_sight() + eye_shielded = FALSE + else + flash_protect = FLASH_PROTECTION_WELDER //Adjust the user's eyes' flash protection + tint = FLASH_PROTECTION_FLASH + owner.update_sight() + eye_shielded = TRUE + radial_additive_state = "gas_eyes_[eye_shielded]" + +/obj/item/organ/internal/eyes/serpentid/on_life() + . = ..() + if(!isnull(owner)) + var/mob/mob = owner + mob.update_client_colour(time = 10) + +/obj/item/organ/internal/eyes/serpentid/get_colourmatrix() //Returns a special colour matrix + var/chem_value = (owner.get_chemical_value(chemical_id) + GAS_ORGAN_CHEMISTRY_MAX/2)/GAS_ORGAN_CHEMISTRY_MAX + var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) + var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE + + var/k = 0.4 + vision_concentration = SERPENTID_EYES_LOW_VISIBLE_VALUE * (1 - chem_value**k) + var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE/2) + + var/vision_matrix = list(vision_chem, vision_adjust, vision_adjust,\ + vision_adjust, vision_chem, vision_adjust,\ + vision_adjust, vision_adjust, vision_chem) + return vision_matrix diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_heart.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_heart.dm new file mode 100644 index 000000000000..f021728ba7ca --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_heart.dm @@ -0,0 +1,42 @@ +///Сердце - вырабатывают особое вещество (серпадрон) за глютамат натрия. +#define GAS_METH_HEART_COUNT 1 + +/obj/item/organ/internal/heart/serpentid + name = "serpentid heart" + actions_types = list(/datum/action/item_action/organ_action/use) + action_icon = list(/datum/action/item_action/organ_action/use = 'modular_ss220/species/icons/mob/human_races/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/use = "gas_abilities") + chemical_id = SERPENTID_CHEM_REAGENT_ID + radial_additive_state = "gas_heart" + var/meph_injected = FALSE + var/inject_drug_id = "serpadrone" + var/inject_drug = /datum/reagent/mephedrone + + var/decay_rate = 5 + var/decay_recovery = BASIC_RECOVER_VALUE + var/organ_process_toxins = 0.1 + +/obj/item/organ/internal/heart/serpentid/Initialize(mapload) + . = ..() + AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) + AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + +/obj/item/organ/internal/heart/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = .. () + buttons_resort() + +/obj/item/organ/internal/heart/serpentid/remove(mob/living/carbon/M, special = 0) + . = .. () + buttons_resort() + +/obj/item/organ/internal/heart/serpentid/ui_action_click() + open_actions(owner) + +/obj/item/organ/internal/heart/serpentid/switch_mode(var/force_off = FALSE) + .=..() + if(owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART) + var/mob/living/carbon/human/human_owner = owner + var/datum/reagent/chem = owner.get_chemical_path(chemical_id) + chem.holder.remove_reagent(chemical_id, GAS_ORGAN_CHEMISTRY_HEART) + human_owner.reagents.add_reagent(inject_drug_id, GAS_METH_HEART_COUNT) + meph_injected = TRUE diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm deleted file mode 100644 index 6560f531e671..000000000000 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_internal.dm +++ /dev/null @@ -1,478 +0,0 @@ -#define BASIC_RECOVER_VALUE 0.02 -#define BASIC_DECAY_VALUE 1 -#define TOX_ORGANS_PROCESS 1 - -#define SERPENTID_STAMINA_DAMAGE_ON_MEPH 50 -#define GAS_METH_HEART_COUNT 1 - -/obj/item/organ/internal - var/decayable = FALSE - var/recoverable = FALSE - var/decay_rate = BASIC_DECAY_VALUE - var/recover_rate = BASIC_RECOVER_VALUE - var/is_destroying = FALSE - var/chemical_consuption = 0 - var/sensitive = FALSE - var/can_chem_process = FALSE - var/chemical_id = "" - var/organ_process_toxins = TOX_ORGANS_PROCESS - -/obj/item/organ/internal/process() - if(is_destroying) - receive_damage(decay_rate, 1) - if((damage <= (max_damage/4)) && (damage > 0) && !is_destroying && recoverable) - heal_internal_damage(recover_rate, FALSE) - if (decayable) - var/is_dead = (owner.stat == DEAD) - var/is_no_owner = isnull(owner) - is_destroying = (is_dead || is_no_owner) - - if(owner.get_damage_amount(TOX) > 0) - var/list/organs = owner.internal_organs - var/obj/item/organ/internal/liver/target_liver = null - var/obj/item/organ/internal/kidneys/target_kidney = null - for(var/obj/item/organ/internal/O in organs) - if (istype(O, /obj/item/organ/internal/liver)) - target_liver = O - if (istype(O, /obj/item/organ/internal/kidneys)) - target_kidney = O - if (src == target_kidney) - receive_damage(owner.get_damage_amount(TOX) * organ_process_toxins, 1) - owner.adjustToxLoss(-1 * owner.get_damage_amount(TOX) * organ_process_toxins) - else if (target_kidney.status == ORGAN_DEAD && src == target_liver) - receive_damage(owner.get_damage_amount(TOX) * organ_process_toxins, 1) - owner.adjustToxLoss(-1 * owner.get_damage_amount(TOX) * organ_process_toxins) - else if (target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) - receive_damage(owner.get_damage_amount(TOX) * organ_process_toxins, 1) - if (can_chem_process) - chems_process() - . = ..() - -/mob/living/carbon/human/proc/get_chemical_value(var/id) - for(var/datum/reagent/R in src.reagents.reagent_list) - if (R.id == id) - return R.volume - return 0 - -/mob/living/carbon/human/proc/get_chemical_path(var/id) - for(var/datum/reagent/R in src.reagents.reagent_list) - if (R.id == id) - return R - return null - -/obj/item/organ/internal/proc/chems_process() - if(isnull(owner)) - return TRUE - var/chemical_volume = owner.get_chemical_value(chemical_id) - var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) - if (chemical_volume < chemical_consuption) - //Если коилчества недостаточно - выключить режим - switch_mode(force_off = TRUE) - else - if(!isnull(chemical) && chemical_consuption > 0) - //Убрать количество глутамата из тела - chemical.holder.remove_reagent(chemical_id, chemical_consuption) - -/obj/item/organ/internal/proc/switch_mode(var/force_off = FALSE) - return - -/datum/action/item_action/organ_action/toggle/serpentid_actions - name = "Serpentid actions" - desc = "Allow you to activate serpentid features." - button_overlay_icon = 'icons/obj/items_cyborg.dmi' - button_overlay_icon_state = "knife" - -/obj/item/organ/internal/proc/check_actions(mob/user) - return (owner && owner == user && owner.stat != DEAD && (src in owner.internal_organs)) - -/obj/item/organ/internal/proc/open_actions(mob/user) - var/list/choices = list() - var/list/organs_list = list() - for(var/obj/item/organ/internal/O in owner.internal_organs) - if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) - organs_list += O - for(var/obj/I in organs_list) - choices["[I.name]"] = image(icon = I.icon, icon_state = I.icon_state) - var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, PROC_REF(check_actions), user)) - if(!check_actions(user)) - return - var/obj/item/organ/internal/selected - for(var/obj/item in organs_list) - if(item.name == choice) - selected = item - break - if(istype(selected) && (selected in organs_list)) - selected.switch_mode() - -/obj/item/organ/internal/proc/buttons_resort() - var/list/organs_list = list() - for(var/obj/item/organ/internal/O in owner.internal_organs) - if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) - organs_list += O - - for(var/obj/item/organ/internal/O in organs_list) - organs_list -= O - for(var/obj/item/organ/internal/D in organs_list) - var/datum/action/action_candidate = O.actions[1] - if (D != O) - if (action_candidate in owner.actions) - action_candidate.Remove(owner) - else - if (!(action_candidate in owner.actions)) - action_candidate.Grant(owner) - break - -// ============ Органы внутренние ============ -///почки - базовые c добавлением дикея, вырабатывают энзимы, которые позволяют ГБС скрываться -/obj/item/organ/internal/kidneys/serpentid - name = "serpentid kidneys" - icon = 'icons/obj/species_organs/unathi.dmi' - decayable = TRUE - recoverable = TRUE - decay_rate = 4 - actions_types = list(/datum/action/item_action/organ_action/use) - can_chem_process = TRUE - chemical_id = SERPENTID_CHEM_REAGENT_ID - organ_process_toxins = 0.01 - -/obj/item/organ/internal/kidneys/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) - . = .. () - buttons_resort() - -/obj/item/organ/internal/kidneys/serpentid/remove(mob/living/carbon/M, special = 0) - . = .. () - buttons_resort() - -/obj/item/organ/internal/kidneys/serpentid/ui_action_click() - open_actions(owner) - -/obj/item/organ/internal/kidneys/serpentid/switch_mode(var/force_off = FALSE) - .=..() - var/datum/species/serpentid/spiece = owner.dna.species - if (istype(spiece, /datum/species/serpentid)) - if(!force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_KIDNEYS && !spiece.cloak_engaged) - spiece.cloak_engaged = TRUE - chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS - else - spiece.cloak_engaged = FALSE - chemical_consuption = 0 - - -///печень - вырабатывает глутамат натрия из нутриентов -/obj/item/organ/internal/liver/serpentid - name = "serpentid liver" - icon = 'icons/obj/species_organs/unathi.dmi' - desc = "A large looking liver." - alcohol_intensity = 2 - decayable = TRUE - recoverable = TRUE - decay_rate = 4 - chemical_id = SERPENTID_CHEM_REAGENT_ID - organ_process_toxins = 0.05 - var/max_value = GAS_ORGAN_CHEMISTRY_MAX - -/obj/item/organ/internal/liver/serpentid/on_life() - . = ..() - max_value = clamp((((max_damage - damage)/max_damage)*100),0,GAS_ORGAN_CHEMISTRY_MAX) - if (owner.get_chemical_value(chemical_id) < max_value) - for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) - if(!isnull(chemical)) - chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) - owner.reagents.add_reagent(chemical_id, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) - else - var/excess_value = owner.get_chemical_value(chemical_id) - max_value - var/datum/reagent/chem = owner.get_chemical_path(chemical_id) - chem.holder.remove_reagent(chemical_id, excess_value) - -///Легкие - вырабатывают сальбутамол при наличии глутамата натрия -/obj/item/organ/internal/lungs/serpentid - name = "serpentid lungs" - icon = 'icons/obj/species_organs/unathi.dmi' - organ_datums = list(/datum/organ/lungs/serpentid) - decayable = TRUE - recoverable = TRUE - decay_rate = 3 - chemical_id = SERPENTID_CHEM_REAGENT_ID - organ_process_toxins = 0.25 - chemical_consuption = 1 - var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault - -/obj/item/tank/internals/oxygen/serpentid_vault - volume = 5 - -/datum/organ/lungs/serpentid - safe_oxygen_min = 21 - safe_toxins_max = 5 - - cold_level_1_threshold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE - cold_level_2_threshold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE - SERPENTID_COLD_THRESHOLD_LEVEL_DOWN - cold_level_3_threshold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE - 2*SERPENTID_COLD_THRESHOLD_LEVEL_DOWN - - heat_level_1_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE - heat_level_2_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + SERPENTID_HEAT_THRESHOLD_LEVEL_UP - heat_level_3_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + 2*SERPENTID_HEAT_THRESHOLD_LEVEL_UP - -/datum/organ/lungs/serpentid/proc/in_danger_zone(datum/gas_mixture/breath) - - //Получение данных - var/ox_pressure = (breath ? breath.get_breath_partial_pressure(breath.oxygen()) : 0) - var/n2_pressure = (breath ? breath.get_breath_partial_pressure(breath.nitrogen()) : 0) - var/tox_pressure = (breath ? breath.get_breath_partial_pressure(breath.toxins()) : 0) - var/co2_pressure = (breath ? breath.get_breath_partial_pressure(breath.carbon_dioxide()) : 0) - var/sa_pressure = (breath ? breath.get_breath_partial_pressure(breath.sleeping_agent()) : 0) - - // Проверка кислорода - var/O2_above_max = (safe_oxygen_max == 0? FALSE : ox_pressure > safe_oxygen_max) - var/O2_below_min = (safe_oxygen_min == 0? FALSE : ox_pressure < safe_oxygen_min) - var/O2_pp = O2_above_max || O2_below_min - - // Проверка азота - var/N2_above_max = (safe_nitro_max == 0? FALSE : n2_pressure > safe_nitro_max) - var/N2_below_min = (safe_nitro_min == 0? FALSE : n2_pressure < safe_nitro_min) - var/N2_pp = N2_above_max || N2_below_min - - // Проверка токсинов - var/Toxins_above_max = (safe_toxins_max == 0? FALSE : tox_pressure > safe_toxins_max) - var/Toxins_below_min = (safe_toxins_min == 0? FALSE : tox_pressure < safe_toxins_min) - var/Toxins_pp = Toxins_above_max || Toxins_below_min - - // Проверка углекислого газа - var/CO2_above_max = (safe_co2_max == 0? FALSE : co2_pressure > safe_co2_max) - var/CO2_below_min = (safe_co2_min == 0? FALSE : co2_pressure < safe_co2_min) - var/CO2_pp = CO2_above_max || CO2_below_min - - // Проверка сонного газа - var/SA_pp = (SA_para_min == 0? FALSE : sa_pressure > SA_para_min) - - // Общая проверка зоны опасности - var/danger_zone = O2_pp || N2_pp || Toxins_pp || CO2_pp || SA_pp - - return danger_zone - -/obj/item/organ/internal/lungs/serpentid/proc/get_turf_air(turf/T) - RETURN_TYPE(/datum/gas_mixture) - // This is one of two intended places to call this otherwise-unsafe proc. - var/datum/gas_mixture/bound_to_turf/air = T.private_unsafe_get_air() - if(air.lastread < SSair.times_fired) - var/list/milla_tile = new/list(MILLA_TILE_SIZE) - get_tile_atmos(T, milla_tile) - air.copy_from_milla(milla_tile) - air.lastread = SSair.times_fired - air.readonly = null - air.dirty = FALSE - if(!air.synchronized) - air.synchronized = TRUE - SSair.bound_mixtures += air - return air - -/obj/item/organ/internal/lungs/serpentid/on_life() - .=..() - var/turf/T = get_turf(owner) - var/datum/gas_mixture/environment = get_turf_air(T) - var/datum/gas_mixture/breath - breath = owner.serpen_lugns(BREATH_VOLUME) - if(!breath) - var/breath_moles = 0 - if(environment) - breath_moles = environment.total_moles()*BREATH_PERCENTAGE - breath = environment.get_by_amount(breath_moles) - breath_secretion(breath) - -#define QUANTIZE(variable) (round(variable, 0.0001)) -/datum/gas_mixture/proc/get_by_amount(amount) - - var/sum = total_moles() - amount = min(amount, sum) //Can not take more air than tile has! - if(amount <= 0) - return null - - var/datum/gas_mixture/atmo_value = new - - atmo_value.private_oxygen = QUANTIZE((private_oxygen / sum) * amount) - atmo_value.private_nitrogen = QUANTIZE((private_nitrogen/ sum) * amount) - atmo_value.private_carbon_dioxide = QUANTIZE((private_carbon_dioxide / sum) * amount) - atmo_value.private_toxins = QUANTIZE((private_toxins / sum) * amount) - atmo_value.private_sleeping_agent = QUANTIZE((private_sleeping_agent / sum) * amount) - atmo_value.private_agent_b = QUANTIZE((private_agent_b / sum) * amount) - atmo_value.private_temperature = private_temperature - - return atmo_value -#undef QUANTIZE - -/obj/item/organ/internal/lungs/serpentid/proc/breath_secretion(datum/gas_mixture/breath) - var/can_secretion = owner.get_chemical_value(chemical_id) > chemical_consuption - var/danger_state = owner.getOxyLoss() > 0 - var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] - var/danger_air = lung_data.in_danger_zone(breath) - var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) - if (danger_air) - if (!owner.internal) - owner.internal = serpentid_vault - var/inner_oxygen_value = serpentid_vault.volume < 100 - if(inner_oxygen_value && serpentid_vault && can_secretion) - serpentid_vault.air_contents.set_oxygen((ONE_ATMOSPHERE) * serpentid_vault.volume / (R_IDEAL_GAS_EQUATION * T20C)) - chemical.holder.remove_reagent(chemical_id, chemical_consuption) - else - if (owner.internal) - owner.internal = null - - if(danger_state && can_secretion) - var/mob/living/carbon/human/human_owner = owner - human_owner.reagents.add_reagent("salbutamol", chemical_consuption) - chemical.holder.remove_reagent(chemical_id, chemical_consuption) - -/mob/living/carbon/breathe(datum/gas_mixture/environment) - var/obj/item/organ/internal/lungs/lugns = null - for(var/obj/item/organ/internal/O in src.internal_organs) - if (istype(O, /obj/item/organ/internal/lungs)) - lugns = O - if(istype(lugns, /obj/item/organ/internal/lungs/serpentid)) - var/obj/item/organ/internal/lungs/serpentid/serpentid_lungs = lugns - if (src.internal == serpentid_lungs.serpentid_vault) - return - . = ..() - -/mob/living/carbon/human/proc/serpen_lugns(volume_needed) //making this call the parent would be far too complicated - if(internal) //check for hud updates every time this is called - return internal.remove_air_volume(volume_needed) //returns the valid air - - return null - -///Сердце - вырабатывают мефедрон при активации, но за каждый тик сжирает стамину ГБС, получает урон при ударе электричеством -/obj/item/organ/internal/heart/serpentid - name = "serpentid heart" - decayable = TRUE - recoverable = TRUE - decay_rate = 5 - actions_types = list(/datum/action/item_action/organ_action/use) - chemical_id = SERPENTID_CHEM_REAGENT_ID - organ_process_toxins = 1 - var/meph_injected = FALSE - var/inject_drug_id = "mephedrone" - var/inject_drug = /datum/reagent/mephedrone - -/obj/item/organ/internal/heart/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) - . = .. () - buttons_resort() - -/obj/item/organ/internal/heart/serpentid/remove(mob/living/carbon/M, special = 0) - . = .. () - buttons_resort() - -/obj/item/organ/internal/heart/serpentid/ui_action_click() - open_actions(owner) - -/obj/item/organ/internal/heart/serpentid/switch_mode(var/force_off = FALSE) - .=..() - var/mob/living/heart_owner = owner - if(owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART && heart_owner.get_damage_amount(STAMINA) <= SERPENTID_STAMINA_DAMAGE_ON_MEPH) - var/mob/living/carbon/human/human_owner = owner - var/datum/reagent/chem = owner.get_chemical_path(chemical_id) - var/datum/reagent/meph_handler = inject_drug - chem.holder.remove_reagent(chemical_id, GAS_ORGAN_CHEMISTRY_HEART) - human_owner.reagents.add_reagent(inject_drug_id, GAS_METH_HEART_COUNT + meph_handler.overdose_threshold) - heart_owner.apply_damage(SERPENTID_STAMINA_DAMAGE_ON_MEPH, STAMINA) - meph_injected = TRUE - -/obj/item/organ/internal/heart/serpentid/on_life() - . = ..() - var/datum/reagent/meph_handler = inject_drug - var/overdose_threshold = meph_handler.overdose_threshold - var/datum/reagent/meph_value = owner.get_chemical_value(inject_drug_id) - if (meph_injected) - if(meph_value <= overdose_threshold) - meph_handler = owner.get_chemical_path(inject_drug_id) - meph_handler.holder.remove_reagent(inject_drug_id, overdose_threshold) - meph_injected = FALSE - -/obj/item/organ/internal/ears/serpentid - name = "serpentid ears" - decayable = TRUE - recoverable = TRUE - decay_rate = 2 - organ_process_toxins = 0.25 - -/obj/item/organ/internal/ears/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) - . = .. () - buttons_resort() - -/obj/item/organ/internal/ears/serpentid/remove(mob/living/carbon/M, special = 0) - . = .. () - buttons_resort() - -/obj/item/organ/internal/ears/serpentid/on_life() - .=..() - if (prob((max_damage - damage)/max_damage) * 100) - sense_creatures() - -/obj/item/organ/internal/ears/serpentid/proc/sense_creatures() - for(var/mob/living/creature in range(9, owner)) - var/last_movement_timer = world.time - creature.l_move_time - if(creature == owner || creature.stat == DEAD || last_movement_timer > 50) - continue - new /obj/effect/temp_visual/sonar_ping(owner.loc, owner, creature) - -/obj/item/organ/internal/eyes/serpentid - name = "serpentid eyes" - icon = 'modular_ss220/species/icons/obj/surgery.dmi' - icon_state = "crystal-eyes" - light_color = "#1C1C00" - decayable = TRUE - recoverable = TRUE - decay_rate = 1 - see_in_dark = 2 - flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE - actions_types = list(/datum/action/item_action/organ_action/use) - organ_process_toxins = 0.35 - chemical_id = SERPENTID_CHEM_REAGENT_ID - var/eye_shielded = FALSE - -/obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) - var/mob/living/carbon/human/H = HA - if(!istype(H)) - H = owner - var/icon/eyes_icon = new /icon('modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi', H.dna.species.eyes) - eyes_icon.Blend(eye_color, ICON_ADD) - - return eyes_icon - -/obj/item/organ/internal/eyes/serpentid/ui_action_click() - open_actions(owner) - -/obj/item/organ/internal/eyes/serpentid/switch_mode(var/force_off = FALSE) - vision_flags = initial(vision_flags) - if(eye_shielded) - flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE - tint = FLASH_PROTECTION_NONE - owner.update_sight() - eye_shielded = FALSE - else - flash_protect = FLASH_PROTECTION_WELDER - tint = FLASH_PROTECTION_WELDER - owner.update_sight() - eye_shielded = TRUE - -/obj/item/organ/internal/eyes/serpentid/on_life() - . = ..() - if(!isnull(owner)) - var/mob/mob = owner - mob.update_client_colour(time = 10) - -/obj/item/organ/internal/eyes/serpentid/get_colourmatrix() //Returns a special colour matrix - var/chem_value = (owner.get_chemical_value(chemical_id) + GAS_ORGAN_CHEMISTRY_MAX/2)/GAS_ORGAN_CHEMISTRY_MAX - var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) - var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE - - var/k = 1 - vision_concentration = SERPENTID_EYES_LOW_VISIBLE_VALUE * (1 - chem_value**k) - var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE/2) - - var/vision_matrix = list(vision_chem, vision_adjust, vision_adjust,\ - vision_adjust, vision_chem, vision_adjust,\ - vision_adjust, vision_adjust, vision_chem) - return vision_matrix - -/obj/item/organ/internal/brain/serpentid - name = "serpentid brain" - icon = 'modular_ss220/species/icons/obj/surgery.dmi' - icon_state = "crystal-brain" diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_kidneys.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_kidneys.dm new file mode 100644 index 000000000000..ee12f5e59943 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_kidneys.dm @@ -0,0 +1,41 @@ +///почки - базовые c добавлением дикея, вырабатывают энзимы, которые позволяют ГБС скрываться +/obj/item/organ/internal/kidneys/serpentid + name = "serpentid kidneys" + icon = 'icons/obj/species_organs/unathi.dmi' + actions_types = list(/datum/action/item_action/organ_action/toggle) + action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/icons/mob/human_races/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") + can_chem_process = TRUE + chemical_id = SERPENTID_CHEM_REAGENT_ID + radial_additive_state = "gas_stealth" + var/decay_rate = 4 + var/decay_recovery = BASIC_RECOVER_VALUE + var/organ_process_toxins = 0.1 + +/obj/item/organ/internal/kidneys/serpentid/Initialize(mapload) + . = ..() + AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) + AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + +/obj/item/organ/internal/kidneys/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = .. () + buttons_resort() + +/obj/item/organ/internal/kidneys/serpentid/remove(mob/living/carbon/M, special = 0) + . = .. () + buttons_resort() + +/obj/item/organ/internal/kidneys/serpentid/ui_action_click() + open_actions(owner) + +/obj/item/organ/internal/kidneys/serpentid/switch_mode(var/force_off = FALSE) + .=..() + var/datum/species/serpentid/spiece = owner.dna.species + if (istype(spiece, /datum/species/serpentid)) + if(!force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_KIDNEYS && !spiece.cloak_engaged) + spiece.cloak_engaged = TRUE + chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS + else + spiece.cloak_engaged = FALSE + chemical_consuption = 0 + radial_additive_state = "gas_cloak_[spiece.cloak_engaged]" diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_liver.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_liver.dm new file mode 100644 index 000000000000..229a0471bacb --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_liver.dm @@ -0,0 +1,29 @@ +///печень - вырабатывает глутамат натрия из нутриентов +/obj/item/organ/internal/liver/serpentid + name = "serpentid liver" + icon = 'icons/obj/species_organs/unathi.dmi' + desc = "A large looking liver." + alcohol_intensity = 2 + chemical_id = SERPENTID_CHEM_REAGENT_ID + var/max_value = GAS_ORGAN_CHEMISTRY_MAX + var/decay_rate = 4 + var/decay_recovery = BASIC_RECOVER_VALUE + var/organ_process_toxins = 0.05 + +/obj/item/organ/internal/liver/serpentid/Initialize(mapload) + . = ..() + AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) + AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + +/obj/item/organ/internal/liver/serpentid/on_life() + . = ..() + max_value = clamp((((max_damage - damage)/max_damage)*100),0,GAS_ORGAN_CHEMISTRY_MAX) + if (owner.get_chemical_value(chemical_id) < max_value) + for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) + if(!isnull(chemical)) + chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) + owner.reagents.add_reagent(chemical_id, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) + else + var/excess_value = owner.get_chemical_value(chemical_id) - max_value + var/datum/reagent/chem = owner.get_chemical_path(chemical_id) + chem.holder.remove_reagent(chemical_id, excess_value) diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_lungs.dm b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_lungs.dm new file mode 100644 index 000000000000..2f9c16943d24 --- /dev/null +++ b/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_lungs.dm @@ -0,0 +1,190 @@ +///Легкие - вырабатывают сальбутамол при наличии глутамата натрия, имеют собственный мешок, из которого дышат, мешок заполняется в безопасной среде +/obj/item/organ/internal/lungs/serpentid + name = "serpentid lungs" + icon = 'icons/obj/species_organs/unathi.dmi' + organ_datums = list(/datum/organ/lungs/serpentid) + chemical_id = SERPENTID_CHEM_REAGENT_ID + chemical_consuption = 1 + var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank + var/decay_rate = 3 + var/decay_recovery = BASIC_RECOVER_VALUE + var/organ_process_toxins = 0.25 + var/chem_to_oxy_mult = 0.1 + +/obj/item/organ/internal/lungs/serpentid/Initialize(mapload) + . = ..() + AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) + AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + +/obj/item/tank/internals/oxygen/serpentid_vault_tank + name = "serpentid oxygen vault" + volume = 1 + +/obj/item/tank/internals/oxygen/serpentid_vault_tank/populate_gas() + air_contents.set_oxygen((ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)) + +/datum/organ/lungs/serpentid + safe_oxygen_min = 21 + safe_toxins_max = 5 + + cold_level_1_threshold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE + cold_level_2_threshold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE - SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + cold_level_3_threshold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE - 2*SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + + heat_level_1_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + heat_level_2_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + SERPENTID_HEAT_THRESHOLD_LEVEL_UP + heat_level_3_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + 2*SERPENTID_HEAT_THRESHOLD_LEVEL_UP + +/datum/organ/lungs/serpentid/proc/in_danger_zone(datum/gas_mixture/breath) + + //Получение данных + var/ox_pressure = (breath ? breath.get_breath_partial_pressure(breath.oxygen()) : 0) + var/n2_pressure = (breath ? breath.get_breath_partial_pressure(breath.nitrogen()) : 0) + var/tox_pressure = (breath ? breath.get_breath_partial_pressure(breath.toxins()) : 0) + var/co2_pressure = (breath ? breath.get_breath_partial_pressure(breath.carbon_dioxide()) : 0) + var/sa_pressure = (breath ? breath.get_breath_partial_pressure(breath.sleeping_agent()) : 0) + + // Проверка кислорода + var/O2_above_max = (safe_oxygen_max == 0? FALSE : ox_pressure > safe_oxygen_max) + var/O2_below_min = (safe_oxygen_min == 0? FALSE : ox_pressure < safe_oxygen_min) + var/O2_pp = O2_above_max || O2_below_min + + // Проверка азота + var/N2_above_max = (safe_nitro_max == 0? FALSE : n2_pressure > safe_nitro_max) + var/N2_below_min = (safe_nitro_min == 0? FALSE : n2_pressure < safe_nitro_min) + var/N2_pp = N2_above_max || N2_below_min + + // Проверка токсинов + var/Toxins_above_max = (safe_toxins_max == 0? FALSE : tox_pressure > safe_toxins_max) + var/Toxins_below_min = (safe_toxins_min == 0? FALSE : tox_pressure < safe_toxins_min) + var/Toxins_pp = Toxins_above_max || Toxins_below_min + + // Проверка углекислого газа + var/CO2_above_max = (safe_co2_max == 0? FALSE : co2_pressure > safe_co2_max) + var/CO2_below_min = (safe_co2_min == 0? FALSE : co2_pressure < safe_co2_min) + var/CO2_pp = CO2_above_max || CO2_below_min + + // Проверка сонного газа + var/SA_pp = (SA_para_min == 0? FALSE : sa_pressure > SA_para_min) + + // Общая проверка зоны опасности + var/danger_zone = O2_pp || N2_pp || Toxins_pp || CO2_pp || SA_pp + + return danger_zone + +/obj/item/organ/internal/lungs/serpentid/proc/get_turf_air(turf/T) + RETURN_TYPE(/datum/gas_mixture) + // This is one of two intended places to call this otherwise-unsafe proc. + var/datum/gas_mixture/bound_to_turf/air = T.private_unsafe_get_air() + if(air.lastread < SSair.times_fired) + var/list/milla_tile = new/list(MILLA_TILE_SIZE) + get_tile_atmos(T, milla_tile) + air.copy_from_milla(milla_tile) + air.lastread = SSair.times_fired + air.readonly = null + air.dirty = FALSE + if(!air.synchronized) + air.synchronized = TRUE + SSair.bound_mixtures += air + return air + +/obj/item/organ/internal/lungs/serpentid/on_life() + .=..() + var/turf/T = get_turf(owner) + var/datum/gas_mixture/environment = get_turf_air(T) + var/datum/gas_mixture/breath + breath = owner.serpen_lugns(BREATH_VOLUME) + if(!breath) + var/breath_moles = 0 + if(environment) + breath_moles = environment.total_moles()*BREATH_PERCENTAGE + breath = environment.get_by_amount(breath_moles) + breath_secretion(breath) + +#define QUANTIZE(variable) (round(variable, 0.0001)) +/datum/gas_mixture/proc/get_by_amount(amount) + + var/sum = total_moles() + amount = min(amount, sum) //Can not take more air than tile has! + if(amount <= 0) + return null + + var/datum/gas_mixture/atmo_value = new + + atmo_value.private_oxygen = QUANTIZE((private_oxygen / sum) * amount) + atmo_value.private_nitrogen = QUANTIZE((private_nitrogen/ sum) * amount) + atmo_value.private_carbon_dioxide = QUANTIZE((private_carbon_dioxide / sum) * amount) + atmo_value.private_toxins = QUANTIZE((private_toxins / sum) * amount) + atmo_value.private_sleeping_agent = QUANTIZE((private_sleeping_agent / sum) * amount) + atmo_value.private_agent_b = QUANTIZE((private_agent_b / sum) * amount) + atmo_value.private_temperature = private_temperature + + return atmo_value +#undef QUANTIZE + +/obj/item/organ/internal/lungs/serpentid/proc/breath_secretion(datum/gas_mixture/breath) + var/can_secretion = owner.get_chemical_value(chemical_id) > chemical_consuption + var/danger_state = owner.getOxyLoss() > 0 + var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] + var/danger_air = lung_data.in_danger_zone(breath) + var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) + if (danger_air) + if (!owner.internal) + owner.internal = serpentid_vault + else + if (owner.internal) + owner.internal = null + + var/datum/gas_mixture/int_tank_air = serpentid_vault.air_contents + var/pressure_value = int_tank_air.return_pressure() + if(pressure_value < 100) + var/replenish_value = 0 + if (danger_air && can_secretion) + replenish_value = chemical_consuption * chem_to_oxy_mult + chemical.holder.remove_reagent(chemical_id, chemical_consuption) + if (!danger_air) + var/turf/T = get_turf(owner) + var/datum/gas_mixture/environment = get_turf_air(T) + var/breath_moles = 0 + if(environment) + breath_moles = environment.total_moles()*BREATH_PERCENTAGE + var/datum/gas_mixture/replenish_gas = environment.get_by_amount(breath_moles) + replenish_value = replenish_gas.private_oxygen + var/oxygen_value = ((ONE_ATMOSPHERE) * serpentid_vault.volume * replenish_value + pressure_value) + var/gas_mix_value = (R_IDEAL_GAS_EQUATION * T20C) + var/value_to_replenish = ( oxygen_value / gas_mix_value ) + if (value_to_replenish > 0) + serpentid_vault.air_contents.set_oxygen(value_to_replenish) + + + if(danger_state && can_secretion) + var/mob/living/carbon/human/human_owner = owner + human_owner.reagents.add_reagent("salbutamol", chemical_consuption) + chemical.holder.remove_reagent(chemical_id, chemical_consuption) + +//Без этого псевдо-баллон не работает (отрубается так как не проходит проверки основы) +/mob/living/carbon/breathe(datum/gas_mixture/environment) + var/obj/item/organ/internal/lungs/lugns = null + for(var/obj/item/organ/internal/O in src.internal_organs) + if (istype(O, /obj/item/organ/internal/lungs)) + lugns = O + if(istype(lugns, /obj/item/organ/internal/lungs/serpentid)) + var/obj/item/organ/internal/lungs/serpentid/serpentid_lungs = lugns + if (src.internal == serpentid_lungs.serpentid_vault) + var/mob/living/carbon/human/puppet = src + var/breath = puppet.serpen_lugns(BREATH_VOLUME) + + check_breath(breath) + if(breath) + environment.merge(breath) + if(ishuman(src) && !internal && environment.temperature() < 273 && environment.return_pressure() > 20) //foggy breath :^) + new /obj/effect/frosty_breath(loc, src) + + return + . = ..() + +/mob/living/carbon/human/proc/serpen_lugns(volume_needed) + if(internal) + return internal.remove_air_volume(volume_needed) + return null + diff --git a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm index ec0848423c6a..519b215f9925 100644 --- a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm +++ b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm @@ -1,8 +1,8 @@ -#define CARAPACE_BLOCK_OPERATION list(/datum/surgery/bone_repair,/datum/surgery/bone_repair/skull,/datum/surgery/organ_manipulation) +//Оверрайды для операций, которые могут применяться для панциря. /datum/surgery/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) return FALSE if (src.type in CARAPACE_BLOCK_OPERATION)//отключить стандартные операции класса "манипуляция органов", восстановить кость. return FALSE @@ -10,37 +10,37 @@ /datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapace_limb) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP)) return FALSE /datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapace_limb && (affected.status & ORGAN_BROKEN)) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && (affected.status & ORGAN_BROKEN)) return TRUE return FALSE /datum/surgery/carapace_break/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) return TRUE return FALSE /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/obj/item/organ/external/limb = target.get_organ(target_zone) - if(limb.carapace_limb && !(limb.status & ORGAN_BROKEN)) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") return SURGERY_BEGINSTEP_ABORT . = .. () /datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) affected.fracture() . = .. () /datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.carapace_limb && !(affected.status & ORGAN_BROKEN)) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) affected.mend_fracture() . = .. () diff --git a/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm b/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm index 40209b660fde..bc73c74f08fe 100644 --- a/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm +++ b/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm @@ -1,8 +1,7 @@ -//Procedures in this file: carapace break surgery ////////////////////////////////////////////////////////////////// -// carapace SURGERY // +// Хирургия для панциря // ////////////////////////////////////////////////////////////////// -///Surgery Datums +///Датумы для операций /datum/surgery/carapace_break name = "Break carapace" steps = list( diff --git a/modular_ss220/species/code/species.dm b/modular_ss220/species/code/species.dm index 2d50851ddd34..21d1f07bf0ed 100644 --- a/modular_ss220/species/code/species.dm +++ b/modular_ss220/species/code/species.dm @@ -14,4 +14,4 @@ required_playtimes_minutes = 12000 // 200 часов /datum/species/serpentid - required_playtimes_minutes = -1 // 400 часов + required_playtimes_minutes = -1 // 400 часов (24000), в рамках тестов до ТМа установлено в -1 diff --git a/modular_ss220/species/icons/mob/human_races/organs.dmi b/modular_ss220/species/icons/mob/human_races/organs.dmi new file mode 100644 index 0000000000000000000000000000000000000000..ff61d3910d5b8a93e19432270a139c53fabf06d5 GIT binary patch literal 7149 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 H+wlJZY4Ieh literal 0 HcmV?d00001 diff --git a/modular_ss220/species/icons/mob/screen_alert.dmi b/modular_ss220/species/icons/mob/screen_alert.dmi new file mode 100644 index 0000000000000000000000000000000000000000..4d69fb52c2da3864e65aa5d43db1f5aa5a4d4519 GIT binary patch literal 3674 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 literal 0 HcmV?d00001 From 7716b82f48fcdd40d648f546e659a1c540e3de3d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 4 Oct 2024 08:08:17 +0300 Subject: [PATCH 016/152] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B1=D1=80?= =?UTF-8?q?=D0=BE=D1=81=20=D0=B4=D0=B0=D1=82=D1=83=D0=BC=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=20=D0=BA=D0=B0=D1=80=D0=B0=D0=BF=D0=B0?= =?UTF-8?q?=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_species.dme | 2 - modular_ss220/species/code/datum/carapace.dm | 82 +++++++++++++++++++ .../mob/surgery/serpentids_surgery_steps.dm | 46 ----------- .../mob/surgery/serpentids_surgery_types.dm | 35 -------- 4 files changed, 82 insertions(+), 83 deletions(-) delete mode 100644 modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm delete mode 100644 modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index 2e7997553901..002071be563e 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -30,8 +30,6 @@ #include "code/mob/surgery/organs/implants/serpentid_mantis_hand.dm" #include "code/mob/living/carbon/species/serpentids.dm" -#include "code/mob/surgery/serpentids_surgery_steps.dm" -#include "code/mob/surgery/serpentids_surgery_types.dm" #include "code/mob/surgery/organs/subtypes/serpentids_organs_external.dm" #include "code/mob/surgery/organs/subtypes/serpentids_organs_eyes.dm" #include "code/mob/surgery/organs/subtypes/serpentids_organs_ears.dm" diff --git a/modular_ss220/species/code/datum/carapace.dm b/modular_ss220/species/code/datum/carapace.dm index 8079cfc51849..f954bd8f06ca 100644 --- a/modular_ss220/species/code/datum/carapace.dm +++ b/modular_ss220/species/code/datum/carapace.dm @@ -91,3 +91,85 @@ . = ..() SEND_SIGNAL(src, COMSIG_CARAPACE_HEAL_DAMAGE, brute, burn, internal, robo_repair, updating_health) return + + +////////////////////////////////////////////////////////////////// +// Хирургия для панциря // +////////////////////////////////////////////////////////////////// +///Датумы для операций +/datum/surgery/carapace_break + name = "Break carapace" + steps = list( + /datum/surgery_step/saw_carapace, + /datum/surgery_step/cut_carapace, + /datum/surgery_step/retract_carapace + ) + + possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) + requires_organic_bodypart = TRUE + +/datum/surgery/organ_manipulation/carapace + name = "Organ manipulation" + steps = list( + /datum/surgery_step/open_encased/retract, + /datum/surgery_step/proxy/manipulate_organs, + /datum/surgery_step/internal/manipulate_organs/finish, + ) + possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) + requires_organic_bodypart = TRUE + +/datum/surgery/bone_repair/carapace + name = "Carapace Repair" + steps = list( + /datum/surgery_step/glue_bone, + /datum/surgery_step/set_bone, + /datum/surgery_step/finish_bone, + /datum/surgery_step/generic/cauterize + ) + possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) + requires_organic_bodypart = TRUE + +//Оверрайды для операций, которые могут применяться для панциря. +/datum/surgery/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) + return FALSE + if (src.type in CARAPACE_BLOCK_OPERATION)//отключить стандартные операции класса "манипуляция органов", восстановить кость. + return FALSE + . = .. () + +/datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP)) + return FALSE + +/datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && (affected.status & ORGAN_BROKEN)) + return TRUE + return FALSE + +/datum/surgery/carapace_break/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) + return TRUE + return FALSE + +/datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) + user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") + return SURGERY_BEGINSTEP_ABORT + . = .. () + +/datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) + affected.fracture() + . = .. () + +/datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) + affected.mend_fracture() + . = .. () diff --git a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm b/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm deleted file mode 100644 index 519b215f9925..000000000000 --- a/modular_ss220/species/code/mob/surgery/serpentids_surgery_steps.dm +++ /dev/null @@ -1,46 +0,0 @@ -//Оверрайды для операций, которые могут применяться для панциря. - -/datum/surgery/can_start(mob/user, mob/living/carbon/target) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) - return FALSE - if (src.type in CARAPACE_BLOCK_OPERATION)//отключить стандартные операции класса "манипуляция органов", восстановить кость. - return FALSE - . = .. () - -/datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP)) - return FALSE - -/datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && (affected.status & ORGAN_BROKEN)) - return TRUE - return FALSE - -/datum/surgery/carapace_break/can_start(mob/user, mob/living/carbon/target) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) - return TRUE - return FALSE - -/datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/obj/item/organ/external/affected = target.get_organ(target_zone) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) - user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") - return SURGERY_BEGINSTEP_ABORT - . = .. () - -/datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) - affected.fracture() - . = .. () - - -/datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) - affected.mend_fracture() - . = .. () diff --git a/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm b/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm deleted file mode 100644 index bc73c74f08fe..000000000000 --- a/modular_ss220/species/code/mob/surgery/serpentids_surgery_types.dm +++ /dev/null @@ -1,35 +0,0 @@ -////////////////////////////////////////////////////////////////// -// Хирургия для панциря // -////////////////////////////////////////////////////////////////// -///Датумы для операций -/datum/surgery/carapace_break - name = "Break carapace" - steps = list( - /datum/surgery_step/saw_carapace, - /datum/surgery_step/cut_carapace, - /datum/surgery_step/retract_carapace - ) - - possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) - requires_organic_bodypart = TRUE - -/datum/surgery/organ_manipulation/carapace - name = "Organ manipulation" - steps = list( - /datum/surgery_step/open_encased/retract, - /datum/surgery_step/proxy/manipulate_organs, - /datum/surgery_step/internal/manipulate_organs/finish, - ) - possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) - requires_organic_bodypart = TRUE - -/datum/surgery/bone_repair/carapace - name = "Carapace Repair" - steps = list( - /datum/surgery_step/glue_bone, - /datum/surgery_step/set_bone, - /datum/surgery_step/finish_bone, - /datum/surgery_step/generic/cauterize - ) - possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) - requires_organic_bodypart = TRUE From 55ea840bfcee899e5eb76d201f33bbc64bacfdc6 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 4 Oct 2024 19:57:04 +0300 Subject: [PATCH 017/152] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B8?= =?UTF-8?q?=D1=81=D0=BB=D0=BE=D0=BA=D0=B0=D1=86=D0=B8=D1=8F=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=BE=D0=B2=20=D0=B8=20=D0=B8=D0=B7=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=93=D0=91=D0=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_species.dme | 45 ++++++------ .../icons/mob/human_races/r_serpentid_old.dmi | Bin 9867 -> 0 bytes .../code/components}/carapace.dm | 0 .../code/components}/double_attack.dm | 0 .../grab_and_drag_on_mob_crates.dm | 0 .../components}/grab_and_drag_on_mob_mobs.dm | 0 .../serpentids/code/components/heart_defib.dm | 38 ++++++++++ .../code/components}/organ_actions.dm | 2 +- .../code/components}/organ_chemistry.dm | 0 .../code/components}/organ_decay.dm | 0 .../code/components}/organ_toxins.dm | 0 .../code/components}/paired_implants.dm | 0 .../code/components}/reagents.dm | 32 ++++++++- .../external}/serpentids_organs_external.dm | 65 +++++++++++++----- .../internal}/serpentid_mantis_blades.dm | 0 .../internal}/serpentid_mantis_chest.dm | 4 +- .../organs/internal}/serpentid_mantis_hand.dm | 0 .../serpentids_organs_additionals.dm | 0 .../internal}/serpentids_organs_ears.dm | 0 .../internal}/serpentids_organs_eyes.dm | 28 +++----- .../internal}/serpentids_organs_heart.dm | 22 ++---- .../internal}/serpentids_organs_kidneys.dm | 41 +++++------ .../internal}/serpentids_organs_liver.dm | 0 .../internal}/serpentids_organs_lungs.dm | 0 .../species => serpentids/code}/serpentids.dm | 28 ++------ .../icons/mob}/r_serpentid.dmi | Bin .../icons/mob}/serpentid_eyes.dmi | Bin .../icons}/organs.dmi | Bin .../mob => serpentids/icons}/screen_alert.dmi | Bin 29 files changed, 185 insertions(+), 120 deletions(-) delete mode 100644 modular_ss220/species/icons/mob/human_races/r_serpentid_old.dmi rename modular_ss220/species/{code/datum => serpentids/code/components}/carapace.dm (100%) rename modular_ss220/species/{code/datum => serpentids/code/components}/double_attack.dm (100%) rename modular_ss220/species/{code/datum => serpentids/code/components}/grab_and_drag_on_mob_crates.dm (100%) rename modular_ss220/species/{code/datum => serpentids/code/components}/grab_and_drag_on_mob_mobs.dm (100%) create mode 100644 modular_ss220/species/serpentids/code/components/heart_defib.dm rename modular_ss220/species/{code/datum => serpentids/code/components}/organ_actions.dm (96%) rename modular_ss220/species/{code/datum => serpentids/code/components}/organ_chemistry.dm (100%) rename modular_ss220/species/{code/datum => serpentids/code/components}/organ_decay.dm (100%) rename modular_ss220/species/{code/datum => serpentids/code/components}/organ_toxins.dm (100%) rename modular_ss220/species/{code/datum => serpentids/code/components}/paired_implants.dm (100%) rename modular_ss220/species/{code/datum => serpentids/code/components}/reagents.dm (86%) rename modular_ss220/species/{code/mob/surgery/organs/subtypes => serpentids/code/organs/external}/serpentids_organs_external.dm (51%) rename modular_ss220/species/{code/mob/surgery/organs/implants => serpentids/code/organs/internal}/serpentid_mantis_blades.dm (100%) rename modular_ss220/species/{code/mob/surgery/organs/implants => serpentids/code/organs/internal}/serpentid_mantis_chest.dm (95%) rename modular_ss220/species/{code/mob/surgery/organs/implants => serpentids/code/organs/internal}/serpentid_mantis_hand.dm (100%) rename modular_ss220/species/{code/mob/surgery/organs/subtypes => serpentids/code/organs/internal}/serpentids_organs_additionals.dm (100%) rename modular_ss220/species/{code/mob/surgery/organs/subtypes => serpentids/code/organs/internal}/serpentids_organs_ears.dm (100%) rename modular_ss220/species/{code/mob/surgery/organs/subtypes => serpentids/code/organs/internal}/serpentids_organs_eyes.dm (71%) rename modular_ss220/species/{code/mob/surgery/organs/subtypes => serpentids/code/organs/internal}/serpentids_organs_heart.dm (57%) rename modular_ss220/species/{code/mob/surgery/organs/subtypes => serpentids/code/organs/internal}/serpentids_organs_kidneys.dm (54%) rename modular_ss220/species/{code/mob/surgery/organs/subtypes => serpentids/code/organs/internal}/serpentids_organs_liver.dm (100%) rename modular_ss220/species/{code/mob/surgery/organs/subtypes => serpentids/code/organs/internal}/serpentids_organs_lungs.dm (100%) rename modular_ss220/species/{code/mob/living/carbon/species => serpentids/code}/serpentids.dm (93%) rename modular_ss220/species/{icons/mob/human_races => serpentids/icons/mob}/r_serpentid.dmi (100%) rename modular_ss220/species/{icons/mob/human_races => serpentids/icons/mob}/serpentid_eyes.dmi (100%) rename modular_ss220/species/{icons/mob/human_races => serpentids/icons}/organs.dmi (100%) rename modular_ss220/species/{icons/mob => serpentids/icons}/screen_alert.dmi (100%) diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index 002071be563e..b34fbd9f50fd 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -14,27 +14,28 @@ #include "code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm" #include "code/mob/surgery/organs/subtypes/nucleation_organs.dm" -#include "code/datum/reagents.dm" -#include "code/datum/organ_decay.dm" -#include "code/datum/organ_chemistry.dm" -#include "code/datum/organ_toxins.dm" -#include "code/datum/organ_actions.dm" -#include "code/datum/carapace.dm" -#include "code/datum/paired_implants.dm" -#include "code/datum/double_attack.dm" -#include "code/datum/grab_and_drag_on_mob_mobs.dm" -#include "code/datum/grab_and_drag_on_mob_crates.dm" +#include "serpentids/code/components/reagents.dm" +#include "serpentids/code/components/organ_decay.dm" +#include "serpentids/code/components/organ_chemistry.dm" +#include "serpentids/code/components/organ_toxins.dm" +#include "serpentids/code/components/organ_actions.dm" +#include "serpentids/code/components/heart_defib.dm" +#include "serpentids/code/components/carapace.dm" +#include "serpentids/code/components/paired_implants.dm" +#include "serpentids/code/components/double_attack.dm" +#include "serpentids/code/components/grab_and_drag_on_mob_mobs.dm" +#include "serpentids/code/components/grab_and_drag_on_mob_crates.dm" -#include "code/mob/surgery/organs/implants/serpentid_mantis_blades.dm" -#include "code/mob/surgery/organs/implants/serpentid_mantis_chest.dm" -#include "code/mob/surgery/organs/implants/serpentid_mantis_hand.dm" +#include "serpentids/code/organs/external/serpentids_organs_external.dm" +#include "serpentids/code/organs/internal/serpentid_mantis_blades.dm" +#include "serpentids/code/organs/internal/serpentid_mantis_chest.dm" +#include "serpentids/code/organs/internal/serpentid_mantis_hand.dm" +#include "serpentids/code/organs/internal/serpentids_organs_eyes.dm" +#include "serpentids/code/organs/internal/serpentids_organs_ears.dm" +#include "serpentids/code/organs/internal/serpentids_organs_lungs.dm" +#include "serpentids/code/organs/internal/serpentids_organs_heart.dm" +#include "serpentids/code/organs/internal/serpentids_organs_kidneys.dm" +#include "serpentids/code/organs/internal/serpentids_organs_liver.dm" +#include "serpentids/code/organs/internal/serpentids_organs_additionals.dm" -#include "code/mob/living/carbon/species/serpentids.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs_external.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs_eyes.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs_ears.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs_lungs.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs_heart.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs_kidneys.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs_liver.dm" -#include "code/mob/surgery/organs/subtypes/serpentids_organs_additionals.dm" +#include "serpentids/code/serpentids.dm" diff --git a/modular_ss220/species/icons/mob/human_races/r_serpentid_old.dmi b/modular_ss220/species/icons/mob/human_races/r_serpentid_old.dmi deleted file mode 100644 index 82eb64a8b08f803772c0886922d78599c50f6a1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9867 zcmb_?cUV&I!}kGk;egDQ3r)?Pnx;8Ht;{TEIdfa?k$a0NYFTRKDtEccowIV_o;kA2 zQ7SpmT;xJU;ov4+oH*AR zAZ*d;%Z~XPm&)KEk^$~TO)Ug0b3H6j6xy-E94Q3bCDnF=F=#fon6^3EJJ|)!YS% zqE&JD;&p84HC*Ocl0-zVpFGdJPc&)PV2ZL=iu8&)`P;X}5xwX?dqp2j(plY_Yn?3~ zLNEZDvbk*-aG&Z?7lK@Kw36-fWCcXLu6kp1vMJ8)*8O_0{h}~&dw#wpni93Uv#cLw zcZbnv44bPK{Ao|)avEG~lxcalI{MUOcSyE90J=(@s$s2q4ViMf9UUAk{6#i&^^b-U znaeTJuK3>5-h}vs>y)iupT8u)5T8cJ;gr8A(E%EQZL+k|EPG^lR1qwT-U@VCMOF1r z6!`>?^dawLwg+^k>`=CX+h-%rUC3SDIb$?ErD%k27?L_j8RrCgvk}Os4IZ^PmV)PTXBD2L}%H5far~=tE1-pADEl*?5+l6i9nDmr`LppMKK^t0mew0e&GZ$e|~?nL(3r41R{d8+4QT1 zh7&uJhVAI+Ft>nU@~uYm7s&cXivGLuGmNf%KjGkmtFB9pxb&Qi@Z-I;-YN(LCZN8$ z1N7WsQw5&WGiZiKOMWaf7>P$Ga2RL59C#Q_un9UABgDxD*9FRZpW)>rBeKv1w~QRIf;#-*M`jEyUXm zL2Fu(3>uWQ2oVY3k((R?vTwejWmN7+=aKHszx@ec+Sf9nJT^pAU3qN+VOv!oJRj-)`-@3>lrct){g5-H7UkYAc+t&>;mL! zY<)haYKSG0xe@GM@hEoLp&_atiq`JdS$KaHDqDe8={lW`5wI5`D3KJ7#Yxt3Fm3$5gx#aTROFC#P|9-$F3s@Ah!RE-H_wgI2eRN?c%|>t9yX_-z2eLU)A0El zG$P?@Z}vktIZ~Ph*q=l&0l2=ipUZZcdSf)dxG-m>0wH!rODXW znQvj_gX#JYfcS}NK4tahhxK2D5c}k>yrX}E2flDmk_HA@UriSCv=Q4bA*2;BU&*&) ziZcYVWo`8n1TzH^zA}E-dsaE_A-sH)`92(x&NCcI);rh0dZywymaQfV{Q}d}2{#3d zu1*!23&XmVz-U_4DBCFasFU|~sfb4-2wnuL(=J|qwEg-mXj|Vd@lpQkgmE3f8|p~2 zXMpmilU$=MemM?PCIr8;1ehc_p}o+;$U_TG_t-~r`KCnh0>^SgQhvqJ=>0ykb^XJk zGht+IRwKP1W#J_bmCsd1krIN5xv?%cYNm+AHJqqRS4ztLju5%h(o$@wGvYCC6$mOV?G!dLNGgA zTUxYbu(;v;$HX4c!k@M*cUhoy{M(#{M0>mDGG;qHB<=IJa_XC)=nHKczFo?kP%BSS z`!(AT*Gz~03GXIvzt# ztx0hWbyZH7fR9`+Zw#h;D?@6ukf{EOB}bZV$WmwiS5w1V?LKwJ{iM(;nWhyUVW`)z zHh;!E{V{WT&)g`uqx*1dCFKz^NF1(kx~cJ;ZenM*Rp%&h#l120zGLw8G0;5xutMdm z6{AILR{FT|sCS=N?UzethY5p-Gxc7hPr{aruq(mCf22K*X)Ji=c8+ifh!>C_8TmI+ zNf^lC>kE!g2(e>9_ItNfz6=%Cmh)ThM$S`wmpK=jrwtmGd4{I57z%q# zldIe5kluK6MV~^ysUBf%PYys?(TKs(S`gGoqoA%tNb+_4F!M~ZhI1@7chrU+Gh7`e zTqx%hq`=C}GciL-IKO(lGrO%Fh!bYVKyr=_G`xqo>{Ecn(^Ny=GgXs;pg3yBhZH1<{ob?w42Vj zX07fd2r7GFNy)}e_arYb?6VnGlK->wG(G5VAlIkNYJ3(OVe-YVrb0_#{4?7aqI1Bj z1{?Oy>DkxV^()B@8kKgpm%~kad7R-!*e>N8tKrZODW+pTNJ3t8iwqdsoz{=l!o4&L za#(2lyk@Js7)fqw?WLIEr|pL_yN|58xKxvr>FfIe&PI zy&~FzSu6oTk?z`uq%04B_I#tYWaIqnqn$wcJGw1&tVnTt5qPmyPkg&J$I{{0IBxrV03= zCq%~k?x?ZdL7QL`n?(z_fI!)sFr4kbLiO5qIQ+sw!SqT-G2aJcRfLjr#A5+h#DbY0 z;>rW>g}aE1lqKf2&mpw-9k!tiQR@+DiUTD}Z?A8wvrqVL%9(KddEDWk-Itis!-SmC ztg!p}dE4{pofji?o{Zeu*FB*qQ!3YBTGs$hD;gaa<@l`u z?&m_dzQ{9(OS;*!jI@Mb!Sh~L$;8Li1ktP>IVLa7o8sqto!K46hO8$LX54RNjTvug z@MWBNqkX2{uc0;92++qSH#w{v-M}_f00`vxfvP&ta7QyB4}~-ne+MbizR#94mm^hE z&W>eh(OFS{^KjkMhT-7|P>kw}`radX-Hyoqt#-6KA+d?7;pFbJk2gTfa8;qlhXS?r z3$?7hHeyGR(OFNLL*|@UKTDVa!_o02O|8hd{H{m$p63QX;4HYTJ{(7A z_G{_mu1OE|xvI_?UG=D$IS<)FR_Ahbdf;qNJFJrQ;z@pI{_Z_`3H0-+ z3G@i&RJsUq^LAg)h)j)(z>JWVUGon6h#|YCQ(4G0&Nk**ts7%U5hfg{`6(p+BWsd5 z;EArBX!74$3HjjFW@QPmN2zg$J5<7G`L}gC^S*lYl?3YZ{dq%oiETTQ9v+rV*?4!e z7y=_94)fMj%ZsK4km?R9cnu=e0F8ZwN#ISoN1pYcGVh_z79>oLJhm1EZZbU%+_0=` z?;SvzfJq4g56-ird|0OHSUr|H4o)tQkQPe{W}AFGTpenlA6Irq(^q~+0{XEW0&3IE zN;-J{m2TN6D+PA#VCV3MOat2>2eq8nRg<7w5RRxV!HOA@f>(A`*wQB>hDt)y6+iwF z?Zdp4iX)@0GjA6Zmu6hJHY$>A;#u5bAjgSL38K|zEc;qN;~_G_XZF28#tYbg2dn?# zJqu{!gxT-71rs92`h{={!ewQX>rZ=+uk8$7UxNa~e z<~W-I?Bw9>xyq{NmmX-wu`j!{ghVKn3RDml+aUO}Rqvv%seC}NJV@5F;!wZDx7=5F zh8k1aeV>N74+qJfP@~PJWZ92R2ugUN`IUKqkg8Lgv0y?bPohhW> z_f%PEy6;g3o@4gu0#0moSz-fN(M(=1VQUWCci+)4PDw~e_(d9f<>SHc{|aWQ#}B``pz$2yh)eHcH140>{|A1vhe*x1tW0v!c60j=ZX)4PTS7Rlqz9Y+6SX$s@796dIrGGx0y@cV@8^*UV>4+$_{!^L@8=~`h99aS z_n6pG(gT=9|E-bsw18SYhQW-_7mFFX@6^Lx!R*=$NOMX<*6Y|h_!F_f>KM4lx-^z2 z128=liU`_;mEm&n0aC&I;9=FAQFRd?HO~8gpMQA{!2uAXV<6%FQ_ zYw01+pG6EI5q?@%UG|jTgs; zeezo#T%c1)COO#PA}hzjOn~#}vdYZPSm5YGQbs4MAda}dj=WvmG;E7e%+(etqNQ2O zH1L-NM~K(Q4bZ}+!@vR5Ar7Xsy&VbEu1_yo-+vO0ebc$2#aIM%yEfB-wnL2`+rU6A zmus#!Yw&GX5@y2+9lK=>P74k4)kD8Vrg%*6W(HJL-IPjFw~%c@l!oE#tUVc+{xGt( zXDj>IzUQi91PXT%1#*PowaxkR2suYhGsX}pbcN+1=oCSf)t}p3kcYzj!kW__Xm+#( zpHoh_2WJ#pdFhlYx^Vsfr=B#ze;Jy3T(J zEGKoyk4KjN`ThBG@OBWsXV+y|qDA}GHE02xot!Ca=Z&m$>F#Ux#~TpCDCEol%gxJ`tt|}~dY|!TQwyiyZDZt#W{~Cy752(h zR`}HtPOKvFQJB_oOqpbt`GLa2Ni&ys)TD`~dvcw{bMb;_#bNQ_yl0hNdz*@e#^zk~ z@!q@g{Ly@*oe@~^bee<=+bauSp09LWOQ{Le_F%|mMe#oU{;wkH___@#Y)-USvi;+I zeKVl!kP79%Z5RypnT}N-XyujUU+BnfpC1?;W#m~;momR7aWh5v^r*eEW>TQy%o1f` z!TxLHiA${#t{QXsasJ!4Z}ort_D2i7sI;DCRau(3ENU;)4>$5F88*HqUot!Z1+Z5! zN+suO(pd=t`IX-TL^s|Mu+pws)F!JXKm+qd)Bc-q0!;%0BjpZZ!_dHB#9n5uCA7{% z*$$$51>*P?4}ZD0e<-wEGxU@rYLL%)V{^7C?XqlA><48%5Wq^)g21{sR^9}jaki#y zp03d(+KdX!OPc8Q05enmHjlWiw8BW}?IZUSL z>N9alOyuPL#W<+Z1%0q(JRDV~`H)!z_zJ6EX~D+^tn`a|*gwlL4>311JM?O`uzSqE zt{J*hM9Oor7#pk|w9Voi?n;1-Ca0u`;b{UvQUJ<#IwK+lpU%1ya~zXe*QG^&)q$Q& ziWFY*O&PF!!j`osSJ`{8cqd=NwWML64B3zS7_As)CkyvJ_%r$Qx(~hU@#5>5{XYD9 zx|-fyun}KKgErHIhBFAAn))^u!xORbTII=m(Ly0?Dq&U#O^LcezF_|1i)%&UKXA#l zqQZp*z|2FjRA{M|zHg_iFVk5XP?8+A0KFwxYj2*f_kQ%WR`T@n=l1~WmJrz5pz-;; zPS^tpbfL$j^ofX>VQnCw^W(eo>bcU39s~Z66;l_F{G@?*r+2E};qS)FRghGT*rqAu)T7 zhcZ*MoFEF!wMEXhUOd)Xf4a9bb`?SrKM_ddy1B56AI(ldAh#kzH6rF@?bd5^+cZsoi1F@qZKHh%bk3pMO zVkZFX6){&B9jU#wE>1UGT`UDkyU(?w!qMm!Am}OV(Rn}?DFd`SksOL8FJHb?xPtJW zYnk5vU3mS$ZR4V$Ie~v+B=x0*jo_~|RjW_Fg~nLD_y_~zJ$>P#`sp^olU4D9S4Kw; z#-@i3{IUAaY7OD-icbfgDHlK*Gth?AETD~M2SG*fA@W{gN4EK0*B_HEW*;75)h``g4MVeJJH=Bw z@4PQ=f^b1`04wl(`!rA!5rPg$m1a(R%yEfwdM`rsl3~zEcgyr>sLc&fVwi>KaHCdT ze(Ssys?=?{GXts0sk^8v8h>l{jwsL*V=h%M&jiH9sVjLW*}Qx!R!2>2AeI?(U97c~ zeglAQvjlni$7#&-v``{B(X!F?Y@V?U@{P|A=|S2n=KWe)6;878?HA02x60|$-c~19 zfGs`{&L;C3m)Mwr<#G6*#IN}}tS#!sgczA4dK)_${`e51RIs9&lCvgtJ{8V5bt+WpAW*{- z=$j}y+b(ndg`CTpxZxsBs_9!X= z4z88DgMNG1tDSrk*QJ^RM!Fw0Pp7MLndp+16)je4l1$dl=Tf)1?O_XsMlM4sPwTy~ z5fmjtBZOMi8J*BR^nwlB%bBV#ybGZhtc;oI0w%j~I0u*Kme;VTW~b+1_)Bba-L(K4 z-V1p`3v%pwUWfh#3r&1bL9Z-I2&@029IAKG^ZjYbgec%31dgbONUlB{-?f^e`B4MT zqMIn96+xiOz&rx9DF!H`2}XvProu(n*O`srsa=JdN(3DiVQj)UwwHiMxP|TJ%fn3n znP>sdfoGV`sdAYfDV-1ycJaX0tkOL4aFoTSfhh}9l8KT z&F-3tKZl(aRh?yXLy|fgxEp`=pRF1sQoDQBPT%#_^#3199`i;g6j^7F3pZqr_ za+b0(_DZ5%B@Wmp@~L3ctM>(e_#3X(H-DMqdBSHJH;#v{iZ1{3Zt_20E$$Qlb%-C> zZ!3JY&MGb*Of4Vl;=%G0^T(RC=3!0`m<^Mps zsHo9mdq=zBjv-vhbpkYl*d5=tDJf7!{?IMryAx4Y9Ar=bp-$1o*e`mn;;8wn?uNIA z-o*Wwud`ufz$Ii%_r;I?L-MaI-%;iFgk(l$tG8n0Rv=m*keR;@7|{AbFmlQkWk-~{ zetg~0punY?_}`9_ls=a1Y^z@2`7275?`%!AK@(OSF@kbRbXhI(w^k|7r7b&$ z(q3Amx(>bkA0=@Fnx6`#Ylaua(UHLs#yWjDmq@ncNT4;JE9j&ZG9;rYmHLv;HhOfD z9$m|k;|zZk8ylPBrYI!Rueh({QRa1olOj+)$I)FN_Z`)(#{21?A=?y}UrA2VT7P)w zqJe=yqqe7x%EV)5-ej5f{7#`Am^4gXS>t8sMkNfp#l6U80*%h^n@Y%L8@kqs%=e<* z%H~*T?a8SwAS3mc%q%7qVp6{EzP1wLJ0?`(7`p%rUo z!nej(O@Om*{2FCLJ(LhzGRFcjBk^)e?E*P2CV zD|Av5wqm78{a%f6ywz2hd%ETXhERxa0?BzW3T6faQw`j*wx2l&< zHsAH%q6vg`lrH)tBebD{XDBGEPW1w=ifI~?!@p3Fbm(~l20EYGp;l`;NFkzoMGPP0 zZ>8RhOt|;dO+M3^c0tDtGq)|Z*ZezX%G5o<@q0S9WWZL=y!vb`?z;fh;5x{5?|FoD zztTj@P0h96y(0G?S4O!X7)`VBjy+&~38TN9oP2k){{x9eJWiB|POxWq|BQ(PV=Jcn zmOIvMVO-9mn9w=@o=7ZQ8B;2NF3O>pLLZ^qQmYTNmGHP>CL_zc25ecYg^ZB;K(pl`BQykl~DggI7B}f_ycK4&re%?SsPi(m_pH~Pmg zeVDCOB2Yddo+w%Y_#9i`{u$sRvIMi(?|TH5AtJ;_)??uhzA(w#-oS-sSocO z*ey2b)fOQlg*G8UVO1jJ4P|D~hEc&%)fFgmFokG@t-mt0n|VdeU_)7L4N^aQQLFrA zgwX>v_8QGIsUFBHw#M5*bPzIKD7oie&>$nj0>qO8(%D&vraTRdDa8JC)BF7Axoz~f zR@zYUho1Eo^lHlxKC2*Wf0-73Xo2}kfZ#3v7fx1Rv&n_UQ z*Z)fis6YA7xUMYGxO%aX3V~N|_((0}${~q^gxrVV;?^EMuLmk9MDX#Y4Gxv<`TY9Sz(J?h*h^|B?^h?m zpYnD3bhNfn$Rq_;`Z(%9`I*_&pzjWFsq%hI$PSJB$4Nh>-}K$;$xmq8#`R<1tl}U( zgAeg%AIHH#A}9Z)iD#Zr3(N?EdTg0mTbCj}yCjoV9=K~#4w~9I22!S2t}8p<`iQ%% zg!jg;q@<+OG3oyMEiCO9&ljJV0P7D-XuLx;)#Bvp|G>aTHwmPjaVtin!_o{JsQs^7 zw$P{c99IhCOZO(h+I{xtPGW#>w$NKKq$7NOcI7qunadpcQ?eJNfQ`FE-GJ|%0`M7V z-rdCgBU{F)LhXMv;^NP3K4i=4S!&@2&w{5jp*4K` z{9fMkZNDV6q2h4}>zDp37@{Lj2!_!0$8zw3cx^VdP&f#KYwn#W0S{zA&Slc^bUqyC zbDW~T(X)dJ(2gE{{|84_Hz2e(F20PXcF8T;fPP-$*+=woGc?*(|IUqiJ@p~J(X1Z@ zPoOLpR$deVV-p2U;U|ZG<6Gfqwldrqmt&yQKAd8P!)77uW!~J|j|sQW(z>rNc%n*g zG<@IhhTH^Jc3A5NmMOYCFBMF_#uyNYR)7}%2j!IzhW5DpU$wAel{6{AZdU)vYGbPC zK!s_rtDc7g%vjh^U%F|^>w*es96rtaed`nhKT2Jw;$s0#ei^w&%c;Gj14Sir2-6C7 zKcQML$DSJ?hFZrWAkISG1kkSFmH>pzo>Hy6)b;=U!*-(wLB_h@bc>a!cb5Tr*9@*! IY1=>gH+mJ8U;qFB diff --git a/modular_ss220/species/code/datum/carapace.dm b/modular_ss220/species/serpentids/code/components/carapace.dm similarity index 100% rename from modular_ss220/species/code/datum/carapace.dm rename to modular_ss220/species/serpentids/code/components/carapace.dm diff --git a/modular_ss220/species/code/datum/double_attack.dm b/modular_ss220/species/serpentids/code/components/double_attack.dm similarity index 100% rename from modular_ss220/species/code/datum/double_attack.dm rename to modular_ss220/species/serpentids/code/components/double_attack.dm diff --git a/modular_ss220/species/code/datum/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm similarity index 100% rename from modular_ss220/species/code/datum/grab_and_drag_on_mob_crates.dm rename to modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm diff --git a/modular_ss220/species/code/datum/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm similarity index 100% rename from modular_ss220/species/code/datum/grab_and_drag_on_mob_mobs.dm rename to modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm diff --git a/modular_ss220/species/serpentids/code/components/heart_defib.dm b/modular_ss220/species/serpentids/code/components/heart_defib.dm new file mode 100644 index 000000000000..0886d7259b77 --- /dev/null +++ b/modular_ss220/species/serpentids/code/components/heart_defib.dm @@ -0,0 +1,38 @@ +/* +=== Компонент запуска сердца === +Отслеживает смерть носителя, и в случае чего - запускает сердце с неким шансом +*/ +/datum/component/defib_heart + var/mob/living/carbon/human/owner = null + var/chemical_id = "" + +/datum/component/defib_heart/Initialize(var/human, var/income_chemical_id = "") + . = ..() + owner = human + chemical_id = income_chemical_id + START_PROCESSING(SSdcs, src) + +/datum/component/defib_heart/Destroy(force, silent) + STOP_PROCESSING(SSdcs, src) + . = ..() + +/datum/component/defib_heart/process() + if(!(owner)) + var/obj/item/organ/internal/limb = parent + owner = limb.owner + else if(owner.get_chemical_value(chemical_id) >= 0 && owner.stat == DEAD && owner.get_damage_amount() <= 100) + var/defib_chance = owner.get_chemical_value(chemical_id) + var/datum/reagent/chem = owner.get_chemical_path(chemical_id) + chem.holder.remove_reagent(chemical_id, owner.get_chemical_value(chemical_id)) + if(prob(defib_chance)) + owner.setOxyLoss(0) + owner.set_heartattack(FALSE) + owner.update_revive() + owner.KnockOut() + owner.Paralyse(10 SECONDS) + owner.emote("gasp") + SEND_SIGNAL(owner, COMSIG_LIVING_MINOR_SHOCK, 100) + owner.med_hud_set_health() + owner.med_hud_set_status() + add_attack_logs(owner, owner, "Revived by heart") + SSblackbox.record_feedback("tally", "players_revived", 1, "self_revived") diff --git a/modular_ss220/species/code/datum/organ_actions.dm b/modular_ss220/species/serpentids/code/components/organ_actions.dm similarity index 96% rename from modular_ss220/species/code/datum/organ_actions.dm rename to modular_ss220/species/serpentids/code/components/organ_actions.dm index 1bc9dbd12c32..5ca1b63a4ef1 100644 --- a/modular_ss220/species/code/datum/organ_actions.dm +++ b/modular_ss220/species/serpentids/code/components/organ_actions.dm @@ -4,7 +4,7 @@ /obj/item/organ/internal var/radial_additive_state = "" - var/radial_additive_icon = 'modular_ss220/species/icons/mob/human_races/organs.dmi' + var/radial_additive_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' /obj/item/organ/internal/proc/check_actions(mob/user) return (owner && owner == user && owner.stat != DEAD && (src in owner.internal_organs)) diff --git a/modular_ss220/species/code/datum/organ_chemistry.dm b/modular_ss220/species/serpentids/code/components/organ_chemistry.dm similarity index 100% rename from modular_ss220/species/code/datum/organ_chemistry.dm rename to modular_ss220/species/serpentids/code/components/organ_chemistry.dm diff --git a/modular_ss220/species/code/datum/organ_decay.dm b/modular_ss220/species/serpentids/code/components/organ_decay.dm similarity index 100% rename from modular_ss220/species/code/datum/organ_decay.dm rename to modular_ss220/species/serpentids/code/components/organ_decay.dm diff --git a/modular_ss220/species/code/datum/organ_toxins.dm b/modular_ss220/species/serpentids/code/components/organ_toxins.dm similarity index 100% rename from modular_ss220/species/code/datum/organ_toxins.dm rename to modular_ss220/species/serpentids/code/components/organ_toxins.dm diff --git a/modular_ss220/species/code/datum/paired_implants.dm b/modular_ss220/species/serpentids/code/components/paired_implants.dm similarity index 100% rename from modular_ss220/species/code/datum/paired_implants.dm rename to modular_ss220/species/serpentids/code/components/paired_implants.dm diff --git a/modular_ss220/species/code/datum/reagents.dm b/modular_ss220/species/serpentids/code/components/reagents.dm similarity index 86% rename from modular_ss220/species/code/datum/reagents.dm rename to modular_ss220/species/serpentids/code/components/reagents.dm index b76059869ce8..94d551b4cf6c 100644 --- a/modular_ss220/species/code/datum/reagents.dm +++ b/modular_ss220/species/serpentids/code/components/reagents.dm @@ -1,3 +1,21 @@ +/obj/item/seeds/cabbage/New() + . = .. () + reagents_add += list("cabbagilium" = 0.01) + +/datum/reagent/cabbagilium + name = "Cabbagilium" + id = "cabbagilium" + description = "An unsual reagent that can be found in cabbages and helpful in toxic treatments." + reagent_state = LIQUID + color = "#335517" + taste_description = "awful but healthy" + goal_department = "Science" + goal_difficulty = REAGENT_GOAL_SKIP + +/datum/reagent/cabbagilium/on_mob_life(mob/living/M) + var/update_flags = STATUS_UPDATE_NONE + update_flags |= M.adjustCloneLoss(-0.02*REAGENTS_EFFECT_MULTIPLIER, FALSE) + //Расширение на химикаты - новый химикат для серпентидов //Химикат позволяет ускорять в 2 раза действия серпентидов (погрузка людей/ящиков, активация клинков) //Для остальных видов он ускоряет действия при движении по прямой (если не двигаться более 1 секунды или сменить направление, бонус сбросится) @@ -11,7 +29,7 @@ id = "serpadrone" description = "An unsual reagent that allows serptentids to haste their long-term actions and speed up them." reagent_state = LIQUID - color = "#c22a44" + color = "#ff002b" taste_description = "television static" metabolization_rate = 0.1 process_flags = ORGANIC @@ -81,6 +99,8 @@ REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) new /obj/effect/temp_visual/decoy/serpadrone_afterimage(old_loc, L, 0.75 SECONDS) last_move = L.last_movement_dir +/* +Временное отключение урона сердцу (временное, ибо для баланса) /datum/reagent/serpadrone/on_mob_life(mob/living/carbon/L) . = ..() @@ -93,6 +113,7 @@ if(datum_heart) var/obj/item/organ/internal/our_heart = datum_heart.linked_organ our_heart.receive_damage(heart_damage, TRUE) + */ /// So. If a person changes up their hud settings (Changing their ui theme), the visual effects for this reagent will break, and they will be able to see easily. This 3 part proc waits for the plane controlers to be setup, and over 2 other procs, rengages the visuals /datum/reagent/serpadrone/proc/no_hud_cheese(mob/living/carbon/L) @@ -126,3 +147,12 @@ #undef SERPADRONE_SCREEN_FILTER #undef SERPADRONE_SCREEN_BLUR + +/datum/chemical_reaction/serpadrone + name = "Serpadrone" + id = "serpadrone" + result = "serpadrone" + required_reagents = list("msg" = 5, "cabbagilium" = 10) + result_amount = 1 + mix_message = "The mixture fizzes into a vibrant red solution that doesn't stay still." + mix_sound = 'sound/goonstation/misc/fuse.ogg' diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm similarity index 51% rename from modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm rename to modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm index 030e16f6bc36..f534d8900283 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_external.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm @@ -1,25 +1,58 @@ ///Хитиновые конечности -/obj/item/organ/external/chest/carapace +/obj/item/organ/external/replaced() + .=..() + for(var/X in actions) + var/datum/action/A = X + A.Grant(owner) + +/obj/item/organ/external/droplimb() + .=..() + for(var/X in actions) + var/datum/action/A = X + A.Remove(owner) + +/obj/item/organ/external/head/carapace encased = "chitin" - min_broken_damage = 40 + min_broken_damage = 30 + actions_types = list(/datum/action/item_action/organ_action/toggle) + action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_eyes_0") + var/eye_shielded = FALSE -/obj/item/organ/external/chest/Initialize(mapload) +/obj/item/organ/external/head/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) -/obj/item/organ/external/groin/carapace +/obj/item/organ/external/head/carapace/ui_action_click() + var/obj/item/organ/internal/eyes/E = owner.get_int_organ(/obj/item/organ/internal/eyes) + if(eye_shielded) + E.flash_protect = initial(E.flash_protect) + E.tint = initial(E.tint) + owner.update_sight() + eye_shielded = FALSE + else + E.flash_protect = FLASH_PROTECTION_WELDER //Adjust the user's eyes' flash protection + E.tint = FLASH_PROTECTION_FLASH + owner.update_sight() + eye_shielded = TRUE + + for(var/datum/action/item_action/T in actions) + T.button_overlay_icon_state ="gas_eyes_[eye_shielded]" + T.UpdateButtons() + +/obj/item/organ/external/chest/carapace encased = "chitin" min_broken_damage = 40 -/obj/item/organ/external/groin/Initialize(mapload) +/obj/item/organ/external/chest/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) -/obj/item/organ/external/head/carapace +/obj/item/organ/external/groin/carapace encased = "chitin" - min_broken_damage = 30 + min_broken_damage = 40 -/obj/item/organ/external/head/Initialize(mapload) +/obj/item/organ/external/groin/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) @@ -27,7 +60,7 @@ encased = "chitin" min_broken_damage = 20 -/obj/item/organ/external/arm/Initialize(mapload) +/obj/item/organ/external/arm/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) @@ -35,7 +68,7 @@ encased = "chitin" min_broken_damage = 20 -/obj/item/organ/external/arm/right/Initialize(mapload) +/obj/item/organ/external/arm/right/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) @@ -43,7 +76,7 @@ encased = "chitin" min_broken_damage = 20 -/obj/item/organ/external/leg/Initialize(mapload) +/obj/item/organ/external/leg/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) @@ -51,7 +84,7 @@ encased = "chitin" min_broken_damage = 20 -/obj/item/organ/external/leg/right/Initialize(mapload) +/obj/item/organ/external/leg/right/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) @@ -59,7 +92,7 @@ encased = "chitin" min_broken_damage = 20 -/obj/item/organ/external/hand/Initialize(mapload) +/obj/item/organ/external/hand/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) @@ -67,7 +100,7 @@ encased = "chitin" min_broken_damage = 20 -/obj/item/organ/external/hand/right/Initialize(mapload) +/obj/item/organ/external/hand/right/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) @@ -75,7 +108,7 @@ encased = "chitin" min_broken_damage = 20 -/obj/item/organ/external/foot/Initialize(mapload) +/obj/item/organ/external/foot/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) @@ -83,6 +116,6 @@ encased = "chitin" min_broken_damage = 20 -/obj/item/organ/external/foot/right/Initialize(mapload) +/obj/item/organ/external/foot/right/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) diff --git a/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_blades.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_blades.dm similarity index 100% rename from modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_blades.dm rename to modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_blades.dm diff --git a/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm similarity index 95% rename from modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_chest.dm rename to modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm index baf7ce08fad8..edf3ff04287d 100644 --- a/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm @@ -7,7 +7,7 @@ parent_organ = "chest" actions_types = list(/datum/action/item_action/organ_action/toggle/switch_blades) contents = newlist(/obj/item/kitchen/knife/combat/serpentblade,/obj/item/kitchen/knife/combat/serpentblade) - action_icon = list(/datum/action/item_action/organ_action/toggle/switch_blades = 'modular_ss220/species/icons/mob/human_races/organs.dmi') + action_icon = list(/datum/action/item_action/organ_action/toggle/switch_blades = 'modular_ss220/species/serpentids/icons/organs.dmi') action_icon_state = list(/datum/action/item_action/organ_action/toggle/switch_blades = "gas_hand_act") var/obj/item/holder_l = null var/obj/item/holder_r = null @@ -16,7 +16,7 @@ /datum/action/item_action/organ_action/toggle/switch_blades name = "Switch Threat Mode" desc = "Switch your stance to show other your intentions" - button_overlay_icon = 'modular_ss220/species/icons/mob/human_races/organs.dmi' + button_overlay_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' button_overlay_icon_state = "gas_hand_act" /obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() diff --git a/modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_hand.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_hand.dm similarity index 100% rename from modular_ss220/species/code/mob/surgery/organs/implants/serpentid_mantis_hand.dm rename to modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_hand.dm diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_additionals.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_additionals.dm similarity index 100% rename from modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_additionals.dm rename to modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_additionals.dm diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm similarity index 100% rename from modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_ears.dm rename to modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm similarity index 71% rename from modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_eyes.dm rename to modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm index 87193e839714..7110d628c003 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm @@ -7,12 +7,12 @@ see_in_dark = 2 flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE - actions_types = list(/datum/action/item_action/organ_action/use) - action_icon = list(/datum/action/item_action/organ_action/use = 'modular_ss220/species/icons/mob/human_races/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/use = "gas_abilities") + //ctions_types = list(/datum/action/item_action/organ_action/use) + //action_icon = list(/datum/action/item_action/organ_action/use = 'modular_ss220/species/serpentids/icons/organs.dmi') + //action_icon_state = list(/datum/action/item_action/organ_action/use = "gas_abilities") chemical_id = SERPENTID_CHEM_REAGENT_ID - radial_additive_state = "gas_eyes_0" - var/eye_shielded = FALSE + //radial_additive_state = "gas_eyes_0" + var/decay_rate = 1 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.35 @@ -27,11 +27,13 @@ var/mob/living/carbon/human/H = HA if(!istype(H)) H = owner - var/icon/eyes_icon = new /icon('modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi', H.dna.species.eyes) + var/icon/eyes_icon = new /icon('modular_ss220/species/serpentids/icons/mob/serpentid_eyes.dmi', H.dna.species.eyes) eyes_icon.Blend(eye_color, ICON_ADD) return eyes_icon +/* +Оставлено на случай радиального меню /obj/item/organ/internal/eyes/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) . = .. () buttons_resort() @@ -42,19 +44,7 @@ /obj/item/organ/internal/eyes/serpentid/ui_action_click() open_actions(owner) - -/obj/item/organ/internal/eyes/serpentid/switch_mode(var/force_off = FALSE) - if(eye_shielded) - flash_protect = initial(flash_protect) - tint = initial(tint) - owner.update_sight() - eye_shielded = FALSE - else - flash_protect = FLASH_PROTECTION_WELDER //Adjust the user's eyes' flash protection - tint = FLASH_PROTECTION_FLASH - owner.update_sight() - eye_shielded = TRUE - radial_additive_state = "gas_eyes_[eye_shielded]" +*/ /obj/item/organ/internal/eyes/serpentid/on_life() . = ..() diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm similarity index 57% rename from modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_heart.dm rename to modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm index f021728ba7ca..4e0f280ad8c9 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm @@ -3,14 +3,7 @@ /obj/item/organ/internal/heart/serpentid name = "serpentid heart" - actions_types = list(/datum/action/item_action/organ_action/use) - action_icon = list(/datum/action/item_action/organ_action/use = 'modular_ss220/species/icons/mob/human_races/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/use = "gas_abilities") chemical_id = SERPENTID_CHEM_REAGENT_ID - radial_additive_state = "gas_heart" - var/meph_injected = FALSE - var/inject_drug_id = "serpadrone" - var/inject_drug = /datum/reagent/mephedrone var/decay_rate = 5 var/decay_recovery = BASIC_RECOVER_VALUE @@ -20,18 +13,10 @@ . = ..() AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + AddComponent(/datum/component/defib_heart, owner, chemical_id) -/obj/item/organ/internal/heart/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) - . = .. () - buttons_resort() - -/obj/item/organ/internal/heart/serpentid/remove(mob/living/carbon/M, special = 0) - . = .. () - buttons_resort() - -/obj/item/organ/internal/heart/serpentid/ui_action_click() - open_actions(owner) - +/* +Старый режим работы сердца - ввод серпадрона /obj/item/organ/internal/heart/serpentid/switch_mode(var/force_off = FALSE) .=..() if(owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART) @@ -40,3 +25,4 @@ chem.holder.remove_reagent(chemical_id, GAS_ORGAN_CHEMISTRY_HEART) human_owner.reagents.add_reagent(inject_drug_id, GAS_METH_HEART_COUNT) meph_injected = TRUE +*/ diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm similarity index 54% rename from modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_kidneys.dm rename to modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm index ee12f5e59943..141d7816bfdb 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm @@ -3,39 +3,40 @@ name = "serpentid kidneys" icon = 'icons/obj/species_organs/unathi.dmi' actions_types = list(/datum/action/item_action/organ_action/toggle) - action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/icons/mob/human_races/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") + action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_stealth") can_chem_process = TRUE chemical_id = SERPENTID_CHEM_REAGENT_ID - radial_additive_state = "gas_stealth" var/decay_rate = 4 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.1 + var/cloak_engaged = FALSE /obj/item/organ/internal/kidneys/serpentid/Initialize(mapload) . = ..() AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) -/obj/item/organ/internal/kidneys/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) - . = .. () - buttons_resort() +/obj/item/organ/internal/kidneys/serpentid/ui_action_click() + switch_mode() -/obj/item/organ/internal/kidneys/serpentid/remove(mob/living/carbon/M, special = 0) +/obj/item/organ/internal/kidneys/serpentid/on_life() . = .. () - buttons_resort() - -/obj/item/organ/internal/kidneys/serpentid/ui_action_click() - open_actions(owner) + if((owner.m_intent != MOVE_INTENT_RUN || owner.body_position == LYING_DOWN || (world.time - owner.last_movement) >= 10) && (!owner.stat && (owner.mobility_flags & MOBILITY_STAND) && !owner.restrained() && cloak_engaged)) + if(owner.invisibility != INVISIBILITY_LEVEL_TWO) + owner.alpha -= 51 + else + owner.reset_visibility() + owner.alpha = 255 + if(owner.alpha == 0) + owner.make_invisible() /obj/item/organ/internal/kidneys/serpentid/switch_mode(var/force_off = FALSE) .=..() - var/datum/species/serpentid/spiece = owner.dna.species - if (istype(spiece, /datum/species/serpentid)) - if(!force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_KIDNEYS && !spiece.cloak_engaged) - spiece.cloak_engaged = TRUE - chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS - else - spiece.cloak_engaged = FALSE - chemical_consuption = 0 - radial_additive_state = "gas_cloak_[spiece.cloak_engaged]" + if(!force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_KIDNEYS && !cloak_engaged) + cloak_engaged = TRUE + chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS + else + cloak_engaged = FALSE + chemical_consuption = 0 + radial_additive_state = "gas_cloak_[cloak_engaged]" diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm similarity index 100% rename from modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_liver.dm rename to modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm similarity index 100% rename from modular_ss220/species/code/mob/surgery/organs/subtypes/serpentids_organs_lungs.dm rename to modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm diff --git a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm b/modular_ss220/species/serpentids/code/serpentids.dm similarity index 93% rename from modular_ss220/species/code/mob/living/carbon/species/serpentids.dm rename to modular_ss220/species/serpentids/code/serpentids.dm index b8f9ffda18d4..da9d0785e57b 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/serpentids.dm +++ b/modular_ss220/species/serpentids/code/serpentids.dm @@ -42,8 +42,8 @@ /datum/species/serpentid name = "Serpentid" name_plural = "Serpentids" - icobase = 'modular_ss220/species/icons/mob/human_races/r_serpentid.dmi' - eyes_icon = 'modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi' + icobase = 'modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi' + eyes_icon = 'modular_ss220/species/serpentids/icons/mob/serpentid_eyes.dmi' blurb = "TODO" language = "Stok" siemens_coeff = 2.0 @@ -121,8 +121,6 @@ var/can_stealth = TRUE var/list/valid_limbs = list() var/gene_lastcall = 0 - var/cloak_engaged = FALSE - var/cloaked = FALSE /datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) if (R.id == SERPENTID_CHEM_REAGENT_ID) @@ -194,32 +192,20 @@ heat_level_2 = heat_level_1 + up heat_level_3 = heat_level_2 + up - if (can_stealth) - sneak(H) - . = ..() -/datum/species/serpentid/proc/sneak(mob/living/M) - if(((world.time - M.last_movement) >= 10 || M.move_speed >= 7)&& !M.stat && (M.mobility_flags & MOBILITY_STAND) && !M.restrained() && cloak_engaged) - if(M.invisibility != INVISIBILITY_LEVEL_TWO) - M.alpha -= 25.5 - else - M.reset_visibility() - M.alpha = 255 - cloaked = FALSE - if(M.alpha == 0) - M.make_invisible() - cloaked = TRUE - //Модификация граба для хвата из стелса /datum/species/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) . = .. () - if (istype(user.dna.species, /datum/species/serpentid)) - if (user.dna.species.cloaked) + var/datum/species/serpentid/active_spieces = user.dna.species + if (istype(active_spieces, /datum/species/serpentid)) + if (user.invisibility == INVISIBILITY_LEVEL_TWO) for(var/X in target.grabbed_by) var/obj/item/grab/G = X G.state = GRAB_AGGRESSIVE G.icon_state = "grabbed1" + user.reset_visibility() + /datum/species/serpentid/on_species_gain(mob/living/carbon/human/H) ..() diff --git a/modular_ss220/species/icons/mob/human_races/r_serpentid.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi similarity index 100% rename from modular_ss220/species/icons/mob/human_races/r_serpentid.dmi rename to modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi diff --git a/modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi b/modular_ss220/species/serpentids/icons/mob/serpentid_eyes.dmi similarity index 100% rename from modular_ss220/species/icons/mob/human_races/serpentid_eyes.dmi rename to modular_ss220/species/serpentids/icons/mob/serpentid_eyes.dmi diff --git a/modular_ss220/species/icons/mob/human_races/organs.dmi b/modular_ss220/species/serpentids/icons/organs.dmi similarity index 100% rename from modular_ss220/species/icons/mob/human_races/organs.dmi rename to modular_ss220/species/serpentids/icons/organs.dmi diff --git a/modular_ss220/species/icons/mob/screen_alert.dmi b/modular_ss220/species/serpentids/icons/screen_alert.dmi similarity index 100% rename from modular_ss220/species/icons/mob/screen_alert.dmi rename to modular_ss220/species/serpentids/icons/screen_alert.dmi From bf49f3a69be5bfd3097b9ffa69764c3c2e54bc67 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 4 Oct 2024 20:06:13 +0300 Subject: [PATCH 018/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BA=D0=BE=D0=BB=D0=BE=D0=B2=20=D0=BF=D0=BE=D1=81=D0=BB?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=BE=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_species.dme | 26 +----- .../species/serpentids/_serpentids.dme | 27 +++++++ .../species/serpentids/code/defines.dm | 78 ++++++++++++++++++ .../species/serpentids/code/serpentids.dm | 79 ------------------- 4 files changed, 106 insertions(+), 104 deletions(-) create mode 100644 modular_ss220/species/serpentids/_serpentids.dme create mode 100644 modular_ss220/species/serpentids/code/defines.dm diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index b34fbd9f50fd..63854f3a1698 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -14,28 +14,4 @@ #include "code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm" #include "code/mob/surgery/organs/subtypes/nucleation_organs.dm" -#include "serpentids/code/components/reagents.dm" -#include "serpentids/code/components/organ_decay.dm" -#include "serpentids/code/components/organ_chemistry.dm" -#include "serpentids/code/components/organ_toxins.dm" -#include "serpentids/code/components/organ_actions.dm" -#include "serpentids/code/components/heart_defib.dm" -#include "serpentids/code/components/carapace.dm" -#include "serpentids/code/components/paired_implants.dm" -#include "serpentids/code/components/double_attack.dm" -#include "serpentids/code/components/grab_and_drag_on_mob_mobs.dm" -#include "serpentids/code/components/grab_and_drag_on_mob_crates.dm" - -#include "serpentids/code/organs/external/serpentids_organs_external.dm" -#include "serpentids/code/organs/internal/serpentid_mantis_blades.dm" -#include "serpentids/code/organs/internal/serpentid_mantis_chest.dm" -#include "serpentids/code/organs/internal/serpentid_mantis_hand.dm" -#include "serpentids/code/organs/internal/serpentids_organs_eyes.dm" -#include "serpentids/code/organs/internal/serpentids_organs_ears.dm" -#include "serpentids/code/organs/internal/serpentids_organs_lungs.dm" -#include "serpentids/code/organs/internal/serpentids_organs_heart.dm" -#include "serpentids/code/organs/internal/serpentids_organs_kidneys.dm" -#include "serpentids/code/organs/internal/serpentids_organs_liver.dm" -#include "serpentids/code/organs/internal/serpentids_organs_additionals.dm" - -#include "serpentids/code/serpentids.dm" +#include "serpentids/_serpentids.dme" diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme new file mode 100644 index 000000000000..86317da7a7f0 --- /dev/null +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -0,0 +1,27 @@ +#include "code/defines.dm" + +#include "code/components/reagents.dm" +#include "code/components/organ_decay.dm" +#include "code/components/organ_chemistry.dm" +#include "code/components/organ_toxins.dm" +#include "code/components/organ_actions.dm" +#include "code/components/heart_defib.dm" +#include "code/components/carapace.dm" +#include "code/components/paired_implants.dm" +#include "code/components/double_attack.dm" +#include "code/components/grab_and_drag_on_mob_mobs.dm" +#include "code/components/grab_and_drag_on_mob_crates.dm" + +#include "code/organs/external/serpentids_organs_external.dm" +#include "code/organs/internal/serpentid_mantis_blades.dm" +#include "code/organs/internal/serpentid_mantis_chest.dm" +#include "code/organs/internal/serpentid_mantis_hand.dm" +#include "code/organs/internal/serpentids_organs_eyes.dm" +#include "code/organs/internal/serpentids_organs_ears.dm" +#include "code/organs/internal/serpentids_organs_lungs.dm" +#include "code/organs/internal/serpentids_organs_heart.dm" +#include "code/organs/internal/serpentids_organs_kidneys.dm" +#include "code/organs/internal/serpentids_organs_liver.dm" +#include "code/organs/internal/serpentids_organs_additionals.dm" + +#include "code/serpentids.dm" diff --git a/modular_ss220/species/serpentids/code/defines.dm b/modular_ss220/species/serpentids/code/defines.dm new file mode 100644 index 000000000000..fd19f603960c --- /dev/null +++ b/modular_ss220/species/serpentids/code/defines.dm @@ -0,0 +1,78 @@ +#define SERPENTID_CHEM_REAGENT_ID "msg" + +#define SERPENTID_CARAPACE_NOARMOR_STATE 60 +#define SERPENTID_CARAPACE_NOCHAMELION_STATE 30 +#define SERPENTID_CARAPACE_NOPRESSURE_STATE 90 + +#define SERPENTID_GENE_DEGRADATION_DAMAGE 0.5 +#define SERPENTID_GENE_DEGRADATION_CD 60 + +#define SERPENTID_HEAT_THRESHOLD_LEVEL_BASE 350 +#define SERPENTID_HEAT_THRESHOLD_LEVEL_UP 50 +#define SERPENTID_ARMORED_HEAT_THRESHOLD 380 + +#define SERPENTID_COLD_THRESHOLD_LEVEL_BASE 250 +#define SERPENTID_COLD_THRESHOLD_LEVEL_DOWN 80 +#define SERPENTID_ARMORED_COLD_THRESHOLD 0 + +#define GAS_ORGAN_CHEMISTRY_EYES 0.75 +#define GAS_ORGAN_CHEMISTRY_EARS 0.25 +#define GAS_ORGAN_CHEMISTRY_HEART 25 +#define GAS_ORGAN_CHEMISTRY_LUNGS 1 +#define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.6 + +#define SERPENTID_CHEM_MULT_CONSUPTION 0.75 +#define SERPENTID_CHEM_MULT_PRODUCTION 0.6 + +#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.7 +#define SERPENTID_EYES_MAX_VISIBLE_VALUE 1 + +#define GAS_ORGAN_CHEMISTRY_MAX 100 + +#define SPIECES_BAN_HEADS_JOB (1<<12) + +//Добавление новых алертов +/atom/movable/screen/alert/carapace_break_armor + name = "Слабые повреждения панциря." + desc = "Ваш панцирь поврежден. Нарушение целостности снизило сопротивление урону." + icon_state = "carapace_break_armor" + icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' + +/atom/movable/screen/alert/carapace_break_cloak + name = "Средние повреждения панциря" + desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас возможность скрывать себя." + icon_state = "carapace_break_cloak" + icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' + +/atom/movable/screen/alert/carapace_break_rig + name = "Сильные повреждения панциря" + desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас сопротивлению окружающей среде." + icon_state = "carapace_break_rig" + icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' + +//Обновление иконок для кастомных рас +/datum/character_save/update_preview_icon(for_observer=0) + . = .. () + var/datum/species/selected_specie = GLOB.all_species[species] + + var/icon/face_s = new/icon("icon" = selected_specie.eyes_faces, "icon_state" = selected_specie.default_face) + if(!(selected_specie.bodyflags & NO_EYES)) + var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") + eyes_s.Blend(e_colour, ICON_ADD) + face_s.Blend(eyes_s, ICON_OVERLAY) + + preview_icon.Blend(face_s, ICON_OVERLAY) + preview_icon_front = new(preview_icon, dir = SOUTH) + preview_icon_side = new(preview_icon, dir = WEST) + +/mob/living/carbon/human/serpentid/get_eyecon() + var/obj/item/organ/internal/eyes/eyes = get_int_organ(/obj/item/organ/internal/eyes) + if(istype(dna.species) && dna.species.eyes) + var/icon/eyes_icon + if(eyes) + eyes_icon = eyes.generate_icon() + else //Error 404: Eyes not found! + eyes_icon = new(dna.species.eyes_icon, dna.species.eyes) + eyes_icon.Blend("#800000", ICON_ADD) + + return eyes_icon diff --git a/modular_ss220/species/serpentids/code/serpentids.dm b/modular_ss220/species/serpentids/code/serpentids.dm index da9d0785e57b..a26c75da5a40 100644 --- a/modular_ss220/species/serpentids/code/serpentids.dm +++ b/modular_ss220/species/serpentids/code/serpentids.dm @@ -1,36 +1,3 @@ -#define SERPENTID_CHEM_REAGENT_ID "msg" - -#define SERPENTID_CARAPACE_NOARMOR_STATE 60 -#define SERPENTID_CARAPACE_NOCHAMELION_STATE 30 -#define SERPENTID_CARAPACE_NOPRESSURE_STATE 90 - -#define SERPENTID_GENE_DEGRADATION_DAMAGE 0.5 -#define SERPENTID_GENE_DEGRADATION_CD 60 - -#define SERPENTID_HEAT_THRESHOLD_LEVEL_BASE 350 -#define SERPENTID_HEAT_THRESHOLD_LEVEL_UP 50 -#define SERPENTID_ARMORED_HEAT_THRESHOLD 380 - -#define SERPENTID_COLD_THRESHOLD_LEVEL_BASE 250 -#define SERPENTID_COLD_THRESHOLD_LEVEL_DOWN 80 -#define SERPENTID_ARMORED_COLD_THRESHOLD 0 - -#define GAS_ORGAN_CHEMISTRY_EYES 0.75 -#define GAS_ORGAN_CHEMISTRY_EARS 0.25 -#define GAS_ORGAN_CHEMISTRY_HEART 25 -#define GAS_ORGAN_CHEMISTRY_LUNGS 1 -#define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.6 - -#define SERPENTID_CHEM_MULT_CONSUPTION 0.75 -#define SERPENTID_CHEM_MULT_PRODUCTION 0.6 - -#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.7 -#define SERPENTID_EYES_MAX_VISIBLE_VALUE 1 - -#define GAS_ORGAN_CHEMISTRY_MAX 100 - -#define SPIECES_BAN_HEADS_JOB (1<<12) - /datum/species var/can_buckle = FALSE var/buckle_lying = TRUE @@ -238,49 +205,3 @@ /datum/antag_scenario/team/blood_brothers/New() restricted_species += list("Serpentid") . = .. () - -//Добавление новых алертов -/atom/movable/screen/alert/carapace_break_armor - name = "Слабые повреждения панциря." - desc = "Ваш панцирь поврежден. Нарушение целостности снизило сопротивление урону." - icon_state = "carapace_break_armor" - icon = 'modular_ss220/species/icons/mob/screen_alert.dmi' - -/atom/movable/screen/alert/carapace_break_cloak - name = "Средние повреждения панциря" - desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас возможность скрывать себя." - icon_state = "carapace_break_cloak" - icon = 'modular_ss220/species/icons/mob/screen_alert.dmi' - -/atom/movable/screen/alert/carapace_break_rig - name = "Сильные повреждения панциря" - desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас сопротивлению окружающей среде." - icon_state = "carapace_break_rig" - icon = 'modular_ss220/species/icons/mob/screen_alert.dmi' - -//Обновление иконок для кастомных рас -/datum/character_save/update_preview_icon(for_observer=0) - . = .. () - var/datum/species/selected_specie = GLOB.all_species[species] - - var/icon/face_s = new/icon("icon" = selected_specie.eyes_faces, "icon_state" = selected_specie.default_face) - if(!(selected_specie.bodyflags & NO_EYES)) - var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") - eyes_s.Blend(e_colour, ICON_ADD) - face_s.Blend(eyes_s, ICON_OVERLAY) - - preview_icon.Blend(face_s, ICON_OVERLAY) - preview_icon_front = new(preview_icon, dir = SOUTH) - preview_icon_side = new(preview_icon, dir = WEST) - -/mob/living/carbon/human/serpentid/get_eyecon() - var/obj/item/organ/internal/eyes/eyes = get_int_organ(/obj/item/organ/internal/eyes) - if(istype(dna.species) && dna.species.eyes) - var/icon/eyes_icon - if(eyes) - eyes_icon = eyes.generate_icon() - else //Error 404: Eyes not found! - eyes_icon = new(dna.species.eyes_icon, dna.species.eyes) - eyes_icon.Blend("#800000", ICON_ADD) - - return eyes_icon From ca516bef12c0403485463ecb7d2eb970dd0341b6 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 6 Oct 2024 20:48:45 +0300 Subject: [PATCH 019/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=D1=8B=20=D0=B8?= =?UTF-8?q?=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B4=20=D0=BD=D0=BE=D0=B2=D1=83=D1=8E=20=D0=BC?= =?UTF-8?q?=D0=BE=D0=B4=D0=B5=D0=BB=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serpentids/code/components/carapace.dm | 2 +- .../code/components/double_attack.dm | 2 +- .../components/grab_and_drag_on_mob_crates.dm | 2 +- .../serpentids/code/components/heart_defib.dm | 27 ++++----- .../code/components/organ_toxins.dm | 4 +- .../serpentids/code/components/reagents.dm | 3 + .../species/serpentids/code/defines.dm | 16 ++++- .../external/serpentids_organs_external.dm | 2 +- .../organs/internal/serpentid_mantis_chest.dm | 55 +++++++++++++++++- .../internal/serpentids_organs_additionals.dm | 4 +- .../organs/internal/serpentids_organs_ears.dm | 5 +- .../organs/internal/serpentids_organs_eyes.dm | 13 +++-- .../internal/serpentids_organs_heart.dm | 5 +- .../internal/serpentids_organs_kidneys.dm | 10 ++-- .../internal/serpentids_organs_liver.dm | 7 ++- .../internal/serpentids_organs_lungs.dm | 3 +- .../species/serpentids/code/serpentids.dm | 13 +---- .../serpentids/icons/mob/r_serpentid copy.dmi | Bin 0 -> 8671 bytes .../serpentids/icons/mob/r_serpentid.dmi | Bin 3808 -> 2792 bytes .../serpentids/icons/mob/r_serpentid_eyes.dmi | Bin 0 -> 385 bytes ...ntid_eyes.dmi => r_serpentid_eyes_old.dmi} | Bin .../serpentids/icons/mob/r_serpentid_old.dmi | Bin 0 -> 5025 bytes .../species/serpentids/icons/organs.dmi | Bin 7149 -> 13958 bytes 23 files changed, 120 insertions(+), 53 deletions(-) create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid copy.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi rename modular_ss220/species/serpentids/icons/mob/{serpentid_eyes.dmi => r_serpentid_eyes_old.dmi} (100%) create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_old.dmi diff --git a/modular_ss220/species/serpentids/code/components/carapace.dm b/modular_ss220/species/serpentids/code/components/carapace.dm index f954bd8f06ca..6a6378091053 100644 --- a/modular_ss220/species/serpentids/code/components/carapace.dm +++ b/modular_ss220/species/serpentids/code/components/carapace.dm @@ -54,7 +54,7 @@ /datum/component/carapace/proc/block_operation() SIGNAL_HANDLER - return ((limb.status & ORGAN_BROKEN) ? CARAPACE_STOP_SURGERY_STEP : FALSE) + return ((limb.status & ORGAN_BROKEN) ? FALSE : CARAPACE_STOP_SURGERY_STEP) //Прок на обновление сопротивления урона /datum/component/carapace/proc/update_resistance(var/affected_limb) diff --git a/modular_ss220/species/serpentids/code/components/double_attack.dm b/modular_ss220/species/serpentids/code/components/double_attack.dm index 2df97f2b0618..a9a7001356ca 100644 --- a/modular_ss220/species/serpentids/code/components/double_attack.dm +++ b/modular_ss220/species/serpentids/code/components/double_attack.dm @@ -47,12 +47,12 @@ SEND_SIGNAL(offhand_item, COMSIG_DOUBLEATTACK_SYNC, state_attack) if (offhand_item) addtimer(CALLBACK(src, PROC_REF(offhand_attack), target, user, def_zone), (user.next_move_modifier / 5) SECONDS) + addtimer(CALLBACK(src, PROC_REF(offhand_post_attack)), (user.next_move_modifier / 2) SECONDS) /datum/component/double_attack/proc/offhand_attack(mob/living/target, mob/living/user, def_zone) if(QDELETED(src) || QDELETED(target) || user != offhand_item.loc || !user.Adjacent(target)) return offhand_item.attack(target, user, def_zone) - addtimer(CALLBACK(src, PROC_REF(offhand_post_attack)), (user.next_move_modifier / 2) SECONDS) /datum/component/double_attack/proc/offhand_post_attack() state_attack = FALSE diff --git a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm index 66c81ea970f5..694e5bcd3be6 100644 --- a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm @@ -107,7 +107,7 @@ if(!isliving(AM)) AM.crate_carrying_person = carrier //AM.forceMove(carrier) - //блокировка стандартного прока - AM.forceMoveCrate(src) + AM.forceMoveCrate(carrier) carrier.loaded = AM carrier.update_icon() diff --git a/modular_ss220/species/serpentids/code/components/heart_defib.dm b/modular_ss220/species/serpentids/code/components/heart_defib.dm index 0886d7259b77..8dd5886e2d75 100644 --- a/modular_ss220/species/serpentids/code/components/heart_defib.dm +++ b/modular_ss220/species/serpentids/code/components/heart_defib.dm @@ -23,16 +23,17 @@ else if(owner.get_chemical_value(chemical_id) >= 0 && owner.stat == DEAD && owner.get_damage_amount() <= 100) var/defib_chance = owner.get_chemical_value(chemical_id) var/datum/reagent/chem = owner.get_chemical_path(chemical_id) - chem.holder.remove_reagent(chemical_id, owner.get_chemical_value(chemical_id)) - if(prob(defib_chance)) - owner.setOxyLoss(0) - owner.set_heartattack(FALSE) - owner.update_revive() - owner.KnockOut() - owner.Paralyse(10 SECONDS) - owner.emote("gasp") - SEND_SIGNAL(owner, COMSIG_LIVING_MINOR_SHOCK, 100) - owner.med_hud_set_health() - owner.med_hud_set_status() - add_attack_logs(owner, owner, "Revived by heart") - SSblackbox.record_feedback("tally", "players_revived", 1, "self_revived") + if (chem) + chem.holder.remove_reagent(chemical_id, owner.get_chemical_value(chemical_id)) + if(prob(defib_chance)) + owner.setOxyLoss(0) + owner.set_heartattack(FALSE) + owner.update_revive() + owner.KnockOut() + owner.Paralyse(10 SECONDS) + owner.emote("gasp") + SEND_SIGNAL(owner, COMSIG_LIVING_MINOR_SHOCK, 100) + owner.med_hud_set_health() + owner.med_hud_set_status() + add_attack_logs(owner, owner, "Revived by heart") + SSblackbox.record_feedback("tally", "players_revived", 1, "self_revived") diff --git a/modular_ss220/species/serpentids/code/components/organ_toxins.dm b/modular_ss220/species/serpentids/code/components/organ_toxins.dm index f3a8a62a90d2..df33343e56b5 100644 --- a/modular_ss220/species/serpentids/code/components/organ_toxins.dm +++ b/modular_ss220/species/serpentids/code/components/organ_toxins.dm @@ -34,10 +34,10 @@ target_liver = O if (istype(O, /obj/item/organ/internal/kidneys)) target_kidney = O - if (src == target_kidney) + if (organ == target_kidney) organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) organ.owner.adjustToxLoss(-1 * organ.owner.get_damage_amount(TOX) * toxin_damage_rate) - else if (target_kidney.status == ORGAN_DEAD && src == target_liver) + else if (target_kidney.status == ORGAN_DEAD && organ == target_liver) organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) organ.owner.adjustToxLoss(-1 * organ.owner.get_damage_amount(TOX) * toxin_damage_rate) else if (target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) diff --git a/modular_ss220/species/serpentids/code/components/reagents.dm b/modular_ss220/species/serpentids/code/components/reagents.dm index 94d551b4cf6c..50f6f5be98e1 100644 --- a/modular_ss220/species/serpentids/code/components/reagents.dm +++ b/modular_ss220/species/serpentids/code/components/reagents.dm @@ -61,6 +61,8 @@ /datum/reagent/serpadrone/on_mob_delete(mob/living/carbon/L) UnregisterSignal(L, COMSIG_MOVABLE_MOVED) + REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) + REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) L.next_move_modifier = initial(L.next_move_modifier) var/mob/living/carbon/human/H = L if (istype(H.dna.species, /datum/species/serpentid)) @@ -73,6 +75,7 @@ game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) last_move_count = 0 last_move = null + if(IS_CHANGELING(L)) var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) cling.chem_recharge_slowdown -= 1 diff --git a/modular_ss220/species/serpentids/code/defines.dm b/modular_ss220/species/serpentids/code/defines.dm index fd19f603960c..69a7cce0ddca 100644 --- a/modular_ss220/species/serpentids/code/defines.dm +++ b/modular_ss220/species/serpentids/code/defines.dm @@ -31,6 +31,14 @@ #define SPIECES_BAN_HEADS_JOB (1<<12) +/datum/species + var/can_buckle = FALSE + var/buckle_lying = TRUE + var/eyes_icon = 'icons/mob/human_face.dmi' + var/face_icon = 'icons/mob/human_face.dmi' + var/face_icon_state = "bald_s" + var/action_mult = 1 + //Добавление новых алертов /atom/movable/screen/alert/carapace_break_armor name = "Слабые повреждения панциря." @@ -55,7 +63,8 @@ . = .. () var/datum/species/selected_specie = GLOB.all_species[species] - var/icon/face_s = new/icon("icon" = selected_specie.eyes_faces, "icon_state" = selected_specie.default_face) + //Это ужасно,но так можно кастомным расам выдавать кастомные глаза (я хз, почему сработало так, нужны разьяснения) + var/icon/face_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie.eyes) if(!(selected_specie.bodyflags & NO_EYES)) var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") eyes_s.Blend(e_colour, ICON_ADD) @@ -65,14 +74,15 @@ preview_icon_front = new(preview_icon, dir = SOUTH) preview_icon_side = new(preview_icon, dir = WEST) -/mob/living/carbon/human/serpentid/get_eyecon() +//Прок на получение иконки глаз кастомных рас (перезапись, возможно стоит расширить?) +/mob/living/carbon/human/get_eyecon() var/obj/item/organ/internal/eyes/eyes = get_int_organ(/obj/item/organ/internal/eyes) if(istype(dna.species) && dna.species.eyes) var/icon/eyes_icon if(eyes) eyes_icon = eyes.generate_icon() else //Error 404: Eyes not found! - eyes_icon = new(dna.species.eyes_icon, dna.species.eyes) + eyes_icon = new(dna.species.eyes_icon, dna.species.eyes)//eyes_icon = new('modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi', "serp_eyes_s")// eyes_icon.Blend("#800000", ICON_ADD) return eyes_icon diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm index f534d8900283..4867c95d6ee3 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm @@ -32,7 +32,7 @@ eye_shielded = FALSE else E.flash_protect = FLASH_PROTECTION_WELDER //Adjust the user's eyes' flash protection - E.tint = FLASH_PROTECTION_FLASH + E.tint = FLASH_PROTECTION_WELDER owner.update_sight() eye_shielded = TRUE diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm index edf3ff04287d..12e281e20b46 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm @@ -3,7 +3,6 @@ name = "serpentid blade implant" desc = "implants for the organs in your torso." icon_state = "chest_implant" - implant_overlay = "chest_implant_overlay" parent_organ = "chest" actions_types = list(/datum/action/item_action/organ_action/toggle/switch_blades) contents = newlist(/obj/item/kitchen/knife/combat/serpentblade,/obj/item/kitchen/knife/combat/serpentblade) @@ -11,6 +10,11 @@ action_icon_state = list(/datum/action/item_action/organ_action/toggle/switch_blades = "gas_hand_act") var/obj/item/holder_l = null var/obj/item/holder_r = null + var/icon_file = 'modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi' + var/new_icon_state = "blades_0" + var/mutable_appearance/old_overlay + var/mutable_appearance/new_overlay + var/overlay_color emp_proof = TRUE /datum/action/item_action/organ_action/toggle/switch_blades @@ -19,17 +23,60 @@ button_overlay_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' button_overlay_icon_state = "gas_hand_act" +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/New(mapload) + . = .. () + if (owner) + owner.update_body() + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/Initialize(mapload) + . = .. () + if (owner) + owner.update_body() + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/insert(mob/living/carbon/M, special, dont_remove_slot) + . = .. () + if (owner) + owner.update_body() + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/remove(mob/living/carbon/M, special, dont_remove_slot) + if (owner) + owner.update_body() + . = .. () + +/mob/living/carbon/human/proc/update_blades_overlays() + var/obj/item/organ/internal/cyberimp/chest/serpentid_blades/target_implant = get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades) + if(target_implant) + target_implant.update_overlays() + +/mob/living/carbon/human/update_body(rebuild_base = FALSE) + . = .. () + update_blades_overlays() + /obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() if(crit_fail || (!holder_l && !length(contents)) && (!holder_r && !length(contents))) to_chat(owner, "The implant doesn't respond. It seems to be broken...") return - if(holder_l && !(holder_l in src) && holder_r && !(holder_r in src)) + var/extended = holder_l && !(holder_l in src) && holder_r && !(holder_r in src) + if(extended) Retract() else if(do_after(owner, 20*(owner.dna.species.action_mult), FALSE, owner)) holder_l = null holder_r = null Extend(contents[1],contents[2]) +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/update_overlays() + . = .. () + if (old_overlay) + owner.overlays -= old_overlay + if (owner) + var/icon/blades_icon = new/icon("icon" = icon_file, "icon_state" = new_icon_state) + var/obj/item/organ/external/chest/torso = owner.get_limb_by_name("chest") + var/body_color = torso.s_col + blades_icon.Blend(body_color, ICON_ADD) + new_overlay = mutable_appearance(blades_icon) + old_overlay = new_overlay + owner.overlays += new_overlay + /obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/check_cuffs() if(owner.handcuffed) to_chat(owner, "The handcuffs interfere with [src]!") @@ -76,6 +123,8 @@ return playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) + new_icon_state = "blades_1" + owner.update_body() return TRUE /obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Retract() @@ -91,4 +140,6 @@ holder_r = null holder_l = null playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) + new_icon_state = "blades_0" + owner.update_body() //==Конец клинков через грудной имплант== diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_additionals.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_additionals.dm index 7ad33ebaa74e..3577ab549842 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_additionals.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_additionals.dm @@ -1,5 +1,5 @@ //Да, это мозг. Обычный мозг серпентида. /obj/item/organ/internal/brain/serpentid name = "serpentid brain" - icon = 'modular_ss220/species/icons/obj/surgery.dmi' - icon_state = "crystal-brain" + icon = 'modular_ss220/species/serpentids/icons/organs.dmi' + icon_state = "brain1" diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm index 30193eaa3d0b..affba7584673 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm @@ -1,6 +1,9 @@ //Уши серпентидов позволяют постоянно сканировать окружение в поисках существ в зависимости от их состояния /obj/item/organ/internal/ears/serpentid - name = "serpentid ears" + name = "acoustic sensor" + icon = 'modular_ss220/species/serpentids/icons/organs.dmi' + icon_state = "ears" + desc = "An organ that can sense vibrations." var/decay_rate = 2 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.25 diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm index 7110d628c003..8cd095f4e0c5 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm @@ -1,9 +1,9 @@ //Глаза - включают режим щитков, но очень уязвивым к вспышкам (в 2 раза сильнее молиных глаз) /obj/item/organ/internal/eyes/serpentid - name = "serpentid eyes" - icon = 'modular_ss220/species/icons/obj/surgery.dmi' - icon_state = "crystal-eyes" - light_color = "#1C1C00" + name = "visual sensor" + icon = 'modular_ss220/species/serpentids/icons/organs.dmi' + desc = "A large looking eyes with some chemical enchanments." + icon_state = "eyes01" see_in_dark = 2 flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE @@ -23,11 +23,12 @@ AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) +//Прок на получение цвета глаз /obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) var/mob/living/carbon/human/H = HA if(!istype(H)) H = owner - var/icon/eyes_icon = new /icon('modular_ss220/species/serpentids/icons/mob/serpentid_eyes.dmi', H.dna.species.eyes) + var/icon/eyes_icon = new /icon(H.dna.species.eyes_icon, H.dna.species.eyes) eyes_icon.Blend(eye_color, ICON_ADD) return eyes_icon @@ -52,7 +53,7 @@ var/mob/mob = owner mob.update_client_colour(time = 10) -/obj/item/organ/internal/eyes/serpentid/get_colourmatrix() //Returns a special colour matrix +/obj/item/organ/internal/eyes/serpentid/get_colourmatrix() var/chem_value = (owner.get_chemical_value(chemical_id) + GAS_ORGAN_CHEMISTRY_MAX/2)/GAS_ORGAN_CHEMISTRY_MAX var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm index 4e0f280ad8c9..f845d32801d2 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm @@ -2,7 +2,10 @@ #define GAS_METH_HEART_COUNT 1 /obj/item/organ/internal/heart/serpentid - name = "serpentid heart" + name = "double heart" + icon = 'modular_ss220/species/serpentids/icons/organs.dmi' + icon_state = "h0_on" + desc = "A pair of hearts." chemical_id = SERPENTID_CHEM_REAGENT_ID var/decay_rate = 5 diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm index 141d7816bfdb..80586f3a5a67 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm @@ -1,7 +1,9 @@ ///почки - базовые c добавлением дикея, вырабатывают энзимы, которые позволяют ГБС скрываться /obj/item/organ/internal/kidneys/serpentid - name = "serpentid kidneys" - icon = 'icons/obj/species_organs/unathi.dmi' + name = "secreting organ" + icon = 'modular_ss220/species/serpentids/icons/organs.dmi' + icon_state = "kidneys00" + desc = "A large looking organ, that can inject chemicals." actions_types = list(/datum/action/item_action/organ_action/toggle) action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_stealth") @@ -33,9 +35,9 @@ /obj/item/organ/internal/kidneys/serpentid/switch_mode(var/force_off = FALSE) .=..() - if(!force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_KIDNEYS && !cloak_engaged) + if(!force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_KIDNEYS && !cloak_engaged && !(status & ORGAN_DEAD)) cloak_engaged = TRUE - chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS + chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS + GAS_ORGAN_CHEMISTRY_KIDNEYS * (max_damage - damage / max_damage) else cloak_engaged = FALSE chemical_consuption = 0 diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm index 229a0471bacb..ded1e273e166 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm @@ -1,8 +1,9 @@ ///печень - вырабатывает глутамат натрия из нутриентов /obj/item/organ/internal/liver/serpentid - name = "serpentid liver" - icon = 'icons/obj/species_organs/unathi.dmi' - desc = "A large looking liver." + name = "chemical processor" + icon = 'modular_ss220/species/serpentids/icons/organs.dmi' + icon_state = "liver0" + desc = "A large looking liver with some storages." alcohol_intensity = 2 chemical_id = SERPENTID_CHEM_REAGENT_ID var/max_value = GAS_ORGAN_CHEMISTRY_MAX diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm index 2f9c16943d24..0157a82eace2 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm @@ -1,8 +1,9 @@ ///Легкие - вырабатывают сальбутамол при наличии глутамата натрия, имеют собственный мешок, из которого дышат, мешок заполняется в безопасной среде /obj/item/organ/internal/lungs/serpentid - name = "serpentid lungs" + name = "thacheal bag" icon = 'icons/obj/species_organs/unathi.dmi' organ_datums = list(/datum/organ/lungs/serpentid) + desc = "A large looking lugns with big breating bag." chemical_id = SERPENTID_CHEM_REAGENT_ID chemical_consuption = 1 var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank diff --git a/modular_ss220/species/serpentids/code/serpentids.dm b/modular_ss220/species/serpentids/code/serpentids.dm index a26c75da5a40..0110daecbe5a 100644 --- a/modular_ss220/species/serpentids/code/serpentids.dm +++ b/modular_ss220/species/serpentids/code/serpentids.dm @@ -1,16 +1,8 @@ -/datum/species - var/can_buckle = FALSE - var/buckle_lying = TRUE - var/eyes_icon = 'icons/mob/human_face.dmi' - var/eyes_faces = 'icons/mob/human_face.dmi' - var/default_face = "bald_s" - var/action_mult = 1 - /datum/species/serpentid name = "Serpentid" name_plural = "Serpentids" icobase = 'modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi' - eyes_icon = 'modular_ss220/species/serpentids/icons/mob/serpentid_eyes.dmi' + eyes_icon = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi' blurb = "TODO" language = "Stok" siemens_coeff = 2.0 @@ -19,7 +11,7 @@ hunger_drain = 0.3 action_mult = 1 tox_mod = 1.5 - + eyes = "serpentid_eyes_s" species_traits = list(LIPS, NO_HAIR) inherent_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_RESISTHEAT, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOPAIN) @@ -35,7 +27,6 @@ skinned_type = /obj/item/stack/sheet/animalhide/lizard flesh_color = "#34AF10" base_color = "#066000" - eyes = "serpentid_eyes_s" exotic_blood = "facid" blood_color = "#b0fc22" diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid copy.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid copy.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9519e7c886c41fdb248c41edc0647f7fd7332636 GIT binary patch literal 8671 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 literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi index a581790af0362a50e758721ea86f369b0028eb88..f62e571465d43781efc865de712da4d6fb5d0836 100644 GIT binary patch literal 2792 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 ZYvw)p8qeA+czhyA#M9N!Wt~$(69Baipw9pR literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/icons/mob/serpentid_eyes.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes_old.dmi similarity index 100% rename from modular_ss220/species/serpentids/icons/mob/serpentid_eyes.dmi rename to modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes_old.dmi diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_old.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_old.dmi new file mode 100644 index 0000000000000000000000000000000000000000..4f754d87d5e4517bb36d204515d819459b799f23 GIT binary patch literal 5025 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 C^ANlM literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/icons/organs.dmi b/modular_ss220/species/serpentids/icons/organs.dmi index ff61d3910d5b8a93e19432270a139c53fabf06d5..301b1e970fad82c9387ae9761efc91d9de1fcbdd 100644 GIT binary patch literal 13958 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%0DnN@fs9+oF_g#S#7&0O-AH`Sy{ckJr&BB#Db$ zJl`#lbaGo@KJ~bj|A3{I-UpY%%0Z@?KXp zlaHXoFWgrlTbnaA4snlE86H0CS@W&aLxD3t*Q=Fug2-Na#P++?sBu{Rw&-OqQiY#Q zQdA)>>{dZ*sfC(z&#iww+)Q5I&qy!LSV}3PqB0MxI(U?^wk-6RPflWRbb$cP91p@c zu02x4OHz36q$Ka_eRftqAHt1KKIIAj+^Q;)P`!00hku_xmJ?9_zlg>EL*)7IEad-Z zW3L-A7$*mwl}M>+2f7puIZVj#v*8fvzrwJVH1H`^vcrcOyO%?jo!!3vvHD>Fj1C~+lWVGwmjE2YAcw)@P$R(vvN-}3PBi28$h-& z)I3vOSm|Xr3M13Vst~A1l;3YKtoIX1>UOkii}>=%B!Zf}f$bS-5VhT@6yQz^mBOoy zc|HxOEH>@CR)R+8b5WI|eAFq``Pv!;0^K<-?RuuEPgdAgo>^y|mbu>rx6b^@L~gT} z<|pB;zNSTQ&_ADN0hpRUzrL%(Dc&NiimY`c2vy^1WYYQ? zI`dK9lq#E=u}H56RU?=UIKGozsluUB7R_*;K0~maIna}mDR(&bo!jvjT&km^J^mMi zgSeop6=Bk=$&XsxfNuuE`(;x&=EPwxq>mwOo0x<1@ra4LVU85S#JQq|Zg?8vn1Z;Xg|OQQ1L z&9rAKlN;U^I@vZ)Bfb-}eY?iWP3@|G;9R&G`T(eQn!6?+uq7Q~`y~YY=rn!vb>*|L z#KtognV_x$K@KUn3_{wNt|sGc_ra~^Mp!+Al#uM{>`cJcS#aHsC+&SI7dSrs1or<7 z;ENREVmg_yemCo862Y(9YD(QmHa^N*MUzcd{-T?SNF_hTq8!**`VjJI}if zaAQlQ9|Q9IZph1}2m@Hsf=dgQr<5#h!oSg*Y(=>0Mw6kA)KbFU*OU5d>Kzg{$6;j48-t!-kuG8&v8ueJMs&ZE4x729Wh3p{hEld!NJKl zcb$V~T$TAbxA4e>weqzy1sydVnl0B5ka5pf`=R=~>HaoJFVbg)nd}0BRHjd6C}B$> zC;8coMr8AGO*gj;YVJ1}54bJ&OA-R9h3)>9_!)=p$X)~wDRv}gi3R0vWZy7$9ARbG z3Im0u_se)5c@{6RXtBIKv6>#zZ??093*3IgkpwbnvON;uxp@iBw%E1$!qA24^PDrC zkZ6DvKTjm4;$H|XCQlQLQ?;56oAH)L#9|o%YZN1eV;{x#+uxFU@ntg8J?ctUmLGA- z7q%P_l5L3O&}eG;K6|^x2s+PCY^ju;*221|OxXXR#k$}L_^;4CXF_a|-?DJhp^F#g z$@_GPt$1t$JI`ttA_B(@jh&g#>SPyi_G7e57>D*$Gff6t3t`%IY-h8CCo zz(3ghMKF$w;1}Pi|Lre1=;V0(=8SJX;C%0Q1edl+KnR}1rxQAcP*T)CBOxB_^OH8g z@jz?d8fM$wAb$GV$lKgICrz*4Zn*5w?o;jmIhu2_Cyr8GFGGn#?xZt^is-SUY z5v6#)u*1VgA^)CtVNUR~y?Vs}I3TVug*@d627VsFovnG2=_CRi`_cYJ9(h!DA?|Aot!?!hx&)7()hNiY}SEwPClq%KN?utk?vMqWFRgj3RAc^|G zt-I{Biv$g{V#)5afo3$y4CHIneZ(bGfUBZX6iVZOVKRy;Vgb>{*8gpH<-<2n{(^0W zfoSMU$xdeE@v8=L9)yT9>wh_XnAltXB^80fPnq^u6-&QRjlu$Is^k=0J^Wgie<)Ld z@-gweKEx`$u&^&k#!TCtdFrR|wSzE;YVy*wy*#BuYUN;-^ z@Gq%a@JA=>IR@1#fjD2gl@^=0QHSCFZ<4pYq{Up+BSN*1VbmM<$-a4ouRq^1 zRK4Ge&!kiXvV$7PjIN+T*U@2KV2saz9ri#ws<(m4|KKtZ+F=E3&l9R1ldm7LN#)LA zsdODiQScc)6Z#`iy_qZL$S49JtX3Kw>5WN0V}h8bu01(+oi)Kwcs1DiDoM~{J10r; zQ}go4to+RJmvu&W^?Q=uFa;fqqY9sSzWSX2bn;`7xYc1!1cb*UV_a~*0nxU{=Jnop z4;}FueI}2U`-iflPnL5biRKx1inokv`|GBNkXl+=eL>7a!h55qHo2k%YCq&ni6j=! zacwbb;*+R}eA6B?eSQ1}1z)JD@ zQruL&>sTeb&51fb(x3=>y4O-o^E=jFD&*wkxj_kR&NG@k|E1G1y9e`q+ULDl$|s;H z5EUz9re^%gMGihEucEw2x6pCU#|DJL{do|OuX8WK#HGb7^EXgUA|MZ#rjQXe;Ec-! zN;CukX`&NB|GVq3ow8k%;Ne@`f(qmW2cG_n z22w@jufWhX*K`N8&d+M~5U?bt@}b)%TQmpP?G`>x4mvo4GagW$Z?!Co$Gpnc6tKjK zm8)gLQ~qmgrsP`1>xnPRJKzu5Oi5zEd~giTcEO*7---`;ku`ra{=*=62$bJ53;#2l z@Zao?^MAl}MJ=mhES7?gHS^wI@tgcgrv85m4F8XP*(@-Y7(b1jrCdnN z$&W^ybE;2#6e({G@7wZIq!?ew7g5pZR{dZ-jMwEQmy-X7^YsJrFgA^z8xq7i!$wu1 zM--#Hc%hnAlj6u38pVxqO{hkFq*}2WvTm;0=%(yAM;N0V0NA;$T8TcszePJS-fk2} zoMOrEqh43a|9cAZ>e$~rmZTb8$?7Q<&oI)wsUv}XB(g=tjc*jBe7acMtPNz>jRkp| zMBX^~!0y+^rid7%;4qrX;^o6Rc)wzoyScF z+=dx|J48mTmDp^#kQr&wF~Rld78+JfrPLJTAlejT&I7rhaEuO}65S3YzBKon zs>a|;wi2Z*-;!yKsw36YD_Tg*G%Nd-87!H4+U(~-%KwQ#`rnsr;0{+YykzS6r;%dd Q|79RGrPqqJ@)n{03)1FGH2?qr literal 7149 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 H+wlJZY4Ieh From fdbc51603a26064809496f67b2be35e2add021e3 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 7 Oct 2024 18:59:35 +0300 Subject: [PATCH 020/152] =?UTF-8?q?=D0=97=D0=B2=D1=83=D0=BA=D0=B8=20=D0=B8?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20(=D0=BE=D0=B6=D0=B8?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BE=D0=BF=20=D1=81?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B9=D1=82=D0=BE=D0=B2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/_serpentids.dme | 12 +- .../components/grab_and_drag_on_mob_mobs.dm | 2 +- .../components/organ_actions_component.dm | 115 +++++++++++++++ ..._actions.dm => organ_actions_expansion.dm} | 0 .../code/components/organ_chemistry.dm | 44 ++++-- .../species/serpentids/code/defines.dm | 138 +++++++++++++++++- .../species/serpentids/code/language.dm | 20 +++ .../organs/internal/serpentids_organs_eyes.dm | 23 +-- .../internal/serpentids_organs_heart.dm | 3 +- .../internal/serpentids_organs_kidneys.dm | 7 +- .../internal/serpentids_organs_liver.dm | 2 +- .../internal/serpentids_organs_lungs.dm | 5 +- .../species/serpentids/code/serpentids.dm | 89 +++++++++-- .../serpentids/icons/mob/r_serpentid.dmi | Bin 2792 -> 2808 bytes .../icons/mob/r_serpentid_bad_hands.dmi | Bin 0 -> 2792 bytes .../serpentids/icons/mob/r_serpentid_butt.dmi | Bin 0 -> 1234 bytes .../serpentids/sounds/serpentid_cough.ogg | Bin 0 -> 161349 bytes .../serpentids/sounds/serpentid_death.ogg | Bin 0 -> 51650 bytes .../serpentids/sounds/serpentid_dying.ogg | Bin 0 -> 78784 bytes .../serpentids/sounds/serpentid_hiss.ogg | Bin 0 -> 102546 bytes .../serpentids/sounds/serpentid_laugh.ogg | Bin 0 -> 21949 bytes .../serpentids/sounds/serpentid_moan.ogg | Bin 0 -> 28129 bytes .../serpentids/sounds/serpentid_roar.ogg | Bin 0 -> 25250 bytes .../serpentids/sounds/serpentid_shreak.ogg | Bin 0 -> 26986 bytes .../serpentids/sounds/serpentid_sigh.ogg | Bin 0 -> 86367 bytes .../serpentids/sounds/serpentid_sneeze.ogg | Bin 0 -> 43313 bytes .../serpentids/sounds/serpentid_talk_1.ogg | Bin 0 -> 83060 bytes .../serpentids/sounds/serpentid_talk_2.ogg | Bin 0 -> 159834 bytes .../serpentids/sounds/serpentid_wiggle.ogg | Bin 0 -> 107740 bytes 29 files changed, 396 insertions(+), 64 deletions(-) create mode 100644 modular_ss220/species/serpentids/code/components/organ_actions_component.dm rename modular_ss220/species/serpentids/code/components/{organ_actions.dm => organ_actions_expansion.dm} (100%) create mode 100644 modular_ss220/species/serpentids/code/language.dm create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_bad_hands.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_butt.dmi create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_cough.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_death.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_dying.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_hiss.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_moan.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_roar.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_shreak.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_sigh.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_sneeze.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_talk_1.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_talk_2.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 86317da7a7f0..4fda2dda0cee 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -4,7 +4,8 @@ #include "code/components/organ_decay.dm" #include "code/components/organ_chemistry.dm" #include "code/components/organ_toxins.dm" -#include "code/components/organ_actions.dm" +//#include "code/components/organ_actions_expansion.dm" - не используется (органы через расширение) +//#include "code/components/organ_actions_component.dm" - не используется (пойдет в ТГ) #include "code/components/heart_defib.dm" #include "code/components/carapace.dm" #include "code/components/paired_implants.dm" @@ -25,3 +26,12 @@ #include "code/organs/internal/serpentids_organs_additionals.dm" #include "code/serpentids.dm" +// BEGIN_INTERNALS +// END_INTERNALS +// BEGIN_FILE_DIR +#define FILE_DIR . +// END_FILE_DIR +// BEGIN_PREFERENCES +// END_PREFERENCES +// BEGIN_INCLUDE +// END_INCLUDE diff --git a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm index 07b1fbf13e7b..2c0a225e84a4 100644 --- a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm @@ -45,7 +45,7 @@ return if(!istype(target)) return - if(do_after(puppet, 20 * puppet.dna.species.action_mult, FALSE, target)) + if(do_after(puppet, 20 * puppet.dna.species.action_mult, FALSE, target)) //Закоментить если линтер начнет брыкаться - оно работает, но прикол с SpacemanDMM_should_not_sleep load(puppet, target) diff --git a/modular_ss220/species/serpentids/code/components/organ_actions_component.dm b/modular_ss220/species/serpentids/code/components/organ_actions_component.dm new file mode 100644 index 000000000000..27acd438158c --- /dev/null +++ b/modular_ss220/species/serpentids/code/components/organ_actions_component.dm @@ -0,0 +1,115 @@ +/* +Компонент на органы, который бы позволяли объединять многочисленные действия органов в одну радиальную кнопку +*/ + +#define COMSIG_ORGAN_GROUP_ACTION_CALL "open_actions" +#define COMSIG_ORGAN_GROUP_ACTION_RESORT "resort_buttons" + +#define COMSIG_ORGAN_GROUP_ACTION_ICON "get_return_icon" +#define COMSIG_ORGAN_GROUP_ACTION_STATE "get_return_state" + #define ORGAN_GROUP_ACTION_ICON (1 << 0) + #define ORGAN_GROUP_ACTION_STATE (1 << 0) + +/datum/component/organ_action + var/obj/item/organ/internal/organ + var/radial_additive_state + var/radial_additive_icon + +/datum/component/organ_action/Initialize(var/caller_organ, var/state, var/icon) + ..() + organ = caller_organ + radial_additive_state = state + radial_additive_icon = icon + +/datum/component/organ_action/RegisterWithParent() + RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL, PROC_REF(open_actions)) + RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_RESORT, PROC_REF(resort_buttons)) + RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_ICON, PROC_REF(get_return_icon)) + RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_STATE, PROC_REF(get_return_state)) + +/datum/component/organ_action/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL) + UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_RESORT) + UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_ICON) + UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_STATE) + +/datum/component/organ_action/proc/get_return_icon(datum/source, var/return_icon) + SIGNAL_HANDLER + + return_icon = radial_additive_icon + return ORGAN_GROUP_ACTION_ICON + +/datum/component/organ_action/proc/get_return_state(datum/source, var/return_state) + SIGNAL_HANDLER + + return_state = radial_additive_state + return ORGAN_GROUP_ACTION_STATE + + +/datum/component/organ_action/proc/check_actions(mob/user) + return (organ.owner && organ.owner == user && organ.owner.stat != DEAD && (organ in organ.owner.internal_organs)) + +//Прок, вызывается непосредственно в кнопке действия органа +/datum/component/organ_action/proc/open_actions(mob/user) + SIGNAL_HANDLER + + var/list/choices = list() + var/list/organs_list = list() + for(var/obj/item/organ/internal/O in organ.owner.internal_organs) + if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + organs_list += O + + for(var/obj/item/organ/internal/I in organs_list) + var/datum/component/organ_action/return_state + var/datum/component/organ_action/return_icon + var/icon_override_returns = SEND_SIGNAL(user, COMSIG_ORGAN_GROUP_ACTION_ICON, return_icon) + var/state_override_returns = SEND_SIGNAL(user, COMSIG_ORGAN_GROUP_ACTION_STATE, return_state) + if ((icon_override_returns & ORGAN_GROUP_ACTION_ICON) && (state_override_returns & ORGAN_GROUP_ACTION_STATE)) + choices["[I.name]"] = image(icon = return_icon.radial_additive_icon, icon_state = return_state.radial_additive_state) + + var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, PROC_REF(check_actions), user)) + if(!check_actions(user)) + return + + var/obj/item/organ/internal/selected + for(var/obj/item in organs_list) + if(item.name == choice) + selected = item + break + + if(istype(selected) && (selected in organs_list)) + selected.switch_mode() + +//Прок для ресортировки кнопок (убирает лишние дубли) (должен вызываться на insert/remove конкретного органа, чтобы не трогать остальные) +/datum/component/organ_action/proc/resort_buttons() + SIGNAL_HANDLER + + var/list/organs_list = list() + if (organ.owner) + for(var/obj/item/organ/internal/O in organ.owner.internal_organs) + if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + organs_list += O + + for(var/obj/item/organ/internal/O in organs_list) + organs_list -= O + for(var/obj/item/organ/internal/D in organs_list) + var/datum/action/action_candidate = O.actions[1] + if (D != O) + if (action_candidate in organ.owner.actions) + action_candidate.Remove(organ.owner) + else + if (!(action_candidate in organ.owner.actions)) + action_candidate.Grant(organ.owner) + break + +/obj/item/organ/internal/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = .. () + SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) + +/obj/item/organ/internal/remove(mob/living/carbon/M, special = 0) + . = .. () + SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) + +/obj/item/organ/internal/ui_action_click() + SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_CALL, owner) + diff --git a/modular_ss220/species/serpentids/code/components/organ_actions.dm b/modular_ss220/species/serpentids/code/components/organ_actions_expansion.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/organ_actions.dm rename to modular_ss220/species/serpentids/code/components/organ_actions_expansion.dm diff --git a/modular_ss220/species/serpentids/code/components/organ_chemistry.dm b/modular_ss220/species/serpentids/code/components/organ_chemistry.dm index 42056610e611..1be18e4591a1 100644 --- a/modular_ss220/species/serpentids/code/components/organ_chemistry.dm +++ b/modular_ss220/species/serpentids/code/components/organ_chemistry.dm @@ -1,28 +1,40 @@ /* -Расширение на органы для работы с запасами химикатов +Компонент на органы для работы с запасами химикатов */ -/obj/item/organ/internal - var/chemical_consuption = 0 - var/can_chem_process = FALSE +#define COMSIG_ORGAN_CHEM_CALL "chems_process" + +#define COMSIG_ORGAN_GROUP_ACTION_ICON "get_return_icon" +#define COMSIG_ORGAN_GROUP_ACTION_STATE "get_return_state" + #define ORGAN_GROUP_ACTION_ICON (1 << 0) + #define ORGAN_GROUP_ACTION_STATE (1 << 0) + +/datum/component/chemistry_organ + var/obj/item/organ/internal/organ var/chemical_id = "" -/obj/item/organ/internal/process() - . = ..() - if (can_chem_process) - chems_process() +/datum/component/chemistry_organ/Initialize(var/reagent_id) + ..() + organ = parent + chemical_id = reagent_id + +/datum/component/chemistry_organ/RegisterWithParent() + RegisterSignal(parent, COMSIG_ORGAN_CHEM_CALL, PROC_REF(chems_process)) + +/datum/component/chemistry_organ/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_ORGAN_CHEM_CALL) -/obj/item/organ/internal/proc/chems_process() - if(isnull(owner)) +/datum/component/chemistry_organ/proc/chems_process(var/holder, var/consuption_count) + if(isnull(organ.owner)) return TRUE - var/chemical_volume = owner.get_chemical_value(chemical_id) - var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) - if (chemical_volume < chemical_consuption) + var/chemical_volume = organ.owner.get_chemical_value(chemical_id) + var/datum/reagent/chemical = organ.owner.get_chemical_path(chemical_id) + if (chemical_volume < consuption_count || chemical_volume == 0) //Если количества недостаточно - выключить режим - switch_mode(force_off = TRUE) + organ.switch_mode(force_off = TRUE) else - if(!isnull(chemical) && chemical_consuption > 0) - chemical.holder.remove_reagent(chemical_id, chemical_consuption) + if(!isnull(chemical) && consuption_count > 0) + chemical.holder.remove_reagent(chemical_id, consuption_count) //Переписываемый прок, который вызывается когда заканчивается запас химического препарата /obj/item/organ/internal/proc/switch_mode(var/force_off = FALSE) diff --git a/modular_ss220/species/serpentids/code/defines.dm b/modular_ss220/species/serpentids/code/defines.dm index 69a7cce0ddca..5b2f5b14aa5e 100644 --- a/modular_ss220/species/serpentids/code/defines.dm +++ b/modular_ss220/species/serpentids/code/defines.dm @@ -15,9 +15,6 @@ #define SERPENTID_COLD_THRESHOLD_LEVEL_DOWN 80 #define SERPENTID_ARMORED_COLD_THRESHOLD 0 -#define GAS_ORGAN_CHEMISTRY_EYES 0.75 -#define GAS_ORGAN_CHEMISTRY_EARS 0.25 -#define GAS_ORGAN_CHEMISTRY_HEART 25 #define GAS_ORGAN_CHEMISTRY_LUNGS 1 #define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.6 @@ -38,6 +35,8 @@ var/face_icon = 'icons/mob/human_face.dmi' var/face_icon_state = "bald_s" var/action_mult = 1 + var/equipment_black_list = list() + var/butt_sprite_icon = 'icons/obj/butts.dmi' //Добавление новых алертов /atom/movable/screen/alert/carapace_break_armor @@ -86,3 +85,136 @@ eyes_icon.Blend("#800000", ICON_ADD) return eyes_icon + +/mob/living/carbon/human/proc/emote_gbsroar() + set name = "< " + EMOTE_HUMAN_ROAR + " >" + set category = "Эмоции" + emote("gbsroar", intentional = TRUE) + +/mob/living/carbon/human/proc/emote_gbshiss() + set name = "< " + EMOTE_HUMAN_HISS + " >" + set category = "Эмоции" + emote("gbshiss", intentional = TRUE) + +/mob/living/carbon/human/proc/emote_gbswhip() + set name = "< " + EMOTE_HUMAN_WHIP + " >" + set category = "Эмоции" + emote("gbswhip", intentional = TRUE) + +/mob/living/carbon/human/proc/emote_gbswhips() + set name = "< " + EMOTE_HUMAN_WHIPS + " >" + set category = "Эмоции" + emote("gbswhips", intentional = TRUE) + +/mob/living/carbon/human/proc/emote_gbswiggles() + set name = "< " + EMOTE_HUMAN_WIGGLES + " >" + set category = "Эмоции" + emote("gbswiggles", intentional = TRUE) + +/datum/emote/living/carbon/human/roar/gbs + key = "gbsroar" + key_third_person = "roar" + message = "утробно рычит." + message_mime = "бесшумно рычит." + message_param = "утробно рычит на %t." + species_type_whitelist_typecache = list(/datum/species/serpentid) + volume = 50 + muzzled_noises = list("раздражённый") + emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE + age_based = TRUE + +/datum/emote/living/carbon/human/roar/gbs/get_sound(mob/living/user) + return pick( + 'modular_ss220/species/serpentids/sounds/serpentid_roar.ogg') + +/datum/emote/living/carbon/human/hiss/gbs/ + key = "gbshiss" + key_third_person = "hisses" + message = "шипит." + message_param = "шипит на %t." + species_type_whitelist_typecache = list(/datum/species/serpentid) + emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH + age_based = TRUE + // Credit to Jamius (freesound.org) for the sound. + sound = "modular_ss220/species/serpentids/sounds/serpentid_hiss.ogg" + muzzled_noises = list("weak hissing") + +/datum/emote/living/carbon/human/whip/gbs + key = "gbswhip" + key_third_person = "whip" + message = "гремит хвостом." + message_mime = "взмахивает хвостом и трясет кончиком в воздухе." + message_postfix = ", грозно смотря на %t." + message_param = EMOTE_PARAM_USE_POSTFIX + species_type_whitelist_typecache = list(/datum/species/serpentid) + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE + volume = 75 + audio_cooldown = 3 SECONDS + sound = 'modular_ss220/emotes/audio/unathi/whip_short_unathi.ogg' + +/datum/emote/living/carbon/human/whip/whip_l/gbs + key = "gbswhips" + key_third_person = "whips" + message = "хлестает хвостом." + species_type_whitelist_typecache = list(/datum/species/serpentid) + audio_cooldown = 6 SECONDS + sound = 'modular_ss220/emotes/audio/unathi/whip_unathi.ogg' + +/datum/emote/living/carbon/human/wiggles/gbs + key = "wiggles" + key_third_person = "wiggles" + message = "шевелит усиками." + message_param = "шевелит усиками в сторону %t." + cooldown = 5 SECONDS + species_type_whitelist_typecache = list(/datum/species/serpentid) + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_MOUTH + age_based = TRUE + volume = 80 + muzzled_noises = list("слабо") + sound = 'modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg' + +//не-не, я понмаю, что это не сюда, но! +/obj/machinery/photocopier/copyass(scanning = FALSE) + if(!scanning) //If we're just storing this as a file inside the copier then we don't expend toner + if(toner < 5) + visible_message("A yellow light on [src] flashes, indicating there's not enough toner to finish the operation.") + return null + total_copies++ + + var/icon/temp_img + + if(emagged) + if(ishuman(copymob)) + var/mob/living/carbon/human/H = copymob + var/obj/item/organ/external/G = H.get_organ("groin") + G.receive_damage(0, 30) + H.emote("scream") + else + copymob.apply_damage(30, BURN) + to_chat(copymob, "Something smells toasty...") + if(ishuman(copymob)) //Suit checks are in check_mob + var/mob/living/carbon/human/H = copymob + temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) + else if(isdrone(copymob)) + temp_img = icon('icons/obj/butts.dmi', "drone") + else if(isnymph(copymob)) + temp_img = icon('icons/obj/butts.dmi', "nymph") + else if(isalien(copymob) || istype(copymob,/mob/living/simple_animal/hostile/alien)) //Xenos have their own asses, thanks to Pybro. + temp_img = icon('icons/obj/butts.dmi', "xeno") + else + return + var/obj/item/photo/p = new /obj/item/photo (loc) + if(scanning) + p.forceMove(src) + else if(folder) + p.forceMove(folder) + p.desc = "You see [copymob]'s ass on the photo." + p.pixel_x = rand(-10, 10) + p.pixel_y = rand(-10, 10) + p.img = temp_img + var/icon/small_img = icon(temp_img) //Icon() is needed or else temp_img will be rescaled too >.> + var/icon/ic = icon('icons/obj/items.dmi',"photo") + small_img.Scale(8, 8) + ic.Blend(small_img,ICON_OVERLAY, 10, 13) + p.icon = ic + return p diff --git a/modular_ss220/species/serpentids/code/language.dm b/modular_ss220/species/serpentids/code/language.dm new file mode 100644 index 000000000000..035f5d6ace22 --- /dev/null +++ b/modular_ss220/species/serpentids/code/language.dm @@ -0,0 +1,20 @@ +/datum/language/serpentid + name = "Nabberian" + desc = "Звук, издаваемый этим языком похоже на кононаду из скрежета мандибул, лезвий, стука конечностей, трения антенн и утробного рева" + speech_verb = "стучит клинками" + ask_verb = "стучит жвалами" + exclaim_verbs = list("издает утробный рёв") + colour = "serpentid" + key = "4" + flags = RESTRICTED | WHITELISTED + syllables = list("click","clack","cling","clang","cland","clog") + +/datum/language/serpentid/get_random_name() + var/new_name = "" + if(gender == FEMALE) + new_name = capitalize(pick(GLOB.first_names_female)) + else + new_name = capitalize(pick(GLOB.first_names_male)) + new_name += "[pick("элус ", "лис ", "нен ", "виг ", "шт ")]" + new_name += rand(10000) + return new_name diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm index 8cd095f4e0c5..e1a304cc00ee 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm @@ -4,15 +4,10 @@ icon = 'modular_ss220/species/serpentids/icons/organs.dmi' desc = "A large looking eyes with some chemical enchanments." icon_state = "eyes01" - see_in_dark = 2 + see_in_dark = 8 flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE - //ctions_types = list(/datum/action/item_action/organ_action/use) - //action_icon = list(/datum/action/item_action/organ_action/use = 'modular_ss220/species/serpentids/icons/organs.dmi') - //action_icon_state = list(/datum/action/item_action/organ_action/use = "gas_abilities") - chemical_id = SERPENTID_CHEM_REAGENT_ID - //radial_additive_state = "gas_eyes_0" - + var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/decay_rate = 1 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.35 @@ -33,20 +28,6 @@ return eyes_icon -/* -Оставлено на случай радиального меню -/obj/item/organ/internal/eyes/serpentid/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) - . = .. () - buttons_resort() - -/obj/item/organ/internal/eyes/serpentid/remove(mob/living/carbon/M, special = 0) - . = .. () - buttons_resort() - -/obj/item/organ/internal/eyes/serpentid/ui_action_click() - open_actions(owner) -*/ - /obj/item/organ/internal/eyes/serpentid/on_life() . = ..() if(!isnull(owner)) diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm index f845d32801d2..fa592434a8cb 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm @@ -6,8 +6,7 @@ icon = 'modular_ss220/species/serpentids/icons/organs.dmi' icon_state = "h0_on" desc = "A pair of hearts." - chemical_id = SERPENTID_CHEM_REAGENT_ID - + var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/decay_rate = 5 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.1 diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm index 80586f3a5a67..3c745fb29871 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm @@ -7,8 +7,8 @@ actions_types = list(/datum/action/item_action/organ_action/toggle) action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_stealth") - can_chem_process = TRUE - chemical_id = SERPENTID_CHEM_REAGENT_ID + var/chemical_id = SERPENTID_CHEM_REAGENT_ID + var/chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS var/decay_rate = 4 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.1 @@ -18,12 +18,14 @@ . = ..() AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + AddComponent(/datum/component/chemistry_organ, chemical_id) /obj/item/organ/internal/kidneys/serpentid/ui_action_click() switch_mode() /obj/item/organ/internal/kidneys/serpentid/on_life() . = .. () + SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) if((owner.m_intent != MOVE_INTENT_RUN || owner.body_position == LYING_DOWN || (world.time - owner.last_movement) >= 10) && (!owner.stat && (owner.mobility_flags & MOBILITY_STAND) && !owner.restrained() && cloak_engaged)) if(owner.invisibility != INVISIBILITY_LEVEL_TWO) owner.alpha -= 51 @@ -41,4 +43,3 @@ else cloak_engaged = FALSE chemical_consuption = 0 - radial_additive_state = "gas_cloak_[cloak_engaged]" diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm index ded1e273e166..1447ebd7a1f1 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm @@ -5,7 +5,7 @@ icon_state = "liver0" desc = "A large looking liver with some storages." alcohol_intensity = 2 - chemical_id = SERPENTID_CHEM_REAGENT_ID + var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/max_value = GAS_ORGAN_CHEMISTRY_MAX var/decay_rate = 4 var/decay_recovery = BASIC_RECOVER_VALUE diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm index 0157a82eace2..5b76c6543d2e 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm @@ -4,8 +4,8 @@ icon = 'icons/obj/species_organs/unathi.dmi' organ_datums = list(/datum/organ/lungs/serpentid) desc = "A large looking lugns with big breating bag." - chemical_id = SERPENTID_CHEM_REAGENT_ID - chemical_consuption = 1 + var/chemical_id = SERPENTID_CHEM_REAGENT_ID + var/chemical_consuption = 1 var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank var/decay_rate = 3 var/decay_recovery = BASIC_RECOVER_VALUE @@ -91,6 +91,7 @@ /obj/item/organ/internal/lungs/serpentid/on_life() .=..() + SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) var/turf/T = get_turf(owner) var/datum/gas_mixture/environment = get_turf_air(T) var/datum/gas_mixture/breath diff --git a/modular_ss220/species/serpentids/code/serpentids.dm b/modular_ss220/species/serpentids/code/serpentids.dm index 0110daecbe5a..ebb98338d2cb 100644 --- a/modular_ss220/species/serpentids/code/serpentids.dm +++ b/modular_ss220/species/serpentids/code/serpentids.dm @@ -4,7 +4,7 @@ icobase = 'modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi' eyes_icon = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi' blurb = "TODO" - language = "Stok" + language = "Nabberian" siemens_coeff = 2.0 coldmod = 0.9 heatmod = 1.2 @@ -12,6 +12,8 @@ action_mult = 1 tox_mod = 1.5 eyes = "serpentid_eyes_s" + butt_sprite_icon = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_butt.dmi' + butt_sprite = "serpentid" species_traits = list(LIPS, NO_HAIR) inherent_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_RESISTHEAT, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOPAIN) @@ -57,25 +59,68 @@ "l_hand" = list("path" = /obj/item/organ/external/hand/carapace, "descriptor" = "left hand"), "r_hand" = list("path" = /obj/item/organ/external/hand/right/carapace, "descriptor" = "right hand"), "l_foot" = list("path" = /obj/item/organ/external/foot/carapace, "descriptor" = "left foot"), - "r_foot" = list("path" = /obj/item/organ/external/foot/right/carapace, "descriptor" = "right foot")) - - - suicide_messages = list( - "is attempting to bite their tongue off!", - "is jamming their claws into their eye sockets!", - "is twisting their own neck!", - "is holding their breath!") + "r_foot" = list("path" = /obj/item/organ/external/foot/right/carapace, "descriptor" = "right foot") + ) autohiss_basic_map = list( - "s" = list("ss", "sss", "ssss") - ) + "z" = list("zz", "zzz", "zzzz"), + "v" = list("vv", "vvv", "vvvv"), + "з" = list("зз", "ззз", "зззз"), + "в" = list("вв", "ввв", "вввв"), + "s" = list("ss", "sss", "ssss"), + "с" = list("сс", "ссс", "сссс")) autohiss_extra_map = list( - "x" = list("ks", "kss", "ksss") - ) + "x" = list("ks", "kss", "ksss"), + "ш" = list("шш", "шшш", "шшшш"), + "ч" = list("щ", "щщ", "щщщ")) + autohiss_exempt = list("Chittin") + + scream_verb = "утробно ревёт" + speech_sounds = list( + 'modular_ss220/species/serpentids/sounds/serpentid_talk_1.ogg', + 'modular_ss220/species/serpentids/sounds/serpentid_talk_2.ogg') + speech_chance = 20 + male_scream_sound = 'modular_ss220/species/serpentids/sounds/serpentid_shreak.ogg' + female_scream_sound = 'modular_ss220/species/serpentids/sounds/serpentid_shreak.ogg' + male_cry_sound = list( + 'modular_ss220/emotes/audio/kidan/cry_kidan_1.ogg') + female_cry_sound = list( + 'modular_ss220/emotes/audio/kidan/cry_kidan_1.ogg') + male_giggle_sound = list( + 'modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg') + female_giggle_sound = list( + 'modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg') + male_laugh_sound = list( + 'modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg') + female_laugh_sound = list( + 'modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg') + male_sigh_sound = list( + 'modular_ss220/species/serpentids/sounds/serpentid_sigh.ogg') + female_sigh_sound = list( + 'modular_ss220/species/serpentids/sounds/serpentid_sigh.ogg') + male_moan_sound = list('modular_ss220/species/serpentids/sounds/serpentid_moan.ogg') + female_moan_sound = list('modular_ss220/species/serpentids/sounds/serpentid_moan.ogg') + male_cough_sounds = list('modular_ss220/species/serpentids/sounds/serpentid_cough.ogg') + female_cough_sounds = list('modular_ss220/species/serpentids/sounds/serpentid_cough.ogg') + male_sneeze_sound = list( + 'modular_ss220/species/serpentids/sounds/serpentid_sneeze.ogg') + female_sneeze_sound = list( + 'modular_ss220/species/serpentids/sounds/serpentid_sneeze.ogg') + male_dying_gasp_sounds = list( + 'modular_ss220/species/serpentids/sounds/serpentid_dying.ogg') + female_dying_gasp_sounds = list( + 'modular_ss220/species/serpentids/sounds/serpentid_dying.ogg') + death_sounds = 'modular_ss220/species/serpentids/sounds/serpentid_death.ogg' + suicide_messages = list( + "пытается откусить себе усики!", + "вонзает когти в свои глазницы!", + "сворачивает себе шею!", + "разбивает себе панцирь", + "протыкает себя клинками!", + "задерживает дыхание!") can_buckle = TRUE buckle_lying = FALSE - var/can_stealth = TRUE var/list/valid_limbs = list() var/gene_lastcall = 0 @@ -174,14 +219,30 @@ H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) H.AddComponent(/datum/component/gadom_living) H.AddComponent(/datum/component/gadom_cargo) + H.verbs += /mob/living/carbon/human/proc/emote_gbsroar + H.verbs += /mob/living/carbon/human/proc/emote_gbshiss + H.verbs += /mob/living/carbon/human/proc/emote_gbswhip + H.verbs += /mob/living/carbon/human/proc/emote_gbswhips + H.verbs += /mob/living/carbon/human/proc/emote_gbswiggles for (var/limb_name in has_limbs) valid_limbs += has_limbs[limb_name]["path"] +/datum/species/moth/on_species_loss(mob/living/carbon/human/H) + ..() + H.verbs -= /mob/living/carbon/human/proc/emote_gbsroar + H.verbs -= /mob/living/carbon/human/proc/emote_gbshiss + H.verbs -= /mob/living/carbon/human/proc/emote_gbswhip + H.verbs -= /mob/living/carbon/human/proc/emote_gbswhips + H.verbs -= /mob/living/carbon/human/proc/emote_gbswiggles + //Блокировка ботинок /datum/species/serpentid/can_equip(obj/item/I, slot, disable_warning = FALSE, mob/living/carbon/human/H) switch(slot) if(SLOT_HUD_SHOES) return FALSE + for(var/queip_type in equipment_black_list) + if(istype(I, queip_type)) + return FALSE . = .. () //Ограничение на роли антагов (генокрад онли) diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi index f62e571465d43781efc865de712da4d6fb5d0836..a3e73ccca0621e1f248edb867ee9c9b5e37835c2 100644 GIT binary patch delta 2531 zcmV<92^{w575EjfFadwFNkl zzCeH+Ux;c50lt6sEwqaWgcjKOku4ku z;zrP53pz_=ms&yWark(sAmIx#O~!0NN}@3JX2A5vK|Qn&_`Qsq&$gh3tG<7m8xhzK z#?;t65L0Dv%S>5J5PlzLLHs8^RuG_RGHx01R9jBJ0@br|ZYEGadsg3KiGB)dsv*{| zm)gb~x`E39=SqLX5#=z}3IgnJCIL7%nI$<8)Swy>rgq{ja#cMHf%uk4!x(XA|2{RD zn*g?}AlUkxf$$3Q#G}C%1fifQ)w#*y&tYg|A8%gKnXdgJ$f`_Ga}g8;tOX7$5c(zn zzup8vmz~C;0zp&F-)Jqnz=6p}+SpP7**?2R5T*oqk7|EkP`1zB5|reu_ji#73arQ) zcSE&zMs&=3bf%jT_Iv_?Kp+qZ1OkCTAP@+IXW_B2p6vkkVuJ8J;sSdny74t?=&FK8 zA}cXZ^MkQka_BeqVnfHkiiYrrTlcjDJwuNjWDOz#F(>*)!{6?gPSiroqHWOy7HLV7 zH0^tCSj%fX9tZ>ifj}S-2m}IwKp+qZ1j2T}6CxRD#QmaAMBH=yM7&x|^BLhe!hryc z#r5qV*q(6Tj?Ep{O_S$H)Eex_G0#L}VmotUk>`I5;M=?d?;P36gE-iNq*sStr(xpc z)w0Vk#k@DSJ9|`}HlCHV1r6#$UwpgX;l{#1d{x88={CPu(8TGKH;ST8d{AdXa>o%sG4O^gp7nUJ<{Bl7vBiy)+3$B6|*f%(W?7Krgfj}S-2m}Iw zKp+qZginQ(OCUU9F8Ddi--@d&YEGW4yyla!c!`Jlh$f#O0bju(*WdPw?ZvHFGx8FGUXrL%l#Yb_@N;AkxH-|!UUyL zLzVnc&@gxj3a^A-4GdltRPsYX%AJ2%qLTK}zb2~gCTM0*cjRXUb?$VH4Q`3`+(yZi zpsoB8L3SN$zFQ!DzuzWR{H=m;a7%0!Z%B6>s^f=(WHLdWfV4}br^oI{Sj!IudA+2Q z!s!;KiodO^N8W=bsN{!&{3<`Y-NJNJdpVBZjcfUNLH-{_rij;(tP2WQ%P)Ts*F&PK+&}1FCpg!+uJMSV zDt<(e^hy{_aOx+fkA#Bi_#uCEFUcinCV6v$!St`59}(o2Py`RZW!e{=?A7vPf}BY) z$Z)>G<|zZ-5LCqv1$o`Xyi&z?Dxos-QqXya@1m&X2LK@k`!6@xxQ(HfA0}vuXq(!` zxJ)ho^S)E$_S8j=4xt{L>0;eM= zIefHmmPPL&ujPjc1|@$q@g&ijWg{h?iCTV%#3{OdBgS6f#!d2f!Nl5Ih{xDV{K_f* zE|^u#tvM1SVv{9)M?eLHJ^1f&N${GF+L8E{D+LB;XR@Sea;qMT{ zTl<9|{`=Ike&q~*hoIBA4ya6Vw}g4Wa+<$Kkg`@f`ce1-zjB(tM-a1?BIx1X8(lN& zrL+7UK>JC6{$nBUS5ERxpWCX?JC@9+XP=KrzWHij3U_-RdtMZLZJXr~wIzGq-uA1O z^d0&!+#cplhj)KZkXeY~jJ0~Ai|n{4@bu;-=haH4$?S7P&Ege-_nOG<5M;DC2b*%$ z_iu+qs6cpvSWFOpuO8lu;rFuXvwK#X>e+bMT8qhCoRePL#v7P`%K?u%3>MHd8MiGY z5Tu9R5!2h6?n=G&Pxf6Sl_*!nw(;NqH#9Ts?m-&S<*1y?-k%=)k~dsi4D_ zqr9A;X&fpLL?93d1OkCT_%vv;vU~am5q0Wo zw50nx&VP$vJj*anRl~>Cgg{C5V;PQhRlfb$x14|C26WMJO%Mb_<9);aZK)B!`8YA_ zO)o}}?dI+8DG1mP#?}pnFtTwL^!+lp;?y2!I|;e$Z9#0$8(VG);y=+6)U~(>8n34# z_EABWMcr4B`q{I!#m4bI-P44$ZOFmyBrx*HNolp>Y(usn z{tsJQ(Esk)$#{$0SpyXcTE-!#7|L$4U2CWkg52$Ruyp%mCia_<^yhmH)wu7$>_-Ui thnI6c9vSQ`!pjLF5C{YUfk61w_&N)@b delta 2515 zcmV;^2`u*b73dYPFadv~Nkla?Uz(6oyaQD%Gcbl5Hc*)oHV(lw@uPdkq5eOBC>z;ol3f~h!(g|vOL0669 zRw{@!HXpkR(oRt83362?d_hK|a^>bA?8n9&E6Anh3pz6cHp+ zg79plnl3QR59zM8;%t;Mc2);AaFcjW3s1}2cY!9EDKsGD}zCWNla zq~FaWK_@gVLRWuJvO;P09fnL-LZS`@g=qp-qaeVI1(fFl_Ek12fLM^b+F!!-QwFNk z#|cPM{HgnA?`m4m=_V)%7zfsJ0iMGK8g<#Zg24SZk(eA~#bT599}BL{(D08CgbM_9 z1E2Rb3g3-GGX!N58N;9JOgINYJIu1A7Naybf&aYJ5J-qkwTA;=PLS{H=$wjAMkt7wlAnRV$=W-Dv%zPy`iVTv>@dVb0dM&t0#ERi zw`E8eGSn#WYWM{zrUdng$bW~I)9rIAk`;nFCvq}O*HwYK)F%XO?AI{*yx=mGIqXAT z!mBb_J9vLdU0tH6ia$++BmyQ{%L_ak7z_r3!C){L3~mG5)7~E%cuJ|Zjk+}`Y%&Jh1DpGKQjPRJ<<0ctf~DKUg!Iw$!i;vLHbJy zC%rMZ#H0HGe$>Heu>ffN~kt&yc+EbYRred z_;wEw`ociHo95#(&7Uo(4sa7dGOD^$;RC>Ge98qA}$&g@E12xr%pfkOe z_(Ra%t~^UnW6(2t6S2BF2{VpA z0fcgP<;YJ>}CE?fB&@hpF4 zS&!Jtj}WhpJ1@%ORz3y98ybrF6NEKkJrC811K&{F;!L4GThb~YSrd2Yiu1wo7W zO9ipq z7Wq{N&jOo8uZ&#{gc;n*FAJhSirh$Y&y$Eok*)kWg2=O=(YGHd?uSf6GPr-09}CJi z%09{4*oJWn*vgLu(MB0X2xBpexCLzGQ@DXD7#89P?bE>AP7*M56ZozCSdcBm;Nfd0 zFf>BcRAwtbA&BNsMdm9p<}m(Ivyq2Io#Za`%WUPp z9^BBn@3Acl@q&WXiwP2H`3v5A0_NMvcR-i4f5eQl?>*6M4kz1Mz>I&}wpE|(h#`M^ z=1MzSKc5hPdXAC-)XfLiCvV+H_iBUkoNZsoaJFKfxH_6Y9SNYbm1eH{a3=tr=ZnM) z^H3Db$j1ZCt9cJ!>bb>WFc=I5gTY{YTbO58-hsc(uDqR30g=%WjBY+ExawKwkZ=6aBnqNZcB_ro19}; z&hb|PgsQ9VzvR7QIywG2L0vmd@5eF6uAJi+nejz0o|0X;#9xf+Q`{WD-0j9iyK;fQ z3h{B}!MCDaxxilzdY}aPUbHJ0_$vgp{vLYKqO77_xxil`NLGLTfgtoe^`c$5z+WNg z(vAbFFfz^D)bJU;Rt*YR_Z$i-Py+wu#!1ysd8tUXFdYkKyVtYdU;S1i2S6g0a?4 zbWt4V1@2B>@;85rb0-;rf3%Z(c}10u-`Z1<(-NFDB~4ww9p<6x&O-AAiIgDxym@$^ z4cg1P&*5HerWWmC?^<-tB{%`AI+1}1q;4>MNY)N|&{diATSz3x4!tcNbr2w!u7rfw ziMlEa17UTXAndEmo0P|b+|}d!jINve>$lQ^4s?9Z6?A{t>nJZLs2hi72x2f83N-~9`537!7tm(Z_^qQBSnY<~fqmK!Ut$K$lBPd*s2Sc~dCgPuj1oEL?3S9SKrXIq_;pL2vM>;!a;pGG|7z_r3 d!C-vT_&+rQtRTaY@6Z4M002ovPDHLkV1h`G(slp< diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_bad_hands.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_bad_hands.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f62e571465d43781efc865de712da4d6fb5d0836 GIT binary patch literal 2792 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 literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_cough.ogg b/modular_ss220/species/serpentids/sounds/serpentid_cough.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3fdd8649da3eb2a455f8fc0b6e8397145e01c19f GIT binary patch literal 161349 zcmce;WmH^E(>6K~2<}dB3GNagK!U^IHn=;31R30dJHa)$YjA>u;O;Ou1a}gGCFmKF z`;qrOYklAOb$a#mboK74-d%lFb?u%F%2rnD0C>PZ$%lzR;HlcZHY*HA0q5rEY-;23 z)BrD8`Sb-#`_KM-wZJJqasE3!al*kUG9G0z9JR;)ndqMVmBb3`pl$QcnqAr1iptK$ z6!b?vl^hi}Cl?%*l$)fX`NK@$ML1^|rdm@pG9<(P_+@)$kSl4PH1eVh?#NfCX-X3<>z|0<|> z%?SVi1V8{IN^HTdob9-v6){7sbFQF`l0XR+Ql#oPL6q*xmu3#d4aH!GaVC0X3>`$6 zHUMvBsYCG9o(j`&>QG`>5k}@bNL`ZUjLKY^8;Ht1NEM{OeNdRFBy><(5G!=Z*f1%M z#?~+mRN$HenN@c@H}G*87u?JGr$G5L4=UKbh(9MW#}-F^5+BY~oaPJ@^>|@ z4lyAP{U`tOUB7}B6-ojPQ$m4Uv88Rb zO=gpIMU(wV9qULP`kyWUI9Qjblxvew{Qt_9Iw=SLDK)wQ zXI7*?8Xg3|*7U6!Yo9Z(j0^98i!dz9xJnKsDU4kxVEti^#l-;yg?hPa63@r}uyG0-Ff+N6Qr30A!vICV$it0251`hb)2qcO+Pc@VsrR zjLD4iF+t3Xo!m0~%$cqTjZB8mWoemzR?u#oWDB;IOvCAYx#^P`F5`0O8AX3))0G zfEi8jADc`vjpiE23Q`hB`MbdXvK%M;fq1f^csltyI>l+$v7fxk=e$#RQmVX)>I4Q; z1dtg*3w3^j89s{{O^Z17T4YIhHgL`M1Ne7oW5qt^dx z{Hf=dzH*UCz^ti`Rq_1q97U#J3U!qt`tJn*0KR@em;d8ORMpt# z)cEGq*fcdn{?8TzyE@0KIKvB5Y%%~q0su(V?&=5QCOE4AN91&XOnaq-J51*Ii3>r4 z_-g37O2uYCrsrJExI)F~31nu6N!)=tlO3+HOx8ol=|GgS=P)mvgR~JWqC!zYq@8D{o$%Ib<4mKnTbyb<{};(YXDJevO|yLm;_T@8v4$`xiHpR13> z-9)BfWLc|%I*erPNrv58A&%(Cp^JxqLXcvG06+F5bKP+^p{UN9{`mM z_GLGjq)nFl1cJA+fPg+HI=LC)iF3&*Ud`k!?UZ8A?EUoO@^a=UiRZ#Fb{K9_%%9}u zTW6FXwtjjV=&2cE022(;bUCb%op3i3{spK2u5hltG!r1qCGi5~nCO#afwEE1E?MG5`Rj zU*P~$U!~*6P^1Gh427kvVpq4(`JLAe*#ZxMnh9R;U7gL!**6i*!Eh^46`_x zwqV!FnIntKo|L7p^+zl7kpE}}4)6^H6Yv(1zcTin8ZV)?^&k*H1p^h=b82&R@j>EX zd~sx^B5YVd#rX{uB^is8F!Gwy13sX_HoJl(Gi;zum3TPUUSZ*^ZYZ|dxSU*BV<}fZ zSyF-;Sk)|AjIpSZxB&Pu=z|)VOFCHyiMj}C8m*S01_ZM86BqFoB_)|wa>3>btm@MS zCrv|>bfapaj76^8{UGqfnBbmybZvhY8sM$XA=vqk;oZ;o5H2pTNy!{7>{Ixc4W7gKdIOBy1;qB4N?g6B{fj zfqw${3n_jEVie}5Iby?H260c4ORN|JeKIO_Kb5Nz?6x(LVX6sMQ?sq|92Z2UewyeQ zZ0APKOG?rOSBIzondo6SabXKq1HyDcoasUn`~e88YFtRdr4CL~1GDuPCPf#))D_M3 zvdB(>z6c7d!6Hp?6>JtUu$WUHT-K-!Rs=HbxY%*^>w;lWpf-;xdr||Z=Q}_E@RL($ za$$Y<)VDu+_zVX?7k`@RKU=$85izU=+tr@p!K6P38yEXSGLrn~La++(Aj{>c%TvF+ zq-jB46uL4_%o0i5ar(j7>kl{pZcjhwZRlp zl=O%9&p@!*mO%3S|1H&i|0O;waSr^m`Hy zWBXS>ag@Bj1HlB)!z82R!PXOImjM7;X0~1>o@!xu8GLSqw;`dG2mo=IKazmmaLb4eIlbt%(>6^QTlW@GOw( zMGMZSJ>3_zc??&71}rdqf}7|7sae%$D8&=L*3DvSq53Xt0IFBrZ~&(+S@A>G9w4oQ zFq{N}+S9`T)pLL`a=?2JSC|$8p8?(m5F8J)RxL3)9MW;zQ2jt5uO%UIW+LDb#JP~g zXw*h=vqpU70r$tz1)u`}PK4m9TIetp1AP&xggLg0im4q5x2&KwS12lVFV!4~J0#jP zK^K)=LRK!KDp-kWyRaXshLWC02##S3QGr2;3K_tOP0jQEEgU}aARypbFai@G_tV!& zE`0=qZCq|tbku=hmuZ`40PNsF^!RXXbX>gh_xYwm0BwEaL8Jimn3#qrw0-Wchz2VV zs$ePv>hL}|{0{*^cn%($7|JbOC_++2n6O<7mf!)f{Urf|iY6mnFcvco>jQQ?P6BQs zUJ^dRUyqIufCUIJM+^_Qw2Uq2*?LANX&zkIyNy6EMGte{Z~q8Ezzzrq_)~kL0|Nd& zk_Qm}X#zYwl0QA!SFp>akZM0Z<~%;)JU#{*7#kbdm}<3t{`&aXWM*R8fG|X8HhK|e z){LMNrFSEQw4}FB!z;su@SZnWV0ICMqNE%KDll3|;2ftzSkFnHhNcBt^~c5|EAmT+ z=3468U#cueIc=;$WPP`5-ktNhWO%W$D+BOLbo$ko4<72GtiCia&zq))ZtDzGkcqhzflY1L-g z!x?w6&yLvLCEO)kQNjN3v+=hX2GIg8ML$MRNfz$uKG^f>(UIM`M>kAcR1B|e_(%PG zo0|vE4BQ*O=-v(4#I^a~rVW@QQ8Gu4K|BZh;U0-nc?MuDa3QqNdUw_3PUE3i<7qwsv`bCHiTU_aD=a^ z4MJ9;|M=lGs$O*Ft5~ZEDOR8KE*&yztyf1|AFZu=;B7JRkY`_qu|$6T^o50@658U^eIin zN5!WmKHM~~-(OT%RT~(U8Z}Q7`%8YsAGvwwQTyHN>^bMo(Qoy)z6Ku|HeX`KC=gI$ zDUkk1%w4MYTg&juFb6KmbTlsH4T(X6$K@^B)H9#WD~*+BTnXE#J8pLWQYrql?0!>7 zXXGNZZ}Fu?&2QzV*4~D)4XV2f4_LdH>G0(!CU$8=-qklR7*>4q+5Js`{Bb{Sx^sL? zDduEj_C4DE%@+6XHF@omQ5qiOd$~nhiR;pCk9|OwOOxdDR1MTFRyLl*C&L5f+gp_1 zZ}4sZ^iqcFv~$r>zn#PyCR?c>UpF48A)|;m4@T{G<4<*>H8qgD-4l{T)nhe6OTZYe z6Hm03973t!#u#kgSu+fFg+8)Uvs%+}7~sQM<3uu&eMh~=+MHWlZ}aZ(oSX`s z{KPyuMdXdL9;J{C^bJCkj?DVwqM?FXKnTQFXH{PG{@sS(shGV^vfsLBs{y0+P*)iF z5-l_yPBZ`;k` z#Hh1h({K~Fx=wcTo|fmXMwzk=Uig>Cn9WIci}clQhj_Txf-w?JoZl&Q`;XzK;GIk8 zLs!^71X8z*fi!iShv@*uv_D_UAT2xG3K+N_Xpdrm2lQq;AJ}lW;bXqjSFNhe&UW|m z>ULx#R<_#yj9ysLoW5~h+e);MFY0m}(9V(wlk8L_gg2v9@kk++9_zSPO$xjZlZ)SUv82)Hp*Yw>wsFej-zd!BtJ}? zA`J5Aeg?oac!8v@{bJsbQ0|CZJkNWf)9lxVnynP`CZ|*{?<7|HaTdQemZ)jPL8%6Z z0^13&oW-1{G-J;#B(NJ4lur<#+rS^lPl!5$l>ib^GSho4b}K~$=9<)l&rLTadW z)h4aN({kmKF_zYb8o1b4<`q;IhIoOX#C?au0sn=%Di@>G12u8U>IOBBNmQofkK{py z7K6R#AHP%;GnW$9Rc4OIIc~ekK(wM2wAff?8fhA6^2m3ilCetuJ%X(4Th;Dos52$6FU{S`S-r0Gd2rS00S)^=fFRlG zLoETCib6GVo!qCdS-!Ng{mcSiCHA7=T;2jd z#Ro5Zlk}j#ATGa70zZ!ty&{m{Y7O&#)ZV*SK+5jkq)%u@u*uJg`c2$nj(b?^2}2kP%lGz7Mn+ShrsB_XG%}P9q#K`Afwh0A}$TEk>><=PJjdCu z8u!zlq~-b-Ujd{0yfOoY&bYafUHhY$CfhA0V+bq6zMl!3p%kI8$Jm7(#>6;`RLuik z>c+S@(CEzkI%uisl8+;H)9JDLt}Z#qanbD@f3?vBjFpgjQA=?Z7&1nqKeMell}MF_ z$TkI-{pMz6nrJBrA3EFFbrMM&y%P`ExP4c#xTO-FCx;qTbA&RAAJys_s~M)sv=sQO ziIH#17#V44z&y*i=S5_24Et1|bdegZo&J^+o&w3otbWrsILDM{sC8N&WfB{#svNs}q^PUvbL|M42^x;x(qHoHk(F zkV#wq=y@&5Wvy+fACPzZ4y*mHVGz^wta61k>vseSJ-_nK+_y-9_1!nT{vN3_b)qLX zUvg{=1oe)bJM4`~SQ`^_fWoZoCi6$t@7i*(0}QDhT~ z1cxR?|51B24slzW6CV%e$LUvsjy`js(=E}V$Dg+cWWQ$!I20&7+4I-t_bN_?@8`Ch zGFIJNMpvP4)*t<_oP183S4rcV2N)eIns0Wt%noW^y0nwu-rrbM?U#jqw3cc*1fqQ$ zpDKL4vD$c~X;#ND%!!eM-{th{kk~uYg!ZzfMUi0afmI{ika96~?OmSyTU~qkrE@Hr z&?L>9CEdB^ar^w0=nD;YVb+OG$ESlM|F9SAZWb1R=?k8U2Ys+f55!DHS+%nz+3&pu zATIMR6GYX2q`y>^Kk>yIvQv+&sy9z_m3mcjS6INvyTip0Yv14Wh9*VuIqwA#UJpR7 zxcAt(Fr8UVL$cRx_KQA;nM^Tg^LN5tFC)}1)tCEfc){fgxgmU2LiUu~ieMBLig5<3 z#FR?5vAB7E)uowzbpF*p|a8C1r>b3>?o zS4p^#I>m{GYPuuxNxP-&B=IBW{D``)^e2SYZ^e-ej98JX#t=ITbW?}UcNja3Db3tg zhm)72UZaggU-Rbn`3JJ%C^1M$*9$6)JXF?Y({6fFfS42o7O1jDP=COCG#^f^x3oBDK8ii zkA!4|ZN}iW?0Y^RxEtVzB_)q=D0Nm7UQ8EUpjOYD`MvS-3hhhefZvIf{k@{ArHcKy z>2@U~`{IOAaPE!w9uz;K%T5IkGCWOmFj?@jNu#DC<;*uTExkMXb#%uja}Xzu-!F^a z-W25c(ssUHZ0e;=&Pe{g(mmvM>-ny#D(eO^lcQ6~N_UkRQz@UA+00{shANkncY};K zziDR!#bS~y@0}Awlu-(iI}P3r8&5%mPnygG#Mqu?1&d9vD(z|4i=hO~1|AGEEC5Eg z@51wPM_3S?`Cn=wCr!0(lPeGlW^@|d^Bi9D^>QKaF@mmDv|3~P;zHO`H*H(TKhuBk zI}k#POY3slnI)05TiB{^od=0adiAnsqb%tV5D=sYBNJ#GH9&Hnqb!quf?L^klU^=B zbrH{9JBfC%s`u9bVm!Cl^40wUDP_CseH32;(6`ZSKq*ME~*u0?j1 z<)?z}t-0~#BLctnT@~;9H>YYp3PhPUboLhGpiDVdzuq%xBT2w-Zv!*y6q#*DRkrBn&E;$@ru<64ns?=6$z?)EwD33>DM zDs%L0&A0RuosPQFi!05J_Tk#f5QL90$6^ofa01sj&=LNgFudjb&k4iR>j1f^i*dyD zpC2C^A0M$EAD=y*JwB!y8yM6yJwAS#1)w?VGBxBNERD}{d`-yY=WV30elY`?Xm2ng zU!P?@nxCz~i^|A=O7d0ARlba`b<5aE%1+J5FQpTol6H`4@-~_ots{*uYHhq%xa3{- zt`iy?ViKgUD1qpPl_?!I>~+(U@d z3P*xoRaw`t>CFlTUBxGa&U@MUvgCtn8{>289TcBm4*0fc=S5VTU4-3- z4zkGFXA2>ht}n*~4o2x#PBx@9MMCvo)0W)m`48uu>xdj_H%(;So(V1MSY_T!LPwJc z>S=8CN@`t9*$C!rD(->tDuhy!I}{e%SC8T(s-I0Im)njmzD}2a|COG973q|7i=KL? zycDI`bgFtG`tm9{JB#7Vx^U#u1u{y(?GHi0`7_;+U#^N1VNgn*5E5w;Y4q3awPHUO zZr>XCq_HBh>Lu|an1@Idbn%iiExmO_Sh_H?zeLJ4u^MHZG!7`HJUVihPlIfbSV#~X zBQkY9>ah8>JI;siSNv|3QJ&X&Enrb*`@crh96Y0~PTO3F<=YJhL*oILTo1_j9Dt1*FHN_NjtJWY}E*$ia6=mQbieJ|;hEmR;)|g!!|Xv@7>1aH-i!WXA+z zfPzd*0H4{Ok9|O(&S!g6wKO3}bDw^N1dg}~x8MfjoQ9@OgcnIu-=a`MU{noJjT;7A zoynlUo8y9u9+?in?;%(EzWyUMnm(?+!?Fpe@ljek6R=yH z^J3spIzsVlcw@-GhxoYlf#F!FYTMjtRX-%7DMCLdx@o`Q72Bc&a5@N*dRje=iuY&F zpR|5+e`HnIP`CTrW8I1Qy9laa$y|2r1KPQN!rGSlM!3;73ecMV6xxQrd7TS8%)#|d zSj899o`z^u=Ju&bRv_owfhH8n-Ekg5$kofp-c|9WdZZ>%qU)5hThK-NChbf!qoxxs zJU9^z2=t&;_E5LIcm{`4w`uzWZ;KFRz4HgpS3+NxRnjhCe0&0mgO+ud#cFHg*YlN^ zm&luh^7b2w9kY!&I46wy8B7$}c^8^I18u>_m4~)rCrmM|`HGY+jFBF}p28@NBfM2_ z8S$ASHq$Qh@qI#P&T+*Ur&s%Jt@@qiY)yVhF^%xxvUoVW_KMdOgra>sJO@^dbX$9P z^lObhi?ns%_8r)(EYi~w*=zWAE4rtkKw?tCc`B4D7a1Ebn%QgUz{2Z$v|P)7e?x0s z9vRMF(|a%3VmqhJrAmtNaaLFHY(~B>Ns?YFWZafl$@q>W_;y1vMht)34s|>L{>2 za6zoedt%&#!cvNFkCz3Ghp`X_o9edDwut0$RO4JomA{%Kx9+;!df~+FzPoQpLEqez z8ZDk>X()4#nfk~$NL$(atL=kfAS$pn`_+54nAA$TD}V;bYbCIJS2QH#sCdo2^$Rvv z4u?82_8V)Xoh(BYc>@^YRRIklUQivhH~?tpaL zl*ISPKCPO#x(AkDY%xDx3gIDO&z8u(?jQ5!Bl}1_upPLz%Z5>kOUFG;U2-_;pODW8E5?wwWv||{@CKysQMJM zEOC4souFP#;FtC>DWPGgwKdkh!h{Av0Gk)iJitLwyS@O{C+EoVw z>@~%q4^*VlufHjMo#Fd3W9`$EJ^9ln=slSy=L>Rlhqt6)6KzgTm^XMv|4<`l3^1C( z`o*|GAX#9tSrssdJ)Ms3X-_RSPUSr*%M1S_DF_l&0ZB~>FV9Hg=0O1jq-(mhAm0;k z9bV#AT;NiBu71_w;r9Gl3?e-Fyko+Ox0%P9H$<8+G5v0b=PeUgi)Wioi|h+P?Pm)Q zR8d4oTgnb=<4L0v5H6~w8q>SXLsQd5C*qeFRiL?8FgaRPywkV$<>*c})OK5=YHzNW z%Efo59B?3uBHV4l(UdpUo^~eeG0)(=b6vr037|WTnGH~$$|w9;GFsH6-ghCSL@mrs zQLOewh|*Zn3@-By=H*>NY`K12ke4)E{U1t&dXfMKwtpn>ZxuDK>ff~R6=wY|{#yNB3jgInfXNElyv13*suLU=!OJ8` zU^E(6C|SvO*YX+YVQUj2%VG2x7Zg7S`%FK=BXp?zRj`_rCWO7RMo|$nh^fsvM5aws zGEfP-OGBcpWT4iP*j_WKoQhy4K4=EXeqV(=G}5&-+NBB*AsH;YA3*i3;4oj0{S|xa z3o?^U9R*=2l(-M<^a$qSwoc(&Gxw>d43n3il5sSQObjMO#8m(w?kJXn~SG*SylWz~|8^={sZ-992`agGqIIpzQ!p2&q`^dv-a& zqO9luQRncv=U8%xJhA{lPcNZ^NPpYM*^3v=npP27hdpnS@fHiM>(09x!x&O}L)oVWrQ4#f%%JY6!L0jPWITKoy)AVn165vcoT1Q2KITia`&nE#8B7oj&kdBd ze`Ag_vM1#CLSs#q;v-oC)g47TGOr@DY0{Kg=cC6hRhDFuY}A<)e;Xe6Diiu53@8~0 z--ssfSTj2&OV)OLN9M*$<~G0lk$dU`;IJ&k@mrom?gj#>s;ZMsmKgog)W9rA@`IjK zbAd#$HN(tR$-P#x*X)m)Bql=rLT%ff#?Q0nr28tjg?!2E5IJ&^>SBCyaBPsG4Bwdv zU+e3x*PE^@fh(f$fRyourXWMlRO4{+1JFkF)V6Qhl! zj3fe}cN-OB6%Hgk8a)o~rTBoy8U0{*pPmE7L<-&|LsTF1v_mW@%e){?zsjnaDDcjIWZhN$d#x~9!C)(g=@S=k(K?& z){?NW33GdUh(^7xo*t+|)qVD3r8n#)pjEJaWWJKf<*d5Z5|I8#OE+1`(*7)A;CPv* zf?!cgqhz3$`Ea1;#-qX6i!#~rl1&iqokM|Zh*MnaZYf7;qr(J_fA%S-gB<+=!ak{; zz}XkGtQ<&Y+4$lX6{CmCu3;(%qG*i&9(ItchRcG#vf>+sh>dPQm1j08V=sdIOD;Di zzuxSVF$8)3R>U3_bop?<(M|2^CU9Fts!L?FOY%JPgr*%+=GCyz(#xVqTb=dGT9A^_ zWku@2&B15Awqou>H}5%3{Hkg`-}UJO>SZn+^(z0n-N}cOX9Ot(DAIgY{$&S58B!kK z+O*P!)sGr>&-WF6zbQ!VYO#B+u5iaSE41j*cOZ*46(ZSgx>D^xVjQPCv(~wMAKl#i zgZ*gob|ol<=Xw+?*;1dvDN`5l^MZEb>{a;NOM3wY??bcqh1K8NApRD*Ds0xx zsl^fif7j5ml$TU>TzZPDM-jFFg@YPeMVl^@(n$O7+j5UuqZWk@ngu@gY;yA}x5 zd!}ybu0MLKQ-VYdy>1^NpMBT&`ka?t8||a!26n*>b$QhXJh;p+8Q~AsHYnAKlP#%d7$0aErCBTJS-kH{T9Ev$m!D+44PEu8qv!%f_uO*(H@uf4r5om6R!ggN}a z54c2Pth=Nnb6WU6+;#{Y`O!;qe?4_yV zl5VTzX(>rxVdh0U;UUm@I%(Rkt4B6Go~+{&5x&M04h{}bPgh2;!H`rYB4%k=A&gD) zt3Ej2MDIS{2I6se7%D|gso`5nRk(`pD@UvF;taC12n{XLILu|wz$c44dX1Fp`wH_C zexgFhh+YVHfc!GqE0vo| z=jO-9+Q&z{$H!6APxW0!=7t6aI%Tk*bZB`>muQgLD%13JG@j2UNcbcj+F z6uJ6mL|S~-a6Nr$t(M#AK%*b((VP5zcb$c=M{Era^Ej(t-qRV63#Nudz^QOf=ZnrF zU+RdlW_+fcr=4XEm#RP8TAPY=YpokBXRSZhQ2U&*aj_uGIX5gMg%3F_D~kZCmd(!2 z4rQ2TXqlxH+Id1Lvkobz?{i&u&%!&>)xfXmNS%E$2dRPXd0BW*Bvk5rVuFWpmF z)BLG}!Ub>NRwj*g{MiKn@?85JwlvK>+#%TqW9mw(2C4W<(%$s2iR?tY#`NSer3_UO z^%qj{GnH%%=aL|I%{FW9k>TwN+Xiwe3rSF=usYNDnp7SuO9-Pxn~=y!%tJ?3`RW%D z{Aua#yyrHoNHbm)SpMw?YHaPI_GRQ@uY|K4O^%NDTo!y|uiKT4oxcs~wOnavOzY5r z+qEdW^m%j>=bqmt>RrqWW779?x#DG%SvHj#s7GqTT>$t1K16{D*6VnMD!By+xLjUJ z%fikNsP^e?jRRaGBi14=?4t%Z?DOTn|k`h9<_RnC}JkAYQ*KdKj-(>`el2k=f5c{v3QAr=07@BR}7g<$3jFp3+f&Dvk&OiC~VufGDf&H zL~Sa>`0;vd^dBAedA(4c$ePD=H*|EJKU@#eXrIg+w~iYXG^?#U`?ShAkR2oOZN<~S zX1qwy`F^DNplHe^9C^Cl>}IbPj#ea8{@x}ItHM2szUU<{&eFvU;tGc~s}TAu)1ejf zFNd)P-M)aI!!rbfX|H`Y)IM9J!G29~dujW4J@Ra7IbnehN#gr09*!^d5+&}@PXQDX z^ymX_K;XwZ?8WRs{rj8wOlMp{qNcDUHzRM0xYE^A*#?JxY zf-f1O-j_!EUP3Mtj75aj7y|Udn?YWb-(NPdlYpwCVqbAsm2B+t%YQ{6yt4rQoZE9T z3+q;_`fM^KZrpzzl{i1W*R?yB&z0(R&YiDuS&4P_r3Z`d;)V!rnkW;V9qZMdC6ql* zP2go6n$bh%;iQxfB(MCVep_76Tbf`>>$Zv5h7csSD3D!GiG`|7IK?TlO=MvC&Tm;` zR5Q#QFMY(tF_|_0j=`NzrtE6*mUV^NjG<`wH1a_~=LgN&uU{?45Z!9sce&lyvGrij z&?yEIRq@oWP5nMHN}$odsApGH8(jh$MQgOV;jWGj-JTp+OX6hkXnwWN(N%1k<8>o3 zWmaLmA0m1s_z4sw{@V7})H`meW+KCmmxZ^yb~>LG=pVTCTR1LJ9bWKpS1!{~H^PN5 zPTnl3V~T9}3v}GKuY;r39(Q&eAQdf@Murj5H~4BBw>G>DKb9nRUfXIVm!_`yWpBUB zu4Wx?AH*ifkERN_$$6|Q!?CWDGc&twN3sg0@DpQy^KJf?c~P~ z*D1iWbJhQKq+jXxRV>X3xzuz+2Z8Ws*h5M4BEOSnNYMvfGTX zjL^;p_j^SUyCXf9Yt9kT)~p(3B0XisvE7U)nJHhho>ca2XuBSF*mdL7W>dMPT`*3B zd$>%b4@D7MXDBfJ(Ro=wFP`ycP@cQyF|2Ze`8!pYK!6Tb0C~Kpoqw`oxOnv?lAyPn z-lRuOqv88zok|4}T6sE@*?A6Fo2D9qLcolohI?gM zA>9isqh~k?1W{suZ#YkuTDkcMWSABOdms^p$#XlWBTJ+OgFG~hept_6y|Utpjd#WD z^p;($CRSUMsdQ76X+uVLXP|o5Ez63;NM^;{@w!`)FVFN4Yk1muPV^Vz$AkP*4+XTb z58fcB<#&3?wEdEhDm>>*d1*@`zLgM$G*+CQ0%T zqesbRiXZa1Mac$CKZ(mo^h(+CX}_Rg%I4Eb)>U%t92oRf)e`PApv+KJjZAAeM!ybj zMWFW8=w%%Cd;4A3k@lLc9qUZ))F1tX9+gX!YC{Z!`r~Z&cd*Y5(?#>rS=`UXyx^a# zp;xvR?M)gJrtcx|B&w;>^w+51cfrlxhmuE--nI|@uU$&8gT(gHL&_+>8Ure8$1ob3 z#K;OOnVzGEvy*%lM?leCjJUt5{<@V;eJS*Er0TIkuFu z!>-P6CH3g+vj)ZPOS1#xb#Dz6cttZR;7yHpAt?Oru+rM^N>i1sj8K%3%%?YVDRbM5 zz}F<39t<_*D*W&f=$=|VN(XRLt@aCWV(|aa`t2)T=j+SG7?y@9CLga%*4^(1Epbz1 zbFal#yj-_>!ExC@CPJiIr5Bgv)@osWQqU$N{zj^8-?X>L=+SS9XPZ>MzL-ehN6zr3 zSo;wu+Y@AGPBn>~%>8Jghv0z4R$4}1D(%7B&O2X5Kj{XIMuI2I7P&e(1E+@_bDJ3s z;(?0J=K}RkD7mioTZ1>ibuB4(5Ck{E?)xAkgBYV~+&0ZU7fUw8sqkm-13M**4E^wt z?V2CgclLKFMjP~-Z~5*5vtrvsHI?PSU`KO0M`YE5M`fOwG+Vw`zTEwXr z$M}GpK=s&{LpDLX%foZx#ACu=Qx}NM5+7-%4U~O#iM0fb6dcyXOZ>7UNBS-ago@US z_|^*8ie_h3W5xB(Dma~p8%tKfhTUPI@D*{|&8Rinq9IPErgjY_Q*zY|Js%6$bM4DK z-(Q=@vK4&9#Y0q+{8ZE&)`V?iH?!yfZ|5N{t}8Ytg7X$)%qaWKHF96m$8wXdSDg~4 zJLS0#Bv|Uq`JEV8x)h{a$=Y}IDPP>~`K1}_I0_hx_8UeJZugr5*eq?D${AW0T z*$s0wuGp#E+>Oo+?SxDS8o_4APdlP-3x!AcA>za05k*cNiHK%}_I?<+_EE3r?^8q$ zytd{i%S*sXR#<_$WIF+7%o{H`M5SLJncW_!_>W@16_9n}uV>`(Znv@ZZNMMjuWY0; zm&`=wM%|vxX_kM8V#4&$#8VqQOmA&WoU?_fj%t=OMq=xfhDX~%m3*_ZxQlechKCBI z`iEJ;6SGh#Xe4@AL+qp1;cS-c3GI3K;?Z}(aZs7HEqn0nyG1XH4;2kR@*&qZcYNd1 ztnf*JCBtK?JLG+ZVko?m7})>d?fs_wtiz!=@z=psr8ZtG1|ou~OJXvZ&)>f!Y3h_* zS+=brI=c8E`!tyJ+A#i*#e^e{eXW7lHUYPy`V^lsBGV;*3;`d$`B)<4mqcf0hp~O^ zMZI}ElatrnoU~}kGbnNsjEUiBqYax+!K96?#C zsIR}->$oMb1JD6*u`^isJxe!3WkisyBb=I+9#~WA(~KxU7_y0vig??9tteI%Wp+x2Jp+>*L|MEkMs7c^SWe0KgVMwwoId+~V+rx*LeS`C(yEg(OZ5N zsYOrgpl|5)&Fp~n_kIx?uc*wtxWZ+>*`t`AJ-mlA0J;lJ`(i)=FcP@3McRg(Hpo|GE@5+uP_01gu2w&-MQYI zb@)wytZEjDb;wG}nTE~o?JTGxD;Xo}^Sw&1aBmFCSgZat7z0N$q@ycL6IX z_Ys#2PbEC^>s54t#_R)1T>J=*fe_1XxnqHj4GK9-M4qW>nYQ2roxYBaf}IKf{3+r_ zR4)DQ27Rk#nO6fxsI*wN$O9XdxZKq4&Pq z9H(3W?$|+ZZzM5M+{)BFv&IjfdU)_Eid#}I>&iUn$*_?wK$}N z)ICrue<6FYS(iQ`(&4o@9$ndc_}wg=ta;L7?&_7D9XC4T^cq;!g;zvM=QNj?G|%{} zmqqL+w8u4~=qqQ=2m|Wkfb;NP!5j1`$1ka<-k7%;al4xiEctOjHpbC&*k1)3%(&jq zw(h*#@?*R4Ull@|5x%B!qPSa)cA-Utzw64vaKL8tFwwIh!8Wmp&6_z@tNIn z8yWg_qQOE?9W_2AzEjCuGtj2tLv;89@wFPEiYpuX&8z(HxAhip2JT2t zI@?a7S^X)@t_5Q2M0ECCs)zDj@2;oL_n=!^7Q=a`9DRl~!dmkJ+VlZLnwnytrW|ds z7^=oNwzR-eBq$JZECN-Kl z&-rFd*)jy9zW#pzctD50Dy_U|rO18Erighv?0FpV8hL&Ex6Gqe$muvn?$PBjPyUv@ zI6dpOA3c}V-D)`QU)yRnvY_2fx$MIe3Iplg7TJSvJkaPQ_u>_`oPWGtKYyofm|OMPE~d3XdE0htr;$1Bt><0QZF>^M+-U8S>U!#P zHqooK_0~P>OuI+13UTV!=RN($-}B=xlcrsRV7oaz?gyv?=S*xTKr6!MFsn|oL~I$q;2_En?WhMJ!V zl7i#<49ATJZc~&ZSjO8pWu%1&?CGeEt*V}pW>DfAm;)W-;_ir})?N9-x&TEC#Zg$f zR8~)}-soh}L`>=dOU}Y&?)r&wLz?g}mgZ6`R`M+3IZR_M98XZ zQK~GCj&V+yrWjAHB?0{LU>7CKRD%ejp)#N}5ZoRL=JN+sJYCLCeNLPyWd2wa%^I1j#(L9DR#T zZ?1c-scGo0un&w90OaM688}d|g*&o>N>NDO@PO~GZ&NAa!+3Vk6e50*OF^y#e(JK> zGS0e-V-wn<(^W@ti@orSRF&J*bCicaR}!M;T=|^__5QmwBv+y!b(UKM$bS~fD+D`xk{@Na> z$%MP^^TiW{s*7#o>b9D1g<14^a^g~F^2_wja+>qcoE?9+JpIyo;C#1=JRh&}xJ5ty zRkVs$e^4J8Xmil3{#`_NC9 zA#&wWh!IsGSMTr_05lq>&ZO(K%oKr61db||C9Oa0bM{;oWHoznGL7)RQ)hW{JDK{> z)TuLB?@3MNGh$Blw>r)L*7TwxQc;9GkJ*zt>aDv@R*@M|-bJ)RP&u74vbMGQ4udmP zkyuOwgb#DfIfP5CFXET?*nVG2ma7)4yUGFArx%!Donv3Xa^O!o&=StGC zdXEZ44WXW*ZrzBJ(~gQ#ROF~Bv$nQ=Wjt+))lMtwsVGa;YHWpK%7bOWvvy~zmF4YF z=j;DG+h1-!TCacFlX>QNI*v6HhkN!*v7^v%Zk~}6)xSq}l$MlB91x+FMdmTYmom2R zdM9u08sqmH&+Mm3qfbTiY&touF-QH{;b-1w@HQBs>9tgA(=L6UMSgc!ap>%>xsZ(r zV|u!Y3S=sKCo@;k3N?3$tTRC6kHEu~TGK4E&t>0v0_1b!U|mJ5*?Cgmy9QSjyT`a) z%e^ke?DYAxT;pz+xApl$Yqj*p)*h#6OwU@cPtnIGTj%PZR=@JAO6$x6`xyj$-H-7! zn&~y(CYNs2)cKV(&^}&9&t^2P&nEFv+P`z?7S1s*x244I`cBOwD+58KN`)c{k$+eq zbl84rC7fj6#yVkzko~voR-?Grk(cQ-qm}kQ)zLGHKV^}VcZq(&BnF{7P3{}bIT@+!0K>=> zJ-;~_*#^wH+WYW%pB}P{3?rIx5_A|>E|odEK?4v50HDAkC27?SZUvJ7fWybHI}&2j ztCV&D^X)8^TWZa)ccmDrjnaDOd@eanRxj4+BR9NDz_ijTd96xUfe#0Be&$lPI z4cs-3ofunjI}Xa05)RAohprZ@r?6}OF;d7}_pvvAbggT?wxQLi!IEdIVC-2_k;2tU zT{j{$pe-_mHw2_iWAw->AXb4(Tb5nlO4--1#qpwDpamP@88|H!V9CYmVYq5uZP@Ch z^dAGeGQ2n_Cqr++GLE6%LM>*&pcXtTyD1jG9JA$fd3Ct55w-}lu)Mfj zEcfIwv830^tIGVdkdBR&P*(qWtZhG+win~%VJ$<7L2f(7Ce2pnskFUXYObmwk`$V1 z^1Z`#QdhqjLVTQtYvpyWtBs_7Mv3rNhOVrna@$FHP0Zb_+i_9e`6(RQUS_8#l&>=j zT1pjXTsEH-d|ojjG*ye|EBz44u3tNFKd7h+%{yA(I_vU#eb+NTMYX|wFe$rcTfx7l zoVs-l9^+VR`d$<-R#o2}zW8d=aZccQ+fz}W>#uih@3^v7`oN73gv{dH$t~XJE3@{i z$O3)NS&s zi_>!5<#g}yYV`H?3T>ZM^Py!%R!^0_(ek-)w}mz*P3G&dJ{inNJw!x>ZJ_FxV@i@EvwUS zhmpxH-idmiq@N;MdD72p)VX6R{FMO3Z2Zxw`%MzQJDfFS3Jd`LNlfK{?R=R4{!n5m z3ykw;0QerrxMh|J5qVw3$t^NP6g|6^JdjgIKrpxsHdv{uR8=XfP$mHYu#DtI?XK`2 z9n#1ODSMI!)oF>A!G>|9mdkbOB}X7N!wE#jyDZAib zIRVSIo(bh>27hJ%o=<9!HH3o{~we^&BR;H2x_}W`(>T+6vHa3Zvd3)uOCILqefFT(hXY zbGPrQjLB>tGH*2*nMA~BZY7wJ`XGmp+*1fHt*T(Es!}K`lK|kiJ*{Q@cbqTmOLNAv zH4CCrJ+xHoFH{10ow8k+S<$9>S+eKD+vt3VHj2n4FX(5l-5J_dm zQdJ|jZai}6sN>ZgtLj@6ree_Xvt72-8`n;$TdVZ4zPuJ?yL4rG9EFe(x~JP|M2T^v z@2e81@wCw4Kv!K~$@Ns0e~ARAmF#f0a{KL6Pq1OCZY>oQ4{r-P()amu)sEv`e{SkH ztIAbCdC&Fb(Ov&)4sS*2#~P$)&{{dH?IA0!(aPx~u1ZP4y1P?*I(|>ypN}owZ7`B$ zIxElNso!&y8eX_NLEIy4U1|(NV~s??P>0W8;&eT>aP^t4x43R}Rh#f2#6rRbv>l-pu}cp#@Dv+Y{!Z{pQ6hn}N2OuO>fJme-TLk`J3g(R({YE`I} zl&MlC0fb$gWk-C=Y*ZodPbhP7uziO%#g}7ywO-ao1%`9S8zm)tW@3q1*+V;Pv?8HE zRDtHLF0&v!KZ}!BJ>oE~Yr-HXcegJGc@dZ7G6)s%?j^D+>u<(ValcD?zu(26c+B)|Pc?@~EcC&V840tuCYrecQ@d zxsOBZl-8xTR^n9AR=6nCqN=G9v%~?yX!pihIJ38-p(ed303#M!M^QZ&A=0TTfZ`& zwbc#(WwEVDT5uT%Zy1(2T^7somcWy$CWvuEg^C|&?$TSpKx>eCr@qDU%4K$wBJ9!O z04Q?O)8xdlaUO4EjYq5(+>}8Q3>kvR49RE#rf`oL6En$N##*qA5Le8gwlJDPB6RDh zwb1$SZj6pt@B<&L%W)eAiFkQiLL7MS0t^rY&VqqbVk4saS_lL57Q7wAfR2EU8Vped z08eLUQvd+KdjJ3c0001dDHS*d0001sdnBtE|NkKW{}%uMDgXaF|Nkxj{}=!N6#xGn z9tp%W!e$EItAXs6TNxC*(KT7bwET7@&92h41Ws6%yfEfg}9x`d?Ws6JhJ zCXG)^SnF<>Ddqpx{n18chIewN1cNe&?-?9r&2)myrgEB&RtWXI(;}>U>aGJtOlU<0 z%0)610C(d?kld^l>K)m0w2s+!2?3QD~C)4J=`g_}x+R*6he zrQRQ>S5fS;689ypacw#Zc8MHLMkNFXhrIIg@PztONzVctQ3XiMTz}-HabXN0kZxGV zbvLX6-#L3hP0t>@Hq7(whkiNABRMgy}tq9d{J$`L0s%cMOSx|M--vyHNFj6<*rFHr=F}$SFkA#-`*!44nC1yM|BAg^}Iugs$8@)Z+<%-&> z_c5d=5SVXg2SYfGMte>@Fp<~+fD_H$7`LuE$&M2xAQff3!_Ug&p5-b7@BTEIFhV?6pRdinUe35o&@n7|G~5I*o?o zX5B<@9i59Zki-BZR=TxY5or|5OFN3n|ixK$^zMS9^n{< z94CN+Mc?Ag-j<^zE?fmcg2PRj)iZ8vjZ30iZUawZHz73wG0M3OfzoxO4pWK&bYt|_ z!hz#+%AnWS8tJU$t05K_1JzOIl}YYUq!fVnMNBXZcN}6|CJ(`YZ4XgZz8ImbSpt4^ z(JjJg7qUP+%!WrWFuGQtHU&c}!<0eD>t-#W7YkZW0|0*c)6~G$4SP{g#P|4Pgn?~H zZUFBXUw%l3cFG6KOzksM{Wse^GRbaY#%M&)Zik#gPVT`ysdS;rR+UwinMqW6qy9a- zr?03+#COeI_hZPk(bw9gfQOplt=N!Fp8Q8)E%SJ$t*&XTzl{vTWM$C3+jW-Fb=4)Y zN<`FcnzhPy85x04@_F60GjuFOCz0G#taBS%r?9SETgO%1@I)o2MN2zc#C5T@RtJr4 zklBvq5!=*FB@UsXNNoUwv|?^ZF4bEr8sPwh0o6iu)D;tg0952%W$In2MhHdq#azT= z6=Bk?rjjt?$TBfGR!rHI+HuybOGy_6&#y`w2qL1MORq4l@^B^Y!=oB!O`;)8zYQu%GxGs<`HLN$xm@-NzH8-toLp}FFR+L$` zM$k?LDQ^Xlco0`m-#!|{-(x4meG6rXk4pq&f?yTF&>F0ljGm5%?k!_3rfVFl=hSWV z4{hk^Qvp#F4UIY?0n08yh>A2nXDtHxSR33Xjr$(Dq}Q(lON8x3*V49rFg+98n93lE z{k!()Xu*bhnQRWITM*%zY|ELj!XO-U;)^`E+ZJH3LbvUtTH_jN@7r0_BbGRdsf`|V zJx3ujAR3wm!^Z+Z1HK7#!oyW}ZUFDnC!`kypbKsqa39u56F`Jj{xvgedzm#V6&QU$A^%z#Xck4>FbLRc2HuiZ!XyjqB_w{V(mUH;$`dBWHD z`D|-uhlypCV_Fxljn+(gs3B$(($a-xd3QJ`(y3I(tRRq3);*$F?4qh3;silfo298OVp!DACa5X6NLIXH3}r_&j# zXp7Wpo-T7q@o68NHLGqh-a1CNQX6VlxT}y$S7kX@l&iOOymk?t?FcHXOAB)CW)hfb z?_BpPi!v>x>UFvp&YIN8<(7`aE4`0H$W0GDTfM9O*xcupEH^6IQA90o$1Czk^sx1V zf*pigZ&$U;oWJeWj27$a9M3)Ua^c#_R;Si6?d`>#UFWiNgTSnfNOPy&?~8y64E|=; z^3}OZ2oF7|wrJ7UNd5JUH@csgobEF*d{|#S4?}hY#OSos8#1NN!x{Q|W5?O1ieC)t zHCvL2hRlAEi7(9#cYTb-MV>nR33E!Sgk{XMyB*@AeLax4B9_X0$2#hha0Zl&o!j94 zB3vvB{V_B;Lw!vz79)R^i+h%(x=f6+)A=B0dwf7cRIJhBPQCk)LBH*Jr_+g!k87W3 z2SreRcD7=>t97TNmbRdEyAy^voA4%J8?1{Vdw5SG^<^gm4LCNw#}JGJ%`ROr_ON;w zN>*(e2!IU>G5|g~gm{G^8l^XZ|8WT53L9;d-UPbOez&8i6bLb^R7yg?*uE8m+AeYq z9+JCDcUP;fRs~b4Oaf3QM(Y8rjvEDOG0Khh1bx48E<%;MeZGJqRN1C;;l_z$W>}(Z zEoe(l$zj2ial|s_V11aSXMGupMZ>P-$j);^0kdGh5{M70BOj5E#-~PD5{0MEVX}Bus7@`nURat)gsE9F?>RS+SQ$c+*)GBC(~bQ@v2X(zb0yjo68Hd6}*)11VZM zt6VZsuzKbQhy%H79JD+Ax)N9EWueutPr`+5CaGJj%2guc<&?Fj`*Q1bp~!P+&*Y0H z)<-36#{Hpa$L@?B_{$G`QKx@>Vbkw)cTwxOzHr5DKb*tG>a6P(;S;Y*#uP@>s>qmy z%iTzws9He+0FMJT zj@`U`t}?fVhp+#*Xhue^X`U#h%F$H;<(zrUy_E_%gR)(_-S8=1YQ9BF8Hy~)B=o2X zb!yx3>v4xMskYkM)HyOm5z3BqrwF7gDqIT?2!-TX;|ntcf?zkjeVOWQv>UD9aCTW# z;dY1)wKio+nuvHvg>=#(C37`ibGpQZhcRMWoN+@+4yiK(f7prJdQ&S?XDFRo610$GFomNOrwfm3 zgX8SNT!J5RiIz&H_@+nsS+lR(lKgtNua3#)3_Lut7$Q^zZlFS>qSSU*NvSefR^d?V z03eMH$^9SNHStX}Y6VF|F{zjmrK_2V8>%T*(RIaG1Q>$x!rT!>HXL`7Qc?j?R9Z`? zi{{Vzv)=2S*!EFur0#Tfk7|f2Vj0wNFDTQX#4rbXcxu3E3p?zjOb0TOY=L6!%M*+f zW;=q3Z%rKj?G4YtOdf~Q7MXdjbORpjyKRS*^WuIO&jQ}5#0ZsUv8sW{QO63S>bJxS zZ@fk%765)J1oVVdhjDpg;tM^pc!AU&+QSnQ?aJ-;KEF?Uag3cO8DYr7p@m?XQchzW z+Jp=_;r)*VKl?oNAN(BG_y2e(NeB-{(u~aBl{cqu=t5Xmufb5zV{vQTBxVI&v zjL=q9c2Y=!X^y5R544h0)JbX04XThHy%H%T6RK$(?FM324^t8|gWD}A19M@+PIsa+ zX=+L2L@==q*upxm(h=_^iJG$b23zXKDceeo98sw&C}p~3qCrI|oet}bv_pjDLVVYP zL<55iZ4_@PdmR;S}t zC%1fsVRV2kr>EhcI55mXm&XtyNv)u8<#A#+kC^-23n8kovM|otJfa|gMC9t0}-afjgULi zE)2$~prvQc%>?#F2)1;MQr5z?i|Q13sd|&%=@7kg1rTwlh}MxYXt8Qib4=P0I7Fq? z6QrdpETYPYtvi&m zJvV)a+Y8CKQqO50r*Rtysic%-U#QFC>|IxA)R(eKYZfT?Ef8Rj=WF*M!cIYjiB?!& zuBx#ui*!ALLhMBh$fgN;$S!BJSXORHA+@#~ed2J3Wc&6N;ybS#-4^E<=2oNQT4&Id zkksO+dqhsUYsQ)3rwH8Ge6TK(UR{9WKAbBHo z-Wc)U+(&x!l|p88`Sr48nCTH1WbY6rQcfwky1SK@Qg&sk$_&6}Q=i76@o&4y`qjMqkpr6yj3QU`Bs0f>bpTpjba z42Nt4t4rp9!$Xa(GYeK^!@joXCkpEMlEw(44t15HYAes3)*Ho$;RwnQQN~CjC@27^ z8+Fz}K?r2+Ht4hzYeq&q&v+VAHnCD0hqP{b1W3st))U&sgCiJzl{``N8))w5?Juid#>F?4;28=^5vr)Lo@Iy%qkgs~*u@sG5*0z*$yW)l=D% z*R8lFb)oop|*Nt)-H2Ja%=2<6LUu&8cS^`Z%=n#~UBCWy#7y_XT#uMtPxp7hT-2L9BbJ*ee zk9s~2(c4IMy0*cTGbx^0Q?%{szJZ^_2psP8507oqDLA933E9y@4mU2;hp!g4aNZj| znHJ*!hD#FEDe1IX17gmW;R3Zm2VwW{QB4Niz?CR$jNz$?f~P}9uLOGt!&n=}fFTos z4W3CvbPFDbb~#w2-=`4D6GTkL<%ya9@aH(%r+vEI%45dJ(-CEcXczNXJ95P_g{;ZJ z20;$VJ-a6M(+=7s>JQhKEnJEyL;#f4)Ck06@RTR&*x?9Dqf;+U(YOVv!RLl_M zksS3Hg|ydRfz&EBt3a!%jnuI&vB_{0J|mtR(>qrTgX`l#TW1^^hgvj^qv3({FlGeD~qnFP%}k{>0(eU-CU1#1=~sOg0P#NQaP) z#*|83J&f-R->~qx%W8x9%}51t#23)J#=GCJ>yxo*VvrZ*$qsTE+3RorzD-X z^*Rir9<6(BkDgl$!zhhGb2DH7{u$I_2DCFCrfMOJ@AMhmLCRu2oYccV+I}-y(}Gs3 z)oe{*%?twBb50>yx6+fVN~xBag))R8!&(AcqioYhV1a#vXzxn$)a=6D5G4vR@<f~_N!O^7|j?f7W)#!=1 zHr(~~HLH}lC1J8Xi&zZ|To!d6f#my6UsXdS)b|lp$oA>-LD-$H{o@#&o*2TZ*`E7$ ze#}$5&*QkKNQ}oJX1MJ05*suhy^zOfP*o9&)SosWYmzu?;4`P zzF?X0k-|uWaCxa{^Brfs*S#D`jLd{FM=2yfu1_ zWjQ$vCg5r1wHMcOW%4TBVTn~QN!qwNwYBa_Z|6+Pc0^iSXK^@I@eO4pj%gLz?s4eK zt)mpAy(1Q?idC=uUw8lJMV;4n+tuRGMcFtul#7lCi_nuwa8>ha-P|b%VNR7|?eQXr ze@DOd%5(eZvCCcYSPoS?1$$o7sT4Ige%|T0bjqV3uhjF}x_vX=)sdsF1L803S>RJlij;bJi440Y6zk6^Vli!( z9W(jm<&~GqztydpN?0(MK^SPl+T4m zMyQrj`z*WZ%j;Z=b;srp8leTVR->jCeV0{M)Z<_-sq|6cF_fF0swse$N-@rAfcHzYMm ziV=>8qO+2SY^9I{skx>C5z50CfBSK^WC}tT zniUdvW+OzlZMke?W>nldgyCpR?bsJ_>sqZgcB1pR(>IRF;@V8?IAu{ARjtB`I*Pu@ zX+zsmP}?AaLQ2h?_3LFQ08I7}OGjnZrLh#bLmj&T6j;kY8@1gkjd+v^*{zNKB{&9IxlIwk_fgvuB%b09o3dDK3%t6!&B0tlYx;0 z(bMORaqrLo91>kro@d3b7|~_ra*E26v*ki$^YyDthWS-QZINX}5qHhhXQoVDo-4Ie zF0JT@vW$wAJMvVWi5};ork*ugQBe^x3V9}*_SX~NI+?oOUbLq1Kx;#LM%kLH=!)I9 zhDIWnWWg8>mOhYcrckmc-oL)$kK6UQD(Forrixf$?o>Qo%2coKH4Of7$!g(4s*3f4 z_wnQmqrUULM=4iZr;8*hr*wUd`m%)WWJ2YMqj`zp84wB;JO*82#zQh;nVGDOY)8_I zvi;jXOsAuqifor6*2uHB%A$JqM`Y#XzHav&cKbD#S*^d1BO?1P zigm2^_&B7NOMR?%&)D^N_D576{qn0b{W5l!=%gWtL|^kX6Jl4)K>oHU3LK>BMl#SD zqbIF_h1L3PPB5LvsCx}x{+<*;fxU_~FN2$}Le8iY6(1w%E-Y@~|WNh)ps> zjV+|bT|}u=(*cq8bR2cpI~%AoJ;gGT*F`3xuVY9ycm~Iw$dwajwLyyBgU)chlu#C_ z@Bvi*S|Zz2^oF3TOxA@+p9eRFGyeU#V!DfZP30r{st~7oKI`W+4`mVUw-jYYQ+;`G z>Po&+O+&=aqSCtMiDPY_IQ>@hY1y6IpYUb!w!SJ_Rqq6otvE)*g1m9#kCpLA{y-q1 z2j7L>eN_7r2M!-)y*-^xUx+=Fs7AL#BayUXJmnl$*VK2G?ai-uvCiXl8+RKs^y{=C z#2j)3P;9$-<}0fYX;A4xlzCiCjsut5Lc~;iRLs4|3taQK~)k=G+Iwx7C^5OP;t8M4WnR-sO*}HD~tSRRo zr;{yjO&>9ACgGT8=QRqvg{*mG%6r7#sP7G-!(b~~z7Yra!oRpjwk{&A8gM_}?dy}#NXZ3nk)2#q>O6?@g>l!!5 zF;cH%2L0$COw0aW=QWMWJNvO(?<1m&=ORWaX1lhx)7!CHRIDtu;@Ik~>e=hWs@C$0 zOV8=0XYM?nyM6niL!LfRzRwix3vVOh+(iuo%S#tBOw;_oTU-KG*IsY$O->6oc7{Kf z$--w!IqwaO@3P@X(!KL5%P+J|ZqnCrI=a@>!{+sE(|-SwbHv{avF4oXi>oD;+%l2J zZ;C+M#HS-{DqCfj?moD~(&w0I?UPRdQ>mggEpvX_Q-4Urt=-B}1#Qu%U-cr^f5f?e z#%J0uq1bDb-{SfiqkN5tzMj*j6&d4@ed3<=McjI3=FV!l$0(xiXEnzRs{jsl$0WEl z|6OXu0=o^Y;I8q9pVr68HC-Iqv@-jRSFc>7CRJfwJV|o(gkP)MI>Jlw)0(M^K}$vs zub0@AK3v^|mqGj+_2qc2-OWn?R_hv3hE`$#96r%K$Rb{BcQdJEn~sZm2WRQp^`G5# zR@u}n3Q-iXPNm$YanjD}uDQOaqbG-%#iTZ;SEH<7{LX0~S48A6*KOB7*}anGnX=UC z)jSk2%B;!hC-qi$WvYCzHc!XOmchL!ucaEhcKu(aosdC_Yl=7VpWwT1ak)Pfzjz=l zq_dOP=Qb4r{xsbKl84ma`Mj{!zDHU)>hV@lg{yDB7JXkw7{|s@HJe^+L4p;M>Iqut zI08>+XHx(Gz@q>F00000d?^(;2mk;8+W7-v8nXZY-eF^4Us|)aVrF7pV79Njva_|e z|Nr4U68TEA5G=UjB+(53xM29}IABgqN1yNCjkYl|rdhw*>%6m^vc9Q#^vsXWnC4tY zc+|s(FXg{6{+x?NcCPlcQvXC0;j}==pS0TW znqoXoCy3%?E*_=pdQ*NIdh9El+WO@Fd;0J-As(kCcTHKJ(m!JO3D>8A?lTW<1^_ai}SRvS*~22%D2)Y>W0L4&3Yl zgHE%RMz^|tI-Sw?GUu)}X;%ozlgA$1UAj~%7yz|tVlYVR%R2puR_i@?pItQbF7Iiy z$#~P;{2tQAAb-(EUCwq)zrK5T{Eg`UFqo78LJ9KYS~)eXRGUH%GZ@9QNo|5uaFA#aWsQ)&4cc(*~DByczZ?= zXuIlLMXb@oTJ}AAUNc7&|Cq;j2=8{Klj)CMf8MjsM=M<+5zm3vQrX9qEAfYgK266bjOW$-!lgF6Q7?N=t5DP~z0%7=`!5JbkLYTqtdrth zBKEQ2&*8lA<07x_`k1Ov=Ue%H=|YjLFq3ln!yO_p7i251XRIQg&xvr~1&5T_5K31imv8EBLT?D3( zWq43xYf-694_k4gQpNSfRUi8JbuRO9yStXfl59$2l}pv9LQBfQ2(ywpaCh@}FCLO2 zxZScUk-(x|)<-#sAI`e!SCv*tI?WgbvTz1z4TX%6)-ckj38xBF-ve%x3!{@b9y;PG z1SOuz%{{(sF(_k<^#TWwWMv$OPMUhhMa2aM07UvYXCDASi6k1yJQ^3!Z20|^)r2v^ zDH7d|@`p()7FS$fyTm-iv3ApL;3`vSdufl|t`Yy`x!o*R>C&|_SrbY1;Ibn`)R(vx zf0r3vHqI#6=$s?&vvI?%3(EJOf)7Ocuww_qQ=*H{r;kTkg0~bLGEDgKQZ2~TnIN1b zai#09iG>aP5bTemEUk|WkwVmgv?LcOc-@; zeN2X&-=shw16(4J&JID1vfif>&%7y($V3G#1sl3fC5=8beh&#D!Y$2>F6 zOcafy>O}GL`Sr-zTz++o*X_Z#W1Q~XMf*_H&2cO$)r@LtScwwW>IrcdL!2?HF8XF0 znD5o3yr7k?a7i_4nz(RitTk?ySBrA^=W49=)ADU`Ud%k=9v9iZ`3`fQ>uT}&w7qY@ z&{j%OE~aQ2Wn41j!KO~P!|5YFlX*|di+HRc$A^Dlj`nk24WU(C(WA&}uhe}!^+cum ziD}e-bez?rl@((t&zyQ)2Hyal4*xRX#;wuWa+(dr{Oaj>jk>@}3#C8okp4 zALMVt(t6(ti@p2nXoN1x`*rk1n3vMi9_E{wWxVOd5ajsxeT#dS?`q?GEz(=NKd!U> zdUbvM8u-s0&tYr#BQpCB*LiA{ZNe@EhMXBCqUg~M2xI_k2H}u)U3w1W*iIqu%)?7! zhx8VeQim#;1<>KaOqn?-NaH^rJDt}k`(tL-d^(_Pjq+$48WY{j(3 zZ@vpZ2i*FTjlbauCd>k~L}H`Ljx+PCvY| zh^2|N_|S#sC?>TQF7!V+)qC;?anez!)VEe()z-2eJ#}A~a%C@f z!)3m8J;N>>6UuIieyMs&|DhR?Q2S-?%>W(Rz{WSj_vM1AA57~&#eRhOH6PPfMoem7XgyQ5%IerL zIcAoPtUof_XFuJi<(X&|Cp{}8%VWFsD*KrH@jLY+$MpBEIi2#no`1M@D_Ra<7rFOR z(Xy;HsK)YSN4{re67jqf<8e};o2m^&Atok+F-Jo;ji$Y8;hpUk#`PSb&F{_|X)_StGb z>!p056x+u-IaM(w>Z7uTMmt-gvVWWnmv`YGj!a zk4Kz!D2vMBOu?!Lnr2BijIR$H>u9ZnhCyG2bM``il;l8;Q|SJ?IaWn7Ix2YpIWI zTsIHTu7+MC?RYn?g={Pc6AU*(#x1QPv;b@Z;|!#`1%%yavn`}Bu6CVLgTJ<>qZbaO zTt*hPxhN|~B~{rJnbmvOJZI3}da#^wn0!u-JkF(ab?RrF#wfGBvu2#E%n%j1O;rXp z)2+j7=SE8>Xs_GcOZ78e&g7P+EqKY=lW8)a{j?8XQOl2iuZICeL`!4gHt2C^G zmH43zy2Wv@=#%N_qs7&x1W~8iro#|S{xb;haJTu zuyiworW7kjIEGkysp?#j-5=2pJdxRg7(f5c34EypUa}X0AM?KyW-haJ$+zmK_cLhe ztKSXdXdV{wl=5*k2#6x0QFn-ZI_pF}!jw~-tqz;KE6;>ujyRe3Z1(ciW0uo6PF1{4 z>qczVQ#pC)SAQxoJFu5=AJ^l_G;)0XrB1bvvTnZjpcm6qebo6ZI9xOb%1B zpjwe4&*zjJTLgGP`R7UGQ9}f-yu@uahD*h>$zV-Xc6@5nm)87uRf?piRf*tH8iqigiz`cvsK>Y$i9SJfC)~ zFdOggd^juA=l*D zaI_r7k9NmR>u<34r?FYT&Vk7|wUmq7$TFt7<7Cksop(3&KRhYN$DYc=#T++pj=Ewg zWNi5lJHC~Lh3Sr#x_(V{r~vXfWGo@Kb1_#973rHiYLSqa{pMU6s^#}%)emMn|9VcX zDA%Z%&L8|vO+*yM=rZ?cqt$P`7gIX1i+#v1m1u|TSji-WjqEl|lmKCNk)!|xx}gNf zYzW2{xeGaE5AIeyQ7PSnWd@@D-7w(mT0148m|~p`7!RZq{VP@4^I%rnha%H@%^Jh2 z3$+T|OON*AFdv$%`Q2xiJPx+YP|veAwQ94%)iNm#QYYbwhRvE~aa=d(6; z6&Yb{LM#sIQeqJeeu1vIyw?_esCYUw)+y*SlVtu(;8mfem9!@OYlWN=Q`Kp>w}7C) zHE#H&WY^2JD3b}yc`b=3S_o{P_X_3$R6j0?t%a=;%lJD-SX)ujg;{pW*B%PY80lTd zGP2E`(N(=0QzVB+q}0Ph`hU&y51K#!`sOQL(DYbin*G0cKV}gNH1BNPsEPbZ$Ju>1 zZd&pbCNHb%7^jK4E^N(dwu`(%GCGg6R=42KCyQ4x9382+cG2yA{6~*pd(pbf%NtJq zOqFI|5o%^W@=U60yOR)d&(`_AZtB)OikFnHGOOzku0P&%;^2 z!Lme0c;q9%rcvLj!TWd}QP#?$e7rFtcB+F;w4is0W)1bktG?$ih`3u@*Y`!XFYJf> zfXWz^zKeCDy!6C-vZxoAi=9fT`<<-U`R`*V73-OHs76S}ThXRn629D}p-3 zEf7fp0MrOwq?S|)Kv3!gL&yN3h3Kp9TP%uNPytV8XHx(Gz`g(g00000d?^(;2><{9 z0W#S{7-VEH&!g7mRIigTkO5f2=)Ve5^xwGp=@e-A?cGw~mdEbvt7VUqkeN*T%g})pt`px}A=GVmlpim3Evw`#wlyzqrI9|S70yC${1&0<;bl8* zhuX%*SiZ_oi#zD)LWSV9E9PlkZ{*R z;JYxu`pLiUziOr;r1DRfG#b`MRB0m4+KtPQ3A;1%G1}dt4&kc#vHUc|Po%Qr@L zn~;lxvd`2-p#e~b)B`qIhWIW3WD=8NwvgqE8{N%fbZp78xgom!`%BAk#l5IbTTDAz zhv|88s2#P%{}eS-<&!6VoSZ zrY$N(tJQagti2g~e!7A2m89yzRI0kF>y$eYN5aGo*~8-1@%fyBThy>{)b0K<%Aqaf zF}C9-&#Z$d2osRbd|rHx5w0VKmh6skv$7+CQbY8SF1A%|OM~1NjR15Wb5Po?uq2T8 zXo8#*0z`&qP8xQRDI<6cfQh(aw z1O>bZGpT`yXxt+DXmrBB_1H-Zz#pk}GQzcZNtXh&FHUP`?T=YVdUCw-Kwo@}E3aD5 z(4~E?Ok|}j%Aq`F@2&Sr>kv#V#0D5c9^i-wl*MT2K}*UmEaU={Dd&{k-K{WqGPp|> z%s{Z?21s?0=P3T28VUbPnchg7M_Mg1ag48}I}n+ASgT^-{Pt@Dh_H7fv+zg>oLZf;yo&M*y7G-rFXjz|oqyk=GJl zEfzR}f-4Yexi7ZnP=1>|;Iw6>e6rvO#ZV}>aFTBrW)f`ijn*8#Msi`R-cl(M1_4tl zhOuhtM}yJUd7b(kw%(WO-G}Txt)lYy+qC-H&W_s~y#T1FR?x?1}> z+JIZO4no^e?3B@pkZShN*Kk9=ZhY?KVL{w9SU}wM=>I*xi{qr2^&W1au!7!A z#A^9a9CL+3e9A)UxwAz~C{}1d`$c_<4q$OHL>yJ*#En@t6rwcN6mY3jQq_B96p>0o zdoH|I1-!~|M%EVt+AnE$<2hYk;`!BciHHtk4?A)gcfRmkFRS9ZUI(`yS>EA7uEt;G zx}(5FeXdwp&d1mOzbCyt#(m?5-wv@OGIPlW<>!8lG-292huBsbJ-g!E-0QRi=%IMa zoVAoe6O^m0NXVEQ>i`5QXmT_PRcU&rP&kaM;c)~<5)5DfBS0%5(?k8~hNGpKesd!z z6#@z-b%8Yrl*KfnQni#~{B(CI9{wPO&{5Pf*4DyynoCBPvsPJWs8WSG<66=}n!Eez z;|v|zYAvjm2Jtzz^azg~HN#}Q&R_avHyby>E>C56E_(QXiwwG70~LS^9!m7s!`M2Q z!2L8jmS9sIOyEA8O2>O5V5d0A2d9cwMo7a*%+3mvJcsNaf+w|>nwSuXgi2MV48YNi zN`|>r31PYb=rFg}7kAJ>d>vHK(vg;Mrj3wg%)_E(v2 zs}9n)kYfh50+RCRC9T)jre!C95JJ&MG3NF{p=`poyQ=FB@8jtao>uD8MbVb`ywX=m zD#T=l$K4gRHxx)Dyb_SkC6nYh0aj1Mw)yGXl7qYjf+7{r>`$P+@C+be6 z%@D?(#Km=JUu4J78gvT;0I=+CsB4c=sGg39L_cv7#QIQ!zO3;uP$4KvagdZZ;ssmM^t>AF%BZ;XPx(&egAOry?E zgsNAi(RP$qrR#s=zPzpxRLxY+<(`Yax`IrrqZkN6Ky0MGj;%;sN?7A4b~x+cm0KvC z8S+(zdFh>^fk3u^4%;q@>Pk&rY3Um6>=1#jvrwo|kU?Z9E2+?cFo(Jo^=l@yaG_b# zOUIGvIh-d|z zTThsaI+ z#R34}+=qvQXv=l)JGX<<4gFn5#;ogv#d$D<|AD*cIay_&=uqB`-`rVgw#jV5_11BW z&(U!mnP_QvMcmbCa?}D`1kZZAt@h12CRTmh86&XT8VkrM)pzp`ElwP?r7Iwaml}XB z0NzQIa)#Uw9yV}Ck4CSMiyMnmz#AHE8t61wA)&W2BpG5;0}Lk zDRutq?7AM(QbKKkWw*vSs3T!$TUa55=fW0z(*GQDYUxAR$YQi6=$hCS6p{@W1=5vV zkcwbK#5ry$s9ZW(6EaAZDn+2d2uwjsuMw?vU9C!$ILc^eNHb^}L@C3xZ~ZV*G)+wV zmz%2c%I>;c)`f}*cfq=iOIKQdrKelQ6G@wLwX#qXX{nzsFMNmE3%pCLD_2vMUWL{# z-?jU2Nnf|yN@=??WlKo0+k`4uqv~fRB5{czRdttBjP=G^4i6Ak;)77O=Ql&$!K6AN zRoCN-P{v43C@j5$OEmEuQ@n1^jNvLCEa#N5p;xnhqF?=%b{_0fIt#`pc&$B)f(WN2 zNH@ffn+R~qkyMl_fYG~02L~G?Db68I8HETY67hzK0K3~iisQ*s)PuTg953oN(gdPn zieeyi;?&2nXI)XDR_FkJYIJ%BqdOjMOnjwDCw4IUV0AF_Jsf2$DP;lsSf0tzCwn6M zwz3l=_e~%t&(>vfYgMJHG7D8@5&(;qO=ZMPnh2eidnYK`m$3cXuV^``(RMB`hn*^J zm<4=p@RW~sxgZFuAdHnrV{elzWpuWqHWBAcXhRVttG3ii>8hO_sC$GkMGJzdxVY`! zga_39wvtN5pjd0H#}Xo1dPo5or3M^3C<3O2*CN};CW@IuGGZk`h`Ax+s;w(K;?y!- zJH@CVT6Ez#B`PFSL(`E+Y#E@Shtgp&Wc=jJ5e<; z?hF1t<2%&&U46iX!nVU_^gR5I7JTfF7F5$#B z01@n>6N*mXS=N~>wM(zn>?i#CHC4>f>19#6R2N-3>mN~13WK`0Nr#+stxwbnI&*GY zGY$Y_jVJIjHCl2cPM`J1WDbJif+)|W_9zXddE?$OA@?B8>*5%`=_%e^#MHPhNOT*f z?0VugSCgq^QC+0jhE%K0if-}9(RHm8Gzd@27UFe;VN^p)=vC@TJ*9Tq-EBk^DGWSl zCBkMYENj@TmWKx>mcHRY7(a)7dNjyox8G%+z$Of{J!V7yek&!z3FiodZj3Zi{fQ$i z8OeD}#*7L%Nk7s$!6ha|9w;UdI1AlBS%)nsa4P^_DMa9a)Nab^A1K{Yq;^}#`%78; zU{d~W#?kdyg504y-##*#J+^CMCKyuAAv7a^XP2>C>(Z);3Kc>M5&&1rKDeg7p_f{v zE>phjhx`1L2-p!@#@fzlCrs!zYUxHx)|I!_OweQlpxkI7(8LmkVG?YUmp8$J1&1+9 zOQHrE2yYx=tmSrt;8=GRlN@XCx`MU_^^?djLNgjbaB?-OxTzt z-4#uxXq)i{_R&F63`nV{D%7K@foMxp0)nEV#ke8AcLf>CfKTpapk*aaIb+X$N;Nf8 zmA;pe(^Zdlz_BxE8?w}aQR{>{X;ma>)E!r&Ikz=_D=M#LO}>TQGHW=f6I}=gQG|k^ zRKKN|(j98HiZI)G0?WlE;(2Ei50^ZF2H}brJh}aTt!;A3SrKeWa5V#MHDm&5L8^{o zYp5!Uazk2S2gD?}>PNf)PiJRS006+-00000004X`6*vk2007_=eI6J8{|5j63;+KP z|NkEU|HrSk|NpK3{|LTW#KaE7&g6-Szq82D3etBrH)j5aezN+GK&CjTR`xD3gdV-0 zn@5qC&?H>gd)f!ff5bq*B&=E1r`WD@Dy~=VRUK*&u_J@%Qb$GNZmS11zbiDYatK=AX(PZS1Ol;#p?mT zopo#0dR|f0Z504OVK9WZOPv>)Xj6rE$jGHfwo@0Ao^CwX>c}__oVcSt4e8d&-^L6}hVVAoilAw@DEOT=)m=u9CmvpX9nVpQL$CY}zo2eQN0gCnQD#o9 zMl_2;;AlzW1G7C*>!s$?z#s)-3EJYALX2sy=c8R7^%?iu<$n+zF*j}tw?NDQ^d z$AB*aP7kVCfCj!9MC<@r3#%IoFY|}Q4kkJt-oSep_jFH*gnl>_k1({0$W|^}BPQgm z$OmGJ%%0p+j$OJ3OIb~wQ(Nq}>;sRCNwgAb8-$**)v=jUJiM(^$vU40QK~Y=b?5<0I&>0jWg0^X)@qL$^ z(nOCdmtxe3)sB>lgNoZVD+ER8tW%V9-di}PWJu$dNc9C@(3Uc4L!k~>7PqHBCx-X8 zyHHm&y4Z7mM|UhZ25}4`BVXt?*SQ-N`J$sm3|?uv&{2wU1fr@2Q4t{PUUWnC=}ZOC z_Qao41b;j#Q@g6+bWw2c^=Wj?)QqjbV~*|F^l-SF%A;Py9bOfdi@L5=#w(>Awtb~F z2Qu4rk|~IZrIH#oMOB$GZa`Em2{YAU)Td+YnsSFVJ5J=5372Hzj-4r?dXLruNQUTi zOkETG^#`WI{q_u_s)M^M#rGLT`HuExjvW!GN}!$6HQs&Gce=%dRie~^WjQ$j z!c_{Uvk(Vl!wI4wCkC*b`K}Rcp!3~MS{g40)w$QBu|!OwbU^H%3cJ7;*_Qa)DiWhP=OU*-bJ3HV!tOt?VZwc?#0 zyF+K5NZG3}G|g--EW*Wx0@dw0si`_7Bq_VPE=_HKw1}D7Dv{SHTR{cVSW$P?Em*dz z3n8HZL4ZvSwJvUlQ%RL#yDRHeYJJtot{c8F_8i8w^HSwZla8;ja% z_OM6@6cHFID9CQ+C1n4Rj*V8TA&i?vGi6fSEw*FCZmWC8!3dEXw5NP{p%7&;S& zMbWL{0NxU51(5(CAXxyuX_R;YtCO<0F~+}Hlz4_*bQ*7L_#f=ZYDuO5Bd0p4grb!z zW4yA7oe4>#IHx!yPu8tfc4t)~n3*yFa82xQkEL#$>C zOLcXPN>yb*X&vhNdaSypgAJij01tN!(fh7mO{a*v`ql|jXKjWU1qJ$GmEn2^`j}l; znO3NSUl&gb8XuGEZqQXcEs&0Ki}~O>8T(n+#qs^acueW>)U|e$Vys3m&muV{>BeX} zQ6PIz;Igq3wZYb+SpJn#v?hJ+%!;zJP}kHs4iUF_I#X3DgQd{9Io7V~3Q4O|*5wlG zvQtevFLC&${;5-3y0ro@Od;&i4uZNSvC0dsHg z)W{t+#Ez+kU{{0Lvtw5X8rKYLOZq5Cmu$!JuPZ)26FtM=q-g=w4{;bw-Kh`aMgSy2 zr4%oGhZl3zHXwDz7uBhzs#?Ii$PJ9iftZ}w-CU3&bS+X#PRWCn9#bh@x(j9!5YOIy6t_a2u<6{L*Obn`zi79iCqYD9P7x2#uCN9UaEJ%ykdXy>%k*gii;ukCDhCFKo zwk6^5f~DrBjB=U+`ApYrl-Y0beVALdXld2zn3WKD-0*2CXU3PVq)cK)%2!z#MhQd7 znmcpWT!ULSBntAF)oh55pYJ-?FFKpc*P2fbP`=UPo0it=a|)>Z~0YhdMZ1B~p|ly6f{Yx}z)4 z-QoU%qmxi5Ru=Vm{VK#!$`&dz(%rzUpa_@K*ZXP+y7+fEifwh%t+_Q@g_yq2ZbGRZ zQg4S2YCB(HZFu2-ar;19TaOU6)xMsTP8ZS79lcmSdApnHPL}n5M>?>hX1geFY;GPd z-{;9ENyg4G#VE%|3t6}6CEDZabT!f8%9^c`I3GSl+ zDk5(0iuMZ%1iGJA-{9>YEm@Z;5NWeb2sCF+vZXaEN-k5I)*;d|>!qLIw(HFs|{ zz(zi$k8CL7;ld_|)31U8QG=$UP*zmhHS#GCX=gN z8^^lpQ2p>@9H=5%Wq=3(Tq1i{jF8N=l`AeXL$e2oKMbqC{#Hap))xJ&ep;s;Cn}X_ zSL)U(ifb7%YwFb0X??3QG4ZUdqUP(!UO5zVu_wl9yZ%XQq7@Xa@!xfAM$2h3VydrS zt;6(q9P4CF7HatWN{KpLnw!z8$L(v#j=FE?Ta8adTYsNF$B*7}D)k55+BL7Lt(F$6 z@}ye)sfGSR*1EQvYt557>&vsHIAZS5?(el3$7JoNy0-xY4vDqxE-4-8v#NB)L~chj zAHw?O)gK*Zk)o_r5s|yg>8fT^+2iSF-S@F>k=06BQ+qqPIF^;E%Suf~F;QD6@=TrT zI*Ky8IA&9~iOe!4i;0|OS)I17%Kh;)PgZfykB~=hOEZ+ouVT)95{7`ZOit?$4nwzO zqA(R-aVE<$4u{@6!rBw}_B(pz;B5@K>0N6WhJHQwZyUF!u#WmPg!xw_MW0niRrhi) z%p})P2Hybn3))zetV8ZUi2;0-Nu%fF1;GZs&zdiP*>_IuSE}cHMy9M*^M$#ZoHAxi z7yFS@&72Y4jG2Ly(T75hk^Af>YmmFKhso7ySb_V!jGcO-0` zv%nUs8Sk29C>Ky(HjqIpf#J4qWw&wJmmYCiTH9Qi!Wb?SW?7p8uwjBySQ8$x#9YuU z3xz_BIsm|UMnEzMojJF(RY_Nd6BM>RPvr5+9Wz;26sZMI&QCHzATtO#g9cj(zH%(s za4s#e5~DWC%>+a++?*XL8Ew6{#+_7j?J9+qLyJ(fN*(_?q*Se#G}EOrqT@esMLA|= zPD+j#DT%plbv;e4QONL43Rcc=DchpW(L(n+($+qkqBV~|;qAyN4n?^~1*s78@Abcc zj1UB|g<=jWTEEPhQuKgmX}z?9mRwc$C`O35L)oY;sGV)WEEW6eXMQAVt&fS0PC-9X z>#=KF>0Psll3Q`#CZaghN-dUI9hVa=w#w&;4+TVS{HVk+s5r&_Q12Cm%<%%IR_qjc z2=u@n!b}9&xEO4*{}|}^|sD!;FHu{ z?8k9pBP%MmMMHzx3)S%e`T$dx_xg8wYyi@=CrOHf47>DU2({Oi>{1eYjhd-y zGe(TGQkQBFAiVM@j*RO*g$*ah+%U#O!;Py_@oearOtBOL(`AW>%HWK*M+trGYo(PJ zVvG#m|@zw37FTxt-E=@hp zWv3cZk}xDsDTR;>ZmCrjRHYD>h$$100I=JKSk2WuNHUPd?nP3 zmk6#kEd{b|IkZ?>pCb0$(avA~X(|QjU5ppAm|AVH1*>mZ&s!DIUMsq+jCE*VhDcU8 zF7?{g2DI|BD|KDRS;zOX;JdJzHMf(iVI(@lqT)!Vz(Y!WpiZUMn!3d-8p|NiEfm%f zRhC*wkt!}@Gxlb#X*-+C)hH#d3 z09#%{WoBJ;P%IKhOM@!|A?h_+qw?SsK4yg^Gzio^m2sXe#l`$WVhaTavtC|D8<-41H1YAL zhdoRkgjUKQkHOl>xtzTs&B`3yk1Ezph0e18F_o*kn&8xojGCqpT9)YCo^?{VNDtiK z23!Hqjfm+$o6<)U0ZkMS%h4B!65DCM?DDRGQi%+5{ zNN`rWhGA%?ildJKd;m{pXHx(GK=1$n00000d?^(;3jhEBto(4u8vp+$|NqWjVPL7W zxw5%wVqjrpWVEip|Nq?H$&7k|K_Aj$K0q5fOk##iCv7o5!1o!}{EN$o#F`qkAG4KM zva@Jy>cDIW9&(cIE|aCIsw{*Mf&l;`8QnAr?+@NB4dLv*o4IB;ua59!V)Fhm^VXV} zbNCr^7Z#bq7(ZL!2pKK~p^y;s|A|LaeQ)RK6DLVMIw_sYwId9 z)R$}sI#N`WF$*QnS@imC>uNW?2*I&7o6MXbB=k z1ifS#8B9<~mJOpZZP%^}-6J~{xZO}3CrC>n)^_@;o)J%5RdOgoZ_-hbjT7w#5zSn_ zb315L-m%5D4QYq(JKQA|R_j~5$Gd$>b*+9m9IaSmJ*F%V|1fnaNVWYbl=;e|vH$8`6p#C~)33iO2 zH#9(rvDxeJ%liiHO4Kx!&X1sKmz*454<>tzND%7-)zloGpVV z`iStok>Ox8`lAsGOnOT_9eEF7z*tmtXDR%UR?wBe0f4!VS<<#xU={%OXB6B7V?30H z@f-LPkDg6%5ic&|cksV8p4{}Ozcf>0UTduBB%){(c0e{Gc4cLm<;j7}^W~u@cESXb z=wqyvdlJVU@?Zto%?ff(Ij4}ayW8x^suD2?;9rDwS=+}?b4pL5)tjdcba>PvZ0w3S z+$*Kl3SX?I(b*n5W}Kg|b{wXZ^Yx0{sKYoMJ`O^b=Qc}MQW^t}ALHjJpUq196f(UrtgCI^C6q4E}s^7cRgoP1{+0u*Q+Dd8Vj&PLfV z%M#XDsfR+NLRH}`6~W4sD)oHH*UV9$rG_w-v9eaPvWTQG9LOp1N=tNG^}SN(55cMm zz12kPtDsR6jdr6{lW~+C@sV+a{F>0etKYZms=S|U6Jm=Ve>bkX$YHXxBkijzJJ$X3 zNE9`h#p;MUX|_WVciG_`h@h_)q>dD;dHL8ZqS zrnMR?AP}$EycJQ$Nvqu@MQ!y*RDy`DQ0GR`iW{}3oD|uNr`y_Wc1_pC8$%3L(Ob0G zRy-8(Qgt9Ac4@4wU24O~Q7qxgIDWU^oXcDtAFo{*1BLTJfZUGuEzZzEXrrXnxQ8pB zAxy=eg{IaiUDn(i?^B1^>1sbJ5#C6vg^YSxJu0f?Xh1o+VSchcdqOnOj)YRBQq>TL zhJwfZIP-9Q7PTHVPHwduwLy;eei{5CM4EFZlX64?RiA(dW@#J z)Mp6~G~iq9FHQCDu=+2t@*lj>2h7+NxP2doin&Pq>KC%QKIml$^#ji)dVT=Qs1B8D?L`AR|}r z)*`*SvW#JLQ#(W(vjBu5)exf+LoE>v`phDjh@q3VmWcJkk2UX7AV#A}5;M$t(q_-P zp%9u%UmchjXU%6S2ObGLJ22=46*X zrY!=4B?5dhM*~^r<8-RbWUgRx@ssggihiBXVwCnb(;tkoPPN`xj${1?Cu@$gQB;bE z-PKlRgtp&_*Am4c$l7V1y@{esk-?!RtYU&Um7rRz_&Sd1_vWf`ZWLUNdTZRgQq4c= z?0t&3&beZxxQ>oV{{Llx??kv4yJ&-*;Mt#C_vNbNSHd&6mnatETZA2q33ctV1t%rj zGhN#E)2n%VMLvt@h*BxL!&Cum8e0Ux^DEaMbomPbbgDNph5h$m&t*}M5yi;Re&lJ* zwQ{Uv?OAPSD{7aCt+_AgTv$HNdzTV4B@m3>lg@$Cmrv#i9Fmh@ie zs%iUm`T*^Y%}?A07ipVk{I()_TlG6G(>%ZD$k#F+W+qbU-1yyNL8j*3yC^J)e)Jjc zGfW=zJ!2oV7_-)Ky=z!p_wx345E5wK2Fr~e>W<%)GVo*E1qo@Lylenm7OMgI?u52@ zr?E%S_bRBO{{8TJQ`8%s)IL_r-zltCK?APQok7JFA82`N=S8?Cf!uAd|xK~{5B4rIhjgm;dEUgVgD9JjU2c{^ zXfX#V-@hmJwZ@*MEv%iL8V39WWCmLV)z~}qP>vp#3PM>Ip(m$)j`qjOa(y#dS$*1R zW}aNjv)7q=wW>7_{Pz9u;~vk~l*L15d&D6#^p{lV46CoQT07#ax~T|ir-;^NoH_59 z7Zx&AM3qbtP7mDFAebdMhKz^S{CxMce{*e}zrCwRmhHZaBwh zb4egf`*VVh*;i)PW<}m~na*Q5Ui!N?d7wV}NBKA?)%)##pSRh2&%W%D zGE8q8d%VBDi>Eq@W9=^9FyI4h`ebKX)vQGrHP5n1RF#gEEe_!%y!!VK5Q45*5;RRh ze6Rhft(exAPHNRj-wqQ^_e}fH;kv%qNtxU|>Clx*5L(aETeJ^+7;DbQ>fT4`Zu#3| z9(2Do%gDRF$KniiczozI*AbRnl;Wy54m>Ki z+twG2R~&nSPnZ7JwPdZb1;4N^o!HzM9>6+15j65ABJcA)H3_}4Swz6upb-VD3s@pN z>d+>YE{%?bu*e^>N@Z#rG90quKYZ+EB*@5|lZdF679^_Mc%Z4M)FNeQUD^mC}?>3&H@QHuVA|-h@tW z(}=)f-6XO}9+s2>Q^1F>f6He>irat)B1h8r^-OrEc)Ons{-PuqRUs$01};#_;wtjpQ@@<%hPkFx))ziJ#Z zqoR6R=e};wVkR=8i0M7$+HH1?vA5cmP4=_iY+DQDaj&Iyj=+23UKHE$QH;lA;l7?0 zN4#n4-=#1OJ#;d*TRw5KT32}Xbn0XyA*QrzPxQN=4eKs@mEF=(^lf-{mv~`c#Y5cG z^_P}Jw$K#^hxz;`MkoLr9r>^Fr`ut@=UR6 z#@WlPe<*9CPEogRQ4>*AWXZ0rt_fusS*m0`QCn|WRI;il%4*bP)MlNcwpyuE)|+)I zWvSu&TgwjI<-Y4ZzZ$j9^4(JHh#V>Y$?6K#gHqyFBP_@n_3E_{RcxZPMG~Kc33q8S zcg>8(8+CWOK%0$`4r2@NqE0XznCmTVTLLOaGpU`mn|JatTW z{J(suUDK>6$g-(e%j)jqp?2<+t#SSJzCPbt{r-Bm=GtO1i5#&%uik$2!IO+}e|++O z_x1YBaaz&)&eP*nzu)upn4X`#HE!xoQ^3y|AE|w`xaT#6toc`cc&9P?gKB$AQRg9K zc`PRTdde|tHo0m>mwf1cZLv0S9>ri&C&?5q&mK`t@--CGPU&L387yjduMk}}>E_Px z@_TPqjPkOffGee$$_ZhJ0FqdYup>rZbPkgECzqW~bp+AdsBmA+J`a~4-e?J8MKP^h zuPv%s0((?WGt1Mug%D&fTS0a!^h}~f|FFHDGR-u|1;{L|(K^-+tz5X6kq7S<;O50f zScWGr00kh&?wYK%N&+a~?17zaW-h;8ndHs>Of^K`-pa3gN}_!%s^2iH5bIRJa^?Y`u z$`rJetZr5h3){#}x@zh0KCnv0yX;aw@-g-1x}Q@;ultZyK7N(B%*xj43l9%?cqfEp zu?Ga(RS8e~`jEShcML`6grkh|@U@IKZN&s(FK(5hJjZ2SFR0ZTdQ`EgmWe^bWoSic z8ONQqAy0=!dMM;V&)J_-Hp;_6s)s8>-5jb)Wkko{?A=uBNM}oyPmrNq1VIhZrgxO? zm*NLU(S5N>L)3SQr_rM^T1zkR%xb-9$?PJbnDC`!ycSRCY5P4Yg_WM=8B@B@+Ka!) znG#gYlrTR=6G_xRT}T94neoXgC7+_`;H!*6C@vn7&Jh5lh{jZko_RqW&B1zV7znH_iaZgua z5#8mu+y*n0G;!~5CKjlM;sQhtr8T7Kft%{;ambA}WIOK+x!(8kAN3T$i0Cwmk)G`> zS{ljq#_g!uS+?3PV!d-E64DpNf;zgsrFv`aR4pP7oAr0xyB;RqyqRhGluxC?)*I2YtPn#dj4(Kf?qqNp(I_4pk_y&)ZxbQwI9FTAV-(bQqH=2eEYldsF8Yz z#_x}(>C@uX+Q0joU+YtfI_;`QZ+e$PO2-sc`0oI09uKFn6g`}uJ(XS>nBbF{Z@+)a zxh$&NB+x@(4`HY<+3P#P0XMSF_q+P!NjB4AcmGIxh`$+xigcwJIFuXeixQZ>SdkS~XwK5m&os zYIjSl)K#4_(XP#$@74NPr5BoYxffHUizh?=cdcagL%zRyieI6uVY`L8TEY% z&V6c*?QvY%H##1#JimVG`)SS8s=m949L^t-hF%$ie`T@Slm5*FrFQM|+l<=v(D<{S zHW#MnoHt$HrN7;XhP_)Hi^ppFP+{zqk$t2AV@IC?&Q;mtUt!mPta}jpKGqlTqcsa` zDwiS1a`}iI*O|j50~hIrK9_wx>Q`%0#-q2#(;sf1^vh5`kZNsg_d-z=S+{IYFU~(& zzit0{AnS&`o#-cPi;8MllfCYt@=dI2uW3gss@33lGPy>tPM?<5(EY93dcSo)uUqU} z4?pI%EqMLhz3QSec%E}D4C8)n6jehQFB{s}rq*J4IKQsM*Tb3PavnL{WbdpVV_$dZ zf?C))xPI#vv-RIbOxs;ma~+(K(|`?hCf5ce*S}izLvI%63LxSy`t_zx0c!7ef4F;a~OM~KVJQ| z4slOEU#u}%X-=a^Qp0-(q6{f155;f~)8)0K$G2A0zjLKWze1<%Bo(wnbx-ja|>V-ONoeu|Ue#v-A7Lmm&+;b!VgeFr5LbeqS%mmu1n4~9v zu)fpJvdI)i4Cf>sP7Z#Y6DA^^etRym#QFYz+(~ClIBJJAeUlXtiVmVyj%o_Yeo2=Bu| z2&YhdiX}H5@7CQ{E}YL%n%DiO%_>@fiekS{DE~6oQLwHUcl-6VNzeU=FX+@zB20|Q zI~>JtXMcS?<$p2M>FINb>d}@48C3R22UF^X6D?~ifoy;bH9|(-6?@g&B1ssbS&rh- zTyOBuix3f9m4UD*(jJO>T!e#mXy0MV)BpYo<8($DrFyQEmbU5o&l&Er1WcAz>Y|IoH42a7l4pQ#aE6Z{~J)?Lm-@ znV+AQ?h_EkL>8A|q z^GWE__}?SSGIMTju3QnL=wi1<%|%;Tu}>bD<}}ZiIoZ#cG&#-FoH!#3`@s~aXRXRa zdm`IE55Kg_Tjf_1C((|w%-f-o|NL9MRYpD7e4c9(WCbZ zPRlx>SiWDA@!Y|fWqc-b{V{eW?GKH>{-~Kjkub;xKp(TXq$B=YcV8=bLM z!X*h83dO#~=UHcw8eplnoS0ISPLonF=a)Wjr}(zHblj!%r*YYJxsH~LR}@8Usc|TB zaH&eotI(z544qEqo4B5Mx7W4Q)2XPGt7~1jGnL>Uc1;Y7hX?@X;zo2oa$u z5YF2(1_*?{eyZ?q0h#*lq8u zF3)0x>H<^_vonm+R>7rKFS6&jp{Pw2mmIf@uOXA<3Qbce))zKjY&hp)kz`j6sfnYc z^vj>qoYP}~znzcc;^NV_e)Z(T4FX zG5{p@STgJ+l7whCgDJ9G0uILK@gpZsCi@CSgr-oubPl?2?YyKoDsI$atrO?V6anA9 z!|c=QQ|}5RQrfT6`SH!e!A4bO6qqPrJ`K%}75nXOOPfb32wox-# z#NT5c%W@Ql8WHQzKGQztp-!IGZ+ae22T>DF0C##SEVKh|$u!bd+FtatmhTOeb}_um z@06$APjL6Hh7_{&bw<1Q3KQCz7}{*-3Ynvhzl9^s*`?Y!bJtTG)|f=z%ZWgKfnkAF zOwj>UF*Y;?+u&^~8Zr`ahrZOoF@!@<|36=swphg@+Uk>1dA>fKl*0=dZLvmNugAZ~ zddl9GqW#H;$jm5O*ZujYT3*jgufDt2&Dg&EF3(y^E2CP8vQk^gbo(%5WZ^LJWl$KT zF49yn)F*^8)>DR=LEv}n8j*S`w+d?=S1Rwi{vAVsWEihb!|+y9%ceLI>Vo0B$ZbP0 z_zS-j`pegb*FwCnCTU6+a48R$Kb$KvEJQ#iJa7P17Pl2Rm~bC|ySOP-Rt?-?|LTe-7rDo*eH`>ftdeK(wYbBT7{w;@&p7a1BT8{a*kNrF$Dcs+=6Z7cN3d7dsK~Yi||| zuj8w)NWYNE#2W%^9`^vcKt;bR2sS!Y!$jn?YE(nMz^~tVGrBV8S$%GemX9lQL@}Q- zDk`R@+3Q@ay)(;ZmIs)HqmN^*Uav>2ct$<-sn!GMKG7cDv2U3tHSeC&v)+l~tWUE? zs^Ne)?cKD~`>O9|=BOg2hP7@DgQ?$gdIQ;-aghj*uj{?}!=Z?>my8KE3*xA6_frL4 zm)uDvo!LI~kzx=3<~s)6cfBh}-AvHfX0ShReS8|9yQ#uD^^ZmiBm$R(^+Ghq?H!Cf z?k5RLQ-`j`SH6CouU8EpytK+4aT>*=U#^q2MHH*1Em4gVwN)pp_EQM=R%DR>-g2Bf z|K6+|*{(jm9NTe>qGt5g+VP(lU#6Y@f5&r9DT2Y4!Wnz?*2we{dl#*jly$%1vWn}? zjlT6&+HHH;8-~Kn+-mHeqf3Kd`_0sr$OQF6HaFsH^=D7MOTn zVEd_}vk2;H$kaf12UH4|0dTjAzSlExScg_{xCKpJuZu^`ql}!tp3^A0yetay<*eQ# zZ$)pfm1ow(I$9sC~tD-v9 zdUvth6>!<3aLVU7HglEe-PQ0bwP3!w_AmeW=aDt_m?L*c-`D$zzagVy`7kWc7Xr&C zGu9N4rC|7a1<-ueHw#~Zf4mRZDCcBvA}k);oM~YVp&D@lK#Kr`9+$)>`<)Bd*ffr0 z#D3+%9rnsM6flR5S2F7m8ql&L7}m=@=i|7ks1r_NNBq9$u=b4@#K)*Lc3vKsMa zs^iJ&%4#1c@8|SZ|Gua^?|+M@yI*qbHKKfEn%Eix^d5JA$H8J1Bic6{Rfm>@~i3R#AIa5w#~@ z&Q?zz_xO9N^|haqZFP=c;>4M*_3Lvx_v%NrBjfR!c8vIHd9`D5RP3!2rd`i-<@rMq zHUZWY)J=UCh(=QvyS1{js8T}=!+7+p+kQ=NBD@@$V2mxC>w;H|L)b7c-rX&n)qM&b z79Y9pT395+QVfRy6<(qdusvxpV1f6>YE2)x zUWOD&In^WEa(S#^YT?=JC+(?B;Cd^a2LcCAr6Mw>v1Yx~?+?i`EFi+I}mL zIzS$Pb6xl~KQ07=yJt_X(ke3vz}#`~HlO^QeOM)P^0S)O;;7c}bLl!e*U(I^`2to> zc6e@I#+EeJlkO;j{_jT1usvT9+gNrOLaE3d6|S`*t4$YWIRTjjX2cj8u&N7{nytI7 zqYwLe#cAE~UnBfmh}Sa{6qZ1UqoJ_vg0L)&w2=Eos4U?jh+4Qzrsc2^G6YyoEVNgF znPn*P9sG?4{rK8je7XAL5l9+bH_B4Uj06q4cxW>0TdNUai#7XZBLkz|+LT7A(6#>; z&wt~6sb$%A@6+aB`3&0GxcQtHtaauY%jgKHE0h&gQ%!F>g_?q$24Ec>x2@j zT2+GuVG(KDlzPO2t}H{`(rn|KRCMz^1hM)`5p%AbwqqHJRJptouI=>qp3cov+Lm zBue~x8uax1B^XWXAzY8sE4WBs3z81Jnp>Z)uuX&D;nuEDJarUSO57F=b1en0`+@1I zj$dCWtIwk1Cc0B=sav28*6mgk9hzncwB=D5-HEK!bt!V4!d*DV)zoegm)B(}&I(uR zr@xvXsSwMc9YNPaoCZfXXFU#=Xr1xwL8q*)t4OHRlcG|3zS>5xA~Hwk1ZNi)IyeTt z`_R8Rr{@SgBEke5`dCp=DTI)oFUmlcc*I%L`0!zdx%hJMh7h9HMKSs8NFgemQh-fmAmL0sNiAglDjIGXVTIlb-h*5@@%zOtsHsX3``e zHAo0K7?O4C?ryD=Oerf1003*wh8N=x}jzzJ;x80!J z32-J$Kur=1t_`%haz<1IH>u<%BpR3Etgg~zx-gp4CAX;}l`Xgl0vy=3{@D75E(Qun z6GBTJ9g;v=~7f26p5CrQ|n#1fJ>Edj0WSJ@Epc;TD8L3i;3X6VTFp2YJ`x@%Cv-r(*ga!=qLp;2ZlqKLayB|39s!^P_E z8nlazR)gmbp?lCwsQj7nvEJBksA14|$~WWkR+G_{2|as+o}rB+aWk$iGfbU2s3+|j zBBwG*v7-rFgl>6Que=z>Z5%=zhA!&SMKlbcgvtljDD-lKyxqj#0J_JZHxpvhAG{<8 zgxcSDE8Cm>IM+ICTdkELs~?KrvygI9&-o`t<$@3(qq=%8az$1qWs*y#g^83b*d3E( zYf~O!gWT+lKFEc{Y*`bD6moK@?(XhxtzZD(Nz)rl)8{J-!LhBbzW)j^T*N1{uoNjo z#++D^!YI`JZh<@+n!!;_Z+)x~hThe$l2bCg*WXc7anvqnZ4-~@OLYkwCR+)V!oX}S zoJ%FEY;Ka5RV#Ts_aav?P(h)EWq50WzKsIbdTR^VRHlu6D&yGj(%K}(5D!lnFTFmm z`w7_nU0ia?&2=KjoRW;Ui}t-Ob{8snZb>eXTX~x>V4+o8F^5LP+RxooYL$^8Ektnj zaGjNozSYBySiJ5y-l`ha|~<%$kW&9f6lM+sSK+>t~i!A2#MHP=gz3gcJv7*8s#rKGFq@H}dbR@kATFtIvP zJ#6DE`p5gOHz}R;-OpQ zYQ!Jobw#unyGzP;630Q^egg-)RJ<}p>Lqp+T}8<0*MYtZ?AD)6xEL=8#^^l~Jx=ST zbmc3`EFTapcy3DV(yH~X?-#~6^>U{#>4{I|h&P5r^0YNB+~ruWYKtwp7E$%GZ$kk!&p z(k2@UVju!+`dDI(fRoBTIcYP9J7EQZIX}cghu1feVmL*kPbC(X$nZm`l z*r*k>RCR{N@oTpl#243j?JP^$FI`i>AYEG#E%i~gQJH~pd_ppTRB>pCG!x?mG~$Fr zA3^36Q^dv}-LR`nHbCmA{QZg<6cNrz7&D>AJ)h*s7>@+YrVf#QF{X0v%AmDu2|}kn zYwhE#Dh-F*gl7DtC2JjhX<@=`>qv*Tk`&A+gSe?IBcl-)%0lJ1`Yis~DiO2>YXX7j zsF}vV%EgzSRhz9d8SrFy~K)D zy0XP&Hm}P;jepduUs_6hRsTKZ@e&$?{3nixVQpfsj?II%tQ=pqV%xC(>3p#$F<;?j zcpaxRC4>M=?}iZ+8cp>W)GQU;#iQ&-TP-^Hc~a-cSEqHR@k`xT_2kPVPO8Ur*5390 zoe}4QvsLE4Lao)FsBO2SFq`G+u9R`}O{LX}lW0HA`jt=Ld9tRBIM`=vckrerU9W#hV{%Gz&{c)Up9|7eX2tddiMmrf804C!AWHMVe>^=i`ur$nE z_N+W6>1$J>HoR>*%Z&L0$wE23lFPB9?HP);VzqMg_^k)(Oq_Ll@Zn2YZ;3MVc&?^U zzy9MgwpD4};+JB2OimU*=VW*myX*D&Ub*+led73z=oMR+;KRPh?KYw#P zE$?5yS~!y-Jtgt(gl!(V)tQTxjP!`FSVhzx?8;HiclGTRZ}I%S^avN9!i08k4_iLV z?sAw~VXuYt{aN`lM_L-3h5iI|CVSR~!{$YqLXUf+4HL{@OvkxeX0}s2Ms2j7JL~NI z@p8n>%KCi2e%Te5NyX)SZBm;jMOGfneK=glr7WZNGv@riN1K{+U)}z<+HT)!Pg)Vb ze(1rPeyiu1(M}nJvj_NR&U~sb>y`OWo2AYf_brT7_Z{fb zTn2m8hDvxAChn$iwbB-xju88~s799Sd1|#Xo2iR(9cGUT&`Xdhh_f zamnm@?lMmqd2;=Gwmj-F4vUq$XKNknoqF&5oJ^GYJfB5-qNqf2jm7EGb#1TMRet=( zg2~Opys^UZZqhql&fO?|a@Sr@q#!p|WjDPP`j_Jm{XG}yO*HSDi}$5_D--=5ZvJg< zi^|u}RKc#5>b`G(ca**Jtce1isb@N$)u05mJOXScdt-~MWJHIV!k$4;SsB|SDr&v_ z@vT4fn^o^|@-(VBYpUnO*Q6SF%@rBbv;IA+BJ3uP>FZvtS;s~Fl4kjT`M%}Z zryr|TCx5bi?lF}r7d7WxMOETtt3yOTK9}-Pcnn9?wS?T4zD3xFJ1!K8hiOjk(4R6$ znp~IT;E~H4`;#2F=S9fvu9$=*UjIW2Q7*gws=#;a)F0GNp-q_HRW9Zl-d$m2TVlbA z)|DGo6?dkZ00ctW_0-ow z#+;}*ns!J1I(0_TI!$v&#P92Tnfw{OklW%EZx7#osa}qyHH~#Wv+GH}oZ3FW{ZHj^ z5)5R*(h7@0Q)i2xQbF&2@h-pojk)w;qup75IOD)4IEA>U>^q)&U8X9AS)C~gGE38; zPh58N>)c^XnK|>!hmh#?{I-Wst#NlyVW+;YK%HEi9 zr7~Nr`Sc|MFYKi=1=Tk7QWua2=+HDmp( z>sS++$MT=bXYMCw%JSXz%sexyE6(qq)61gfBq;>?xY7PMnvxoJ%Z+DDjLVkGPT)}Z zr`*dUY&+DBPnVZPr&p05)wB!N>e%x*eIy=hy)91IHPkhP`2^wL*84znUl#mb3J!7;A2N)o3eb(SCbPPOBku zvrWHiNI`PU|EIKlF_50DV2yFB z+*X#H<%ty8?Z=#J7`AH=S<6;jY9_E))qR=L8ynSpVID3gURoP1YARj9@u>!+COUjd zxO#Z={2RRCyvmhd$*6%4P2?(ZKR!I3-w^>?rRG<4jjQqzSF&=U$+FXQ%PQ(@VYs$^ zwEua%$k%gM6}bpMuA5S3=dU)R`|2aI>&>Q72GCw8v@2Jh_k4tFp-G!t#9Z8aptGQ* z?j49ne9Z1R5(OI~LOa|;k*9==Dq?dzGv)c(ZgS$7n7nq` zs5jFDVzN9^onS*#=UsoAiLRvZK}*4eFDD~C*S)JYkrABilD*M+Tcc2_YYl&rrc@HO z_QsguE>~5F=t{ZS)U=r?hMqM4$d94KYV&R)Z41HZcCIhUPj0mS){Hu-ny)PiE2#2_c>-#!qz-NL;6T- zk<7;_atWSS){IF@y}NZ;CO3pKRDV?hDz$L*+z8gRsQl)F4|d5*A!y z23x~QD?+skB2uZHtXp)Lt~s0rQNCf+ZyC2x{?ds1Wg}&9LRbTp0xgIkPd9-;)D^)1 z01Z!PXHx(GKr{gW00000d?^(;4gdfE7jeyq82|qe|Nk5R|10em!2pw6cAg3gn#>;+6 z`jr-*PJpqsCC4)0NE4R4fdLw5SXrrxh6)^b4giVMLm@6DwT}uiR@J{GVFPNl|3Y1`Ng>|Y=!D$Iq z5l;nC9YkE)HkarnZuLO5pqh2M%She0*M5;K#;hxp3Umpr!sBcqJSnJbRn$!y#ef@0 z5ET_$aOs!`tTl}bZ48fKy+C)O zbPX|XXk)0)U?##K;q}IJ4{mU%k0%2WYNV)C-`5kOm*Y6ZykCbk7X9}97FosFnp{Nc z8$vLI7!5`}x+aFZ3M+~B69wtyWn5vzIMEG-Z>v&@jSF7F86;IY65^~CJd7Xyha}-HEc^V0o;f4Lu`6)WrUs6Ja;-`B9S3ydqz&niXeLk z$vt>TN-e8WtIDcWnE^iBJIlCE{Q2=8M9RCo_9(U(o3x2Gg`V1lt+YjGtA#*Z3RbUX z2aVRUt>b1RrBXUtNp)@HG}F~m2vV+YXL~cL(h63D*a1|O*R7WCO}*>%DYlBIU3Z+0 zg6G>hPTC^Fh?UBeWwBW3x~;TST1gPuQC5t`1=bTBz9_!iUj`Jf6h~^k04ALrja2Pu zMNZ3rK#Xut>%F?8*`_qUq)HnmP@`J4)uK53sTkvFmuZnw+F5XlR|_@1Fj{6Rr9wEZzI-`KFrVn-FP)Vo2&erZ9^^l= zRZtl{M5C19K9Vw?QOO9#g6rZNvcYqEbnEGkJf%)KDyap-IO(ZobIcMKVpp*$r*U1Q zR;71&*Xl%cDnZY$uw)rTpCDXGPY!fdBb)J3LH(Q$4A{m>P3-3gGv2#1d7iiG7Tb(XPiM2(jw z+AzXz47~wD=Qsg6Vzj_jXpMkBG|0FBJ}HE-!Nm+32lyw07&f@*&R_%YVLWqZLo_lK zQO`fE>sK4fJz+97VGq_wo>B-QCy%XDsj5;cQ>uaia8}H8wCWTuT4R6_coHq$0O~Tp?k-E?|U&6I(ADJ*(W7Vx& z(r`9$YA(xhhIQp)Tx(ntQ`CBpaU%oQrVy=Ba48|4tZ}%mHR^3a0Kv#) z^p>_7SJkN^E?jtaJn2gM*P{hJi`IHgvK=ICbz`JBZ7fAxQgn-TQOv2Ts5$B&LL6#B z0XxN566?rOoML@Z{j51#hr`%GGopk(mheEA#1t|rqkOK_^~X-=ugPT&gs26HuB4o0 zFOHdP8MSv*`=0M&u0H>4Ww8pW>(G9_vp@KT*&AAeLK6= zpEo%ZEnG1qu~O%M{&I*+5HJv=V5*E1=9EZM*!GrWpwRZL*aTXo2a0q~OK43|4o8Wy z=6!X1>N@FhGHP)R;i?meQzoOzg^Q6=o&99UL+k$0w(Ipy1Y)=?+j=HvQ0TXuWIQoM z6=*uE_aIshMnM1=0A5L?!~!NJqj!Kmv&g^>HV&h=f%c)_R-V!T9M07_W)|dFBTX<7 zWFrPT%!C|LNWopYyR~YistQU~kN{Xj*>{#tQ~HZ!5Lfkq79S7cBKi6_yAG*HTDf4B zu$nnp%9{^_2fD^Xc};3Y14_8I6wHexuyO>32P*)hJg!k?X6Z;y*WQdH53(--ViI0K z+!iv7!%T0y8qyf;MZfaKN>xn7n6l=@mW{LE=->#oR*F2Kk~{-WQlhoGy#3U!Ii@m& zaIF*_b&5qCzNdL;>jW)5h(_0&&n864F}qSmD#JAfZd+p_nq;AJZBs8jE+$;NuBar0 zF^cJ#TCUsJ0Wc)Xn!yoz5)`d$DOakg7wY*$3BFs!r&L#d22FV_eUy_nC#$}`3@KXe z!qV$%Q#Y1ugCPE;zUoB<(^Dciq6ckjOi?!HiTbvsc&X>Ru0HBHIoL{EYMvi36+U;G zwBpsf1GiH+?yBI|6hpnBql~W}eq5>rGW_}sr;Z=$^h#-I^s%mDH;GkE>N7iHBoKs_ z7)uyhbs_g5=Bov{xPA7VZ7jEz(Axv3Tg7@g3Kxh*$P9XG+#kk49oUTDGg9YK2FXbp zt66p78n^wL1IyF|yIf1us$2^fHoEFI&T!gBEM-e{i&D8}Nb$DzZgMo}1r5`E@ml7? z@VH|&9*?p?983g4O3P)tDWivA(n!%CVWX&}J&1A?2(e7|zy(gvp!6)>8v&0G833Lc zq<9AF9hU>#P9cLcpc4-V_%`Eqa&kV8Vi%`Jv>ScWLqyt5DdiAsO77OWN);-EP_+U8 zK=+(~m%AKB;+GA}^YtaG*cfe9SmRjeg~?V|TN)~mqeXLPS<0jR?R7$jASz@;#=0xR z+iDGWsA7{YnXE{0)WL-rtm>^XT-8a0v;a{WU_!hrm+k^0nvx|2evCk|(nvy~h+3A` z*+$1|Rht+NdeB19Z0+*d<26wd96T31XL zZx?kcF-9h}os_C18pJm3an#0_Qmlw!LX4@|%dv5$ZKIiRIE-jDWt-WAMVP7<dZO76g;hXiNm{SIb51@^PpUqcTQ4D+)psD-Zm%hz*Q7 zT8+y_gZA;xLcJe`q>&UwT_WRtLz{A`+lsL=ph%0&mL^U#ld6iMtqmr-gZ8w22U;pj zR02s;XRpPZY&rTuFVb(T|E&9FzMB16?a-A&4GIu|B15pyLTFcZ+MxyjF${)-A2O>^ z)6FMh&(YMukZ~u$KrfW}GKgCk(Lee)Zc`7o5Y2T~LWb~~R(Gl*126%EWr@M-;~>D{ zP0-B+N(&HC4M7>V7;!m9&s#>X{6C#4*-ERLnix>&rC5Ab`(>Wf9;Klo+0PKtTrSU5>#OkB$ca*6`%A>R~?VaT35rxa3>(yFRb zwk(BGW&j`o8h<}gN3KtI^`fRGBC|KG_IOq;#ldyjJ`|47Xcwv7hES+Bqm03r+CZad zG`b@cAre5|*v0Tpij@>n5(7<}nOm`RbuqPZT9Bw*Siioiivb~(4(ql~vxA576d|pv zdf(~sJrJ$ZrBR3Py5Mx;8CO1HGX+qz;<_ub;qxFx-``$#vGCm#&Gs_a0vPc z*Q~6|kfwOyrF#4NLYLJk8Y$Dx?_v=sAkDh+Z#ovEQ%7Y>qts?HX`DjsRXxlnHn+4(6J7-uDYN(G;hTU zTRURB)XXxgtu^N_WIZ#;qU8CpkxLv^%|><$HORtNI1cEjv#Q4W1^-gbIKr#PNVzed z%IW9Y{T%2-(gq9TIW`7|BT$Wq?;c9Fy48jq?ajhg(s|~yMCrSZ!r8S?*9Nig+6Ak8 z$IX^RlbK>5mstZ;H^y3D#?6ttZfj3VW2^aOXlp;6y-wJ}Y10KJH7n4<5EXi5T&M%< z8Vtwd+<9SZCdN820s$&Q+7W<)cmWRXL{CMtTH5hQdl#JlFTVA8hQsZdW% z4IM%~qnF9mwR=y7VF&<^C_n-JIizBS)OKd?i4lLJkW(k19p>VRBlA7%bL_qAA&C$t z6UY3YksU|JnIjM~Af%L2$SJs#Az2kvP*qh{K>|>6H~p@PT~g0Rk`Nyri0B^Xav9lE z&&vzo+Tr7TJ<+5b0ajvZ8>%8dAzmo*wBqvDYNlXw(cv5)y4-p!^%SxA=~E}7ZdF%E zJr;|YjYP=Qn`j$%hshM%R1gLM^{Ukbxl-t9l@Ud|iYuU`CBtlfTII30UApKV$4yHs z4V0y&^{72gmqjD#Kb1puWKe2LTu=avM5{og*aA{pw1NnmYAP8ihjulI)Y^({19@{&XS1X6kel70b{&=^Gq`x;u$N>qzUExA;#*vSK&fo(3$hs&VTt!s8$v1@{lsdvlxEtfavO23ZXHFwt3*+08E zIzLf0>xEH1%R_;k+?=G<)M+8Ohuoghk?92P6ruGE=gRJvrnEbYO~Ng=4316)B&49N=bV5VAV=xS7yn~49Nc> z`^)9Xx!lCm8bAMkwHj;b`*eMOAx(^(*mSbEmcDRXN3$X!ilE#!c&VwZ=c_6feY7sJ z5ASG&B9jyf6&F(5Xhi8+H4RjRP)cOfs1z#%x1n$WqA-A+i8Rm9FkRQfH-2O7c%%XW z#RADJr3e^7RaEL=Ri}nq5L2{BCAR%k5$lYyD%Kpn!H7#+rxflYg-naXZ5_%^p=x2J zP}EgsE-NsFNL6c9eJmmc-)pJIB(<@aMzJDXh(e6@u1kGN8{Y1htqwJ6s+3Y8iGVWD zAxKF$7-|Dsu-Ac&{X>Q-RW#JEN~a)0PbTe)`cnyx2+7IrYU@a99oCA=iA6OnWdv4s zoxAoS(N=3~6{S~gY<_zJMNhgsJv!ZjIpJblw=YHYx|D)fMrli5(W70bluf7C$CJuB27m-L7*UA zjnl7e+fZ%lLhN*u+FECV&cy1BX@(GF0^_s*0*ZL>ht5mtv`*}tjxidK z$FsZVKM{~iDTAU;V%a0d~Gb~$J^K>gX)|H`zpA?T3_tZH;JWI=y*8 zNZQR_A+qAj>rlo@HPK;vDFbX~jCFS)F$ zX_aka)%dXgd6Q_OZ7f2gbd*=Fi|YJc*{thfu3EZVZB3#Z{E%9VpZLg(LyRfStyMKL z+E=W9M^XK`#BE&9Ydv_6{kG3CQHn#DEyi}tlA+ZOboU_jj$v?3!Y$2JnW(i{Q95v^ ze@bU-^lWRhdEO!xmDJq+>z+!DHA-vh(JGRHGpHFRQ&a@`UvGYMAu@J?cc;+pw5e0i zF3Y~kl3^KZ0`wrFm8!ZWaCJ_LmHa#UY`}&fuOcgg$!gppTIezatKni{#yQck>&^3h z#4n}3rlqM+_xKuYY;e~P^&F&*%6#$*Dk5YHsv^wO%B-^tUSO1nDNu)6#`8)hlu+oR z<#>fCy-y7jjcZ)DtbZ`lsF22u! z9)?H@SO7kG#Bhc|cN!aGe4j@nXBfFjys^Uf(Usr1P81nHMm16$>|^Z6m>!Uk1c4mq z5JJdqrMtRyBBjbynMo1=F1|R+cb&{CeUbDR5KOk}dk!ll268(dKC^0HL&JTJkb;`L zIv@YK*fM6V$O=seD`(9+R%xn?Xya=921U?{Fo%aiu4Sh-F|5g0C~Ur1van9YqP5}#8oGxbH7aG;QYw>v zTxSl9(;-Rs3VIcHZguaEwWu9cc_4Lf>$T_C(Wc=Z#uR9!BL|1?CuLNkm=sS*x8FT$ zwNrf*<<|1l=Lt)P8%=2^PZ85tx_4$W$vvp8Z#W?*tlWFY#9Hf6qS1+M#})V7xJNxS zu|=DV%c!+R<~_Q-v`%u^*m@J4+8$1PoMFbM!KagXWeY8R@8P9dH%w#Dbm5igl|`yug<+JAJn6!Sg7=A(S#;SGr_Pp(43 zur?3FrzUxg24D2v0|5$#7_y6iE%LE~od`Ok70zmvafo$SsjeJ(M_l;1&Z-ma6r8P= zk}-9irCLW8tINiL=d5sPN8F-{0KxGhxYQb=naV&7V&>K{=qkEo(j6?djjF3?5y6kF z+Su6GD9Cv?jLBUnp~f+T2}w+gKMoOtbyRdn2iq}~v85Sxx`;207W8!2oc6VAjUVB0m?UQj`%1CL|P#KvuXbdN_1^vP~h$42OH(o~> z^dXKLZA79WO6LH=w7NBfL^QT>#6j#~^p=_RJS!bn|lWMSMhilFim z-d4f5C8bQJ-;iP_b}GEoBle6pw5+5lp*RZN2${M&dqB7;?Jc;N(mPd)Bi@aJFtnwg zLm z0B(CpT}~JbuW?qqiJPZK3U2zT@T6Fa*S1%EE}gd=(!&L5v8*`Wlx!(_wk*?eP*7N8 zv%tg^O$VExxZr4273-#OlD3KcN=~kx_OeK1?)!MGcZLh;30aDSRWROwjGCD-@+{pLKTwVrfZ=lwI&k%A$C} z@9Rt)pE{ZpLCPYk8mMNU;9?Ehw0J|bx}+etoW1g~V|4|)0#;Hj@+$Q!t4Ey95vyv) z?kIjSxnSVox5f1#<0sLGKMtc|)P4$oC{qH?x)7W^{ilSH`@5XpfDERP=fJ6Vv?zyG ztT?OQ3O*i+tfE4S8w3!yqr|2Y7++Wv4DsFQ@tB54h}bz=!6XMlMi`T`2M;;9wZhfi zN>$2KFf#xE^K)0mB@vxX2oGhjwou^}5`~4Z78J`G>iNvf zj20ong#vD~Ev?(FRXgGqwqt`!Y89Ho)X5=WA_7Q2G$i!WDGBA&ilY)i8$rdpLP#R% zt+LW$?P@vfC9Y>Viv+4-N9|Om;HFK`c52dwV-B_1ywR zbP!t7%Lr=!rsX5-$ZhSRs2xzWV`CUfW@MbGc$__zS0>Q~#E#rvA&g|tT3K{F6r~^{ zSw&A+g+lg8r$c*RuhpNTzxp&T-Qr`cNjK<7RrV=IURX4z!F`P5eJ41QhL8AQ#@zE9m=g@w2Dsg{h}FA z&vaTw$iBTm!!b3`FvP5h@QZfC+PZX}2UvxQ=oSf`EDChW$RNgZY`214HtsJv$4=;+ zQo%}zjqcD@5W_g1w*hkAMHmEG&BReRbmBonocrU>5bqS;GIqr4V!%UZdIt1^7{o}M z7)MhLLJC755Hzw73=AX|K>(h4^u!3n&3rk(u(p#)Lry^4%uoCG$Zj8;_ThPlfTE@y z?ecIKlCrms%U3{|nc{qPPYEfd;GPU_J-ezZ6-rqM1^^%ojjV>#leSdhA)MS7vzSA# zCQQia%k(M{yb122snjqfDj?(NC?3(aB30a#6|1CQ2X(kMt=^F!Efo`^DN;+)X+kqRLB-CG^gl8jQZkJ`{g~#PSlu8A$39er^d{})j#6E? zQ;k#I7(b)^7%jB`6J5B(Tv|Uaqh5us0-dTw7N`X9N{cCYt)9{f`hIS@iWP&4J(&bq z4v6p-42nHcK9PRdD0QS*5MzgE?I>eXFt(+oD56(9=uq>wzzWZgZxx~jE8 zs9uXwg?JWoy@wuSEA5&Y|G9K1WZPzr!pa-9kXAZm*oD?n0pk=O935w^eetDL91zHj zftaqyAwJv$Rs`QE?fI!j-Kv4uo*oa{FN$htC|1>6HrCb*Mk+F}za27E}t4!*$kGT#C?IRsz|X`LU=q7d6k}d`jQDQlpYev}jjdC1kPE zO{Q0o%+zu0xzO_xy+`62tU+)Henm?gO{n-7>hw z#M8{GQ+|L-2b$7S@Zb%y%#&~tY%y!?Q!Euf&pR#kr9~ut45AyV#B4>iFPz?xXJ=CY003$M000000DLJGI1m5;0P`)hoEiWB!fa-@t-t^O*Z=>lU1Vip zVX(EgU|wHVNR+t2CO%Mr|1fDp&sGs65PWasK7Gf-v&P6dGkamaxQ3#2B!ShoHnwlG zN)bI|DokW&mSn zN$U3SEglR%rS#-9t_YRJCNU>>X|FUa-NMpEBodQH{P5`-ZHU5XaUsCAv#0EO{M4`` zE~_su!z)FQt6a;rv*EHeFK-#o35>$v!Q=ROfl_HmQkFE1__7cU1%|+YDZ(=H3Fy`8 zvKg);;nL=?HZk$RCtm_q6cZ#t%?Advwb)*_l;?cwEm{Q~CllyGr6aep4bEQcU3}r; z=Z1HWT1dD*UApQ zJWfAncx1$z$OEgYYtBnu^9X{XBZO(97NwdZs&^KIYtqv9!$BJ{s8K9C|KGDx-2>5# z>f{koJ3RLra;|tNwLKz8I<{;p$1%}1>!^c4fS?euULl03M2&NqK3S8xwf6t(_=Q^a zzHW;Uy;|w+4M9gnAca`1KnjXuAw(=F1O&@=gjTA~HU*W~abK&^#qC!Te$PyMu5n$O zrH^MWEoND-zR?srQd7kedv^k9+sT0*;YzjqJ2AD`!ow+ry5iyc>8wrIoUt7xUNJr6 zu2aVgag68csztLelG3G;I4`%^>1PM1`d0A_j$&vPiS3Hg;7DUFvf9yU!&QpJGHvUg z@cxwi`+S)>N>?=nI2MQFWQ@|`-&YP)nVIP>khW$@Fa^D5M3RvqY*Ek{MPb)2BDEnY4k4+;h?XjK59&pn^*tDf1%X>ZP|Gb}xt;(-`e3BH#il8Q<0Nv3GrA{#|=znfouQ6{E%2{L2G+Vm80*Euv_+5)LAEjIBiwgnBCs>ZoRrPCmd(*+i8= zJb_LQ3OTm?{V4%4oI=RrTX*@eUBRd=T@9y++G6!B7t5(#txM}()a>JxH&+mJ7LqAm z;m5~H#ioCmZ#{dR{Cw?JvznOX zIO%`dS-Fl}pVPTrYj3YpE&Jsic}%wlnXNAP-$&=$boBmCAdc z)Eq@Aa`oA0eXW&iU4NzXf9Rzo<%-R%T@Q$R;A_n@MVNY1|8L_rtg*dbC)UOBIhWD1r+W1IO~zCc4@XU{ z!`X{fsh(BIlgZkeO5NIe>Zx1zw5(QYvYevG>ZoLORn)4}s#S$lQOz24Wu2^BQ&U^5 zDe6|wR#Uec8vYP51A`#`Q(D|EmP_2v<>@|ySf=jz%}mq}f}BQ~aZGx4^=3nq6ck0| z;HqrY)Jh$ABpF1fBob4cEp(D85DCbL-nc@X1Z)OJ1fkjv!^dH*3K?{``hUwProAZI zlKN;T@3GqU&QYH`Wvl!;e|sCxzxBtjSAKmvOvmHvHtcPU{_M?Z#ou0Mt+$81bFDZ& z$Cp*V@5{A{uW#cr?R`6dO>)J;!Nwo_M6{gsZ;tXD>JDU#2W)0G=ksYPr+uNVts9Ff zwbwm<+@!yJhD>->#cKT1RM^QspAFWIXiX-Ul-#PJZw`~*?S9nQOg4f}SX$5A>8SKA ztV>(j%xLK_l@f*snn+BnAV>LQaX|1TE)#9Vh+s8Ax?h|Z=3iHQlS5?0>J=(qQPHX~ zGNNH}N3SZCQ4zpKOImpch%7VcIq?jgZgPMeUm%QxiAbQZ$SlDo+39nnrfI=o-l~B` z$eu$f_k0Ru>n`1`D>DH0M?dCi7$qA{N=_cC)u!w87eB4Uma((fKT|>aGFdOHXiW`P zEFX$3iOg%_;rO-osAL(>W5LVXJXhfqYV{NL#oXTAn|&Q#UAvrSR$K9|hRiuek;~J< zM{J=fD|uO53FNoB*Sg8KG^<6?tc;-fz*$;&4!j+5&9e1V&8#wPY-q`67Y$FMPzxfs zEquPv?gCTBX%}o0GbABPAy08T43+Segk`G}PpHkKPk|P#On-H;dZ~VluoZ1Jb)wKI z7o%iQ45st%@Aa9OFjZP`+)%NR+RF@vpRH*642<{V;_CPPSo(^gfhucOO@%bdT;=of z1>}?FiI9-TyrZKXrKWb!+Y!)Fk#5?~?b$F-6m{+zrivq=UV}aBe$V*W+OFjFelJw7 zwAS*7x-KyVmoCrS$Y|Xsqa**%*E={eFO6Y&h#who&+wz%n% z8h-q$=*vd+4^2>>O*-#sEgt@CU#^Q{(1Cld(7q(;_ZU)FNYrRpk1;IB04)lR!xnF) z$6id-DHKmQSefL?rhe#wcKwG_}C&2@u)~U#QwU;xR5Hea0Q|K~7 zA~Z5fc@g?`xvs@(QL71=VYwrtCSuwZ5nfmAHH3FTX~qX-)zo($iYQRFq@OE2w-#5CG(a4K6H5tSjqgzDiu9&I+dt zCZ1}Ad({E}6;^2UWY1s;OyC|GE2DNr8|(1#6{Sb*oGQxV~ba z(SE*ieJk-%d5IoZm3)Gwy$lkUPM>5omtczgg6G>xU;gso&z&d!whD$>xvjF+c3YRV zC01Lm)0Qh5)FiC6RTu<=K0_t$HDqIJCQAhK^_yRVkKf=8F^2R41zQB1mo&{6ZZ*_O zn*nL9<+ioCUaQq6wzZtk8_h5`;FL5($%aHKQa@B8EP8=vv!k>0UaODOe*b>DR=tC> zo7WIJ)GP>7YCKw@RhwNy=MR{>w-F`6Oo2wV74fzn2@M^h2~_$Fi+Be*$f8C}p+bb1 zA^^BRN56PaB@b#{x8rV)ZHP#dl^?_^HoHZxl2sH(js}LZnBs~SF&CzN&q^^LC);T0 z(bNd;0BLM1xE(>ETsECqtUMUXryXUY4k!ykQPPG+#@wo+ybwwSHLN!+mKH~vl(^8u zwRxN~>r0y#c2rAYQiFO+#*Mi*?U=4YT`Pr4+NrsW^LcSLDku>S3nyNcI(cYU<5GlR zk%8isL>P;@|ZSm#J}aU8q~S^rNyB4rN`$7qG!yZW)$An5R_f zJH0F*g7meW9<+Tg7(Si`Z>$mf>>zx#ZFVTO0el(-%|KEGqo~%b)Y2nbb5hiaTA2Hqs&jA2WejMf zr0hNnw@_mOe$c5yxBJ5|jG>|cWCo>?D5`klOpr|qnNzTwE9M4mSX})XMKH9mg5h{u zd2zB*G1OS0Btaam)KhkW<5^LuOP7xB%NjWjDF-{ME=*00;;@ZPw3;c5h&eT$d`frG zNLwgl3fR^+5iA;UHV#b{G3hDK*BB(#I5fHIq>K5=_}`<+fYA)+BtBy4Uy-Cpp%&-D zSL%3T(L|_O1@#GYwK9|4GZ`2Tw8S9NQjEFMkMF0pB_4*GLA zTmV!eZ3EfEJKNy#a0jvtKtPU!|Lc#Y&q=y)ibiql!4yo-q%-Y#ZCV`|$PB(*@Hd*AuTXp@mfI7OpqPl|3K@9yYu)D5GKiqP)hV|qDEsgB-RsBEDu zT~$XYdNp1+<#E(pMKsmf48P>(jT;>y=nX{iyt*DbHa0y(Q5-4&L<(2SG-cukh4jkf znl-AD|4JNE7tJU8;danBMxbLm9Gu!t=_Ni;)$63W_l_Q-1ripcyQg@80tXvObD15L%{-9>M zPEd;aAYJ~r=YF>|L4+0tw+z<%-8X+c;ocBi7k^2;mVCTSh#{FPDR|tsn%4`n^k%In zxLT`KN{Ln~L?Tb84Y|W4v}si;w_%`q-v7`rW%X+#GsGjO+0XSe6JMRvUXDtu8Zvsj zdeQSKqN}L1#7O z^`osR=0yDNBc@qcmCC7hOxIz>ckHtD-TO=9ns&U3%KiVlT#u|5ec2%mKgQ46YT0fD zQM3x}$tm;x=bV@))A!-^P&`^`-D|4xZfpZA6~5^w-L&@-Qt~{>oIVdXFHbM#u6h}7 z-G8sUq#VOp5;@|HouoUrgMCu7)-Sm|1|P3Cm#)YAyRE}~KC-job#5xsz2CQLqpZ~` z7_Qt2t4lWmR03U71~*E}Z=Uh7XOnSDNS3{4_;@YKgdz%sh{7l6n%J+gI#DzTNm9Fw&^rTbFsc)+-ObR==c=)Kn_X|9X4(N0tRpDx7!gerX+ zBS{XrzD8fm+-|KUONliw?G;^TTRcvw1S+ru+eROH0 za&>)OB`VSmaav@Lm`j4DlWhi~+hwYtN)%xF4#zE?DQSYJpe@hEVCcfhyV)w zX8sZ}jA1Xu1Pa{xj$=_|B3vkr!hyiT$Y9V>T#8rJaEH}v-y2urs1TPkMk-TKb!o>~ zwsm9a`z|!VMT)3e8Gubhy?cJ>B0M*tq6Piga}2yU08eLUQvd(}eE|Rf0001dDHS*o z0002uRNzDxV`XNqxVf{mwz;yfvj6|g|NjyH|KDO%4g)tdfWzW3D3u){(Q$IVGTzH1 zDMn~c!d$KN2Muvvmvp=KomSKt!9cHM3DZ=k()UALFR&b1m*Z`%*aPvn!@ zw=Dznd=U2goE9Jhb)d3bC= zx`To73=`DMSc#lI1LR>Cr%}gqM1>0k;?QJ!GIBEz3x_=%jSoWslji#ue#s6&Q51@k zXydJv3#!rJ+U=~Y^_-qMxOCz#4qpsAsRgAzt~_^^^1betahw-Ft){)uc)3#=DN1$| zuf@9bzu@o$TfksMgh-eMv}$7G0xa@c0s$r@-yyIzFf}?PfB*d#(`&oFuQ*?Gt|lic zljpN2s;YKjRqHapd337xv}LQEQ7zgJ>TM;vXnWLDdGJ}ml+hk@PTHd-IGnAfoM`nt zjw22EaF~KhzOzmsn28eNV^^2qu)oy@BOc$~F{4QzXnowmIFJY= zw){0F*itoHraxL=-y>5~GQ6#QY%P_V>4JtRTM+BiT1~4ZTriISTngt7rbIV|+~Tlx z5TJtB|NZrtTv0D3wG%}-RX+ON%USeM*1YO%aU1nr^Equ>k1!%%h)9#nVzRxb{kQ)5 z^88Y%e*MX}$Z>vmMOG$jCMR;Au6rw^tY1cEQJrwRgxEGq_b=lvFb>)ULO<@!2a&4Y zfb-LP4~6sdM`_cez@@li+_-joB=r*a6!$InD20|4PlNFB@r^nE9d3PvaNFs91Wy%r z1_6hF%Lwe8QlSI``pH=eR4R`NRE7iRX%tQsgk>+7>i2y|WM9=4s^Z$M%pwmzwpQlI zny=*1UYYW#)Gz?%&JO4<@1&Pf5r|fQ-)2HY6xmIT0e-H^q$5t^(Yc3`usZ^)K zb9Z$QoVywdHIAA0(N)5@nj_wWvbEmW44>hk+Zg!1@(r6N4zHP&Ii@Sv09+3D9R$OK zY4LbQBcaF_#$Wd9>hon`y4teUs+N`dRC`$rjnV3lfc7q{K&dH@z#Mk<(KHC z4(8KD7K=5(UTWTPP;H1y+7?m;TvOlkEP1ZRGin>=8$#nj{r+zEZsmH{+&%PAC=9> zv`=d5@7{Lkpc$1x;F)A}DaS8Q5MwxTw!N_BrJmM%TwoIZIWBVAz;hcWLw1z=3UysD z%bDUg%i1zlb7c%ovbD%Mm-&oPt>WD2(quy!4B*LW0; zYQRN1h+O?~o3>?^sbaS>%e8hXiYV>OYxS7U$I4iJs*|#8JCKY?v_}5h4@FM))0}L| zOXbVTUcI-^_xgwSdZ707accXKD`sk^asKsHlm}avUYK|x>*B#L+rXP;?dR(oT zw&ZzQ^!}%Nt3DosD-IZ$BYS>Y-)-Ee$WJYwBb*-p5rd0BHwu$O!ML9dTbLI5a6k}C;tr5kk=ntMw z8++ROnH;TSyZvM7hr`50%POsU6e*oYM5cxZm|rbNQVgwI#m0`?sZ4a-TzN?4@1iTc z-=^Z)S|~rH4Lp0l2f06boLhYIENR_(IH|90`wPk&qcMk=;rmA{QDc-mrb2l z(d-t9?u#$Q8V$rI0Za-{)k-(7NMbvAyrrc`lmWPgG%uS|c zeZuwOo%K#tbgLXu;hetPpth`3vTFJZ#~x9un8<25ZAFx2nVDH0)iJ8(I3A0N(xwHj z(FH#uE!u8RJe%{hX$<93=F<+_7Y}MwOiRnE;#aw@k>hVjDlXZ>%O#Pk`|83o3pLdAS zE3Gwdr(b?q>9kemxziuV$Ng~3$78)$nH(!?of0_!(z!7+w%4%VmO`@ z*kaT8K*{$I#gBRU4Xe}Y<-A>+Shlmw(7M=#?Cm~NoUpiCm;d%@HthWD{`qqCaKRYv ziXl|m_QO_(4KEh6>)_A(X`&GuKCEV~CjJ*Uf3^ENGbAgmY*%Ghznz**MW1HwDWf%A zrKPrvA_6x1NV)BpL^6>O5YaJ_VQd62NEL!bcFI)gn+pm=5>m)HdvbT{Qd+ep27qSk zM53>|ak4ClRqk(ae{SS~2nTR`LriY**XRq|k3 zEqAakJ3$k*K+%~syjkbe(m8y&;DaVB?;g8oTBo1a9~}h`x@1t)Zqdgnn+$OhIa)y2 z>P`#`iw!qklH&Suu>}kzNfailV#ww9TrEdCt#dd9dems{su0)Rs<^T><9+Hjs~B31 z*2c^%huh&6v!rfTs8F1)l_R!8b!EwYbPX{+N~D%*YDLoZO#NXD5;cc|vU}OOS*P@L zT+E5*wNIoW>My(8_x!p>wYtlWvdC(kL~KL^5dfz*;H8vIsHzUM+n@3pT?@T!T3liP zFqKy2NJ6`f5aTA6G=vq5HK|hpc;I_V;tbJJOm&)43)(HIfzM(Lu5@5qvJC8k4EIh9 z&Sl}8p3R&DtZF1UsSP?2To&B0hNI$E5s_?xAjDRF2}2tj+8_)x0KONb*$zV9%+<&h z+QXq%M^O2Y7F#yaK6uk(i6q!f{fFBpkwP3>hd%KLi)3f;s zRuRE1PFF4ka8SsjM6oP#p+ZqwG&QX(K?xJ!xG@Dm4KbKNi43TlvJ@lgWgJ0JSgaws zb4TM$I7zWIsYc!69Ps&IgT(>ZCI}S?S03TviFK_<-CD6DJBd}#BhZz)3iOo;=-1Px z!~u#_Ok8b@gnHsiWZcr7wj6$8OdHlM+FuUs156$ajw$7utq@5p!)AFM!!@Ifb0$=* zxE*y$N7R`*bTkEu!0AGF(iT#q=u=1a*i!pB2JWZ=(XCeu?$(mlab2Qxtcfnb+8oFR za#q4Vi8rQ1R7dbClsdka%#>2AhrYvose@p-eGE~igd{gCgmCUd6GDCM24I4859Atf zFHpE`a}lyz4ly}MEPUR_7#$GW^}0#xwPmlY%$&gM+)xig2d9#|8ritU`E1+bHN*d@U2DPltPq;a9y!zXLR9T?kj0QB*01&s?av!j@vd6p z0Qu;4(XX!w)2OCt#uv+)kH?)TUwK*|OSQXOklw}+ozPP+Q>p7(jc!}q@=(BS&F4DF zPy`VTW>pn=vDh9{zEo-A_HDa$by`kg=y<=XKXr)fsHO=*COt=2BtGNmoUSpy%8z68EF)h{d5!uHJY00n>#ai?8a7X7>3~ z8`gCZK>e8xmmK%~pQUT}d7*dJLwQ*%iLtV7>!Rh~(m1bb_09Ep*yWYwa=Y%7xM>?I zBG#%(7kl<(xvrKi3-#M3tDQn&;QvBZ;&C)IcMH0m*V+UH$DyxSUzqO%BJE^a=Qh4Z ziHo%hJM5yhZWy1e7!#-zAexqvZ^Q$aEHA# z{Kn)c^ZRr#h6>;m@ z%}Z$yy$itzI8Yr|c)oKNq?5W^(kbKI>GY@_kC@wT{58fClo~0BiXaAztRvuu5QYGP z0QA*JGK|&008(EKWR0oi0VJPMJ8`yg+P4vfqEX!Sy>9h!`F3@QJhs@v6xy#n60dQK zvz%L>9{ zXvezX2oZzmvI|r~A{3@xy5LtcbdL-T6g9>Z6e<8b_Oi6K;~5UNkyp9>rZyy|(SIpV z>#hunLj~tF345(LO%gk?!A}HL7vWrrSgLV*#cK&k7D1;AcBCKbY=|p=>s4i4qD4mQ zCYBAwsJ~DX`@9rq8%60Z0|*rAcq#*3D}t1M3v<$y;%-1Ony_}(wikp8MN_zIg7dGE z8H<>Tg-OH;Ja5-2rD~^DbLoLKm%FX;ylp!>z;g=Xi}hWi z2-V*yia)#Z3Rge`EasS#p8br?A=Vyq+)4XeYdKgUm-%K~5h2qEO(Akjs_q2IhDcDS zAh?ubv(c({>`0pQdg@p$N?kt+m1LWX)}kL_vR*MRq;hp)drSC9Nt(}?B&Ura1c;1<`SCDcKGGv|3NBN7HiM43VBYyI#LP~4)SpftFd-O!svckCoe?8jCP(o17{dw9{ zqm`9viKteJ$(XOmQbbkcw2PH>WmeSGdsY!yso0N=qf#@fDp^%Mn^CQ*6r~D#|K%PI zXLg3*#Ko1I*SNIVx2h125~l5qFqJ(WDI2AiEjPnh+M~VSnxf$5C-Gwl-?h# z6)8Nj!7fHanrynqe9_8mC#o_1t2(X8qbTAvE7ytHxH9*4UYS>(wBorlRuPp=)U=8b zw^L)^d)(un>wU5)^ZEKbx?S?0lOEbRQNK9bp(rDq7%p*GyGV)C>KV8FT0*@~y*>F)BIHS`*(^Q~AF&p*`&=M`BBUd|md!Zyue`L>H0Sr8S05w$Q6t8< z^pRRN9t1;jN$oCVS(Y_MWLXn++O4ySDHBaowhq-`6z41L{~UH6 zJ6U5zk*)XPZ@W6>SUHnl+Q*aAeZ1sumCv~-Z5{Aq_u8MW=1o|H5l`zM3?$KZO7-~u zCjW{|sCw1z9m8p@-4w@)*GB36@;0{F?3yD2jOz`pjjmK_cBO`Ua;h!bycBJ@1juW+ z0uv@iBYLO;QubqkfQ|TZ8Nk2yOQbnqjl(RM~laj%M zyGysys=E{np!nm{3{GwNW6SCLJ^fibjYaNtvMm>yybMcGukk%~%00bXpI-K6OrJWQ z;Eg1UHk;OYJ^raHhFfiphJqiT3t9PzRpbYFm{#0Y)U_VV`3?oNwXxc1w0bDWw_m2&Rywuj;k3RGxcHbT zYgx2jC4NRAn5Kob3=d%f+H(D)IvY24=Hb-7esJxXr`1bA@YmY&b`|X|+bWv-4>g9O z6rm=dcrT8X?T2v^_fpHn}6GeIUjev~qmR(c_&Go~>+>YQDn@G}Qdi69R`n%gM6H9N<0vRWQpu17kx}}xX95*N{$yeU1^@)|K$qyM zffJ?ENB&d?9RPO<^VFIX!5E<^5-&mPTPt_DP=v-h8pwv`u%p}ZvA6I3)b+oMVB**8 zhTTzm_%-HGvo6N=bJo1n>~kVP=omTiE^G#nsf8gMhU69CDtt8RW(X?H7sa3SZ3I*z z4sCeOYQEQZUB=GJD@LBFjj^h=(LP(9%Hfwsd)A({MW z&RxIALq>D(aa*c?ClBZQahI(X=iM7W->0Wj*F>eWN9md4pZjg+bu0}}EB~v<#;9>} zT_E_e(sGYlT#s`Y*FU9B=aE~MKjJ-G=csT)@Oz+?LKCt~8m{p#l;9RS$#(PJbow0v zWn-tFd>3KFR{G+x%c0cjD^uz=gEWCQ5nA>m0w2>L^`W7bzwReEUuA=I4^ZKMkr%t) zkC^oL!(L%p_Elti=k{kpd#yOf#nIBhaG?@GT5I~NC~XnRXRa^I%hrqPa4kC?>jf;VRkKYd zOId#I*%QwipOJ@+7Sf>1bF7|Q`BsJ^{igQ{$^!Hg!LF7Yd2e&qTIa&$FR&o zjr@GnruJdeer#funH}{$sm+_Y=+r=zN|P#R}#FMa#3>+*R~Hebi${RfrW;F@u0 zdtGHE077~NJ?p$kL8og2f3{uoou0b9tVvF{5!oIgJhrGen46vdek91`O=k+8e)mxd zwy~2wdsv4nZ+IBmb==OzTy4j*pEbt|sK$Cp-Oz9;ec)a6p|)1%TBkTir^`iEUy6*o zq;p)GYsrYm#hx6iSLc`sOR9eEwQca^ z%2#if-6NmZ(bB9*l(fBNSBNiCwB4d3SxJDIiZN5v%PzmyeVv}aD*To$BvJVsj*~?NAP-Kw!}r?2U_kz11!56F#w*|L)iwi7HM&i z%Y(P*(?o}AJE`}?Lm^4LL%$p@*Uag+L&`$)(ByRNGZFQ zBPHbE>ME@}RVtXNiJ1Wak-nBeU;n->dwV&1P`sz`nt!a{e?JQ+g$5(&1WYn>6e|$* za#D@{%|ys&v;5^j7_mBMs7570f?^}dAqtO!t1Dbk+>^Bm&lDnvkWq3<3AogudlbTz zq)@C)_%;d+1&uTqu5^Z8$wi^^j!?K)6Sm3d2+g2S6cs8D(UOAHF-V0G@kA!oX*4di z(GfKJIW|z#iVN9#)I>+vUFVw-1s7bS}lrNGp_xC0XC9Y zxwH6xI+X}+DFIMX5j-Q2ilws7RG3J>ClBJX>&~%l!yV1IF@iX}Qf}!CTo9_FBgy~; zjIYzWfxe7bq3bFDVLVWm5%tFNyVO!VhY^E&0;g6jlUe3Op)Zl7Y?0caq1Ni4qb{Iy z4VdecqsAiMjdx zi(EtNbUI?}F^aLn_=ZBlK4d|Z&>LxYG^%P9L^#q~&}z>Z{PAg1&i)a`Qt&khqTLz* z3!dl0*#y&f(!&7$MPVcgbbawMf%Y?qQ|1Z*afMMvkR~}|B1i@{R`QfW2=3CQbXBFw zf~7J6004YER-u*eRGhlu|*kMX|^fO~rwL5DYb< zpp`@=r3gBxDj{`oOxZ%vnJ$A4)o`p=)UsAz7`|cdsvP4XQ*pWITl(bcFL0biYv~HeFZ&kG_sFu}6fkqVZ#fmd92-;*(s!R_j;vuM}bF5!kbuERk zjdar@W#y%+>r`jfwW$VfJ`EBI4`+nNNa$$dI={57V4JS^y;Gzn{uD~>8Ld)9%hRvx z7QDLQ?U2mMK@(6~BQnCezoyS=$*hX>a$OKKWAly9ZZ<6rz)|WMbEP#HIImJj(d%<+ z@0E1~@d>YN0?w*8R6<86;@AzhA;hhtCYD@UpQ*#lCFWv8z-W}H&=H4b2x|P@WOVTQ zLl%sOMOcVODyji32xDro>1|EKV4`qESf~enc-~q!7=3XRKMf5}XJ=CY0Dz_e00000 z0DLJGI1>N>078=vN)`YA>0e#4tFF7ixVHcQ>;M1NvaYvw_5*eUqd$2ya1y?`pXM4Q z{jewt3*YaPcR8N_irEL5zL+bg+Kc(}u$R%y93N$S=TGmGGBZxN1Dvq>KbLw zv+n|9I+;2;!9)Op>2eBSX9*GE#6?bL269IxJPZJccn$z0a&ooFt-GLt0nlfezSvDS z1=Rxj7&RU>@73K8>w>hi-4j-Hxut$zty565pGFVKL591=|I&g-{bEVzA!n|qg@R?q z*Sdr$QX;q&;EKS2k61fcQSm2!addd}w|+AX3XB=AJjk*>pqV!ty0avsYs2W6}L9A1@0=d9^0714dq)AQydQ~NjKN4BQQiJOG1N3as)P)WuNWqvGsUP zA3ZgDJGv~{N?9goDe#P{;qFX`uv!B_7i!UAQL2=(vrbFzIF7?_@TI02Bh<v0cX&%Kqk|>)8(3$zE{PWt1yLl~Kz0@Vl>8 zkE+_${c-=_8c|nYY+c(~&yQf>_~^E+!&``-32V;q@nqVe##vrfrCjGFSUDT;y6)?b>XHJHA??Z{>dJ&Ghpi_i@sX%?HDqVS zm1?J=qL;yVO{<(`JSl}ZY;xWG*b1#s#~CV5XQ5T%x; zCRdeszPf4a7T;Hm+TG#~BsGxU&CcrvT~Z%SaiqtSstjN>tE#BDRW#HWFVn4pv#cDo z+gO#!r$pp=G)Q&CurHppwaFW^c)r-wr$axTy9dm+GQX8+OwQtJpMl3OCv93 zd{;H8i&>goIegYQgCPD~uVQ!bGotI#q6^eH(z-+rpN%xgqY;jHX?%(bYL!2N&as%U zrhHs+id8RrT()-kvekBbK6>%8YxjfsZ|$yAzf{@x2M%YB?J0TYO#45#DF0^J$7$vK z&Z*A4r^?6UQuf39B%0_5o9CLSetoVCrBwjjhfEgp)Tm#dZkhdU{_u2}b%=~e6_mWCF+E$>Q(0+5vd(!aQ!eIkI~RZPA|k{d+)vf?yP-&zC<>n_c~`BW_u-Dk%!6pSx%?n z#u@J(c8wPMyTcELueN zR`tw!Y1pU#OwZ|c+fkF}%9`qwqH?TT=G4kow6^}&V^8lH zHI;1dENV~HpJugY;&`ZEf8u`X)xyrv@~JH=MP>v^@kf?2VbfmV(f1m92S4AXRP#Zd z_JsKT9;<8ba4t>K8&|Lts>|>++n(Rz*X?y)vfDLtNqhYzP#&(;L|X}%salt|Ilt_f zgpe++10NAXBA{&m4C=DcS%zNeFPON?PUW)Q7w2I;&f-y0Rw$~IW?$52^_a$d7q!=W zae7T!v)Q}LYTJ8%yTUr|=UuE*8FKeNE*-reoGY{S`23H{m>+!Sd-r?$k|QS0+>3K( z9`t#~XInbTbc^uzZF+TDNMU(-&1MPOQ`~t5d!_`294; z?D68rVBEwtif84%H@%5CPS^XkT8CC;cV?z6tM#6hOYU^51By>@J?}lxTH78zcn=v5 zFX+JI4WGAO!}WDr5o2t+OojL-J>GJ0#reO=H@?30SzfQZ_F=%*;S}{;#(h-Am*kCM z)gxGlm2zGGXs~5UDWjsM2(feuujBXu6#jx$=!z~%D|i<4N&zVcXPKcX6#B<4~X3@Q;|px>7m37~r#Pzn)Vh5Z%FKr~sPw zBS;6%NB!lA0=l&y!8>T;Bfi`~_r|!1J-x`vPUcQY&o=GzdASZj#`!bO+}0j>Xq9;= zyi>MXk z1t7Rvcb9Hr1`xQ?c_EA}^-|^${|LP4WAX`VNiXejt`z&^yFF*O8{E9Z`iK2nb!SoPOUg1D|i`dg`MS5Cn_-#dt5ckd3_+LCYy28mz3(l z_x0)v_{;JLxapXwxJFP`G$Cdxd`G30i|M`6D%D8RO>F}jCD%vQLS1+0)NwQ6?S+%V#f^8B&9Y&GvPw<;``mYzdNpRQ zRvix`J#)_)_sY5Y?Z=<|?K#n?N}ACuy|9|6GsTcOC{JK0kwzlbNPd~}1(%K26BLs1Cha1nA4Wv6Kqw7lg zRy0*hWaz~-P?DF%s3E=f6r)8&+&!pNX3+GcbwupY3PvsBkWkx2Ppx=5HhQWasXKo< zKGp7^4HLq25kd?RHUj{*_2aDqh!<>ZY1@91NPzsn1lkw3ow43}x4vTS$hp?JN4<7y zKc2aB{q^N(qJAs$u&rVQnb0-0Vv@@&g{fr;xq9m$aU@9Z$UTQK8E6GYPUs*^Uvh%} zbAX&v&K|NS&(>YKsvrT3m+rK_Z)HZ2`|W{0ueVRo_SJ?F!|6nO7@S$L+-E3#Y9u>_ zANHV^M#K6{xF8hr@=_$p7g8#(WD{ZK5z)%K4DWhvo3z@ft6W+0IIXf3l7O)uodRnW zEIo+QVt9lj%Ce)1K1P_2-(3etH)7D(k@+(yo{xHCDG$tSD}U=_ST9D%^>_4$pPH zEt*Dmjhxit>DkJ%XKS4?UPn`WZSd|t-#v$c2Q`o&}!>&oi6HlRBpGsl{y(~ zW)hu89rcMCtrwh*f>F`AOtti7>2&?2Xn9=Kx>lBx5GfUdio46D(;j;Gn(V+C zD)s`WvFNBoisxCkr9~%zO1*SKCm_D5a~hdzsed?n>DCzNW}f(DM#?}fdJ=OWhHdEi z@@mQi$r3jNk_Oc6Twv*>=}@f#cg=!MGNGobeUAsiwJ~b)$f6IUJ&OyiFE4UBzTh+Q;$eBPRMk`7X0&wMSDHKWZz9 zBQo$onO2@r`e91y~IMHPt zbw!p3Xq8227q+&nUD;Qm#!oXMs%#=7+P086=8BA#I(mjLES@XoDQ$_4u`DSYO?uMi zGm&>Va&vhf<|)15zxR9mTYss^A4$9aA{n_nyzL#2k;Lp_j!*pS-Jl$@DllrTD>M}D zYExN2z_Ay5b5^OK!reUPul&wD$4AZTD~os*qdrxgMMhq0ZJkrK`Mgh0=kMJ9+grPL zw3hDU`ODqU9-3U|Knt1Tv=XSw6?aTvAbxl6yB60b^#=$zr~zM`k3`3IVkZBqf(!j z(ijm6g>g3csA^&p*`?;qf-Ka8IBIJTVH>s6~p^NB;Q32Mq3-HO*md zz^xL0lauAe+TL)RuGp38vi0b{JB@cysZ7tJtWKFSDmBv{Dp_w?JuCA}?PL~}IyIH7 zJ$r2#_ExM)O{;R9h)S?(Vj|0G-9tA))~uRCrP6Antyb7Jzz3v;Ey<*!>ni49m^7e= z`(W+9?~2OWY_|+|tX<;Diw^?E^0&o$vVy(_*V=s)^Xb;DOPG?jTL^HlflrSA_d1S7 z+b!tEF7;H#up%r#egHJ~4g$i+gw91GaN-~R-8nM3k*ERu(TT$<@Ze7@H%_D_HsM@4CaC{c^GU73JR29)2XT zR%E*NSrn`3JK%1msSHnB2(PdS7a}aI(L<0G{Oy{8>9)0MtO|Wi!8@aOjV7r0^+S_& z%bL3HaG()Qna_H$4z}jir>)1I4@dpe*$XEhs;`~Xe^mdHpAqD{_RRkr-#g!Zy%mpR zY^O^h?@L8 ziZ4@-OPq7<=pxcRkRykoIbWt2ujDWrZJPz+*7~;?qsJH^jguxBE~&O_eZuLQ>&DVM zw;Tw|xD*`PB$G!64(8DoApkho;I!uKl_QzZ6`?2;BPZ9CdAl&RB9e%0mam7RZSfo2 zFto?)U3vGXQ+#sR<;9P$`CYCI^jm^L)wXgKdRZ_<-U0Jp>ZW|QYag0&P~o6O02J0N z0YmbBpM`j633t8PqP`9GK#^mWHid{I(-Js^QQvhHUlSBOlwn0szd}1Vij4*UF<# zu&_p)*x>3wEkXD^fABE~(Gk*|#9~GAKqYI`Msy+))HtOy;;ah#lk*#n$-h~J47d8s zym}?Q86Wh{iq<`Klur*UT~rsQoFT6qMx>Jrv>K<2_S=R)0Q}jAQJMnHE=0on>ktZ- zW!*4hjDz$dz{wP1oDKeb|FC;biC~C4H2^H`P6>>eCbbAe;_l>3u}6H%_QMwYMZ>ER=H zktl@(i)#X8gAmD%VQ3@e%|m-{sjn~D_rJRNy`b0RAFPF&@3-E@%|f^>5GuW601Wn8 zkhtyZBo=4@{n$GL=(gOUK%*gBROf0V;}OnwzOric>@B@mb3OZ+JX6nP&z>8-p2e)9 zCQl~Yu~w`^%~~=dr`cX>I_&$lGucmzc5$l~MOH)>d-WomlLy##k6p*fOI^v?byTvd zk>8%hRlPgWm$%JYQRDM$^e{1pG0f5Z`+DLEvYZH8^PToMXWe^ySKD>osgPCUs8j9w zEt*;WLe>l|=E1di{z~kYhV*JyRnbWRa`w|uMilc{jF^oa|8YMLd~gD@bTp>4A2EF& z)A-LSUyid7)9~T*Ww!FgXRH2r{eaf_&-s{)jEv)w#UU3~M7!NI51z~!<-LCoQD(Y? z5$qQ&UDVxRusZ9X@NQki zy3gkQg>~-pva7DKZ19wnLvpIt!?LCkoA*?GAB}D+pKsUcbi72o@j?2S& zO}y}qI-%o&+qh0xc=cJ=?=h>tF{~pEc3V}}ysHvX*sWd-II z^fP9i^Tw&!V{Ri33Ma;~eHgk42%OneUf3~S*AIQTe!aa*-KQpjj ztXLs>vZA8a+LXSn&f|1j5BE7kTgdGCQNcN7`1Kmr%qgPUwg73|B4+uX&$L#)EmXcm zkn~RXjtpf+r43S9Yol6P&qkbNy2qiGnwvO=DlKpCiGVGNBU^F|JsCw2r9_MPBdMZ@ zsf*7TEnu`pXba;`#Um}~{A5dKakc4^t4;-D+)RWZ_XyP`s5JE93|MiA67gU3IO!o5@DoZBOc7(ZGws!Nf%jB zaeZTU<*bpRC<;xHkPqtdw<1<)?d#Z6yF@O}|5QUv(vvsww4~_hH>K=eONN3YJ0}*ia|+Bia6;I zF#zn{q$T_S?ZFMaDZ|C2S}UT)XP$N%53j>uj8GJb_l425wzKHMxAj&Ls^&Ot#&KD0 zCl&3a_{AFqx->;8C2QwGp3}Q4-X)brhQ25r*ljjN#^p1S3M*x$MA4xq?BRGY?KF21 zDsd4PgPKDh1mVhXMEjQo(F{#tIEpRq8UZd*v4&uiT6&IRU%HOk)K2T9AdS%+l^gwn zE_$~gg@OrWmO9tqEH_shn(pS)>YnK0$mY;eoVJr)0POkZDCf-OdYlTA=-Vf&XVcCM zFdC@O-R|$+LKL5^RJLDcZ�JWoPGTZ8JXZ}|2k?Kq4Xkg^Q9-@Lt?^!d`}6h~ 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�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 literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_death.ogg b/modular_ss220/species/serpentids/sounds/serpentid_death.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d7bffe8abf64c758b29dc8a49889deb2cfba7ec4 GIT binary patch literal 51650 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 z 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 a)i1yd33kHd0g5!I@nm+YPuMgA+&B*6B{d!Z literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_dying.ogg b/modular_ss220/species/serpentids/sounds/serpentid_dying.ogg new file mode 100644 index 0000000000000000000000000000000000000000..017b240d29a08829c41918b49452980fbdaf236e GIT binary patch literal 78784 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 z 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 RZ2A8E`*KwK+7EBs{|20DbEyCT literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg b/modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg new file mode 100644 index 0000000000000000000000000000000000000000..83486e436f25913dd53bf24bedc82cdc1816a332 GIT binary patch literal 21949 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%0A>_!v>M37Is;|G6{!% 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�z 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 literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_sneeze.ogg b/modular_ss220/species/serpentids/sounds/serpentid_sneeze.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4b1aa631a81928a065ae9d23884c41c11ff141a7 GIT binary patch literal 43313 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 literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_talk_1.ogg b/modular_ss220/species/serpentids/sounds/serpentid_talk_1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2ee7d40227ccfff287d9e9cab4b59fd134fefc9f GIT binary patch literal 83060 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�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

j#d~ zYT)t{hpQzm1sBjNGY_hLp6{}F%q^RH(n&3WksnTMMvH6HU;hQiPi{HR4v`tej*bQo zc!{=1DN_LV9aDawqkB+Mg2pCounxf3(q6Q(Gm9`;i~VrUKmE}iKRHX4ih)_}*{-A5 z_5!wvpwu8s0RHb=xV14(e%K*yQa7)I97}Z1IVe3D;_H{Vc03F{+0J^?asO(Kz2iHa zGU&K1=DG(Z9vDHMTPIccf$=NX=%n!6l7(4*H$4i|12!u!auZE6{lb&ws7fp)D4ifM z{RaIX>U5_NN=t5#cEOKd_kZ1AV*>77C(;^w R3Y*dqyyI?kChmoR{}20WI4l4F literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_talk_2.ogg b/modular_ss220/species/serpentids/sounds/serpentid_talk_2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c0d99da006077910694518e1622851a70d4f7940 GIT binary patch literal 159834 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

1=-z=(FQ~~Zu!|z*DjTN zgVIwMGR#UQK}MSBV>MDU&^gao?kq-!{d0!SX)+eBPTmM1q;uqm{9c~zw#CD)RMsFQ zI&Xb(RrSzlb*n#IT+75xJq{}0kA?asAayPr>7Q;Wb!|*I!A;6$$Qj{UjE)>9URky! zG6%j_VSUT=$+OtpqgIc}WRw%_+!afMed{F3x-nU1yxdn`U;fd%;J_oD@ska5qhq$t zs}_-x^-GpiNLT_g#|+0WT7py-R#yIGnCT$B5ia3p8DPvSD-zUR3AcsN3xV?H@Ek8g zsw%wi1NZ~4oB)aiG^ujZ>Su)~%v4mqs#rt6$SC&CE?nfO)P3TdmG6YS&gxt&&1)2B z?SB|Ay-9fLbhs#)aTGTac~-Wu1Sv_HKJ%i6{7d}t%jE27t%%GK5#e&VJ0>|aN$ky0 zY#1!2usJpD)!4tR!dZ1}ZI47>2%$F>r4%lPf^K&7mt)%mIFViatV7;pVOwiGJ!||z zmwL4t0tNMi_V*wDqam_xCvYA7K#jF?N0j*g zb}2-`zuAWWm7m1<{^oj3jiD}l&z{zRv&+DR)s=PN#@h1YqV{(!!k3xP$Es=Ke`L%Y zx{R$vS&W@)lE1_&O)UvBQavhH78W5oposaaNRPftJ2lyEyC#iA>884_nY( zHyq$?=UymH%Istq`sIE&gdccVY(-YzkLK^8ax_BwqS-|gSSUsIuP~>qsU-5H*kmT6iwSmZx}%$N209 z8M^Qgy7$L^YQ{nzVd}<*oKIlgVrM+p_;4 zQ}4CHwUK$I`EJ{8NJRa}AQUvX&0hq{9%d`Oc~h&pJ6y$i9ZEhba39D_?$#V^*?a!t zfZA{BFchQx{)^Tw1*2Sl-b8>u$xQXi zTMfI55dD#JvX{ zP^>^44~4)}RCs{uVQeiw*;&TbtxY?>&s)MVMYDt>im85pM*r7R8}Bn48f(>lMn!;A z3FQ02TKMY8F7&o0u3tqS0B*jJzy+gt4xp3dC|a*|gOD@|PK?f3%?r+wQKBK9w1%5lA%VF+zehramN2DTR;8$BJFtdEOv{HTm*l~xi)$}zm~xQ` z$X?nqoa_=7+1#5Su1P6LX2(y8;qgf21oJJhwN`IIrOPUsEVQQm&%ZQ36l&#iIXpl> z72`+FUm$4i&8jV-Gx|7%P99VXqPZckWNx&7{T!nSW1e0DxALxyl z8Qh?6k)=(9AMud-oHD+1l@z|_1G*Qe+jr<6Ie6#YJQR;c>%F`32IW+0=Q+?oxUttQY7$4Zs1MSG zaoS=Hb+(2=R)g>Vjg$%P)i55|`7wi^-CZ!kTotM3PVccBMVshP7cub_BB8C2Lz(d; zCu1Nh7&d6e0m&d(@$qNMOc?>55%7IyvOvQY7H!Dtx!^a|jN6lB2tRj_dtPEqF=oJT z{I2WOjQ1~xANVc&I*>qzy%oOF_AIZT5gx8kzbnYvoP<^c;n2(ustAv4m)R0)B_V9r z!L8kz?Y~>=<%Nad6`O_7uwgNl+qoQy`PXDKrNC7B7h*1b_7D>e^1~^ikc-Q4Pc18g z!>DM5ubCcNYpgTErf#*f8)U$AW9H%{J((cgL?Cl;ZUX8+qaK3vrxANw0C;7vYI=d_Yk3k|+2;D_v+~T%_s|C%C}v3I>Jnr37)culLAGr3boD>~PB8 ztV`VlyZIm5z+wCHM}@dsDvcK_8zcA?!FOZmn46N(pKN3W1RNr zfkJ@q_H6x8!!`4fIZkW4&AWCRW}FgA-Y82{l#=W_1f#pb*7fw7wP;pCfK`ztcLsz3 z#*444ZHfmalgS_o2#(1}(=qHv(E{g15lubKu&8fOhg%E9^TN(U9~SkmgQrnxbUJfnHD+m{-htYL zh8OtV1CbWnYDJsqC{Z%K9U;x^AS|=HaH^sSGQM}aD9TsUh$IY93rx<;urkSlb{8~v z0pje}e_B=q=M?2QvH3YVtAT|;>fECy+NR@R_4VUIW8IZsDhd)Wo(x!88 zR(JINF>&>{S5QxAjh?sP0r%PyZMj^n|0#cH=|gun?z=2}ng(FKuN;2}O#TdFH>u~} zc^mIh@wgH~! z)odGqZwoL0I&Y{9p>kuC+IHtTzzKf=2dyuG!)G74iho2>yo-W!bH&~E2h|#q z6j#7yOFKp)X|jhn<&(nh5GjJ<6#h$G6D`-=R!w%V0}eWTg3kGpKdPESukpgkAc&k7 z`JCUHfAkSgr;3)2Q>Z_fl(7S05o}gd5++(Y!53LxiF%D>Jst~ss zH1}q{ds6e7ZtpZ0)2r=N4t0@Tcpby8-E$xeB=^CrF`LwvN61BDz*_iRm%7rMJ6Vg| zmI_TWA2~Lz330zTQD$C7`AyKccXYQm#}zr_I?cK-QniH6r8Oe<*tf`fBosrRMCU!F zs2=Pa?B7m47jKX>^&*zJ5DLF(W?3#4g!j71zp8js{)ZfsKw>A<`ErG|RTB|^a@B3AlzbHC=}2 zes{}5>uLy>q-Ffux}RUk5Xob~B2GzE!9-6tvGYjS|EK!ET2r22v?_+>dlcC|z`bVhxr@U}TbsmIwieDxv z2FU11rH51rn7ilXrQ1xDYomL3YoQM8xY}B#eQy0&5Pw~}GvYTL*I5NjUBk-3slMsw z1PJCiE;!lj(2$TY0xm4V@Ryj?zDbrKjg?~%0GegZ582-9kXnT?&flNpQ_F>Nsrr+p+rSWbu zt94{;6xPh;*fPu7A!v_{HJCC0)~dzrgq(O#=e+83r&?LW8Z>0BNH=3RC@4v)>ty`f z_U5R&4nS4n>EeNX;x`dsj9KD7ws`D90kEFLrau%!h}&*g8B=oXm6`c<^x9 z?48LhW)OFJ#Pki&J0b6r5{rliM7EVIR z>UX0Jhw<8{kC9$0_739cN(%@)Xinauj^Mea{Xqx^VW1n5CKMj4SUv^!LfVeln~b+o z5$AY|t$Lz zh1@YiVr|Z_4)Ia?AJlxEjM+w_nhL0e_LicuBHbUV&FfL9oClaElhilDJR!M96~m)! zR3)3lX}h^4`tNY$J<>Se%M8ISq38AL_-SQOO~hCAG~%F2iY^JVpYx9^d;6iez`)C5 zwy9;Xq(OgnsuFSGM@u`yvKaXwyk6ag%&+2@AoPDxaXJjf>cwMPQ^(~M^e|{W{nxm)ZQq*fW z0llc)1gD{HKK;;*ofNCE#RKrO^X_6hA9=2F>Ri7+{3Z3XD#$gfYQpHYs51o2I3|%- zci(N)9$6%$*e$o@@4vq}5@A^Ln|eSagle_YL2${3@v z_%Xled$P@$l&fd1vc;Sy>m#ZE$q?7RUThiEP(ga}l(tI8RRe=#qi3g25qQjhC$}aYL$1Ixtu&dc_-b(9gw)|&#Xno)`{XcBVf;*$w6C} z@F7bhDlF{#p_1%7n02}lPI*io*e`|cq$a@sA90ZQ|HJ|AH*tU@3*<&yoCdBe&n+(Q zEibPutpUHAj^(*;{FFCwbQzKs>Iw5TnTDwx#N%yL5ywYXl7a**%qV--ug!%W{5X(i@42C1`XwW z_hy<*i6O%J@^Wco4<@QmPBDVu+C9TwCZLvk;onnxt3t_c643Z+>Gk=SzQqx|&=El8 zD8Ic@{Qb(^Lf#U)i=5}1Xzi30ujgC-0Y-r!@8%*1DFd!<;k}$~0Zj_nFA;AF7Gs@R zW4y^eq;Oh`2J@!T)=4Z_&Ti964_7v9&0wRmH**-D<9LLeHk*l4svG~=Bn{PhuT!x} zz{FW=Zf|?g|CKn)ayek|;rqbQGBSnYxY%LU1x$vv&lQb*QQG6rRIaRQtX82 zBEpPVikF94bx0}#rtNzsKj{}KD=n=gH4R9+kzGlLxx!%Ng@0MyFXxt*HM_4^o;~UwA%(V0K+W2~=== zTDJ*gZFWQh&#y4?yymKG$%rs!w*9``!ehUvpgUuPw?+N0pswLdn5o4y$a*%(>Vq=- zez``O#1g#LAx(+Vtc%Ig0WOdvq0*okzaYDHtF+F10ezb zvtl@Ou^x5Z?Y~yH?EU$)#sU+4sDDV)bvTt+cuJb&D}Vilev9$}3sQUVw8tdA>^#0v zAfBu;sIIeJ;Fn<M-Q19 zs(<{GdnqJbok!W=H`x?(sjLT&=3OuA$^u3$XD$D{diJ%q-qVNtu8iN+mzEDQe?V;8 znM)q~MFyLR8lANf7LR;~U^c#+=cr(Ih_TPE{l!<>mWem|x5^WDNb*sFKkRkdPT{y^ zHEi;p# zPJbF1sgK=vf=d~3Hw8T7rh8YVm~fWE)s5NvIS)@5n!#c#dR&9XSK{_TyEyXh%SYBQ z0q(E0cQpng0<5oNe<(XSha!; zE)5Z%5}^T{yPVc?0nzQw9TpARn!pcP!L7)SKa4wiNupJa)k%;%_%o(f#|~q<@*v-k zPPb;*(SV5xbQ-u*1xdz1gC+Mpu7X$ok1$;m^4d2OR1W(cR$F|lrq%xTqDeWkUK0Cp z_E$`boRS9*;g3a$j3D-K)|RB}=ho_NeCTo6{rm#Q@RUmAh0j>#?>W2?zE$!_G7rQD z!~!er!_-2=N9%dR!*w^UO^PQq?HT=ZftTsw<}6mb=4AJGUguGmV_dVehF^EN1>eun zNTS(n8`PZpwp#3E%=AyDTr=U4m7C~?hs`b=h&EK~$M8q#Y`cQ{hu866itj$V(KGFr zw}GbpOEa#0xc5yR#FbFrb2QIOk8^@`Lda_Apb~F{zo}jHu}|5J(9%*c0Q+0IjkGvJ z0y$K|pJc{gA6}=k^BVV0{G!VGB6Z3&gnu)uwck0xw&izNs8i-t2(e(S$AJ!X4OopGy@Qctt5Y&Oqh;E^QKik zP$^6ABBL0lWaxt)nQaUwHR>}5mTmtgCQa=H9AY(l=Ft`9-}@GxaWEsJ7(B;%Y8hf; zC@C`=lrnYO{ySvMHix1a!)g^S2&^Ol`#zV>lctPGHThh?QEG2|zaOWmdJf3xDoau# zJb>v-mw#fRi8+|TdA2j@4W@?xqoVU~vTZ$Ak6Gk#Lf{?0b_o98KdkVKT4~hzC&`-BzUh=6|6+XH8YIFj#NcP z-6kIs8GF)JG9J_wM%A2vdzPs~(GfAZYGC&DiZ4z5RGy;l?%63vfvwV>ZA6_1;dcV) zcnEvXrT5QVrXXoAjy)-xNii$+CI5|oWlri@<{?I;qak%X(Ggbr1AV>A4_GBEJHK8v>3KKh*0(C&PQk#)E2cg{#3~|Er7XO!hAu7o%{; zyj`oObP;q_VnC}x2(xL5^kH?0W*o?c2=)Yw8SGfxIx0*cpK1hRZTFse1fTqIG~lCx z^#s)18LsxXGF#H+cjTZrzFG&>Rco;`SE%~SCU6Rx3Ay4?+%F#@en|DKaCVICQQAlE z=2JUi&^kHS)3$|H)ApY&tt9T_dh+LxQ_48~#|*w;?Qlt%<;-4jT41a{rydZI6_r;tAx-UvApp|iwl@& zdrytTe5J!Qpbu%?6wHcta&i9-~2S>%c5}nm0VkSrWb7L z++SHz zl(!Gcm}F$GdAg`DPWtW1U6w(;)-*{3vPw-O8IUe%o99#INQ3&}A!Lf1~ke_A(R4Z3zG6S*VToD;6YMe8Q|5rBC3N5>Z*Iv-D zTs)-d5}j~v6MNi~h|N!pUQS1bRQEAAM>8A+z>iVLg zU}K*V#0vi5N2*G$!(N#y5r`t#EP9<9Vtfx`kg~SkQv44V;EV9|zu~0NBcR}-=4`V1 zEF&^oeySdSSB!7E-Wbeb)@nfIAuK8Fcgy8j?Gb$W-Al7+?Oe#!2NA^f>4K?0)Ac8g z=>k%56MJZ!%o%CxWj>8BX0xYOZvW^6(!HppIXV2J?aycn%7&WXlBfFP_ji2Br>prN z=VV57Zh3NN-0Z&tOx3f#ID;>a#OK>njiH+HvD&2A5)*1yxxJe>=!eGHJ;k+?h^&s$ zKCZ^h4_4|K%vI~{#)y@6W#)SI^ao3=@U?>LU{@1Ozn#n;7t{fKQ}vL7dEB{o#wg7G zCjJADrN&A4IqC#meT7He$JNL9!*VbcPpr-sux|GEV+&EvJEMHQzK`fpZgfGdWaJ%g zcqP!@f%p&|rQ)i3Ihtnf-<%&!H5=nE8oMKVSsIuw?a>3hew5`P1by*i$r zt&N=8a7jI<3`1d+!%pCf@86s3@@2uvlB7+R#Ir9dsxr^qEr%Sd(G^tK;aWx$ zuEDAOtLq(H&O3d?XlR||zUH6pV=FezxM7KHKi#DWI2p79HNgA3=eL-EzZ@6EOA0=6 zA<^R$Y#h#e$Zv`?RsUXGY>1?v1JCh+Tjdc6`Wo^v%c|GIKdZL=dENxe9}>B?ax~kavTq{sgMlOA~Aq{pGj zTrAq$+QR(8!s_(g(&Fsa`uxJk)b!GKuufVWPkCXtTH|Iv)g(5nIZ~0TOH(H>$|l1D zCO6w^V@$Fwaw?v>)1IDy9zANyc=*oOV(wj_4+aEjhwT}3uDoD}_e2??HYn`I-CHpj z@_InlcqB%~I-e%|5~rX~HCevV^y2mxQ}vW)AvgBG8E1GX#|h3h^i3EM*-Zn3por<5 zrcF(wZ%g1xVV7WJUs=`8JhX(hRy$0Um=>v|O9p-Q)r7a0fXQ5+p@4fjzO8}M9@u!4 zGj_-`Hrcpdd>L{H{tAJ}p>5Fyd8Y5T#2oM3$%U7hVuBtB)58rY%h>0_D0EkGsoB4% zivdzaYyoyW50`Ie>A{}&rYaa83BdG{^|buQ0j3ubWE9VR!MrBhG|m(7qrd?f+kU;7 zR}a!teqRBHWzURZ#y^t>jAGLA#jY;ka*R~4I1YaCe6Q=f>!k@mQ{!V2ulXl(U2@xz5plAQ8 zWi5Z%HAuIMB$cbU1>YGU5)KR#A~^?2XT_{VKDk9hP%oAz*Gjns z=aHafp9W&CWt4PbiDnfd>o-fQc(8v_-m+s&26|b~N+{J6BxX8e1W9lg>V--*NHpiO zYJg)qaPz_OTp@14ue{Kg9+)hR*&p>mL!FlO@hp_$Z~A;bio0>#N?k8v*x;L>jNcI- zaV#<|**D(PSsuZcOqlPY|ClPRD<|_)PJMpAlui# zo%EkDqu|8cC(+^sj@gm7$NbfPUN08oH5qr4f-L2ls ziJ*DeDsjU(=rgyghCBX;8Ip}z;5S0cyvXL7DfG^--`aIeP;zoEm0+K2o%eidaB^(5 zy$)iuIOjV>-;}=O_f(J!AR5y#<+8fq{|h$(`CxO?U^)g!2Jw3T`P5OSV<0PrpBht0 zIzGNe8jJsBuYE7g7O)gIuuLT^PQUO5J=&8PRPEWIntsZ^0la7PYCJvMla-HZjSw5< zfwloR-CnjqopFNi>XvjcZXOa&H5B{o9jT*1XzXI!azkoBqdaNb8nzJpP;f^ABwZgK zy~w^+FC0&c^_!gk3TxFkyEDz0U(-PLJ?(IqRj0|Cp$mFA{Jpcd)qU&h39|fHSLYD?aBJ9T$9x$jchhbFMGqLr}6KB|B2f7fSD_og_Yr26c zE!cXmFfh*gjtSZe zL%JW+bfw{Hq*ANbg+Xi4@bp{k@5~`kJWrfSxJb!F)K-WA^ZswtWlrgS5G85ET&55k!W16(JT)(qsNA9NQZLinAg5)Pk*m@UyR5 zPqPcixtg~A{ieNNA=~Lzp=8AF39|7E4FOn@8OSv>0g=-Iiz9EgS0{hjERz!g`w0=8 zpQ3conB7hWo#fxL)mDjxQ;)A{A1NpeOA}OfZNSCD*pf2r-H7PulEW>Rs53ASOeH}@ z6jj}IiY2aa0>a*$(%5I7>sW)ue&`-rn*-%S(FXCUpDZRE=NgqZ%LDq+FE+qkcd3r{ zw=vbnwt(xgsEFh+#sXAn=ch470L`#~e>JxBr@e;~AJ{E_mNKp#2K2&)IL&b@!}uHc z>A9|cgn@sf`h|2o`nlKu=(H>;{C+)YjYXAZ+lBfBJmAVbA(GrcgT?1r{lt9YHPJ_d z_n}=oN^WY}j>3iOc(-t0HtpSLXEUPmm8WH~?y7x*7DA8NZGwY%9O72|sm0~a{V7?V zj9Da&uL!n%WW-8SUw-i#b*Cim07K3|tBd6fTV*coL4$yzck%X}v~ymvjE>D z!G}E|o%4c5kZ3J|==<$b!oc>`f8`?)!X{VeMRt|bmVwFBVv;J*NYS+< zJlj9~z={4tJvwPim&2l+!0p#okv2A25bv}FJr80kW`O8DzJSK6z}VsL>-dNn(QkZ| z9?cEoHy^h$4^wu}c~@sIQ`Y!j>^-le>n<72BuX2CNXa4Bp8AT|m=+|?If*-Gh>J;@ z5*4SB0U0weGS$xI^wEnI_8LtC!n1#N8W9d!EkB>9a-;3a<4_<@6LM3_mk&Y3h%3&m z{y8PI)1a?AmgeLt>IbrWEuOAHT5xHq;DRI2>5)GCQ!{*XaW;pisa$pG8?vbgmJ&%A zNsIQh?{s2olKU+V_y)cfu4b-1=2*z@S^|v~ml1Ksy@o_nnW`9&ZgYpjoza8yD=C>S zT(o1aMpZ+vy0Gh+iaf%3|FAo2m2#?5^FSKeJ4Vp0;yJV_j)=Y{yDSW2xUYG~GFS7! zk{qnUYUIgUw!zj!12R5FNI9&aPG+qA2Jg-t%*fj4wl6mE$Rw?;q}kx=%N2N+19`=5 zro@uQ52w}Gp|eYUr0zh4)L6tGM~ARDW0}pAs0OzxElloqh4WBs7Kn9FN|0DJES{eS zJ2-wAz1W3_FOxQciUm^p-7LRvmZZWylI4k*aMGmz$%b?k@MNGBizkKfy{n24m;3wm z@yEO6AGeeDV1|}tTA{@Kw^#e}^@BOw5Gi!>qvupY0m4{r6ccaT1Mb%}bY_rq&eYl=zLB~1BlrE1T zWfdubW~GgDu|LqG*CqOnA=Yu;S{vDDBu%`&5)5GLS80XW*N!81RrHTiiOum1KXV`A zN|fPF5ECw477j!{{O$c1Y5$A8OAk|_XGYtkp6hqd6L2XTp*wn9&CjnRBvd6z`!Typ}+6maEi*GneZ5!*v~Pnv3r_% zhlUhp7_?@LZ0-=DD2(LNoVPwB=?@G^erD;;ro(t)QLOGw9wOa~49q51B;mo*>*ta= zQ~o^Vjh3v|i8Nz8On`H%qx1-B_D`90e3M<*Haj2KIviok{dw$^97;(*?G_@2jrA8XhC{ zB+Yla=cX5n-bRA7y)rtiGHd0-xNuI(zox)6FCpT@gsRRY2;x`llY9w=AYY)oR3guK z_sAffxo6V(@sx2jdtJp%uA`+VDHLRf9;%tKmTP-QaJWh0i0wgtkT>B9qXex}s$S{Z zqjXzH4!<%j8FmRxeT)CVt!X%ceTpPMJ?!n{hO1*9HY9=&`{F0at$dBQZKG|nbyiAq zHS0P;s_5YXbYH>MBba~8>(v$lc%^+syAU>pRWrosc7a2(ZA447SRKq8hZGeKcvqeL z7DP66%y%pQL)14#XVyhqez9%asMxI7wo$QdR9vapwrwXB+qP{x>F>YYcl6VFJ$tOZ zG}l~n1I(kB#Ub!QFqRg%-$|1R%GftD&;0pPFLe z=OdvlMXMBT@H0m!B!5-C&)JM{2o_zg8ucC~KUE~`lO0Kg2)rTc9(oZ=6hQxrgVWBY zT+R?X+-NWi$Os4wXUW0m#1N2x=9WALdR}KK-IimjSe%z=KzaOAEv>@-3!@XGxblNsOAw^uF5~S!$jt)RUL-pIeN5 zwPWPy4ga}uL6T+v5$jROc3s?C&fTsdx-WuYuH^iUx5%zdTmRt0Q&7mG@esCA69%Eq z`dDg8PhqvIH`^O3k#M4;hO*&Apf#)?$+88fQj{Fp-oQP{=>bumTJ~u(C!TOwR)k;G zjgqUoYZq$WS`l6eAt5p|cd|607hM>0Gx;V&7v>sA0Sg1{o<2@Y$a}j2Ty8QIVAoe+ z!)qBR(m=7R1%AXptM`3D&C5daVjf4=d}WRJUD%Jw99<`s!x~Eu^wX{*JEz7j ztdM0DAcFJNQsB`#q8_ZH)l!SkHywUGz5V&M51CDk2wTe#b0HgqrqcZ{YcBh6y%MG= z@{U90;%0{{cwwD%-fB})Fv8&Hw;Uc%Pr(GVyOZ~)B}UzSF?2!`dp;yyzuxPVerx;f zn}uP9s$G?7RSXUIabO;b^2%=(Gs3sIdAt(lXF>yn3q~Mx;d5zi%6*@=n@;KBR*qH= zv(Kd{5ijbIM-CS7>@B2E^-A5H{nBuF+Kv~qXXU1(Q?pUH*+wK!wFnXogZrXP+A@)! zeiM0o5+Q&c@sZc8YlI7~KXpc?9h7hJ$4?y%C45+PcdH6X1z)8JeAWxN7S1v{Fe$Ps zKi}7g7^R4+=c>6?^Y}AZ$F1gY1x;{3K62C*JmMLHg5zMIC9&&@M&2N5xQGC5{HrBv zvovj2Tq7WpM$L#_F38)-0w>*+jy$d&Dx@+;zb3fcd?_HXmotRymTo_v(nVXs(8y;Jj1t#ZidK_jmr1D)Hh*Yo8(R~6UE*($@=xev? z9CvbjYbN~#dc>^}ox7DXY0^V0vhC!JW{PZAfR5uzz3h&+6)gi2&4iQ0!0l&(d-w{U zZBJk9dlS0{)>atI|H)QEn(iD3JFl%UpzyUq=M1+ZtMNF1HI#-y;$sf7!NYKs#RX~U z9!!di`Dx$ z>2_wT9c?d*Nv7S6jV2i7KkPm_niTAHfuZPMxdj%Tp*AE1axSi)m&d;sm7QO#VM`*B zL1mA3D+vh?-=#t5T-b{^OP((iIBi9%gKh89+nii)=aU_jdRGr^X^1qF3q6hs&b>cf z{~Gwb=w+i;Om~zRH6FKnfdcQQ&9W&2ms;=TGC~W!@6$(&Luw=G^QLU9EDOZV0<$}h zuiE-{je!2B-^Exn#^}YT&Wa|!u4sgRizyhseQ|4pICDjtmKFLJFH|#Yd4F71p1^lv zc6sS91|Lq{{*K<+hZrdttFwL&uX|8=!{5deXsk$gSC3`2f9BqN$XoMgmo(Iy@Q1C` z?5p(J$OyDsS>4U+bCvfwlo(lD*-o{xagpP;WqD#Nyt1F0uWi2zy6kx-rZnq@lqVJr z**um$T0^iKgd0jN=deT|Pk{6OkJTyWtBFBC>!s#$M;9RrkQvmP9X|m;Ho@{z;lcM% z*rN5B_{_R|d2G?aJBoT3sL-a*&J^rr)sc*_Rhwr>UR$|+vo?!P^|0M-o}KB=Jhp21 zO>pfLW2d!6m5!3~F50ue=7`n)=$b;v_0 zBeY0irh|rrRe_PekC&3nSMntgrnrKs60OPeXaLU3w(QCYcWS!-R9SZu69sLM}(f(DhDFU@F=xk4#KIH zy87L6->Zhj4D~8g=l=!vbZ`18Eg@Wwy#`?fK}*i=THrYXjfW$SDz#`R7ba zpcOxH<-VV`GbSG6)^Gi!M)t|r+{U7EYbK1CD?5gda|WKPfttmrq$^|2lW-i#;Y3CO zqC2`~b=n`zI!#(nq!uJ7Z^@hX2h*+V+AW@P2*JmE8cW1(S9(nFZd$#r0?_%>oqQkM zfl$S1A_i1pW-seuEKq*zozFBwS#MpGr;3NhBr;oYpZ*@56O|^w& zkM!nr%%EePb*G=Q4trw&WkPC?McZYFL!I+JnP|Qk%9ccAW*rxVEBSV)9lxUY1+BD9;~$-{LB{_+OAB z2l6`{?t<}l#Hw*>ZnLD*0H(;;pQf7~YA|=*H)g}N_*-+*{MHM08`xr&vZB5%PpCQa zO;HfSClM>&?x1mKsVaO3eZl{%lv)h^do$<-8hrW^fFiV)CnidmCpik(VRp}EWH9r2 z0wQ*Q_c&~AQZ}qsohG_yvaLVWRHwr^LU(WTCkKCvuIa4tKGBwx((Z$ADr=eGSMhCR z@~r8qdg91wU{Hq$E(Yz0dP#8Osx0Kv8)?;Ph}4%U(kD_5{kmn{Po@)=5F^!IUv52P zZQq&0VPLbv%@X+whjE!+d!oc&_G>k5Pj&k_z5T(@XTFc4<}TZ+J1V+;8b;)8Hxj)T ziP%bgG3z+m^9(Wcr~%kReQ+gfB2DERh90*;{Uip}_){n$y24090l~yI{%59P7Ty2e zW6AQl#~;ZY@5O?_#%GJcr^f2`{LdR?q7LvkU`^sgBRYrIs;JFpIYY7G)*$;RIso*_8hP5Lpy z%H`v8%C@l^#=>zIfAtR-HZPJo6m`VSZHP8SHIS4;AF|squ=Dh&i=%u64_oHG{3X`? z39g4N-MRafHt()SEjXAvF9{@FaD4FTa3d$e6$Y7m!Og^9L6x-J+}$L`!vhA!J7rL` z5;i1UT8}^nh`g^eGx6@(xOel3m1b zVZBrn@LY+x1|=DsqY7~NOslAJJ@@xo#slB2+;JuMiwVE6p)REg*_*Q~NF*}rmX2oh#DZ-$d^?mu-MY9AIsjyTyennKH)XA|d5V4|WQxW|4;(zq z)Z6^_VUG(8uce%pDX_;JOHc8 z!A!9951PJiM^OiSCu~nQ5pTwNg?ae)Yi{uod~fWhb<3)~26mOA>2Q8d=T=^dGmfgaHDY`hKaqs31%C53iVbwNw5gh%nRZ5SuMOqCu`L^!YTCPL& z3K}lLYy6#Y^&Y=lkAJ&V?3($Hj+lgcN8kDhqd9u0$-MmeuCqS z2>QxOlVwoHpa-yv%tU(}hzUy`;vQTgXY=I`ng3yfBlL}nFremC3@!PK^)a^o$I)t( z2n#0Z)SHv({zoS`&^VVS@bc%vPoV#eF3>S9patoFF{uFBT|iMw?^W}(wf?>3@A!@A z7E-B)tJdJ#Hcq}D)$G_-o9@e|9|m)mzBya7B7Ff+vDCx}iYkZsF{RKn>%HRxx(~y6 zw;01Iq$9z`p|r0UoGFSN)7lr9C2wAUYXou{22>$8Gkp@7E8_)rwj-uymn+Jv$+e!| z_+^wx7xZ#ZK17T5pJy!PneKUAie}(q0T+9zQv%3D(8b|12Gi3-DCfF%qs>FI{fUk7 zv!!7FrBJRC^54FJEWm4~trDoP;2DgU3@k#KyxG&^tK!UU7W4@Wva2H{T0#RqJhY!4 zcTds$L)p!`nul`#x?O6z&h(x0djBg=-mbe*lm)`8;c*Q~1F<{*rjNsswY07SR;$ug}Y(_uVE!zYxL8!}t<@#0k zMO62?Kej9Q3ZHZJrB)22ZDwFG_42D!&%wdsE~~GPskdlAJeP`l!_GLTf#`GiWH~ox z`mVO_(tA9yI%&1X-OQYatF9CSE4IScmL;QHMiM8xcIp1+hQ@ zb4fTYv!rE&jDDU88vu!Wn~GB=EV0){wRh!UZ0>lMl9G^S{i-h8X|R4^j>GG2TJrc< zp6T5#=(HenN4$eBp*zjN8^vyq-Z663*RCRZ3^kiLMPl*$;BPW%QFI!=XIj}n({r6> zZii?(iF|$6WAPutv*9Ykx4@oo&&k<=e?M?~3G^l?y9PH~N!vXyWq{H=MaqeU5*@!l z?ZJ7-Mh~1^6CqJtv|Wbol6u&f92jklNcBq#=vg>-A6z9)sX7jL5s`r2?_+;_fFcX~ z?|!*WTxjeUly*!wYU|HaMCVz+18q$Hmk|;C{~-lJ zAf#ZtyK;@busl9FIypQ$G`}!5wJ#KW%wDvdM(8iBTlIBKd4I zq#*;$mXyGnh^dk^7B31LoU&{!J-vR9Vpm~ z^|ZEbZvUFe-WasA8%t4j$E@_GYEDZ^^u5z6nNQA_c3-g`5f~kPgj5$qRay7taWyGl z%(5T6x(5|E%y|%;*v1WeqQz4jmZH2aQ|^iquax*Na0qC#WcmhLd34*MCd;*BtO;~I z6Q&m}2yTsCgQwcr3H~WfZqh84Y6E?K5r#c$T{Nz{bH|*=``@uvN=&)X0MpwA7Hlxm zdu-ED&?z&q@Bo+V3VU;_BCJ&$IY~JawNHjrfp)Uhg%sUQp8InY*h99Y)zpi(K-M-} zCwp;xmcdOHT*Cnxf9_j{8QG-@S6h^7)V~gtSGSgx`p3E!d)i(&igA7oxRSJo%6J#( zKBVU1P(p9)O&s&ze?jH% zXczo&s-OsKU>_|);CuZq=XOSqLc7I)>el$*k%?6)WRsHK zg*!+l18T1}t3FI$mRF~TUoq_MtEX#zbza&OmPkKs`EaaDXH7!fMwt+P<$l$t*Y7`9 z?7;H3-T4@Or&P=RqIg@(7UT_=+F|n5Pr*4RP=}g>{{8Z|)Wyr9inzW_M@>@iQvQ1# z4YV{Uzt}a-w?nDPUInk742ldYJJg66AK`G=uPf z+31ARAUXV(;|MjA?AdIr8X^V0YtMzTyBWU5x6`?_)DR`d8@1dBfL0bv@3WbjhlsV; z>V6)>0G(vMWhhkoSRn_5aOam?Wd~2RN=eY~_tHc_tKUh;LVMQX%R(Y9>N>`deS4b1 zNbl&20^DTsj6k;~fkM)fx>1Q=hNMI4$46^7XCSnHin1!*e9 z9Mt|QO^fsEQIz`l_&Hf~^f>XTk&w(;?HKurMulg%BA5JMq>Jy9#OkJU!61 zVZ6!5*E`@!rg;sQE6!eRyYA>Iq|%aOYCI)G8}C}fj_@hk{Bp#+t*w?R#>0gYkMG1E(XKlP-cE1ERB(k+9ccinIEJ z^I=Z;Xi6eelEH)OjT|_Y@Ubm90EYt9n1Jp;4+Isyqo9OROF;&7xsd9n?x5~fc`C&` zbNQ-zZl{zfl?{|NH@+`(OjYnPCq|3~jjrB`+fd|HY1Hst-wC7_Cwuw)KMx#ccQPS$hGw!25GkmJZV%MWT{r8}qKnE z^mh^T1ERr!-m)Rj%+&$43Z8wP#ROIXGKnPE$DRhHpj1{d7+2H1kaL^N++}2#twv@& zy8Aj+m8gpIo~f{0rqs=*{DXsO6G@acY(ISm|GKqXfc$gRCl+0zCkGI;L!ycv382|MYZHJ>s8I-R1KGnu5}vw4Cx>*$u8d4`Eu`Xv)Sw zN^bAy`I1!DsR;9Z^Ci_6-+Jwi9Yk)_hJdD^|HDjeHHkC=7`n#OLj%Zby&oP1Z#o{KmCm zr6`_*BB`zjL9WiUdx(S`CY}=6S_`BryMS5R*!NZSzJiU`v-|NDRzhl%7>N0rZnFg$%qk@0?^8B{s z4?wDzjrGk6j(9I@+dX6#KkQ4hIDz+Gc`!VMZsWrS0MU@k zt|M?fz_iLE_()UoC4PLnM0m9_5R&JNS&q}uxvUJ2qtl7GzUD_SneN8@Y&SI`9xt$O zcXF2O8HE-0MskMNuP)mBdlcz+i(+s>@RuO&mRFN!-aBs$701Gwe;GXN)GaoO4C%yf>D6hH44Mt{uST}f6}ZR?8+@-2a?okJ1S7{lPGumi(6D=;{JaOpVx z1`Tio08A7g$bGh*<$}^cb4i6k=~TNV;m?*#B|@UMZL!P@z~o>j2b&HnIv4*yauq(; zL$S>5@(4kYn6?k?I_tAX>dK#0ev{omSDG2zFKTUh(h0-Bvmj6}`=zoiM&`pk8W3Ik zXf<^|xUMDKm>Ow=Po-QaYrwAl^&%)FNU5GM4Q^39NcO&!Cx7C#TB@yhYAG>^_B7rk zPYyrY&aE#^$v%1SZEuqpV%ENGwVUO#bpM@V&tP)NvWo0kSA7@zCMS4QF@;72_g@*X zs*{-83Gg_|2u=>Pl_+>9EkG8N1JX=tEvGCF>drFwGY(1{zoT0iholoOcm*;$I^PrQ zlcsV*sJWX6i1>YY_ebF$U?FVYd~JfVt~cRuW~Bd)QQsH!Aue1}HJZ*ey~&~^E^5Zc zw9(qWXLA?0vaIp(n(=tM&UdVwOg*D=KLZwcXk&m&SS6XP{>+xm8%G3~ppkF&p~}|S zvzwQBZx_vc;j%YA)++hBNu$&xO_VXle6rO+eeIkKHIK!J7VM)&66}m;WeK^!a??jI zMbdQ)bS}Yj3Xe_3jWCz0jBM5>E)8VI>e749iYTjxtlnbEJI1Vk^>9jT^>~hlgHiN4 z3V&ffDy_;zX(X2bs=`t{&{ObzR@|H-~_mUCjkgn!CAsun1ibtbFf?N6inOZ3{W{Fldyg_HoDEoxJk#BM9p}m8uMeuS9Cuf2$lF4J@h-H-w)B*D?rOAJxpjDO` zya;R+Zo_WTx}$iBPhN(UG?4-W?BD#}6x8yhlAiXr>t1KJcTcC&?rM#o=KR1?2sEvyk7T2l)T(H0@V_s{tKgQyR!t}7J6WJYNB=xZ5-5LiDqnu2oz zvi+>Xt3|BU9^e>0!W-#m&0vY`eob}{eLbz;J}sU2DX6$TJ-!Qi`f~4TtvCz5i%APb z$XdZIrO}CLo(k^k1`kso#whTKxLtw0Yyd_&DEiOkkqB^XEReU=5=g^ zQ^hI7*ZA%i`^4wsOu$MFX&97exLiDn>k%|nJbFxsQIfh+qm>K}b@#39uBbuj2Vzn9 zj+?_c4$4(Hl8x91#wRYqcU1`wtD1+~4`Pki%DGiUvOWioVA*jd6wUGd*W0v5+eXh4 z|9;1zB(K~$l$6VF35T9l{R0Asa|f~2rmPw2r{`|pPOqnfLefj<S>Qf!(c<7~Cm6jHy>C*kfTa3N$~|MhVTOK9LJE^EDvy z4;7VQvIw?hDiCY#=4Yii9WnYz{&Lt6)(nwNqNBDg@c2mHhAovQ+d~L@R`n8W;D*Mg zwh+%``Sy6#&&fm@l2v)+>w29poi+RjrDO4=w(nDG2gUqfG-2WYqX|SnG{Ns(o&bGf zZenbGwr}R&#L)8G(8Aop=*$?fEYd5{{0$Re?gd);3(4{f1*N-4639>3ns`5cG3X&+Y8x{h5tTOM99@ zIg**P_?hpAC5nDl)e*dyt1Wh`(O5JartMV zvds6yb19mAd6{R!q@OgnKY5<k=#RKZR zru^|!#~D+qf;dYQ1ggOOfMkoPI&fgSEmt(el3M_PBbFjfH>WWJq%JoX8>DAi%47x3 z62G2%`7|b10`q<5K=VlbqOM{_F=R0+rZ|uA4mFe2J)5iOCxHTT(HV z^D*1uOVZwh?+lnFz_@)rGyfE}elC8OT4^OGFH*!8budwA6$Ec8&@|g zBt7d_FTg%ki_F{|c9xe_PQ*cyyfDbBxX92Wnsv0d!vDQkqqg*0I@W9kxy@xuhG)ra zIiFY<>bs(39$BbwBv6>&j7l6;N8XOaQ^*Ng$l4w1nS5w%U8HG%phy1GJUd4(UV&K!pou_Xm(jSx`J?|_USX%M zwPAa`R@NXp%zdo`#qyjjbdu9f_V#5XqPqI|VFOpvu@5W9#fczyIyET`t8|ZMmbx!M z9s5VbQXW!Qg7F6G_DoWh!dh!6nc}9J_O<-|{fh12l%C{B>ZQxLvOj+Z6XN!t2fqA6 ztcahAxM_S2qd;~hKh<{9K_&VU=Lz*}VM+9#rQgNS*00q8Gv^6|#u3aPbe?aUZ0_-@ zpJKT{2|V_XjVJKDM68i$;Pg%?sQ9p(2&LM%7{G@Gf@}6UrnLKuPTuB|df&+C48$(6F1bU1Pn&Wc#D%ED>_LZw?UH?Z23kV;QS zMPZ;J|LgjC`w+vd*n`qeK7u!4jT{P}`!9WL<}%D+FdwK+R4>cz5k?++{7Afg+WC1( zH@4BkU&5Vjwo#9m?qToFmD=_Zi?1vj*obs@;RCTNZx|g`YcYRK4^|z`(k{jyIq7<^ z(v)++)%=5 zcrE$8de24b?X?UEi9v;asMj`58+zZI)`?#rrbph~8RG23r8dp^DE1jj5ZQx65=IJ1 zp?f1u%3_BaVpw38XkU2xziLshyE!|uUg3*1Ym)lP9C$bt@3Scz2s7s&$(`%W`rYh# zZ<7PAXG5-M-?z-#emp0w25e-FN6}?*{Hu#vNMl}#5`eZV``HWgnvvqULXLB;2}{b? zBdf??f{Jb4ZLg}vZr})!@E@qKd2Bj|1Mt{_0{uCFT*1{?D>Ba(WeN+xa`UIxFkx+2 zV=cf?4;kF9sHW0b8MQjb;4XMn4jh#Dw})Pa)kBR%BRH!);;&iI%dt<$GHI2%Jya^v z4QZ==J)Bel^PD?N-hy&NgVGbRsm6J@`oTz-X{^XdQz7G=?a1-F=AK(qo>sX3?&;W; z5O0j(7& zHKfr_x25-ZWQ=@G7aK30Ht-`eCOk#QGRsNm!qf;JHz#qvg@$s-ueu>SItzeqn^~fX3@I3ndIPR+l}}!JjNM z4GbHXFM_XnfDKO=Uf4IXH=gcmMelI={oIf+cO{yoMd<$i(eAS==03i=)bWUY7cVY4U8fUp5rkaGn%hUu% z`aa`4LlP?;xr6?q?4}J|tYxiCb3N5f4lr)F*gVH(hx1%8{;#joFBaHi1Mq$O1WxEB zi_GXWj_Adwf&3e4R!skxS$Np}GAOt%bx--S*JedO8s{{-Sotk|rj$ORXs)>dsYiti z5f-i1TDjI|KCgN6A(#$2~B<=*#jIdri=1y==CStI72RK?)1ujfidO-1qEjkex|#axFzBMG7s zVz$I}uPNT9OiZ{}(d}4?wuCi|^(|UQ`BPftM|46uAe-GM6G%Dj7GmcU6vWK>Hz0!J z7fjU-G{*f_&XLuEt{>2q=Gcgm1Y;5Yq{9#gZUj_473;!*Iou zeaMWzkTdixeJa7-clcr6-yfUOo*HP8jp74BVnc*!?v(*OgX#>_V4zUYlIx&%QlmdBN}WP z4?-+pgjOu)D=`UU+l@rXwOv6K%D~+1ve8UaxSAJ&+cG^A{QJmqJ%T6&%3TT^yy{K&(V9_Pl5J&u#d-y#9=V28R(0B(d5J+B>D z)#9fg_ui`alpV&d-h-rXb_K*m&5n(Pt9O50BE%PjkDwPzCgjeGPi5eWT?WMTe0xrq zt&|xo;K??Z*U~5{CF|v#UeDcNTkzxjB!?qx`f{^JLEUBp56Nf@OvtKNp_HpCu%HH! z-ku4L(YE(7JtEt3tT#$B^;k${!S3DQ2NcS8eksj*Bmz+;M{T|Rv@5n_2xP4rHodfW zi*HXx8=?%VC99Z3NA@c##z*rzq4^~q9ne*Mp{L;LLVz0 z^K)*y-#!>|(~j9ZLKA7Jz>B^?fBpNU$6dxfuNMEFF0 zv_nz1r9*>>9!{@%-@A;vid0j)7;{M2P_w2P^L zZtt2Xn&0c2ir#SgwJ3jnlxg@a-#cj0K%~~x{56%{8QgCsE^3ycXZ>o|_6SlW=6qSr z%WEDUd>iM^=sExqrKKl9i@}Lo=fwvM1f8}eftO2t6YrD>I1h{TRq zq6MkD{67Ji@$>_{aEZx=cpcqPQtST|jP>b_jUF#^wr|RrTWl7aJU_Wvz)ptbVXr$$2 zERVffmbvp;{%zWaWbEyifw?yur7NQug`bz78Fzz5IQ+OrSsgcDEgny4gFoo-o3=}~ z9sXE&bPWD@+9&D5c2wkaZ93WZbrV3EZmxONFjLtbJZ7(OvNhK<;)q53y&$^gyqN%L zx$Rk^{FxD(ou zkrNdoK`U5+*1Npk_|>ZM9>ZQ_*L6=i5kvOP5Z|Titoyar{^T=)j6n^U}zpVg8Q2vhG?4)*(O$>IIb;_%Zcy5@faiL3l$`g2etO|sBD-GNXWe>Gfo<-u}XQQ~t zbC(K2A^Gv)YND8pUJDeRq84}kFYi>VkPig_g}ifgx#ORvGtVM zXHe*B&5@a(+70&K_g(+!1XIw%i5U9(o#re?iCxpjiysVF4+_z2&^ezrA9ykBxbqBV zi_CZHsA(=KejHyGv#57E7kO`OG-4`^&Erib2DuofAY}Q(@~5>8V4KM<;|aU9#dT5m zL`J|onp_K+fL;4EaE0gG?V;I+dgVGc@w$-R5un``22I8I16|L_WAhq%*h*GaoR&qI%wMBa%%t2`%K;{bLOllc zTN{B%6-w=`a1rZ&;R9+&AZYM^_Zx_TU$1sz9*pVb@xHO~xxSHszTvsf;kohQsj2=g zb{{<;7Yo>PtH}wC1V^D}^8gqAnTkvSwN%@k`NO&oSx?dXUv5X!->6zf2Db8VhX)^? zEWTOHhMhlPz^ocQ*UaAR%+h?jCFy8e#OlyI?iI*vkuZ@2j#V_A}s>MS| zOzKr5D?3tWB zCgx(iSU=Wtl>cxMwI2{#{Hd8b=BBBr=$}f<{mY+?{;@`~5=*9h78mVodSZ+z8xe>B zc{R=Uqbq?*29|8aiJ)7PAJzrQ3SHgU#~KgXScEHXYyWe8eV%cgAFsh1hA()|S< zF+?Id&{~nqE*Cv8T3g&s-e;CCSAyw0{^@nOf0;(~TsWf*zi2(*RcvO)_00!>vhvTJ z=kk2>U&)g-(=7RR-m6yhLa^(BEWf%(Nd(lw&5$+6zPK~4nJ=}@^%rXWE;fVx<#Asa z`}PST@K~+#b^j3&Jen;~m{=XOtx=jwG+6+pL)9P2B(si}bxIus7(a@O$22fa9mZm+ zf?{03AKD+8(Ze#O$Qtb_zlnb^pCx zseN@l@50_Ha-B$NOqkxlKL|)hAfIevp>q3CQ1l&J{X#-e^X2J6yq@rmJ_YMmuKN5w zS^B}D#a-SJraxUbT`ii=W((ZFh%__?zs&aJ`;53w@Dxa{9MkTvbuhfaeeXRdg!N-b zdgLekvpWsekm|ZowK9OFsm*MFGojuA^@o<+^}H;d{X{Swoul?iR%VVGeW?<~uy$&! zT*Z~cp3h;wj9IwG)-;(Je$BV5FU!#J-&UMdC{ZC~`6+gfo)fa3cY}0ZuhE0u5m?oT zxm7$<5RS=RiVL2IgjK9xB?1=V5nPTVC>{E%Q=ANX?KCeB&}BA`F=aslO0J=Et1gE} zOG1ct*Ft;Y0YN7U<>=zp8f&)Zk6WE`SqAAuI@}%7h*Xta1mCE3*_=bF%tqi`h~NHX^bJvbUZl&+MAKGTe`>2!BA!KW}fKX}%b zhg$nMiN|a5&06>wRhu=mntrf!*kwW;B~`$mD4cMyV376;HFCZ5(nj5&w5};Y#rx0M zfmvf{gyuJU^LOT{N1A6>0d**Pjf9*oMrXyBGwQf8O^>3Dg9OGkS?=(SDr1$%wB;7Dt>F^7A`t zU;^i}zPPrdQC2D0HG8%iDBxsWA|kB=Uz zNtot*pwYcQ(F7oUdWv%qQ5`z=VTA7v+g1-{+Vk|D?Jamx>(|+L<%Xc5+x?m`kkun!3Y~0Qu4cTX0YW z2(WkB90!2HwsuF+#^oZ>6YCJRqmaizmed5|C5h$Zjre0^ztog{jmZ*~f-eu$d?xAFk{q30-~ ziYJV!65I$mV1%Q?&RU$d^sDZd$p{xik=9a5@bAaF@{~GG*pYS@XkaB^H12P7_4cHO?-M<9sYi2bGH%J&hvf9 zrL{_H$kGz%pG68%hN;-I)k1cLjZQDXdgDrnEtFEg57OFQ#Jznc{E7L`-qL{`g3=YS zzo9E4`Q3q0(C>btSc=*~dk|W0vi!{c3FX_fy>mh}#OEi|Xh>-@ z(-v-K+eN&NaB0IsD)1r6f+5`Q_J5khiqYV}V5M7v+6M?Yw$6{mLP@R!j#3sa1&C*ts6I1lMX9u& z7;Z@Gr9MM)WE|2{8OU9lMFnXKN1d!}kYSA_M08|OYwF$R)-T-(_8m%7><~@55+rPk z^~*aeife!9o7KR8zGK86PBbwrD}OenH`8*AZXTWGeu#y8Ys(oZUg0I#l;2tqc_)bz z;qIP zF?)2lc;4ZCHtBp~Ca0qfVm>z=;jE2aO!ngJPkuk)hO1* z#tqr6auDb)hxwqVu5fUq)b|awsLnKv7!kbX z6jXeA5YjonBC59q?P4!t=_=ViMTe6Y4c|~uA#Q{U;=9}!I`Fdp5oyL)GLL$ValnQ~ z?Jlqo!BQwO7;F!o=YGnAhXHg$ zbOPgvE(q$-?WG1vK(DNbFkH`T9y##$Lr$&EuSR{^6EH8VYM#xi@7uo5CbuVF4YDgD z>{AU?a@Dp4L@&rsbtPWRM9!sh4Sz%z#hjV;%;BX%iw;E>$2W2!O%Y_D3Yp`#I4=_Z zvL&T?+z3R!kV`BjEsF9&6R}vIxom>iQOz-{n|si0*$-#Hj1hISPshAUaQRRuPijNclcab3Ym1NWx?W)}15&Pxf0PMmHS=Jljf) zJPJO^NLDosEc4B?Q3EOo%ppUpRg$8nd-oT=4DQdt7`#_m>aQMMR`;@FsG2Z8E~oAY zQ6(GysQBw$C4xhYgVDF9>nZ#rJuyzlL3TT#-_R^y_eE+++}$-=^RdHhRmS6(+Ll|{ zFligu4h(y6-trL^TDD70)2E?qI25h5GEt4Nh#u2nfGcBF>SZ}GSXyLu!=5QL-C`$6 zi{LZ)is%OORP6Y7<_M{S|J8(Nlv!d_^2Xt`eixH;T>)%z+ysBe4b>K>p-6y)VUg+!Id>#LNug9&_ z{5>hL;_+NF(b!CGpFcmQ6zDG`3>SIb;7dawku zo1dcd`y~}#NGCH~A-qMUFN+^I23{7iI%kuP)cvk$g8JED0{xN@mfDi4QuEhZIZ*M z@=A+YSVCd2ZDu>2H>22kaUgP;E9}~1p8KDhzPQqeSgBV zOl>-v*<9%f;(Eu|JzHmNZK|PM!#Au4RL+P`g~;ActvXn*usR*Hd4rH3atdGkEBmG+ zX*P%kXGnsK5}(D`MFhwccbZMX(|1(Ko&H;ZH&llXC~)=MVw6qbCpSW;0%`JYv?xHl zxpOmPXGYAT##7~QqSuq_P1TQDFFWTdYIx{$vT9Xtq-VwE7p{c1M$viA*dwr3!O-W% z^Cj|lhztAzQeqYzM-e*BZ$kSpYJb+M?#r&iK@XEX!NPQZEWr1EB;LOO$Lfx$IIDkF zD#4DxSbC4*QA^P%R&SQMlgi$nuwp;{?sC05#({UjVDfsEeJ8hJvih3+sSP&*>wmb$ zcXiSD#rx;tp~hq+&o7cwr}!E_E$X?ty?-}m(*vx^7jkM^9tTYiZYGcX!ZvZ_8-T8x zXNS7kN($Qjn$-msV-%OtMeF@^L-7M`ey)`<(as~PjBTmcF-PcvI9k4?d;NmOaI z^g)PQ0pbSsFIC#IajNS-?ZMQIWJ~yp773C+dZG25MuA-?@NG(a9QB%CgaO9fYs~lP z?XQWhQhnI@q4W>bs+h2rI!zcsj@}SU2;Jkjzim6ClCK2rAVy|A8iEXwd5>P}70F3h zWhd+sFz7cX9yF0OLH5E^WwnQu;GO@D*w(WT2LLEmny z6%n-xM7i?Dr3@JQR}lLKROQ@G3>8Is?j z{Y-rB?;Qc+JGe&Y;sM1JiVOg?G;Y}nlKZs)!AM&-MPT;lmZ#-dLdtnbCXMEme8hgw z4;Jo=sWfCi`ITql1#|VA=1Z25FQdTcZ?%HfnAPa&M`e22ao)|rvU#Po8W%??{7y?0 z?_uJ$@@d0O&w=&%D=gf&>1kk z+hbSs;lGG#dC+k#aNDBVlo?()N6INqm;`NO6er$Wa1vVX%~MX zZQn78WNuhZ($2lf5RHca0Xg#u@jK45#PK2pziX?RKxPw=o;-eu|C_NWF^qIFm--ba zZbFMqX0Z`-mP?Ds`gM}_ZmfSThjdXUC9|=SXK-l!OBHVwocpFd1qyjC04EEoW3xDi z7GI(F_C>LDHnRdc1#pM^BMUVDAG56S^19X-+}&RsWwC2r!Qu5+CVd=gXzBSz=5$DO z*-Q=5pjdu!?fGHO-mI`-b$Us}#tnILoazEO`JDM+CAR&OO59=@wIVAPp?Tmd_1*8y@;NX6mrN;ACI|-m zOX1<5(dyQ1DNALdK3vmnUXfFSu>H_$)NEE1D9oa+-rGLO{ilKAkt83`@G|p;_3=O0 z*0os%={E%7$V=F_Am$II*UB6%1>`)4(e`?Mp4jaqd)!a*jYZ*kR(nmMbEm$fEKW8$ zOvt#LXrVpt2nxEj4vn8E?KU%~l6_NeH^&L4OxfR6+O4Wqhz{1Oo7+&%%3noor=B~p z-Py%y4M%k*LsC|_15lX6&%lxSQp);?kC)7}6`IDtMS~2DGY$}_Z8SPBJ(8Oc6ca!O3tGKDYlk@U5l8u_aNmmZ0l>9vu>#?+ z7h;71&S4SY0Oy3JtwX36VV`5FWIb+frm1Vz?-nh4$0qwHTSWuW!ZwFP4&zlV`D_es zB?xt_yTk%gTZmNdQDS_lyLCBqM@Q!#T?k@HzVs1P=tC|5JB4Q2+xLYheDD-LMiINW6{wirYnh3a^S zRmFew;1exfevy1%SYMXca({tBZU*yEtJKF81BLJo-X)}5=r3P7nsJ=cDhEw{w%+>? zr_ulaVZ1nh7lsokFe{np(CF@*T4+H&k|FL9=E=O2N^w~yP&2!# zN)H4zB$f%`tDRW3*Ei5wg@8+|rq>_&OCN7>;{y*iYd;Q-Eqs4fW?rUK-J3`aHyYFb zep2T6Wh>lcrh8VxfOgfZGQQn4#?hXdcI)T^2JmL?&`A>0f++l!bBUeq~7<67Kg|=Mm--vdTCD;ro{la%&b{*X@d| z%M#X#ySsIo*Yqonl!;7yl|qH!;M84*o-0e&usDsVK<3DB@Kh|yUHHtMiTa7%gY_j2 zq9fM{@v0T&D^o656E)V79#K`8R7bTE(Y_6p$DHMhdvyzGr-X$-c*WJobtjyBh$rmL z7+zrA{9L|vmTBtpMC-RqHbW&RoG#GmN=9;ll`aiBcaQ=ci3xz!k^I=DQpETMP?|(P zd!QG;c~qVhiflRFuozv|&lUTX@e^86Nd?Y$0ea*ioLV&-)hm)MqC2ZLyHQG?JTlUJ zubrvT=)4)Kwgk?F6rSd)ad7D3qdQ(V`Bm<5?cf9D(mV|hrg0Ad9Koto9` z$B@d(H>2i`GFH=Yur?^Yf5qDNkXffjEN~v^t-5Q(Wn&Iw<4C8;3F=+DIm}$ zhMi)5Q?u=h=3lns7zz%K-vxtvzx3^pC&|LimmJp+Fds2e6mt(sd1VaSVb!sKNgho) z+giubbm9JW{9Xewe~)0@_2On{v#J?5w9xR9U?fUO&VlPn)#RbwSMzN}iXH3W=1>z~ zU5u$0f%=XMNiD7~eB2NiA$TsmF^}c1q`ZSySlO?>7f3u2u2><{bI)=`+*GGwDdPGC z3@ajNrlx=Y4Ellp>)C89`S_O*9CkSwki56(L5FYZ#AlATW3IT}vFiranw9qX=DE79{V*nuXQ5|_N%3)fskCgFnn18!m)}1@}Ql76`clU?4U^Pm2>wT z`r+2ipynZh7>JYMq7xM_fyZp&d4>?0iJJ;YYQE`n5{3oz+^FL zxj-d4B4hj~Z*98#KoP2qpww*gkO@BloA@yMR~F6+ogsIy+0gz^B=^UB$7*g&AwBz4 z)1>3vtAP_EGxOdUqxN8=o;uULR!IYk5}M-4dw!B2ICUGrNb-lr;ZfyqID$_!>nCGJ zPcjj;|2bqiMFiqIuM=e7+ham08dOAZt0)+teEz&|$*C~&e=MpTrc8K@D`<)y>-BZ$ zBzkv*YgEtNKyek)mXoy{78&m~%Rd#ft_|=n)5H>=Xbkv>$VI&s)IB}~q_)O$*O*U) zxc}m3YLU_Pj|zgF*iA^qKWjI>1>Xx0G>}uDKFJDiFnYK%7q_GUvfj$ZFJIQsTa&OT z#BG~rd+vcn*)MpABQuDg1(U09H}7v&`DuT_4&ayi!^=BF5Og>@PA~57^q1xd3>3k% zlcCCdA+JDv^}s41O&eZXDM;!#2G*mt`~3UUde}71=1_Ls+)TI$?gbm=6m`axi7Gx4 zXS+;D3a;&~n4s+u?DH(M1Ea=gyb)nBtwx@}mfSkbY`@XUy#T9E?DHps3%wB)`g;_S z6&f-Du1gfS7Y#)&HRo$j>X*3=dppC9mDy#(GrxMi_x1r>i(evl%Qa5J*5la30OL7_ zk3%3V+B&ifi7>QGgG4e%$VLwmUKmLn(e`|X3i89Ic~vmh5s#MAd6{dBe$l^Hh4v9x z5okH0i%R~9?bw-Uu|g?TKsf;VmjL+>I*fN9)Q!w!K$Us7ht0 zYlk)IWH$q>O^)9LVo~DHCw1a-m~s5F4)Z??M%W}S_YIWU!S^%$buTVG0rO$X zqk+@)@?d+nPJAcL*pqVfN8f)G&P44xov+4@JT%M+%Ps}KNs|A|_}WQ6=J-C(rPBbD zuXBQualk4I3UM%ifovNu-%}$?dTS;J@*6_4jF5;ne;!>O)LSSEiTbxuk)jYfsst{bd_JdGvXqbjQ+D}(q11s%Q z6K~HA`CKkte~}5V6>%HMt|J>aleXsa1nFor41Y9+&C!e}i@IfHLb$AWX!e4yl+@}I zh#B1p+}C0X`*g8xfy&J;wjbnlW$8a}cX=;~!N+0<+k5T*CCbetACTgPVDYil+=owA zjMPWyD-G9t916goe-iZ$UnI&kx)^!+em^+rjX{;`YE~tkW8>`nZjd*zp*xZso8k~< zpxw25t=Xw=J*jh#h9dc8=yAM?9C~0K<+_MjaT~3vM5MnUd@wsGx@^rLidf{rU>?Z~ zxkverw&dS#rhdUXhC)b;TyY2Z_4lxg1Fq1w7kO1W2Cb8`mK2NQlVf&4DNKY8c$~{O z@9RhBjZgJ#ggV75*=>^qCGB8&E2k{@be%7KD;C>k2wsas|Mtha7+(v#FwOt%6t5>N z2t^P2=AF<|o*JKKM6+U`F^Eme10tdp>^Tcb zJ6Dt@F)2+on#4ow>dvD==X|oNzgcRB3O%zM~FAThLOnd4;PO9BC=0 zfq4qC>VaU)F)Pe0ncIA&WkR;c?f5UN;G_e=(UWdIv7dr0=mx#Hl>m+xDzLxTWe8G;B!jwMd^F zu$rB;*WK70*sUmBeEc`BK@)Gaf9YIpQLKGoTDmXB%{IvJ0n}UzmQ5F)`&d5$Q>^w1 z5b-V%l=e}S+>%Fcj^lu7O)^uG3>wyv-0n$giMDRiih#?12H#{|i~3%Sm-^%IZ6kZR z7WFC(?8SVMx$*GzPwCiJ&_|eDeDOMW>+}=$&P5)P7FpkDtWLHuOt^34uACD5#K|8{ z1&Qt7)?u;HaKvb!4lxgNht~3ceDf_PF%wvcrX(R#AqEP7nw90!NL!vJWo@|sKH_n1 zvg4L=7NbxH3Q8Q?LCdAZZY%zK?K&oAkD1Gg1j%Y42tX}PSo6t zBn`aCKW1kXHnf0bk1wRDk3SFQo9N}qHIAB=*^TYrN_mRqZ?DKrj#tK>q3n(g5_Kj{ z+8n8NRF?@SrRU0EF<#uFS-?J*zuew zeqZTzm#k<|<{?5UCVA-meC6eSj16pKJz+YV0oO4#uQOiqaQd^tEM^;$mzv6Wd&MfV z&wfx4C@&>NT}{UXHDuT2o+d@h9v=SP`_7u%VasILXEMvAtQS5aw#aGY6Y95c&ZNr zwinTjf2CVJA#k^1&UDVD>4@B$qz(Wr5)(G&D0gEt4O8fukMrrI(RWwM6Iw})#IdjT z;>$v=8vty%_~Mcq&n8GQsyppV<0aooRgQ%awM3xjYd?RMA1tS4I)P5+hRzZ{1v#|q zH9V=b;U&Lp+!s!%!yJ&?%(H#nG+LZq(w)KSc(+!z+a>aQem-YvMJ(M9&V9ba&dA>P zp)C0JuV1Q#e)@1L$(B^hi6qCjO2hvkl@3~vw$EVU^+$xDD+ky9UC5Y2Ol#0f{B>Uj zN!?_zT&5yE74=ZTfb}laz^|Tv?#)w8USNWBFI!=qy)r82JKE*y)&zslup^RVH>v<* z+;xo7ipr#E`IqzvPb@`*a}i@AT{I!3f(0PAU9%9maCNjr+6q^U4ybr5hRgK<=i==K z2g37xy$$xp^E!b zd!z~7_ww9{PDM$u7pkJ_PGltisli7IT#50$@a|KYN0xdygx*jrBZ0<5b8qaw89*?{ z2}qW#g?s1Af&@nc=f4vAjb95qn4^v3f-)omu$)gaxxWa3^}C#IuKX#S^)^%=x!^UF z-h@;LSf*FtLC37DmP=KmPwkH~a{X4qpdt!q_#YHaLNNCOzdAnp1^}c02;BotYd{E2 z-Ks#88`jxG8Qbws{p@9KhGKUpkPDT2yK4gLEbg-uwkL;=plDz`kV)#QpoV=^dB&V~ znl^P^mS(q*s$ft7vq*6FnO39v@xozyx)1XEnb0AN19cnq)2f{;+!e!8T%%0Xd0{(A zvG>YO0Nx?f_=AbB>oDoJ!da!lNPEqE%Id2#Y0A$03LVc@rk_#4y11QCdii^S#!>^W zo!a&56?ZI7nJCK!FMYx>H(=gSTsCjw=)j)aRPz-5nJMIlCBico=#ZJD^bg)rVV0 zJ*O&*@Y6XXHGZ=cLHp17Zh4n2Ldzo-m78rfa@43%W9inpHBr&aB?m&ULycaETnBsi z4`jEPG2Xvk!@Ju9|iNZ}8T=s1ktke&HO zl{NiGTH$&08ATOFdd%t68pp|LMV=>$a#Tx=zroN|vLTc0YkO;b ze;rqYx7yM?*y(3ZJ5MfYOg$Jyy|^^gEXo!$yJ?e3`nn(W?2glfr!W?XF<#yHHMMK~D~s3Z-RSO49a`<8aARV~-iT^vp6*t{-K zA~|NcED6)4NX9F11V*bM#1c^zLN46wFEMTa@~ymg4+1~DYrQeDlNa{+Kip}vjI#j= z(L#lYTP+xVLxh}X00-b8Q@`cXv=O z1UMu4#}v83FRhcJIsUY+c7T7r8zIY+Q?WA!2IwXIiNsD}jf)%v2+HzYweK*tCB_8` zty1HV2(}%d{M|J7_+@04W0aXPW*GfctD8;&!7Is0nq~FH$GH zK4=U7N-FYqE{rqzuiXr<2G@x9jG0Rovv!aXwfm91bilYlp;=RV$36P+s-Q7SND~X) z2#+wHV%!r+^TFI)SG=kyWbeW$Flbw8haKNK`||2fMf~o~>$%aR1#j@h@^2Xej74K+ z%3fLXC@5(yp2qw277cMMsh(szUPg*F&;3@KpJG!hA92i<{7vrzD^hm%Nf7xaln5#Y zKWEnVdiAJtC>?tsKs%tb3}xa6>e{>o0em}PseMK|rCcQvPyk1Y!KuQKzilwCLiC*f z7SAphiaxHluXyh@=tMg3wE&B{A>}pje z(upYHj`Qyuj`e1HCd&*W8hcx|a&igw&!2ZR5#Mpe-6K*1+3ZALMaZ~$MpabL6q}45 zz=UfhO!n+eiHk8edrd5^W(6*W%r8zSjX)FkU``f`?;Kse z?b6AG;(i;L0xcQ_Emb-?<_5Yorr=N&C4QG3)|v=!saU!10liZf_n2n;6gdCDrS&rS z1T=hx&Amd!fuRq$iO-E@08Q8g;D*3~y>T(-^6%SmK40?(_6JXUYnO$~(-sbuQk)$@ zDx$nWhP(8EP$&73418$&9}Kic**O#nSw5WbP+4JN>78BkEt3MwD^G`c@{-`t!d&H>pf+Ln?`E*1WU1c#2UAt z*&bqf&cwo>M{@DefuZ z%-2Vhh3vw{L3 z<)zD&3t<@Kf3V3ad#xeieSNjn?r>){)LPJ4c?x86at;+?U`f}Jj59{qy0pzFp#;uX z$DSw)b}Z;NfNOZzPd{^1M4XEa1?*}x4Dnf0f2x1yzBiP_w`bdC3D~HvGWNdP4J#h0 ztj*~zk$&e3R5(`Y<_B64Stx)sZTe{X?Do!y7qE-Ipv} zeu`XOpE?4lwd78X_Ag`TCdcMNlka%Hf&q|c@@?O5m=wSOX^+-t(yMEPmQrX3oe;$Z zIDcs@?i3D}*E^jbSsd zC8OahZ5JY*jcOb+UPh2$YkA!F-zF_*VWU2oGk-R-EmKdw>a0whB~dgn7=+w1p56^X z^zEe3GDfL34`fQ>ODA205M5`Uv`ImL*&*$j-(ll#p~r7RT4vArr#S4C`9#!2ARqsO zgq!~$A@tR8nN$t+00d26)QpfKJz!!~scwgFzN4}b@o#36m!yu4=h@f#JaV?rS&cmW zf=X<#taRY++8=Y9_gH9CSKHMV3!dA|GdI#A&vDj>J+E!BJ;y5efFmc}Z!mopqKl25 zW^fVC|nOVt)I>^uIwNVaP z;>^05`!5he6MLd|$`E06kC_u>cFjOuO72h)x8Kq02zO%tTSAm?xPK9P-`j>5IDU&0 z(6~ytikgH1Fi_2z#m;ulO1bv^yW?GH@{xn84c)}nkcqiegyX_)s8;9)F+&W;Hz$bD z-S)e|?+MiHQ`=)m5jQ+jxvepHQaPO>Uax_7ZOen$4fJQvJPh(&Xk?-Xb@Zbt^?I{w zvMBVP_Ba}Au2T~vk{=plouuQfp}Ji<1;cIR%*=$8oZKUMs}_}l_OQ4S%GkH?dunbp zjt>U$I$1w@k4}5Q$M1kj0y>$pf3IuM|EH4Al;eYVzSjYi=gSNNGLnP>u&Nly0Xv}P zwrdGhAGfM*_h*rI4a<|WH7&{!+8SCFr;x-4Ws#>_!mPBT&Kc!uSYbS(7p4fqLZM5! zpxL6?E$Xbr?HD!R@j%JRLGujDp>=DU+6P7@Ey+0*kg--6c4Cf*C(pL9RY-Cbb@WX7 zRZoJWvlJqefetBDdRE+^aTkv2ONQpGiHSFIsLP@?_iS~1!XC;4`xEpcHXK@LB_~9J zO38Udh_!G%sRW8)#&7_7Fz=-z3%u*U>!Dp77zBoS)1eBmY?gw57)x4jDhCbxhp<1K z9mevf>Z)g=lykLe7Tr`lZV&c1yAT&W=HN!t7JbY(K$C*Ojv0AGY6`BjCYL$^_xYM5 zS4{<5|Awf|JauAc6Sr(ocj|w>Zf3)3FevnK?H456mM3)%55%!Eli}D6eGTv*h2$aM zG>{?&atza~Vzrp1WcX(KOkM8rZCnHVpR5n0S3+8V2MLzU6Ef-n8pLh^42cB*xy0tg*$$uSF8}i1 z4W^<^Pma~~-t{h3t;M>Ip})7_A!*2sIIcb1)|n1C7bTyX21a3|iKp-jto>c(N=z>S)O0h|2vUSO{~WSh}5g?v5M z>79{zlF#0z{8P;TN->CGKt#m<%#aX)zE~+9MX19glY>2z;{&skqeByubHl@ZW25b$ zbdxpCR{}xW!b2zN6WAnJOh!X!Sx5}P_YT8UnUd}ov2kJSx*Z!nw*I_F6XxD}&_vXH zy)}*t1_R#SB<(+qT+F$iRLKj%X~|LjPB<;f%)=jv1n~-5mD!pJ6rnAFq5}7F9YIt| z1XisIb5r3Q!t2(Qn?fsxE_>Cy8bkVZu`K>d8%s$8b=4t@{S-U61bRpOmG9Cgp2xe5 z3jH}g&Sg3%$lIKL~eeP|m0BK&R1DYbl!O02OQ_ zI!r1j{=!yqj*t-17!w6xvbgm}yrf=(N$hza*(OsWq)t9$uGsT6`RjzrYHTuT5&ZINV4x18r z=VWQK)FQ!&GMt#n+(EvbmqFSQ)ss*$hieeug8gFZuOxE1$5`uLDA9K4F%61w6v-jW zqM0`qPC^Q>d&_2JADeyapR*$I+wl&Ws^O^wccEqPX2S-)JOA24a~KTC9!SiXI#4fr zux530{+Uo;Ztbb5h#)yh9!RI5Vq6}SX>zIu_U~+2z%=rMJ=c=~XH>9L0Da5IO><)Y z;6BWk+5*Sj9OfsDZ!H^<#8qnOJTlrhIJLLshkRY+i_i-vFebrzsHUgy)+X=o>vfO0 z7JY>o%o};PZ=$iqHf<7RDi&Bj?3hm4<06Xw_}YkW=2K&TlRRl5P&AR*LLrSgX)=z0 ze-JqD?_;60O3eNEYy3*D$RpHYWI8`S|2!ra%&(ZRNvI)3PRXwmR{c|J-mjJD{_AG9 z^KFr!)_^e#$5uVGeE`&#|7evX-!|VIf}TD-1z>i= z6guBVU7z}R_S<5V!RR97^-~pzB**H-CUj`_wi?0gkfc*z>xd6$U8aC;zpM zt&>UUi}}Eh*P;I2_J9EzaNR<}5vhBE8Z>h%ycsNL7$|38go{#kQ^gQhk_F^WcsrQGt6$`HtO~Q~XcaywzSVR6 zlI^Jf<-UUv93Ky}Jy4h3f*x}w>bLTGf>`U|ECAuw*&RTVaI|mpo0Ff18M79{76T`F zOJIk}?ujg-V(agHIx~T?PQJVEKxwVFN|>RC25BG%TSjPze1T52%eS0I0K|VNKRPTO zIu7IbI1QWwG$=A1pM;9oP@zM%r zBQj}K%9G~Cb|O#et#@a@d+n++xes0x?f$7jLy?jZYl8juy~W82c?GU^43{oZv4UGs z6|8-R^R1_;|LAww(TSxdrMuA=5uQPQxlWmHvS(&RU!!(5JoLbDK^nMm2n6z;dny10 zKH?-IO|&g4BY+P((1MMhb#=RToG1yyF#O|bgn;^V2y^j^SFwTdqrDWpT@SZ0`xe{C zPrN1z9HyMNm|7Y#Yjt+K)KhlaDLdoUq`|A0#InGQZo%u4b$?saXYKq~ugOadjQOH+ z{9>Xh80?r4jE|bdj%~+o1{kSz+N4Z>$Tck{-8!cTx>_xW>#xz@?PE zd+m=*`W*RIn+n&%0CMq_1R<1Whc4GvVlZ#eDE2aERSs~+D@z&{7BlA=jfP7x9ssyK z*(FUyg$a^YJ+c=Jk0-i7;8Z{1jLtZ+E55;e%_y=oEh|U&RhKRx+9037D3+OAIhfq;Tfy5_`hyJxExaEO){>8P>79!%moR~zI>+BDH^#&6Mej<+Bg;xYhBn_81LiF<( zi9{jik?HEr$lcmrF{AR5~!K1c)V{uW+l*(o6S950Rtsw=~7u}9L0k& zDS1V7q5ERgeDTyL{vT7J^@IZ{*YoIR^0j9wBf$XtW&=MeCa3_Qhe*|t7^Q$s<{@#} zmmKc2G(GIpj+`r zE-qecx>YG$fvx^+GM9>3#F!7`gV4^6lql2dq3o3D#BA!zC(=(NlC+Vz&EX#lq;Xfo zr;n!SqbP!VzGF!8(@>cO4FfNHgPYM3HcRnO7F#^*wXepicuz4?>(LQeG~{mi2^zy6 z;BuhY1#0F6SK$LmH=g0B#sh;z>D+}}tBe4ATvE&2(3LAL*H0#+k6ZW3=VQ%}=xjlS z_3_LFED6PR#XdP=$R~c2n-1U2$Dl2yE7|<0(jIb2Tf*$CuHIvbWO8Q`q!sK85vVol zDEPmxmu}0L;TlmzIG-w~d`%4Z^9U%(J7PD%%Te|3Mrg7_Q4NtSx}nvl62XkdS@Qo=JimZ z(Lsg^V^=>^L0l=O?QFK2vl@J_*a@pmCt=zaZrYSBUg`@gYoo-jDhShvP4@aMCzK#n z_pQq5c-TX^*S?sZ*x4en^5RNi+q1z~O6G9pE6%%49dX8n&B*8rzq_(k5u4;j)1w%Y zwjZjom295Nf_4&G;ucy*F)6vQz{P-?LBEI3EZT+J{zxNg$a@#3Iy!PXR1f&SDE7o( z5}Jdt`|2tQKBM=Y#{J=oJUakzXOZth&LBO8%87Y5-FdBp?rp_w5$tI*bImFXbDt2# z4!l+UDmV{j5AJ<;DL5tBzFupe<|R7waja4VcTrV`&nj-!@{+Qb^cF@YCXyUbG%M{i zcUP#Fd*{QNz#E{7%Nn?3FlJ(W--vcOH>Ie<%4AWQSmZCY*`c>e5VxZ3#B5{4L285T zE^XsX&g{d)Syo=%F!)vcy!M*8L5EmEM8}yD^dd9ql9%Q7`-c&~McHfbrqKix2zXgP zgPHpQu8OM@^k%_MXgau<;y^^J!KF?R!(uXg{;Z0%9LsyBhE@(@^Yg}Oiz3gNMZVh0 z1x_F_jXk}WLql$PcDh&Aa>>#ALaO14(&b`>o`1bIlq`POlx^Ae)AX<#J-(ZGT&2vP zxAlX^Y1u`&V|)Fzb0%;6>E3pWluqy{mF!)RG@weXNuQwloAKtFF?x5&xB#OW;c2g_u|Ciz`*0 z`0}C$`s-t$b^IbxGm1_5j#8xe{i|}Xm&*`UPQ!ET%jwCQ+%L?UANX=8 zx()%#zDLzbz1Hn6t!6qb>fvFM;@YY1b@z~uk0O#(RljRbc)@qU#lH{hifDtsxTPqH zw2?ZM*U7sRkMU1rlcO(9h=o0YV=eXG%cv29l1kW|6`aPctGu{ua$@G|j5(4lY z_kLWp@bpM^RlFhUg*CltY3H%CF8Zzs&G_?HH@r5RooLbxnRcT4Z}Fq1N^EgsjV_Fb zz`IXiyLwfK5KRO|fWQ1{y35IqYa(JZ4oA{Mm)5ovO zpZZTXg_GU3C;)zF9-k{@9BpTJqQAx9gI+MCpda^e=7S8Iv0488LI*-82J&DI4%`uvSqMB@^~taX0ZFMrOA2Z!RALpyZt!c2+YbUq@T%Q->V(#})(`N_i1V~md8&(Y%A zPG$`Lo@Qwfii~X9&$O8gIex|qm!~ApmilV2k3};i!^G505z9d|x4!Fn#14%M;DOrE ziT;WLh?>r(1&bph0PY4YS;nP;`*cQJkyj*?(~}J(;0_saahHu|wrjrsx%dB;_WN%+ z(27IBjWGR9PBr3t)tlPOIZ|m*Xa=-x+!LP6(vU+x z)#;#&7VG4P70QCGS(&Jm(~th_{5FuQR0|nSaj(4q^W?6y?pT59FO%)~#545RPy%yS z?VC`{&eWSVUr$Sw(Z_{laO90FbLE;SuH2mer6^qgkD?$3Q51JcAHPwDCr3uQMrON5 z#`{MGdnZQ*MkgjmLG;Yl6YCdzpKEz_a0MJ#NA75#ei|twVC64W%osVewqWxz$4{Ay zZ(N-)n^!z`Zb8qNQ13EcclQKe@?8UUR z_jC>00Mdj8F^bd}>N1z$Q>R5kqjlxCyasl+5lj6d)eYfCSpPss8^*AtoJOgZW>P6} zN|Ch`mZNoHEhQOI3U~O9S#9ul-{I zpt7rri7Sev1w4&lLskd&3s7G-KkHnDr7B}e8g6B+mcA$vB=1U-rNP=*pJF!WJVFz$ zLm(%JdvIp%n4Y&3(jFGyprf}goUBrDIDi{@%woiT&W`i7lkRVwl`YF8iR>s{hso{) zJHDHMzgbLn1~^sa2WEE-O>9+Nb*z=pHfJLc)mBL-?f_41={NUcnimbOe%``n%drBJ z6y@#E6Cr>po%PISpgM*Shojf%tkQArbIu{fn1Do41sMta)D1*cP+((YMt&u{!`*8ulo#jzxqLRaD{>a z;UUYbpuSiFPkGXTQ^3flhKVL`UffKg@JB(DN}=8NgRAxmMHwbS7YWX#7fkLrMYY^r zt7hj%nlT~&i3?b5u6fNLQkJH^9S7Y9;XkI*bylOJp3q!@54Lk z%8dG=5CZ_X$;7S2EnTy@p4xHfYqG#Z_5oL4MBIr{tLfTwV?wr0A2uhs$#64Ea#Be= z0zMllFjH@VO{YJdTw^#7)IY1-V~7Yui<;0*tOg_(a^kIHXYahsLLVNe?5()OPwnyq z`7Q8SntN-Btp7$nL7U8<>4j$=jx8J<)q!4^%ns}%$h-U%hsF{I5fmPP=v6M%mN1Ic zO)%)8K8Hg9gNlW#(}Vc+Uw(Nq{?X14{@fV|eF+7OeIlGrkx&4H?EMz5+Fv~tSZa0B zGaj2}(%c$bs{7M=u}kstdv!BYqodoCSUugoLHqGn>!oM~Q(I7y0Tim_Az$T7#k|&| z3Hhpc(2sUpKXjQH-D@l~lQ@{XtCdPN_-R;BY?Dou6gD?ps^S5+*$Ay2`KK`bwn8t2C!In#Vd3OZjBE<%rR+ou2^whBfB_j zsAy(vtkl(29Ov0*M3N;r3-sYdh3R6Rom_oP71HGP)rk;r-XmSV#|zEH}TL$u!72_Z~A3rEyR>zS>=GGdxv9QemJuObi21= zBw&SMuNhbh**DbW8@2q28b_}g`lYB3(S95`S}DXIef=_W63xcc^}pYL1E=Q$dwxWn zVjK^FaS|%%N0k-_%jy1IM~3+)4prvJk&x1vYn)d4ulE>97OkpGB*y$*@m(NU5O3`2 zp_4KVocShjG;)#_UD_N+c;9@&G~H(KtpAZi1yNLwMv2lRxxP$2zSSI8N-=o7L}x-9 z0`nF>cl8m#r+$(4#e7R@YO!KUxE=PU{=&BDV4t`5- zjfi5Pson^n$?3XS_%RRRB-FZ_akXV05bZ*Pb&r0q4(Dqy<~G_oLDbSl4!n{OG}16x zA+Q?up!muX?p>ts79!#?l=!3J@k2nEgg4fFZ9GVI*?0~hY^_Cc(vC?fklQI(SpO-| z3G7Ay^4aAn`j!=M!+7`ow^ z#X3SRW;QPECEd;OVdm~Lwi$HTBatdU@o*{FOuacbEfmcmfse$7h77a0EOzi0{eS!i z_onQVaY{q@7f7~<&$8`tVJ^;V%ei$e<-&#uxWtj+`m&rVqw}l}w^!SV zXa+ynxfxl~%GNnq4Q9+wYsv}|BQ1yW#bwP~sa@qm_BULYpx7QwJ=5rHw_C)PJ+cY~ zs?JeaP#sTeufVpLIw};AWQZ*Mc2606wHS7Dk7;bOiii~f=u#&F^vP_DVTZ?CfyXPB zFJTa8!49)l6Ntmgn~YLG7EQ+T;}}R&nVDGvjArlNk7L(gRezAQ#W^Wyl0J7%e|WDB#1v_`*wIejjkY8A!rWV8%+^HC8)9&w z%W>#{_@N^lr|;5&wv;QWDjxn@XGtDo2?^kQY;;vw5BzRxT3HvCD2tf~owHr!S1-56 z^Nqin6sF}o-s*OEWl@LLMw;(Y3VRPu@KS6i05Bq@$4j_RLuN^ZPR|IW&TSJ*m(p5A zLfnUky;D$mtGorp>9IH&Lxxgodtlla@&|mlj}j7ZyCF-+GnTei0`1jnOR&F8FKzeu z*&3$Va_lu@Lb!JcFgtGPH*s{oXi(v*nQ_o*K}bYE-#W33`RJD6={m>>;^Vj;^*6JQp{xJ}`h7i+-D4l^Ed}8R& zz5BEkb^h02IU&{mv>Ab!;R=6so$xVI-5A0Za)ovWtrzI+e)`8uQ*5R_t@`ie!OJzC77ZaIr;ngRZOoF9m2JY<&Itdm#+QPZ~w2TtBi`HfwhZUu|m-T z#fukN+@ZL;E)*#4?o!;{-Q7!ZDems>wpfcVP~P&rch37YKj+LzGD&W3Zt75dJteS) z>m|Jl(_MXX+fKi#t5q!lPgBxI=Ic(y@F609Tm3$rQmfr5aS2oKN9Gzi#xURK5^ABs z%Y#STS&Q|@o>tTQrCykT5$0@TZNWR_COXa+$+?*PNN+z}n^Yv+=^ihqs_A6<(wPo> zpYImXMBdYN-TU1j1LJyS1JawlsO!Z-V{$iw9(knT>_lfbFiN`6VYDF~&l`Ih#@wgL zSzBZ^RI_&I1r^S+QpS<(YhSS=e$littE%m|3sN^Tj~&zalaV_~ziG4|Lp$I8qpl>W9nFbtzB}qIxmgAze`B;XG*>8TD>=xgL7=!A#`EXzd zn)$kDHGUToheEk@d^&FmzogNmaDWQ?wSIptNLcgmhGpyEo?oB&(*iQ>S9lkNRS<>C zbeW3=Zo{Gx2Z;fTRoN@GTQ3cQ#a!1EjTkGf&_7O1_d?;^bGoAn!=w|KGyndBmk0pU ziK2|XbtsES+zmX`vGnd^D&aCtO zi%712Io_4Q`*j*$HkGRw5Z~aLCRUz!=%+M@2E3`2O`kCg{%FC2j%2|@=#-~XV=$ZC zUNIp(qk0gGL5UkrdbEyYJzN3-;DFDp$q62U;RVLONnKz25q^oq4}32_@%17uFB#Ezj!gN>p}O!dVAes$y(9NzeDVhh0u&LA1p)*nE^%740M{G zTAp=pFwn-GK&wAfz*FleJckC}v?qy&d&Va^z_xxG&;7GM5bK$kcz3d1o=2~E;cHCS zx`;!AvlsynRnpUP93b|p?tx?O^KG0+&?3WS}?z|8EcpDBxX+U&r+O-Wo z+1HOd+NfMamA4%0{GDi@=9UC#cw|~+aJ(YoYQ}2y6;7wHJ*jW}A-&bw?}!y1xm0L0 zgvT+np&OG{(ZHU+2|_2?Hl`Y#n+8d2kbw*et7Lr{hzxsX#$f+%k7NA*5eaH2B4OOe zm-u1yYIS+_=giRWncm-{T~ou81LIR&P%GNT;=oV$__TX`CO$soSOyA(52uYnhbz65 zm+3y?7F`~uTayvZ`1S1t%Sq#x*cV>&?VIJtBPn5azxj`s(`+@s_qQsS)AhpiW;P4i zW#P&H8l1m|o&*WrhtaUE#<7nOyN6nkWJ^*HVf^aXBODp~OZH{Z(VV@UwLiI6AD>89 z`V;1G#ln43T*rK6$}03Yoe!CZ^^XJN3DE=%q3e0JlN5Yv8iP8o_Of|4t7?31mQ(XD zDv8YO!5w;VMvXJeZa(4-4uGz&XQtJ0M1b{5_Ob@j)ADIGaq&o{2$-PVlMWTn$_bT=#&}svAJ<8{OX&uVpr?tvSV69N%zbC70JZS zBR`L?1iL&?;?%}sl)|y#F(#*kQN2ssOcqBvnQ!@#sk0$%)+V`?*E2)vU8~rw^IhwC zWuot2x8;)5omPUsF220dzZi?ni#AhiSbqU`|K1OWOY;Uxvu~|9R%O){A5)h*4Q%60 zEGPq)LaN7CdF8dm>3OzhREhA!pZ<(-O?|;Er6dBroYVGlSwi@qIPl9X3=7Hq5ugcb z{UB}gBQB$T`wW4;sZ0Q=3n_Mi1wHDvk@W21M3=pD!`Ii8*fxcSj%K45UJtu;7dN?| zmrH*Rz$igGKe3;rOC4J0<7|M~8fES^ydsFsa1^?}?hMqux?DLmjPfc=5grNYg61fS zw_^P(J-LAgo??=DV)=ZK0xO9-qsC?QUFByp{Om7>Ve{i!PpB2Fi`3C4W*IAPh__`s zwF9sQLX1k`jqVZ0u+{BpoXoS)sz#ZhBljeZ!?Hysyba^ewFtp^dJD(a9ozZ1tg>iM z2s9CdqLlwB5bP#pn`j4(P+UhL=4sj=3oBCCrGV>AP`3};4d9WLRT<{M)?7}m1q)8z zSN3Dy_r;`PJ_*09NFFD0H+fXqwAUB?RwbIB%YUl4Sgf!;XFZ?S%|*V~jJWPZZ$hd|IRjJ;s)2zq9kA6i`V6)<){-oy@E=tluLPU zsuGE>iu;@TE7ExgXzIoCKqrnai(`jg1;IYIa=3oWvwzBw!dC4G zmKu`|0q^%*kqq;uq#M_cj#oAux}|!+!k@G-Oue>i*| z(KKf^*AV>BhN*eiF;YFC$m)7Rq@V0f-5$Mhd}&DyfdmhSi>6026@0%^*^`cTd6~GN z_mvL^#af1%TR7+SAiB}i^>{e-QI>J?nz7l*ICBW}4$LN8r{nxidd98ZP+<2g-R0@2 z|6|;X(Pqqru|Tuh_3cgqI4V)F#o#9f062Q4lf+zuL;aiQUdT zl$kJICn|1^NV(o6m7wgj)ibQN++ep6{Pw)<@y;yQKw)R;HcHGmocsL2-IO^fO%|fp zTS+<@`+fMXmzqw*>`&uBu`o8U+bp~23@EX=ut0uqn_fe`Wyz6E0h@nnDM^xro3;U6 z{fbm+?xbjKiMP4(a>P16ma{5cFbssBn^1uxwi?IWnG#N{v49QNq8!iE&i0^xqx2Nf zjgiDf+56h!EfZxc1rg@m@_SEALr;|KQVB?J)8XfOhK%c&Z?)8}ICNbxyb`(Nf3d_@ z4Vbi%(U)#Xw;EhoUg%Zpj;{W_gG<}c1V`U76DX4nveRGi>Jd!5$za8yceR4yqlF(r zms{F%rCOqGvnc3d@W1aVQ~KD@8KG=9z?@tM5>JgAUtQSNu#GVZ42yze>7jn<(=nUn z3KBVC--u65bk%}Egs)twX?tWV?Up8%u>?NZ6zvH0y+5yS|CWfVQR#T6(G1Xd>qle8 z=DrA{qAv}d!=uRqs>8zS#Fq>Kbx$=jQfi=suQI9}VkDZ?jlTn%_aKgH!bRvr0^`5< zSa@;U4x)c86fQ5`%w}C#n+Ku*8Hk50fgx*R0a}T@-!gaph&5^vfccdmaqBRf;S#Al zI=W)3Xz>xzpd(L7L~oyF`u&ou$Rwy>)C;8@R7ne$+9leLj>}oqUF}{e`jn$M(JFgn zl4&yG9m7e73AZ7t+~XqTG!sRDKRoo06}|SDTxi9OvAW@89n?Y zUSdniW5CGY@Nl@I18gYlaM4a5JD+1>kcDg*tq8F@<=F-#oRp?WRvafSgxYFAA7zc1 zre~C55}%h=Yo{LnaD>-BET>{kRg0It43L;@5p`wJ++*13#v2Jr-iF?ZhT6RkkAt9f zDrRNtS=yUtcX#q#pUlzK1H%Q5{^N=*95AZEBCK;UXq_~{d&*LTe|h6zZnTvx>H~ut zM%srr8(V{o$EVVXhd#uRWi9G5Y~8rqGV{*mh@j!2vB|B>bA8Ul``G(~4K|`!!i~K#$I#m1*^0I+fayl(LwUUBSI9QEB%Rv!u51 zVUg7@@oIFw%n@3ezDghidy-vcbMhFo%me2 zm`}Hx-q1|BF%(pSZBH)JI~{E%VN5=X^N2T8wsf)qg$=CX=C<>r`7FB{w48DmN$h2K zqSWNxrI^}&N2g@sCP0+XZLl`%FK4I3*ljF+(VRE>sYBWLAn*{Z>n0EGRu(jZ%RY7F zsi_Tb3h0ytq*ZU#{NPifzZ3s}lL)@zGDA$}deygzL|(2Zc0<(JzTjU-5T zNavyynm4GO&B~GXYGTJz{j?QKksS>ICK13`FW315%g>+|C24p-GqOhr1^^-yWyJo)x-cqnEc^?!!L2?kQLP-8RMJ zkO6aPWcK|p{`M&V77El3OkfO}02TBcW}L9%&Dj71ET-^vbm#_KeGIWtb!3e}wrN|k zU*J@QRvX7pK8ri-^ND?HvaG74C&6%DL#j?J^u_uoUu9)l@il>%L6I`lJN=L-kQxJS6cE;i~83m;=E3mK-Y_feg;{pg(H2>7Ui+BQzXqY zo)_CZFx(|NfU)PTA7y^hM=fUMu+K%kdq;9ZnCBtwUcd$bKo+0QG!}hZytNICAUq!K zf?PU-gX2teX(fw&VO<2aTRQJcWd1sbzb7kd?@QN_7c0^Of1e`(B7XmTsye@k1EF*% zLWAY0i1(fFt{zV<;Yu!e2grg&n;ozG#`=iAo&ec&2rp+KC`F{$$^Mf|K7_?^uD%tl zn=UqD?ZdPJW(y0?{B7>ZBTcHIJN_d13xh{wU@!RPHer3Q?H`wp74nIc3U7f3H$%9R zJ`x7hsXmSYRE6P|jxu1bR~LDmJ8wpj59ktM0Sb7ddzqyeM=SL^{JZwjroS3~HZ~}5 zeZ9uG#5Zl@bh!LHOwQ#MccMqj!^am)U&Zx32rZAQP}e3@aV?Lr6;U}_1Z-W(fw|K6 zYQb`#L7`O4t76Y$Oguf^aKaG^nb-Nr%Q+n#vuTS}7Wrku)7l#?9^YL|*H|41M%r|)!Zn&KOwxgW zi$*mvS_-=cEjRhZ^k|U-b$?{anIfIYq+~Zye#ofNH?iTs*ny;2_#k0am^ICh-+aU; za73rS`Knror!(OuQ(HpKs~tq?{iytd8qSkA!ZiG+QVaAP<8H$KgqP8AG;F+2HtYxk z|5X$b|Jl~uUp>C*5Uc>XZ{ieU#68L`_h5?AcMlA$KF5=AAn0gyifhvF^R_3AEzUnl zgquwY%^Egp1i;31cd>hK{VOiR z8$?a2oV=+K#4;H!DQTT0n>v`7jATpzf$wZ%p}nm%`mq7Qn0F$F%Gem{&_uFaS})3| zt%ZeinP+d>Q&z?cPQ}~^7oX>oOxph@-2?DEls+9&cMiV$>z76IWH?t+EYAA*N$Bi~ z){;Q}(fJxJa6Us~dLTV6x>6vWq>T0vuk&R&4G!ay_0wDBYaNRO?fJc$g`3L?@{Xkyy^Q^TR(34Vn`UIM2uvdI6Le$YYPFH8DqscX}Wg61%d= zMQQ9lwPgPO?1|@`_1(F?VgtLT{ma~~9|>FE2fE>HDiF4$qK62{5k;D=(r7hb`8^{LomblX`*a96VsudK)=NE2V1cx4nu_`2SugLaV=o%0bW0Q%MUl6m}H;TKgPm?VZ=37jt zS|h+HwhCu8-$Q_s(ZH{GAY5L*ncd>P^W)Mc%}(ANLYTLie)bp!s`<93k6u)5G=}gs z<*dARK@q^e^XWi^a@*JUa_A+PJzMPl=)u86oR(A#od3G_G`bfz2XunO#K^5`j+V z!-ZtI=u|{<4#ttgz4etG20FS})`Gs=6m+SetR!(-F6qY$ZpA-b7gUyk&B6`2ax;qy zf+*#l52nTs=aN3Ml_|CGT}*c#|M4p(o>s6BaIbPA<{PQlyco%wR)e za6%4C$<4h@O|vm|THH>uR6Bu*>1?5cy3R*oFTEBYHxi<`iTIR**yqT}`3FWN#<%nU z7-r+HS1zRD(y3tCeSkgJ#z&my;j z=%%8gFdlVq1bBK#|0`KKQL9k6BJusZT0z|?)!NOD$U)0uxT05raW8JCdKtd^XT>B@fCU!5MiZW2u0LW>mwYO z+&9(%iGY5&c?*22ZxLB7{s935d{RcfXM^$HuK(;G8H0cQ9lNx$>y(ZVuiwIaEq_;1 zUgePP*sp(LLQ>$6gAq|RSc$uPQ&w|6!}^c;c0KA69!qq~JeJ6cqc)R?l^q^6+1^eMu0<4p5p0jM^>ivcZOy!BF{ zpCoeHRmqBUv`j%8ox))xq^D{K09*);EUuPA{^2u_nN8~YX}%b;+?pEtPXvN*)anvm)OURjXO`mJRDut zlE>5eWB_s(_ta3Vz!1#Li>|-taIp~*>>J(%u@BlqSETx9~2W4j`UsQM$jY&m0D3tyKpO-*rorQk=^~9XU4dDRM~e|65WNU>Qd{Vx{NW z78ZM+q0-+X>s0U1#`~$Bu?^phAEn+vb^A!_P9zX5u^`Wwib%E)MK-_IL+zSkS01`Nyu38rxhjU7oo%ky z<;yr%79uBmQ@$PM-2gnwc=oA(4|t>L=8hr2CLwNmEtm<&`=fjcZ)nX(cn`=M@)N)I zFBq6fULiV*XFpv&%^T=kBievv`V}=Hlto`b+z2=YS2#5Nq+%a!rK+05PB1EwG|R(8lFsimSozMH{7&r8byox8SH}i^6g!b#f#Em{em@y|oi!(enS;al ze)-bKCY5j(Em7oz@m%zs$@Grk+oq{o^4%z(?tS|XZ0vB&Q8E*{8h-@v)S_l3!h8F& zA*}Q(-5QW8Qc-r!9zQmCVt%brryya0udQCt^O4gm{H&>37UUs2|8Fm;I)L`G z7FesQYEdY&RhxP{=Q@tOyWrX{Q1F+}^|a=M0qc!W$8S`YC4Z5}FZ2O9r?xnM1=+vU zwd}!_ylBatz~AznT}W}21&GYfdSQ}b#TIRmdwx^VMP*?S-8 zmGCV0WilU72$~__;yAhyb31l0=n!rAhv`Y-%QN#V>q~5zOE>zUUKA62d+LOhGRroK zTC!c;?l?=ac9Q~%`_TL=Nx9dNoYavD1h(vZ*H238jN|-N6OmZX!bh>ZV{*X5b0T$GqRS^zIMCHkzyCo@c#86bGjhpJu`?;* z>Bqy`;N%d^rEF@~jYJE}GFCOlz`GT=C_r}^820YQ89h`bc1hS<_|^@@F8cFnPsd?w z2j#RQwrnLHvXU$df0~9|CqZi6TQFol5x><}OINB{C+`zc_N9-Z5D+|Id++Ci)}a7_ z+_=WpIO;HI()c5j7;@65OiA($%gq%& zS$9m)Nk6Tsqrr!w^be|@R#Vb;qSn*QCt~7|>2Gn!%*<#83ePtT!`X_Nk)cdaET&>rRU;%>{;DI1kwus$Itci3MpKSk>ql^;uZyMZt% z71s40MaUTGpI%nksI9J)Z66WtObO5AS}sfQd-1MHM7MD|I=U_=DZ=3CMSA`?#A0L_ zsW?4W3;|oWwdn@4qSU*kG`;MIN^sSl$oE)Uo~q9(Ut_EL1r>d#!yCJB-#By)Z_F8s+%8|bMk=;~*V zYu)cUd#xULLQ-B~lswSaz1|_9Lp4W=$ov&D2V8trKr2or)WGGOQBwNE%I!qhf*}IO((iv(&EK|Hv`T4WWt1HYI?Cc?)Y$%ov3~?1h*4 zRK7Gcs>QWt0f4e(9OjtW-TqM@a(3bvZD4&dScMtfHPtDK*{pZZK2^!Y z|1-v>o8YL&gpkJ=5M}A++uIRz_L!mTAK#V!&E_(7#}A+RY-Tzv67}t{%w6*35K5#C z$*up-FoL-eLyZk_fx|m^>u~jVj_n_Fe z1$SJ6Q@c)e`@ftxEX;BE@*D1-MIG>h^=iZL?@G)gA_yye3LxLQhP8u^r)lXH0cPUxxxw(lod?a?Ko0?sz?QUTlpX)_q`KOEHb AO8@`> literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg b/modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg new file mode 100644 index 0000000000000000000000000000000000000000..43fda8be4252ee0f9f0388e1d6592e7d041026de GIT binary patch literal 107740 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

Bj(5eC*P?TylS81rs0MQZHdxJmOy7lBEPt95 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�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

>DKN>%t{xv0! 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 Nb!APZas|_n{{`2jTnPXG From 7d9031f3103f6004328c111e4e8cb515711cc3bd Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 19 Oct 2024 15:24:04 +0300 Subject: [PATCH 068/152] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=20=D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organs/organ_actions_component.dm | 2 +- .../species/serpentids/_serpentids.dme | 18 ++++++++++++++++++ .../species/serpentids/code/mob/serpentids.dm | 8 +++++++- .../internal/organs/serpentids_organs_ears.dm | 6 +++--- .../internal/organs/serpentids_organs_eyes.dm | 6 +++--- .../organs/serpentids_organs_kidneys.dm | 6 +++--- .../organs/serpentids_organs_lungs.dm | 6 +++--- .../species/serpentids/icons/organs.dmi | Bin 15546 -> 15550 bytes 8 files changed, 38 insertions(+), 14 deletions(-) diff --git a/modular_ss220/species/_components/organs/organ_actions_component.dm b/modular_ss220/species/_components/organs/organ_actions_component.dm index 9089fcd421e6..d8f05a6882ae 100644 --- a/modular_ss220/species/_components/organs/organ_actions_component.dm +++ b/modular_ss220/species/_components/organs/organ_actions_component.dm @@ -65,7 +65,7 @@ for(var/obj/item/organ/internal/O in organs_list) organs_list -= O for(var/obj/item/organ/internal/D in organs_list) - var/datum/action/action_candidate = O.actions[1] + var/datum/action/action_candidate = D.actions[1] if(D != O) if(action_candidate in organ.owner.actions) action_candidate.Remove(organ.owner) diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 80953c4ea100..785bb2a3ead7 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -29,4 +29,22 @@ // BEGIN_PREFERENCES // END_PREFERENCES // BEGIN_INCLUDE +#include "code\_defines\alerts.dm" +#include "code\mob\emotes.dm" +#include "code\mob\language.dm" +#include "code\mob\serpentids.dm" +#include "code\organs\external\serpentids_organs_head.dm" +#include "code\organs\external\serpentids_organs_other.dm" +#include "code\organs\external\serpentids_organs_torso.dm" +#include "code\organs\internal\implants\serpentid_mantis_blades.dm" +#include "code\organs\internal\implants\serpentid_mantis_chest.dm" +#include "code\organs\internal\implants\unused\serpentid_mantis_hand.dm" +#include "code\organs\internal\implants\unused\serpentid_mantis_implant.dm" +#include "code\organs\internal\organs\serpentids_organs_additionals.dm" +#include "code\organs\internal\organs\serpentids_organs_ears.dm" +#include "code\organs\internal\organs\serpentids_organs_eyes.dm" +#include "code\organs\internal\organs\serpentids_organs_heart.dm" +#include "code\organs\internal\organs\serpentids_organs_kidneys.dm" +#include "code\organs\internal\organs\serpentids_organs_liver.dm" +#include "code\organs\internal\organs\serpentids_organs_lungs.dm" // END_INCLUDE diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 44311df7eac3..123693e27a66 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -155,7 +155,7 @@ var/limb_armor = limb.brute_dam + limb.burn_dam armor_count += limb_armor - if(gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD) + if(gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD && gene_degradation > 0) H.adjustCloneLoss(gene_degradation) gene_lastcall = 0 else @@ -221,3 +221,9 @@ restricted_species += list("Serpentid") . = .. () +//Расширение для действий органов серпентидов +/datum/action/item_action/organ_action/toggle/gas + +/datum/action/item_action/organ_action/toggle/gas/New(Target) + ..() + name = "GAS organ selection" diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 797442893bb1..296c09eb346e 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -4,9 +4,9 @@ icon = 'modular_ss220/species/serpentids/icons/organs.dmi' icon_state = "ears" desc = "An organ that can sense vibrations." - actions_types = list(/datum/action/item_action/organ_action/toggle) - action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") + actions_types = list(/datum/action/item_action/organ_action/toggle/gas) + action_icon = list(/datum/action/item_action/organ_action/toggle/gas = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle/gas = "gas_abilities") var/decay_rate = 0.2 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.05 diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 04826d168fba..2898110e81c7 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -5,9 +5,9 @@ desc = "A large looking eyes with some chemical enchanments." icon_state = "eyes01" see_in_dark = 0 - actions_types = list(/datum/action/item_action/organ_action/toggle) - action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") + actions_types = list(/datum/action/item_action/organ_action/toggle/gas) + action_icon = list(/datum/action/item_action/organ_action/toggle/gas = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle/gas = "gas_abilities") flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE var/chemical_id = SERPENTID_CHEM_REAGENT_ID diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index 5e74b5d9717a..447f816ed0dd 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -4,9 +4,9 @@ icon = 'modular_ss220/species/serpentids/icons/organs.dmi' icon_state = "kidneys00" desc = "A large looking organ, that can inject chemicals." - actions_types = list(/datum/action/item_action/organ_action/toggle) - action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") + actions_types = list(/datum/action/item_action/organ_action/toggle/gas) + action_icon = list(/datum/action/item_action/organ_action/toggle/gas = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle/gas = "gas_abilities") var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS var/decay_rate = 0.4 diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 57e7b97b8a25..cd9b36fffb59 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -9,9 +9,9 @@ icon = 'icons/obj/species_organs/unathi.dmi' organ_datums = list(/datum/organ/lungs/serpentid) desc = "A large looking lugns with big breating bag." - actions_types = list(/datum/action/item_action/organ_action/toggle) - action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") + actions_types = list(/datum/action/item_action/organ_action/toggle/gas) + action_icon = list(/datum/action/item_action/organ_action/toggle/gas = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle/gas = "gas_abilities") var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/chemical_consuption = 1 var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank diff --git a/modular_ss220/species/serpentids/icons/organs.dmi b/modular_ss220/species/serpentids/icons/organs.dmi index 606d9e0b4b72331187c90b1d9356b806fe0d4f9c..5055b152e66b6acc6cc5c25df080ee10e9e33ced 100644 GIT binary patch literal 15550 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

>DKN>%t{xv0! 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 b!H{P*2Sf1(`h Date: Sat, 19 Oct 2024 15:26:24 +0300 Subject: [PATCH 069/152] =?UTF-8?q?*=D0=B2=D0=B7=D0=B4=D0=BE=D1=85*?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/_serpentids.dme | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 785bb2a3ead7..fe72154d4121 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -21,30 +21,3 @@ #include "code/organs/internal/implants/unused/serpentid_mantis_hand.dm" #include "code/organs/internal/implants/unused/serpentid_mantis_implant.dm" -// BEGIN_INTERNALS -// END_INTERNALS -// BEGIN_FILE_DIR -#define FILE_DIR . -// END_FILE_DIR -// BEGIN_PREFERENCES -// END_PREFERENCES -// BEGIN_INCLUDE -#include "code\_defines\alerts.dm" -#include "code\mob\emotes.dm" -#include "code\mob\language.dm" -#include "code\mob\serpentids.dm" -#include "code\organs\external\serpentids_organs_head.dm" -#include "code\organs\external\serpentids_organs_other.dm" -#include "code\organs\external\serpentids_organs_torso.dm" -#include "code\organs\internal\implants\serpentid_mantis_blades.dm" -#include "code\organs\internal\implants\serpentid_mantis_chest.dm" -#include "code\organs\internal\implants\unused\serpentid_mantis_hand.dm" -#include "code\organs\internal\implants\unused\serpentid_mantis_implant.dm" -#include "code\organs\internal\organs\serpentids_organs_additionals.dm" -#include "code\organs\internal\organs\serpentids_organs_ears.dm" -#include "code\organs\internal\organs\serpentids_organs_eyes.dm" -#include "code\organs\internal\organs\serpentids_organs_heart.dm" -#include "code\organs\internal\organs\serpentids_organs_kidneys.dm" -#include "code\organs\internal\organs\serpentids_organs_liver.dm" -#include "code\organs\internal\organs\serpentids_organs_lungs.dm" -// END_INCLUDE From 5c8f02fe0fb52706789a3175c506ed57ba3243ac Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 19 Oct 2024 15:52:02 +0300 Subject: [PATCH 070/152] =?UTF-8?q?=D0=A7=D0=B8=D0=BD=D0=B8=D0=BC,=20?= =?UTF-8?q?=D0=BB=D0=BE=D0=BC=D0=B0=D0=B5=D0=BC,=20=D0=BB=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D0=B5=D0=BC,=20=D1=87=D0=B8=D0=BD=D0=B8=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/_components/carapace/carapace.dm | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/modular_ss220/species/_components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm index 777ac286dc56..87888cd53f7f 100644 --- a/modular_ss220/species/_components/carapace/carapace.dm +++ b/modular_ss220/species/_components/carapace/carapace.dm @@ -108,30 +108,34 @@ //Оверрайды для операций, которые могут применяться для панциря. /datum/surgery/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.encased == CARAPACE_ENCASE_WORD) - if((src.type in CARAPACE_BLOCK_OPERATION) || !(affected.status & ORGAN_BROKEN)) //отключить стандартные операции класса "манипуляция органов", восстановить кость/череп. - return FALSE + if (affected) + if(affected.encased == CARAPACE_ENCASE_WORD) + if((src.type in CARAPACE_BLOCK_OPERATION) || !(affected.status & ORGAN_BROKEN)) //отключить стандартные операции класса "манипуляция органов", восстановить кость/череп. + return FALSE . = .. () //Общие операции - проверка, на доступной карапасовых карапасовым и vice versa /datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected.encased == CARAPACE_ENCASE_WORD) - return FALSE + if (affected) + if(affected.encased == CARAPACE_ENCASE_WORD) + return FALSE . = .. () //Чинить карапас можно если он сломан /datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((affected.encased == CARAPACE_ENCASE_WORD) && (affected.status & ORGAN_BROKEN)) - return TRUE + if (affected) + if((affected.encased == CARAPACE_ENCASE_WORD) && (affected.status & ORGAN_BROKEN)) + return TRUE return FALSE //Ломать карапас можно если он цел /datum/surgery/carapace_break/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) - return TRUE + if (affected) + if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) + return TRUE return FALSE //Манипуляция органов возможна если карапас и он сломан @@ -144,20 +148,23 @@ //Блокировка простого скальпеля (базовый начальный шаг любой операции), если карапас не был сломан, но появилась какая-то операция, которая не должна быть /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) - user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") - return SURGERY_BEGINSTEP_ABORT + if (affected) + if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) + user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") + return SURGERY_BEGINSTEP_ABORT . = .. () /datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) - affected.fracture() + if (affected) + if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) + affected.fracture() . = .. () /datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) - affected.mend_fracture() + if (affected) + if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) + affected.mend_fracture() . = .. () From 7f41907f626bf486dd3b586d5efde6a398ea6d0d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 19 Oct 2024 15:52:43 +0300 Subject: [PATCH 071/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/_components/carapace/carapace.dm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modular_ss220/species/_components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm index 87888cd53f7f..31e1fd66215b 100644 --- a/modular_ss220/species/_components/carapace/carapace.dm +++ b/modular_ss220/species/_components/carapace/carapace.dm @@ -108,7 +108,7 @@ //Оверрайды для операций, которые могут применяться для панциря. /datum/surgery/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if (affected) + if(affected) if(affected.encased == CARAPACE_ENCASE_WORD) if((src.type in CARAPACE_BLOCK_OPERATION) || !(affected.status & ORGAN_BROKEN)) //отключить стандартные операции класса "манипуляция органов", восстановить кость/череп. return FALSE @@ -117,7 +117,7 @@ //Общие операции - проверка, на доступной карапасовых карапасовым и vice versa /datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if (affected) + if(affected) if(affected.encased == CARAPACE_ENCASE_WORD) return FALSE . = .. () @@ -125,7 +125,7 @@ //Чинить карапас можно если он сломан /datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if (affected) + if(affected) if((affected.encased == CARAPACE_ENCASE_WORD) && (affected.status & ORGAN_BROKEN)) return TRUE return FALSE @@ -133,7 +133,7 @@ //Ломать карапас можно если он цел /datum/surgery/carapace_break/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if (affected) + if(affected) if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) return TRUE return FALSE @@ -148,7 +148,7 @@ //Блокировка простого скальпеля (базовый начальный шаг любой операции), если карапас не был сломан, но появилась какая-то операция, которая не должна быть /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if (affected) + if(affected) if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") return SURGERY_BEGINSTEP_ABORT @@ -156,14 +156,14 @@ /datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if (affected) + if(affected) if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) affected.fracture() . = .. () /datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if (affected) + if(affected) if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) affected.mend_fracture() . = .. () From 81262b4470b2c5ee4d8d9d004f60a895d7694ad3 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 19 Oct 2024 16:41:17 +0300 Subject: [PATCH 072/152] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=20=D0=BA=D0=B0=D1=80=D0=B0=D0=BF=D0=B0=D1=81=D0=B0?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/_components/carapace/carapace.dm | 41 ++++++++----------- .../species/_components/organs/heart_defib.dm | 8 ++-- .../_components/organs/organ_chemistry.dm | 4 +- .../_components/organs/organ_toxins.dm | 2 +- .../species/serpentids/code/mob/serpentids.dm | 2 +- .../internal/organs/serpentids_organs_ears.dm | 4 +- .../internal/organs/serpentids_organs_eyes.dm | 6 +-- .../organs/serpentids_organs_heart.dm | 4 +- .../organs/serpentids_organs_kidneys.dm | 2 +- .../organs/serpentids_organs_liver.dm | 6 +-- .../organs/serpentids_organs_lungs.dm | 8 ++-- 11 files changed, 40 insertions(+), 47 deletions(-) diff --git a/modular_ss220/species/_components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm index 31e1fd66215b..251d4cf197c9 100644 --- a/modular_ss220/species/_components/carapace/carapace.dm +++ b/modular_ss220/species/_components/carapace/carapace.dm @@ -108,63 +108,56 @@ //Оверрайды для операций, которые могут применяться для панциря. /datum/surgery/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected) - if(affected.encased == CARAPACE_ENCASE_WORD) - if((src.type in CARAPACE_BLOCK_OPERATION) || !(affected.status & ORGAN_BROKEN)) //отключить стандартные операции класса "манипуляция органов", восстановить кость/череп. - return FALSE + if(affected?.encased == CARAPACE_ENCASE_WORD) + if((src.type in CARAPACE_BLOCK_OPERATION) || !(affected.status & ORGAN_BROKEN)) //отключить стандартные операции класса "манипуляция органов", восстановить кость/череп. + return FALSE . = .. () //Общие операции - проверка, на доступной карапасовых карапасовым и vice versa /datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected) - if(affected.encased == CARAPACE_ENCASE_WORD) - return FALSE + if(affected?.encased == CARAPACE_ENCASE_WORD) + return FALSE . = .. () //Чинить карапас можно если он сломан /datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected) - if((affected.encased == CARAPACE_ENCASE_WORD) && (affected.status & ORGAN_BROKEN)) - return TRUE + if((affected?.encased == CARAPACE_ENCASE_WORD) && (affected.status & ORGAN_BROKEN)) + return TRUE return FALSE //Ломать карапас можно если он цел /datum/surgery/carapace_break/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected) - if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) - return TRUE + if((affected?.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) + return TRUE return FALSE //Манипуляция органов возможна если карапас и он сломан /datum/surgery/organ_manipulation/carapace/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((affected.encased == CARAPACE_ENCASE_WORD) && (affected.status & ORGAN_BROKEN)) + if((affected?.encased == CARAPACE_ENCASE_WORD) && (affected.status & ORGAN_BROKEN)) return TRUE return FALSE //Блокировка простого скальпеля (базовый начальный шаг любой операции), если карапас не был сломан, но появилась какая-то операция, которая не должна быть /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if(affected) - if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) - user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") - return SURGERY_BEGINSTEP_ABORT + if((affected?.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) + user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") + return SURGERY_BEGINSTEP_ABORT . = .. () /datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected) - if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) - affected.fracture() + if((affected?.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) + affected.fracture() . = .. () /datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected) - if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) - affected.mend_fracture() + if((affected?.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) + affected.mend_fracture() . = .. () diff --git a/modular_ss220/species/_components/organs/heart_defib.dm b/modular_ss220/species/_components/organs/heart_defib.dm index ed162ce07faf..f3b5e037c930 100644 --- a/modular_ss220/species/_components/organs/heart_defib.dm +++ b/modular_ss220/species/_components/organs/heart_defib.dm @@ -20,11 +20,11 @@ if(!(owner)) var/obj/item/organ/internal/limb = parent owner = limb.owner - else if(owner.get_chemical_value(chemical_id) >= 0 && owner.stat == DEAD && owner.get_damage_amount() <= AUTO_DEFIBRILATION_THRESHOLD) - var/defib_chance = owner.get_chemical_value(chemical_id) - var/datum/reagent/chem = owner.get_chemical_path(chemical_id) + else if(owner?.get_chemical_value(chemical_id) >= 0 && owner.stat == DEAD && owner.get_damage_amount() <= AUTO_DEFIBRILATION_THRESHOLD) + var/defib_chance = owner?.get_chemical_value(chemical_id) + var/datum/reagent/chem = owner?.get_chemical_path(chemical_id) if(chem) - chem.holder.remove_reagent(chemical_id, owner.get_chemical_value(chemical_id)) + chem.holder.remove_reagent(chemical_id, owner?.get_chemical_value(chemical_id)) if(prob(defib_chance)) owner.setOxyLoss(0) owner.set_heartattack(FALSE) diff --git a/modular_ss220/species/_components/organs/organ_chemistry.dm b/modular_ss220/species/_components/organs/organ_chemistry.dm index c2848b1fa6c1..6913de41a745 100644 --- a/modular_ss220/species/_components/organs/organ_chemistry.dm +++ b/modular_ss220/species/_components/organs/organ_chemistry.dm @@ -21,8 +21,8 @@ /datum/component/chemistry_organ/proc/chems_process(holder, consuption_count) if(isnull(organ.owner)) return TRUE - var/chemical_volume = organ.owner.get_chemical_value(chemical_id) - var/datum/reagent/chemical = organ.owner.get_chemical_path(chemical_id) + var/chemical_volume = organ.owner?.get_chemical_value(chemical_id) + var/datum/reagent/chemical = organ.owner?.get_chemical_path(chemical_id) if(chemical_volume < consuption_count || chemical_volume == 0) //Если количества недостаточно - выключить режим organ.switch_mode(force_off = TRUE) diff --git a/modular_ss220/species/_components/organs/organ_toxins.dm b/modular_ss220/species/_components/organs/organ_toxins.dm index 74bc7a9fe2b4..8160faaa725a 100644 --- a/modular_ss220/species/_components/organs/organ_toxins.dm +++ b/modular_ss220/species/_components/organs/organ_toxins.dm @@ -24,7 +24,7 @@ /datum/component/organ_toxin_damage/proc/tox_handle_organ() if(organ.status & ORGAN_DEAD) return - if(organ.owner.get_damage_amount(TOX) > 0) + if(organ.owner?.get_damage_amount(TOX)) var/obj/item/organ/internal/liver/target_liver = organ.owner.get_int_organ(/obj/item/organ/internal/liver) var/obj/item/organ/internal/kidneys/target_kidney = organ.owner.get_int_organ(/obj/item/organ/internal/kidneys) diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 123693e27a66..b4a71170bb10 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -155,7 +155,7 @@ var/limb_armor = limb.brute_dam + limb.burn_dam armor_count += limb_armor - if(gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD && gene_degradation > 0) + if(gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD && gene_degradation) H.adjustCloneLoss(gene_degradation) gene_lastcall = 0 else diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 296c09eb346e..3dc5b6770f59 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -26,13 +26,13 @@ /obj/item/organ/internal/ears/serpentid/on_life() .=..() SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) - if(chemical_consuption <= owner.get_chemical_value(chemical_id) && active) + if(chemical_consuption <= owner?.get_chemical_value(chemical_id) && active) if(prob(((max_damage - damage)/max_damage) * 100)) sense_creatures() /obj/item/organ/internal/ears/serpentid/switch_mode(force_off = FALSE) .=..() - if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) + if(!force_off && owner?.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) active = TRUE chemical_consuption = initial(chemical_consuption) else diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 2898110e81c7..c266ed6d2075 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -40,12 +40,12 @@ /obj/item/organ/internal/eyes/serpentid/on_life() . = ..() SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) - if(!isnull(owner)) + if(owner) var/mob/mob = owner mob.update_client_colour(time = update_time_client_colour) /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() - var/chem_value = (owner.get_chemical_value(chemical_id) + GAS_ORGAN_CHEMISTRY_MAX/2)/GAS_ORGAN_CHEMISTRY_MAX + var/chem_value = (owner?.get_chemical_value(chemical_id) + GAS_ORGAN_CHEMISTRY_MAX/2)/GAS_ORGAN_CHEMISTRY_MAX var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE @@ -59,7 +59,7 @@ /obj/item/organ/internal/eyes/serpentid/switch_mode(force_off = FALSE) .=..() - if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) + if(!force_off && owner?.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) see_in_dark = 8 chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES + GAS_ORGAN_CHEMISTRY_EYES * (max_damage - damage / max_damage) else diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm index aeaa2763c6f1..f14cb5d1cfe3 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm @@ -21,9 +21,9 @@ Старый режим работы сердца - ввод серпадрона /obj/item/organ/internal/heart/serpentid/switch_mode(force_off = FALSE) .=..() - if(owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART) + if(owner?.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART) var/mob/living/carbon/human/human_owner = owner - var/datum/reagent/chem = owner.get_chemical_path(chemical_id) + var/datum/reagent/chem = owner?.get_chemical_path(chemical_id) chem.holder.remove_reagent(chemical_id, GAS_ORGAN_CHEMISTRY_HEART) human_owner.reagents.add_reagent(inject_drug_id, GAS_METH_HEART_COUNT) meph_injected = TRUE diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index 447f816ed0dd..d0f03a746091 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -37,7 +37,7 @@ /obj/item/organ/internal/kidneys/serpentid/switch_mode(force_off = FALSE) .=..() - if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !cloak_engaged && !(status & ORGAN_DEAD)) + if(!force_off && owner?.get_chemical_value(chemical_id) >= chemical_consuption && !cloak_engaged && !(status & ORGAN_DEAD)) cloak_engaged = TRUE chemical_consuption = chemical_consuption + chemical_consuption * (max_damage - damage / max_damage) else diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm index 949408c5f0aa..73cadd6d1792 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm @@ -19,14 +19,14 @@ /obj/item/organ/internal/liver/serpentid/on_life() . = ..() max_value = clamp((((max_damage - damage)/max_damage)*100),0,GAS_ORGAN_CHEMISTRY_MAX) - if(owner.get_chemical_value(chemical_id) < max_value) + if(owner?.get_chemical_value(chemical_id) < max_value) for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) if(!isnull(chemical)) if(chemical.nutriment_factor > 0) chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) owner.reagents.add_reagent(chemical_id, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) else - var/excess_value = owner.get_chemical_value(chemical_id) - max_value - var/datum/reagent/chem = owner.get_chemical_path(chemical_id) + var/excess_value = owner?.get_chemical_value(chemical_id) - max_value + var/datum/reagent/chem = owner?.get_chemical_path(chemical_id) chem.holder.remove_reagent(chemical_id, excess_value) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index cd9b36fffb59..73567860416b 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -62,9 +62,9 @@ /obj/item/organ/internal/lungs/serpentid/on_life() .=..() SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) - var/can_secretion = owner.get_chemical_value(chemical_id) > chemical_consuption + var/can_secretion = owner?.get_chemical_value(chemical_id) > chemical_consuption var/danger_state = owner.getOxyLoss() > 0 - var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) + var/datum/reagent/chemical = owner?.get_chemical_path(chemical_id) var/datum/gas_mixture/breath var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] var/breath_moles = 0 @@ -228,9 +228,9 @@ /obj/item/organ/internal/lungs/serpentid/proc/breath_secretion(datum/gas_mixture/breath) - var/can_secretion = owner.get_chemical_value(chemical_id) > chemical_consuption + var/can_secretion = owner?.get_chemical_value(chemical_id) > chemical_consuption var/danger_state = owner.getOxyLoss() > 0 - var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) + var/datum/reagent/chemical = owner?.get_chemical_path(chemical_id) if(danger_air) if(!owner.internal) owner.internal = serpentid_vault From 70e65131be752d8aa1107f957a89ce8afe2b20a6 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 19 Oct 2024 17:13:40 +0300 Subject: [PATCH 073/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D1=8B=20=D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/organs/serpentids_organs_ears.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_eyes.dm | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 3dc5b6770f59..44183136fb37 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -32,7 +32,7 @@ /obj/item/organ/internal/ears/serpentid/switch_mode(force_off = FALSE) .=..() - if(!force_off && owner?.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) + if(!force_off && owner?.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD) && !active) active = TRUE chemical_consuption = initial(chemical_consuption) else diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index c266ed6d2075..f8e5d2a0f43d 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -17,6 +17,7 @@ var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES var/vision_ajust_coefficient = 0.4 var/update_time_client_colour = 10 + var/active = FALSE radial_action_state = "nvg_green" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' @@ -59,9 +60,12 @@ /obj/item/organ/internal/eyes/serpentid/switch_mode(force_off = FALSE) .=..() - if(!force_off && owner?.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) + if(!force_off && owner?.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD) && !active) see_in_dark = 8 chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES + GAS_ORGAN_CHEMISTRY_EYES * (max_damage - damage / max_damage) + active = TRUE else see_in_dark = initial(see_in_dark) chemical_consuption = 0 + active = FALSE + owner?.update_sight() From d3f9b1b871784d45e96fce2326964777bd3791ea Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 20 Oct 2024 18:13:10 +0300 Subject: [PATCH 074/152] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BE=D0=BF=20=D0=B1=D0=B0=D0=B3=D0=B0?= =?UTF-8?q?=D0=BC,=20=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D1=80=20?= =?UTF-8?q?=D1=85=D0=B2=D0=B0=D1=82=D0=BE=D0=B2.=20=D0=9D=D0=B0=20=D0=BE?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B5=D0=B4=D0=B8=20-=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=81=D0=BF=D1=80=D0=B0=D0=B9=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_components/attacking/double_attack.dm | 7 +++- .../carrying/grab_and_drag_on_mob_crates.dm | 11 +++--- .../carrying/grab_and_drag_on_mob_mobs.dm | 37 ++++++++---------- .../species/serpentids/_serpentids.dme | 9 +++++ .../implants/serpentid_mantis_blades.dm | 4 +- .../species/serpentids/icons/organs.dmi | Bin 15550 -> 16565 bytes 6 files changed, 39 insertions(+), 29 deletions(-) diff --git a/modular_ss220/species/_components/attacking/double_attack.dm b/modular_ss220/species/_components/attacking/double_attack.dm index f122438b66d6..df138d312b2f 100644 --- a/modular_ss220/species/_components/attacking/double_attack.dm +++ b/modular_ss220/species/_components/attacking/double_attack.dm @@ -18,7 +18,7 @@ SIGNAL_HANDLER var/hand_item = user.get_active_hand() state_attack = TRUE - if(hand_item) + if(hand_item && state_attack) addtimer(CALLBACK(src, PROC_REF(hand_attack), target, user, def_zone, hand_item), (user.next_move_modifier / 5) SECONDS) /datum/component/double_attack/proc/hand_attack(mob/living/target, mob/living/user, def_zone, obj/item/hand_item) @@ -26,3 +26,8 @@ return hand_item.attack(target, user, def_zone) state_attack = FALSE + +//Расширение базового прока атаки для запуска сигнала +/obj/item/attack(mob/living/M, mob/living/user, def_zone) + . = .. () + SEND_SIGNAL(src, COMSIG_MOB_ITEM_ATTACK, M, user, def_zone) diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm index 4a859b9ad3c0..bbb3d67c4a7a 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm @@ -8,7 +8,6 @@ #define GADOM_BASIC_LOAD_TIMER_CRATE 2 SECONDS #define COMSIG_GADOM_UNMOB_CAN_GRAB "block_operation" -#define GADOM_UNMOB_ALLOW_TO_GRAB (1<<0) //Для отслеживания кто несет объект /atom/movable @@ -69,7 +68,7 @@ /datum/component/gadom_cargo/proc/block_operation() SIGNAL_HANDLER - var/signal_result = (carrier.a_intent != "grab" ? FALSE : GADOM_MOB_ALLOW_TO_GRAB) + var/signal_result = carrier.a_intent == "grab" return signal_result /datum/component/gadom_cargo/proc/try_load_cargo(datum/component_holder, mob/user, atom/movable/AM) @@ -83,7 +82,7 @@ load(AM) /datum/component/gadom_cargo/proc/load(atom/movable/AM) - if(carrier.loaded || AM.anchored || get_dist(carrier, AM) > 1) + if(carrier.loaded || carrier.passenger || AM.anchored || get_dist(carrier, AM) > 1) return if(!isitem(AM) && !ismachinery(AM) && !isstructure(AM) && !ismob(AM)) @@ -131,13 +130,13 @@ //Расширение прока для переноса ящика на моба /mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) - if(signal_call & GADOM_UNMOB_ALLOW_TO_GRAB) + if(signal_call) SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_LOAD, usr, AM) . = .. () //Расширение прока на отстегивание ящика /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) - if((signal_call & GADOM_UNMOB_ALLOW_TO_GRAB) && H.loaded) + var/signal_call = SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_CAN_GRAB) + if(signal_call && H.loaded) SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_UNLOAD) . = .. () diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm index c8667ba76cb3..6d4b9cd05012 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm @@ -7,7 +7,6 @@ #define COMSIG_GADOM_MOB_UNLOAD "try_unload_mob" #define GADOM_BASIC_LOAD_TIMER_MOB 2 SECONDS #define COMSIG_GADOM_MOB_CAN_GRAB "block_operation" -#define GADOM_MOB_ALLOW_TO_GRAB (1<<0) /mob/living/carbon/human var/atom/movable/loaded = null @@ -31,7 +30,7 @@ /datum/component/gadom_living/proc/block_operation(datum/component_holder) SIGNAL_HANDLER - var/signal_result = (carrier.a_intent != "grab" ? FALSE : GADOM_MOB_ALLOW_TO_GRAB) + var/signal_result = carrier.a_intent == "grab" return signal_result /datum/component/gadom_living/proc/try_load_mob(datum/component_holder, mob/user, mob/target) @@ -39,8 +38,8 @@ INVOKE_ASYNC(src, PROC_REF(pre_load), component_holder, user, target) /datum/component/gadom_living/proc/pre_load(datum/component_holder, mob/user, mob/target) - var/mob/living/carbon/human/puppet = component_holder - if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, puppet) > 1) + var/mob/living/carbon/human/puppet = user + if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(target, user) > 1) return if(!istype(target)) return @@ -48,7 +47,7 @@ load(puppet, target) /datum/component/gadom_living/proc/load(mob/living/carbon/human/puppet, atom/movable/AM) - if(carrier.loaded|| AM.anchored || get_dist(puppet, AM) > 1) + if(puppet.loaded || puppet.passenger || AM.anchored || get_dist(puppet, AM) > 1) return if(!isitem(AM) && !ismachinery(AM) && !isstructure(AM) && !ismob(AM)) @@ -56,20 +55,18 @@ if(!isturf(AM.loc)) return - if(isliving(AM)) - if(!load_mob(AM)) - return + if(!load_mob(puppet, AM)) + return - carrier.loaded = AM - carrier.update_icon() + puppet.loaded = AM + puppet.update_icon() -/datum/component/gadom_living/proc/load_mob(mob/living/M) - carrier.can_buckle = TRUE - carrier.buckle_lying = FALSE - if(carrier.buckle_mob(M)) - carrier.passenger = M - carrier.loaded = M - carrier.can_buckle = FALSE +/datum/component/gadom_living/proc/load_mob(mob/living/carbon/human/puppet, mob/living/M) + puppet.can_buckle = TRUE + puppet.buckle_lying = FALSE + if(puppet.buckle_mob(M)) + puppet.passenger = M + puppet.can_buckle = FALSE return TRUE return FALSE @@ -106,14 +103,14 @@ to_chat(usr, "Interacting with admin-frozen players is not permitted.") return var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB) - if(signal_call & GADOM_MOB_ALLOW_TO_GRAB) + if(signal_call) SEND_SIGNAL(usr, COMSIG_GADOM_MOB_LOAD, usr, src) return . = .. () /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB) - if((signal_call & GADOM_MOB_ALLOW_TO_GRAB) && H.loaded) + var/signal_call = SEND_SIGNAL(H, COMSIG_GADOM_MOB_CAN_GRAB) + if(signal_call && H.passenger) SEND_SIGNAL(H, COMSIG_GADOM_MOB_UNLOAD, M) . = .. () diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index fe72154d4121..80953c4ea100 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -21,3 +21,12 @@ #include "code/organs/internal/implants/unused/serpentid_mantis_hand.dm" #include "code/organs/internal/implants/unused/serpentid_mantis_implant.dm" +// BEGIN_INTERNALS +// END_INTERNALS +// BEGIN_FILE_DIR +#define FILE_DIR . +// END_FILE_DIR +// BEGIN_PREFERENCES +// END_PREFERENCES +// BEGIN_INCLUDE +// END_INCLUDE diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm index 21a133e1dfae..b8959d15a10c 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm @@ -1,8 +1,8 @@ // ============ Органы внешние ============ /obj/item/kitchen/knife/combat/serpentblade name = "serpentid mantis blade" - icon = 'icons/obj/items_cyborg.dmi' - icon_state = "knife" + icon = 'modular_ss220/species/serpentids/icons/organs.dmi' + icon_state = "left_blade" lefthand_file = null righthand_file = null desc = "Biological melee weapon. Sharp and durable. It can cut off some heads, or maybe not..." diff --git a/modular_ss220/species/serpentids/icons/organs.dmi b/modular_ss220/species/serpentids/icons/organs.dmi index 5055b152e66b6acc6cc5c25df080ee10e9e33ced..baa358cbe3b69e920054d2df7602d1f2a4bd92a1 100644 GIT binary patch literal 16565 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 Date: Sun, 20 Oct 2024 20:06:59 +0300 Subject: [PATCH 075/152] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D0=B1=D0=B0=D0=B3=D0=B0?= =?UTF-8?q?=D0=BC=20=D0=B8=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appearance/mob_overlay_shift.dm | 30 ++++++++++++------ .../_components/attacking/double_attack.dm | 4 +-- .../carrying/grab_and_drag_on_mob_crates.dm | 2 ++ .../carrying/grab_and_drag_on_mob_mobs.dm | 2 ++ .../serpentids/code/_defines/alerts.dm | 5 +++ .../species/serpentids/code/mob/serpentids.dm | 6 ++-- .../species/serpentids/icons/organs.dmi | Bin 16565 -> 14562 bytes .../species/serpentids/icons/screen_alert.dmi | Bin 3674 -> 3972 bytes 8 files changed, 35 insertions(+), 14 deletions(-) diff --git a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm index a9ffaead1310..439f195eb4fe 100644 --- a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm +++ b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm @@ -5,14 +5,12 @@ */ /datum/component/mob_overlay_shift var/dir = NORTH - var/list/shift_data = list() /datum/component/mob_overlay_shift/Initialize(list/shift_list) // Define body parts and positions var/list/body_parts = list("inhand", "belt", "back", "head") var/list/positions = list("center", "side", "front") - // Initialize shifts using the provided shift_data list or default to zero for(var/body_part in body_parts) // Create a nested list for each body part if it doesn't exist @@ -25,19 +23,21 @@ // Set default values for x and y shifts if not provided shift_data[body_part][position]["x"] = shift_list[body_part][position]["x"] ? shift_list[body_part][position]["x"] : 0 shift_data[body_part][position]["y"] = shift_list[body_part][position]["y"] ? shift_list[body_part][position]["y"] : 0 + shift_call(parent) /datum/component/mob_overlay_shift/RegisterWithParent() RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(shift_call)) - RegisterSignal(parent, COMSIG_LIVING_LIFE, PROC_REF(update_call)) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(shift_call)) /datum/component/mob_overlay_shift/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_ATOM_DIR_CHANGE) - UnregisterSignal(parent, COMSIG_LIVING_LIFE) + UnregisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT)) + +//datum/component/mob_overlay_shift/process() + //shift_call(parent) -//Проки, срабатываемые при получении или исцелении урона -/datum/component/mob_overlay_shift/proc/shift_call(mob/living/carbon/human/mob, old_dir, new_dir) - if(new_dir) - dir = new_dir +/datum/component/mob_overlay_shift/proc/shift_call(mob/living/carbon/human/mob) + if(mob.dir) + dir = mob.dir var/list/body_parts = list("inhand", "belt", "back", "head") var/position @@ -308,3 +308,15 @@ mob.apply_overlay(LEFT_EAR_LAYER) mob.apply_overlay(RIGHT_EAR_LAYER) + +/mob/equip_to_slot(obj/item/W, slot, initial = FALSE) + . = .. () + SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) + +/mob/facedir(ndir) + . = .. () + SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) + +/mob/ClickOn(atom/A, params) + . = .. () + SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) diff --git a/modular_ss220/species/_components/attacking/double_attack.dm b/modular_ss220/species/_components/attacking/double_attack.dm index df138d312b2f..347177ef7bbd 100644 --- a/modular_ss220/species/_components/attacking/double_attack.dm +++ b/modular_ss220/species/_components/attacking/double_attack.dm @@ -17,8 +17,8 @@ /datum/component/double_attack/proc/hand_pre_attack(obj/item/weapon, mob/living/target, mob/living/user, def_zone) SIGNAL_HANDLER var/hand_item = user.get_active_hand() - state_attack = TRUE - if(hand_item && state_attack) + if(hand_item && !state_attack) + state_attack = TRUE addtimer(CALLBACK(src, PROC_REF(hand_attack), target, user, def_zone, hand_item), (user.next_move_modifier / 5) SECONDS) /datum/component/double_attack/proc/hand_attack(mob/living/target, mob/living/user, def_zone, obj/item/hand_item) diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm index bbb3d67c4a7a..80e7117f4fd5 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm @@ -107,6 +107,7 @@ carrier.loaded = AM carrier.update_icon() + carrier.throw_alert("holding", /atom/movable/screen/alert/carrying) /datum/component/gadom_cargo/proc/try_unload_cargo() var/dirn = carrier.dir @@ -125,6 +126,7 @@ step(carrier.loaded, dirn) carrier.loaded.crate_carrying_person = null carrier.loaded = null + carrier.clear_alert("holding") carrier.update_icon(UPDATE_OVERLAYS) //Расширение прока для переноса ящика на моба diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm index 6d4b9cd05012..968625af20c1 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm @@ -60,6 +60,7 @@ puppet.loaded = AM puppet.update_icon() + puppet.throw_alert("holding", /atom/movable/screen/alert/carrying) /datum/component/gadom_living/proc/load_mob(mob/living/carbon/human/puppet, mob/living/M) puppet.can_buckle = TRUE @@ -81,6 +82,7 @@ carrier.unbuckle_all_mobs() carrier.can_buckle = TRUE carrier.update_icon(UPDATE_OVERLAYS) + carrier.clear_alert("holding") //Обновление при отстегивании для восстановления слоя моба /mob/living/carbon/human/post_unbuckle_mob(mob/living/M) diff --git a/modular_ss220/species/serpentids/code/_defines/alerts.dm b/modular_ss220/species/serpentids/code/_defines/alerts.dm index 63a14ed5ed7a..023776ffd817 100644 --- a/modular_ss220/species/serpentids/code/_defines/alerts.dm +++ b/modular_ss220/species/serpentids/code/_defines/alerts.dm @@ -16,3 +16,8 @@ name = "Сильные повреждения панциря" desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас сопротивлению окружающей среде." icon_state = "carapace_break_rig" + +/atom/movable/screen/alert/carrying + name = "Перенос" + desc = "Ваш хвост обвязал случайного зеваку или ящик. Нажмите, что бы отгрузить." + icon_state = "holding" diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index b4a71170bb10..260f42289040 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -119,12 +119,12 @@ var/gene_lastcall = 0 var/list/shift_data = list( "head" = list( - "center" = list("x" = 0, "y" = 10), + "center" = list("x" = 0, "y" = 9), "side" = list("x" = 3, "y" = 0), "front" = list("x" = 0, "y" = 0) ), "inhand" = list( - "center" = list("x" = 0, "y" = 3), + "center" = list("x" = 0, "y" = 1), "side" = list("x" = 0, "y" = 0), "front" = list("x" = 0, "y" = 0) ), @@ -169,7 +169,7 @@ H.buckle_lying = buckle_lying H.update_transform() H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) - H.AddComponent(/datum/component/mob_overlay_shift, shift_data) //shift_xs_hand = 12 + H.AddComponent(/datum/component/mob_overlay_shift, shift_data) H.AddComponent(/datum/component/gadom_living) H.AddComponent(/datum/component/gadom_cargo) H.verbs |= /mob/living/carbon/human/proc/emote_gasroar diff --git a/modular_ss220/species/serpentids/icons/organs.dmi b/modular_ss220/species/serpentids/icons/organs.dmi index baa358cbe3b69e920054d2df7602d1f2a4bd92a1..52138de9c8a88ad604a6bd90eec5082c8fbb33df 100644 GIT binary patch literal 14562 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

|1z=;Dy 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 H93lQ6ZvK1G literal 3674 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 From 8d23718eb228c544cd637702ce9ef1cfcc995e61 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 20 Oct 2024 22:31:46 +0300 Subject: [PATCH 076/152] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D0=B0=D0=BB=D0=B5=D1=80?= =?UTF-8?q?=D1=82=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../carrying/grab_and_drag_on_mob_crates.dm | 4 ++-- .../carrying/grab_and_drag_on_mob_mobs.dm | 4 ++-- .../species/serpentids/code/_defines/alerts.dm | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm index 80e7117f4fd5..d4a1cf0e6807 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm @@ -107,7 +107,7 @@ carrier.loaded = AM carrier.update_icon() - carrier.throw_alert("holding", /atom/movable/screen/alert/carrying) + carrier.throw_alert("gas_holding", /atom/movable/screen/alert/carrying) /datum/component/gadom_cargo/proc/try_unload_cargo() var/dirn = carrier.dir @@ -126,7 +126,7 @@ step(carrier.loaded, dirn) carrier.loaded.crate_carrying_person = null carrier.loaded = null - carrier.clear_alert("holding") + carrier.clear_alert("gas_holding") carrier.update_icon(UPDATE_OVERLAYS) //Расширение прока для переноса ящика на моба diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm index 968625af20c1..13374f589b7c 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm @@ -60,7 +60,7 @@ puppet.loaded = AM puppet.update_icon() - puppet.throw_alert("holding", /atom/movable/screen/alert/carrying) + puppet.throw_alert("gas_holding", /atom/movable/screen/alert/carrying) /datum/component/gadom_living/proc/load_mob(mob/living/carbon/human/puppet, mob/living/M) puppet.can_buckle = TRUE @@ -82,7 +82,7 @@ carrier.unbuckle_all_mobs() carrier.can_buckle = TRUE carrier.update_icon(UPDATE_OVERLAYS) - carrier.clear_alert("holding") + carrier.clear_alert("gas_holding") //Обновление при отстегивании для восстановления слоя моба /mob/living/carbon/human/post_unbuckle_mob(mob/living/M) diff --git a/modular_ss220/species/serpentids/code/_defines/alerts.dm b/modular_ss220/species/serpentids/code/_defines/alerts.dm index 023776ffd817..21ac2d2a467f 100644 --- a/modular_ss220/species/serpentids/code/_defines/alerts.dm +++ b/modular_ss220/species/serpentids/code/_defines/alerts.dm @@ -17,7 +17,25 @@ desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас сопротивлению окружающей среде." icon_state = "carapace_break_rig" +/atom/movable/screen/alert/carapace/break_armor/Click() + if(isliving(usr) && ..()) + to_chat(usr, "Вы понесли значительный урон. Обратитесь в мед, чтобы восстановить свою защиту тела.") + +/atom/movable/screen/alert/carapace/break_cloak/Click() + if(isliving(usr) && ..()) + to_chat(usr, "Вы понесли крупный урон. Обратитесь в мед, чтобы восстановить свою возможность маскировки.") + +/atom/movable/screen/alert/carapace/break_rig/Click() + if(isliving(usr) && ..()) + to_chat(usr, "Вы понесли критический урон. Обратитесь в мед, чтобы восстановить герметичность панциря.") + /atom/movable/screen/alert/carrying name = "Перенос" desc = "Ваш хвост обвязал случайного зеваку или ящик. Нажмите, что бы отгрузить." + icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' icon_state = "holding" + +/atom/movable/screen/alert/carrying/Click() + if(isliving(usr) && ..()) + SEND_SIGNAL(usr, COMSIG_GADOM_MOB_UNLOAD) + SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_UNLOAD) From 00cdc5820735dbe4c8fc91777be1c4465bc0b2b2 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 21 Oct 2024 18:00:43 +0300 Subject: [PATCH 077/152] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B2=D1=8C?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_code/chat_offset.dm | 1 + modular_ss220/species/_code/update_icons.dm | 11 +-- .../appearance/mob_overlay_shift.dm | 83 +++++++++++-------- .../_components/attacking/double_attack.dm | 7 +- .../_components/attacking/pair_attack.dm | 12 ++- .../species/_components/carapace/carapace.dm | 15 ++-- .../_components/carapace/carapace_shell.dm | 37 +++++---- .../carrying/grab_and_drag_on_mob_crates.dm | 8 +- 8 files changed, 102 insertions(+), 72 deletions(-) diff --git a/modular_ss220/species/_code/chat_offset.dm b/modular_ss220/species/_code/chat_offset.dm index a9019eba8e39..b38fdd69ea1a 100644 --- a/modular_ss220/species/_code/chat_offset.dm +++ b/modular_ss220/species/_code/chat_offset.dm @@ -8,6 +8,7 @@ #define CHAT_MESSAGE_WIDTH 96 #define CHAT_MESSAGE_GRACE_PERIOD (0.2 SECONDS) +//Отрпавить на оффы - так можно кастомно выводить рунчат сообщения (выше/ниже верхней границы спрайта) /mob var/chat_message_y_offset = 0 diff --git a/modular_ss220/species/_code/update_icons.dm b/modular_ss220/species/_code/update_icons.dm index 820de24dd996..d8629f9c7b5b 100644 --- a/modular_ss220/species/_code/update_icons.dm +++ b/modular_ss220/species/_code/update_icons.dm @@ -10,14 +10,15 @@ qdel(preview_icon_side) qdel(preview_icon) - var/g = "m" + //Переменные взяты с оффов, обновил + var/gender = "m" if(body_type == FEMALE) - g = "f" + gender = "f" var/icon/icobase = selected_specie.icobase - preview_icon = new /icon(icobase, "torso_[g]") - preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) - preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) + preview_icon = new /icon(icobase, "torso_[gender]") + preview_icon.Blend(new /icon(icobase, "groin_[gender]"), ICON_OVERLAY) + preview_icon.Blend(new /icon(icobase, "head_[gender]"), ICON_OVERLAY) for(var/name in list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand")) if(organ_data[name] == "amputated") continue if(organ_data[name] == "cyborg") diff --git a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm index 439f195eb4fe..82e7d67b0194 100644 --- a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm +++ b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm @@ -3,14 +3,26 @@ Компонент должен цепляться на моба. При инициализации предаются сдвиги. */ +#define MOB_OVERLAY_SHIFT_HAND "inhand" +#define MOB_OVERLAY_SHIFT_BELT "belt" +#define MOB_OVERLAY_SHIFT_BACK "back" +#define MOB_OVERLAY_SHIFT_HEAD "head" +#define MOB_OVERLAY_SHIFT_SIDE "side" +#define MOB_OVERLAY_SHIFT_FRONT "front" +#define MOB_OVERLAY_SHIFT_CENTER "center" + +#define COMSIG_MOB_OVERLAY_SHIFT_ON_EQUIP "on_equip" +#define COMSIG_MOB_OVERLAY_SHIFT_ON_CLICK "on_click" + + /datum/component/mob_overlay_shift var/dir = NORTH var/list/shift_data = list() /datum/component/mob_overlay_shift/Initialize(list/shift_list) // Define body parts and positions - var/list/body_parts = list("inhand", "belt", "back", "head") - var/list/positions = list("center", "side", "front") + var/list/body_parts = list(MOB_OVERLAY_SHIFT_HAND, MOB_OVERLAY_SHIFT_BELT, MOB_OVERLAY_SHIFT_BACK, MOB_OVERLAY_SHIFT_HEAD) + var/list/positions = list(MOB_OVERLAY_SHIFT_CENTER, MOB_OVERLAY_SHIFT_SIDE, MOB_OVERLAY_SHIFT_FRONT) // Initialize shifts using the provided shift_data list or default to zero for(var/body_part in body_parts) // Create a nested list for each body part if it doesn't exist @@ -21,35 +33,36 @@ shift_data[body_part][position] = shift_list[body_part][position] ? shift_list[body_part][position] : list() // Set default values for x and y shifts if not provided - shift_data[body_part][position]["x"] = shift_list[body_part][position]["x"] ? shift_list[body_part][position]["x"] : 0 - shift_data[body_part][position]["y"] = shift_list[body_part][position]["y"] ? shift_list[body_part][position]["y"] : 0 + shift_data[body_part][position]["x"] = shift_list[body_part][position]["x"] || 0 + shift_data[body_part][position]["y"] = shift_list[body_part][position]["y"] || 0 + shift_call(parent) /datum/component/mob_overlay_shift/RegisterWithParent() RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(shift_call)) RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(shift_call)) + RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_ON_EQUIP, PROC_REF(shift_call)) + RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_ON_CLICK, PROC_REF(shift_call)) -/datum/component/mob_overlay_shift/UnregisterFromParent() - UnregisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT)) -//datum/component/mob_overlay_shift/process() - //shift_call(parent) +/datum/component/mob_overlay_shift/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_MOB_OVERLAY_SHIFT_ON_EQUIP, COMSIG_MOB_OVERLAY_SHIFT_ON_CLICK)) /datum/component/mob_overlay_shift/proc/shift_call(mob/living/carbon/human/mob) if(mob.dir) dir = mob.dir - var/list/body_parts = list("inhand", "belt", "back", "head") + var/list/body_parts = list(MOB_OVERLAY_SHIFT_HAND, MOB_OVERLAY_SHIFT_BELT, MOB_OVERLAY_SHIFT_BACK, MOB_OVERLAY_SHIFT_HEAD) var/position switch(dir) if(EAST) - position = "side" + position = MOB_OVERLAY_SHIFT_SIDE if(SOUTH) - position = "front" + position = MOB_OVERLAY_SHIFT_FRONT if(WEST) - position = "side" + position = MOB_OVERLAY_SHIFT_SIDE if(NORTH) - position = "front" + position = MOB_OVERLAY_SHIFT_FRONT var/flip = (dir == WEST || dir == SOUTH) ? -1 : 1 @@ -60,8 +73,8 @@ var/x_shift_value = shift_data[body_part][position]["x"] var/y_shift_value = shift_data[body_part][position]["y"] - var/x_central_value = shift_data[body_part]["center"]["x"] - var/y_central_value = shift_data[body_part]["center"]["y"] + var/x_central_value = shift_data[body_part][MOB_OVERLAY_SHIFT_CENTER]["x"] + var/y_central_value = shift_data[body_part][MOB_OVERLAY_SHIFT_CENTER]["y"] shift_data[body_part][x_shift_key] = flip * x_shift_value + x_central_value shift_data[body_part][y_shift_key] = flip * y_shift_value + y_central_value @@ -118,8 +131,8 @@ standing = mutable_appearance(mob.belt.sprite_sheets[mob.dna.species.sprite_sheet_name], "[t_state]", layer = -overlay_layer) else standing = mutable_appearance('icons/mob/clothing/belt.dmi', "[t_state]", layer = -overlay_layer) - standing.pixel_x = shift_data["belt"]["shift_y"] - standing.pixel_y = shift_data["belt"]["shift_y"] + standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_BELT]["shift_y"] + standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_BELT]["shift_y"] mob.overlays_standing[overlay_layer] = standing mob.apply_overlay(BELT_LAYER) mob.apply_overlay(SPECIAL_BELT_LAYER) @@ -143,8 +156,8 @@ //create the image standing.alpha = mob.back.alpha standing.color = mob.back.color - standing.pixel_x = shift_data["back"]["shift_x"] - standing.pixel_y = shift_data["back"]["shift_y"] + standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_BACK]["shift_x"] + standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_BACK]["shift_y"] mob.overlays_standing[BACK_LAYER] = standing mob.apply_overlay(BACK_LAYER) @@ -163,8 +176,8 @@ else standing = mutable_appearance(mob.r_hand.righthand_file, "[t_state]", layer = -R_HAND_LAYER, color = mob.r_hand.color) standing = center_image(standing, (mob.r_hand.inhand_x_dimension), (mob.r_hand.inhand_y_dimension)) - standing.pixel_x = shift_data["inhand"]["shift_x"] - standing.pixel_y = shift_data["inhand"]["shift_y"] + standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HAND]["shift_x"] + standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HAND]["shift_y"] mob.overlays_standing[R_HAND_LAYER] = standing mob.apply_overlay(R_HAND_LAYER) @@ -184,8 +197,8 @@ else standing = mutable_appearance(mob.l_hand.lefthand_file, "[t_state]", layer = -L_HAND_LAYER, color = mob.l_hand.color) standing = center_image(standing, mob.l_hand.inhand_x_dimension, mob.l_hand.inhand_y_dimension) - standing.pixel_x = shift_data["inhand"]["shift_x"] - standing.pixel_y = shift_data["inhand"]["shift_y"] + standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HAND]["shift_x"] + standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HAND]["shift_y"] mob.overlays_standing[L_HAND_LAYER] = standing mob.apply_overlay(L_HAND_LAYER) @@ -216,8 +229,8 @@ standing.overlays += bloodsies standing.alpha = mob.head.alpha standing.color = mob.head.color - standing.pixel_x = shift_data["head"]["shift_x"] - standing.pixel_y = shift_data["head"]["shift_y"] + standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_x"] + standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_y"] mob.overlays_standing[HEAD_LAYER] = standing mob.apply_overlay(HEAD_LAYER) @@ -233,7 +246,7 @@ if(mob.glasses) var/mutable_appearance/new_glasses - var/obj/item/organ/external/head/head_organ = mob.get_organ("head") + var/obj/item/organ/external/head/head_organ = mob.get_organ(MOB_OVERLAY_SHIFT_HEAD) mob.update_hud_glasses(mob.glasses) if(mob.glasses.icon_override) @@ -243,8 +256,8 @@ else new_glasses = mutable_appearance('icons/mob/clothing/eyes.dmi', "[mob.glasses.icon_state]", layer = -GLASSES_LAYER) - new_glasses.pixel_x = shift_data["head"]["shift_x"] - new_glasses.pixel_y = shift_data["head"]["shift_y"] + new_glasses.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_x"] + new_glasses.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_y"] var/datum/sprite_accessory/hair/hair_style = GLOB.hair_styles_full_list[head_organ.h_style] var/obj/item/clothing/glasses/G = mob.glasses @@ -286,8 +299,8 @@ left_ear_icon = mob.l_ear.icon_override var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) - standing.pixel_x = shift_data["head"]["shift_x"] - standing.pixel_y = shift_data["head"]["shift_y"] + standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_x"] + standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_y"] mob.overlays_standing[LEFT_EAR_LAYER] = standing if(mob.r_ear) @@ -302,8 +315,8 @@ right_ear_icon = mob.r_ear.icon_override var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) - standing.pixel_x = shift_data["head"]["shift_x"] - standing.pixel_y = shift_data["head"]["shift_y"] + standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_x"] + standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_y"] mob.overlays_standing[RIGHT_EAR_LAYER] = standing mob.apply_overlay(LEFT_EAR_LAYER) @@ -311,12 +324,14 @@ /mob/equip_to_slot(obj/item/W, slot, initial = FALSE) . = .. () - SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) + SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_ON_EQUIP) +//Вызов сигнала при повоторе через ctrl+wasd /mob/facedir(ndir) . = .. () SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) +//Вызов сигнала при повороте через ЛКМы /mob/ClickOn(atom/A, params) . = .. () - SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) + SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_ON_CLICK) diff --git a/modular_ss220/species/_components/attacking/double_attack.dm b/modular_ss220/species/_components/attacking/double_attack.dm index 347177ef7bbd..9681e503fad3 100644 --- a/modular_ss220/species/_components/attacking/double_attack.dm +++ b/modular_ss220/species/_components/attacking/double_attack.dm @@ -7,6 +7,10 @@ /datum/component/double_attack var/state_attack = FALSE + var/attack_CD = 0 + +/datum/component/double_attack/Initialize(attack_CD_OVR = 0) + attack_CD = attack_CD_OVR /datum/component/double_attack/RegisterWithParent() RegisterSignal(parent, COMSIG_MOB_ITEM_ATTACK, PROC_REF(hand_pre_attack)) @@ -19,7 +23,8 @@ var/hand_item = user.get_active_hand() if(hand_item && !state_attack) state_attack = TRUE - addtimer(CALLBACK(src, PROC_REF(hand_attack), target, user, def_zone, hand_item), (user.next_move_modifier / 5) SECONDS) + var/attack_haste = attack_CD ? attack_CD : user.next_move_modifier / 5 + addtimer(CALLBACK(src, PROC_REF(hand_attack), target, user, def_zone, hand_item), attack_haste SECONDS) /datum/component/double_attack/proc/hand_attack(mob/living/target, mob/living/user, def_zone, obj/item/hand_item) if(QDELETED(src) || QDELETED(target) || user != hand_item.loc || !user.Adjacent(target)) diff --git a/modular_ss220/species/_components/attacking/pair_attack.dm b/modular_ss220/species/_components/attacking/pair_attack.dm index b1791fa468ab..23e7dd6754ad 100644 --- a/modular_ss220/species/_components/attacking/pair_attack.dm +++ b/modular_ss220/species/_components/attacking/pair_attack.dm @@ -5,6 +5,8 @@ Срабатывает только, если оружие одинаковое. */ +#define PAIRATTACK_RECOIL_MULT 2.5 + #define COMSIG_ITEM_ATTACK_PROCESS "offhand_pre_attack" #define COMSIG_PAIRATTACK_SYNC "sync_states" #define COMSIG_PAIRATTACK_CHECK "check_state" @@ -13,6 +15,10 @@ /datum/component/pair_attack var/obj/item/offhand_item = null var/state_attack = FALSE + var/attack_CD = 0 + +/datum/component/pair_attack/Initialize(attack_CD_OVR = 0) + attack_CD = attack_CD_OVR /datum/component/pair_attack/RegisterWithParent() RegisterSignal(parent, COMSIG_ITEM_ATTACK_PROCESS, PROC_REF(offhand_pre_attack)) @@ -44,8 +50,10 @@ state_attack = TRUE SEND_SIGNAL(offhand_item, COMSIG_PAIRATTACK_SYNC, state_attack) if(offhand_item) - addtimer(CALLBACK(src, PROC_REF(offhand_attack), target, user, def_zone), (user.next_move_modifier / 5) SECONDS) - addtimer(CALLBACK(src, PROC_REF(offhand_post_attack)), (user.next_move_modifier / 2) SECONDS) + var/attack_haste = attack_CD ? attack_CD : user.next_move_modifier / 5 + var/attack_recoil = attack_haste * PAIRATTACK_RECOIL_MULT + addtimer(CALLBACK(src, PROC_REF(offhand_attack), target, user, def_zone), attack_haste SECONDS) + addtimer(CALLBACK(src, PROC_REF(offhand_post_attack)), attack_recoil SECONDS) /datum/component/pair_attack/proc/offhand_attack(mob/living/target, mob/living/user, def_zone) if(QDELETED(src) || QDELETED(target) || user != offhand_item.loc || !user.Adjacent(target)) diff --git a/modular_ss220/species/_components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm index 251d4cf197c9..6bab0c6540a8 100644 --- a/modular_ss220/species/_components/carapace/carapace.dm +++ b/modular_ss220/species/_components/carapace/carapace.dm @@ -28,11 +28,11 @@ #define COMSIG_LIMB_HEAL_DAMAGE "heal_damage" /datum/component/carapace - var/self_medning = FALSE + var/self_mending = FALSE var/broken_treshold = CARAPACE_BROKEN_STATE -/datum/component/carapace/Initialize(allow_self_medning, break_threshold, control_node = FALSE) - self_medning = allow_self_medning +/datum/component/carapace/Initialize(allow_self_mending, break_threshold, control_node = FALSE) + src.self_mending = allow_self_mending broken_treshold = break_threshold var/obj/item/organ/external/affected_limb = parent affected_limb.encased = CARAPACE_ENCASE_WORD @@ -49,25 +49,23 @@ /datum/component/carapace/proc/receive_damage(obj/item/organ/external/affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) if(affected_limb.get_damage() > broken_treshold) affected_limb.fracture() - if(length(affected_limb.internal_organs) > 0) + if(length(affected_limb.internal_organs)) var/obj/item/organ/internal/O = pick(affected_limb.internal_organs) O.receive_damage(burn * affected_limb.burn_dam) /datum/component/carapace/proc/heal_damage(obj/item/organ/external/affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) if((affected_limb.status & ORGAN_BROKEN) && affected_limb.get_damage() == 0) - if(self_medning || prob(CARAPACE_HEAL_BROKEN_PROB)) + if(self_mending || prob(CARAPACE_HEAL_BROKEN_PROB)) affected_limb.mend_fracture() //Расширение проков урона и лечения для обращения к компоненту /obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) . = ..() SEND_SIGNAL(src, COMSIG_LIMB_RECIEVE_DAMAGE, brute, burn, sharp, used_weapon, forbidden_limbs, ignore_resists, updating_health) - return /obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) . = ..() SEND_SIGNAL(src, COMSIG_LIMB_HEAL_DAMAGE, brute, burn, internal, robo_repair, updating_health) - return ////////////////////////////////////////////////////////////////// // Хирургия для панциря // @@ -106,6 +104,7 @@ requires_organic_bodypart = TRUE //Оверрайды для операций, которые могут применяться для панциря. +//Возможный рефактор - отослать сигнал в компоненнт с параметрами "операция, зона операции" и вернуть значение оттуда? /datum/surgery/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) if(affected?.encased == CARAPACE_ENCASE_WORD) @@ -145,7 +144,7 @@ /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) if((affected?.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) - user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") + to_chat(user, span_notice("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию.")) return SURGERY_BEGINSTEP_ABORT . = .. () diff --git a/modular_ss220/species/_components/carapace/carapace_shell.dm b/modular_ss220/species/_components/carapace/carapace_shell.dm index fd95b431dde4..5e476085332a 100644 --- a/modular_ss220/species/_components/carapace/carapace_shell.dm +++ b/modular_ss220/species/_components/carapace/carapace_shell.dm @@ -3,6 +3,13 @@ Цепляется на конечность (в идеале торс).area Опреедляет возможности тела серпентида, которые зависят от общего состояния хитина всех конечностей */ + + +#define CARAPACE_SHELL_ARMORED_BRUTE 0.6 +#define CARAPACE_SHELL_ARMORED_BURN 0.8 +#define CARAPACE_SHELL_BROKEN_BRUTE 1 +#define CARAPACE_SHELL_BROKEN_BURN 1 + /datum/component/carapace_shell var/mob/living/carbon/human/H var/state_1_threshold = 0 @@ -12,7 +19,9 @@ var/armored_heat_threshold = 0 var/armored_temp_progression = 0 -/datum/component/carapace_shell/Initialize(caller, treshold_1, treshold_2, treshold_3, threshold_cold, threshold_heat, temp_progression) +/datum/component/carapace_shell/Initialize(mob/living/carbon/human/caller, treshold_1, treshold_2, treshold_3, threshold_cold, threshold_heat, temp_progression) + if(!istype(caller)) + return H = caller state_1_threshold = treshold_1 @@ -35,24 +44,21 @@ //Потеря брони при первом трешхолде if(character_damage <= state_1_threshold) - specie.brute_mod = 0.6 - specie.burn_mod = 1.1 + specie.brute_mod = CARAPACE_SHELL_ARMORED_BRUTE + specie.burn_mod = CARAPACE_SHELL_ARMORED_BURN ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") - H.clear_alert("carapace_break_armor") + H.clear_alert("carapace_break") else - specie.brute_mod = 1.3 - specie.burn_mod = 1.5 + specie.brute_mod = CARAPACE_SHELL_BROKEN_BRUTE + specie.burn_mod = CARAPACE_SHELL_BROKEN_BURN REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") - H.throw_alert("carapace_break_armor", /atom/movable/screen/alert/carapace/break_armor) + H.throw_alert("carapace_break", /atom/movable/screen/alert/carapace/break_armor) //Потеря стелса при втором трешхолде var/obj/item/organ/internal/kidneys/serpentid/organ = H.get_int_organ("kidneys") - if(character_damage <= state_2_threshold) - H.clear_alert("carapace_break_cloak") - else - H.throw_alert("carapace_break_cloak", /atom/movable/screen/alert/carapace/break_cloak) - H.clear_alert("carapace_break_armor") - if(istype(organ, /obj/item/organ/internal/kidneys/serpentid)) + if(character_damage > state_2_threshold) + H.throw_alert("carapace_break", /atom/movable/screen/alert/carapace/break_cloak) + if(istype(organ)) organ.switch_mode(force_off = TRUE) //Потеря рига при третьем трешхолде @@ -64,15 +70,12 @@ specie.warning_high_pressure = INFINITY specie.warning_low_pressure = -INFINITY specie.hazard_low_pressure = -INFINITY - H.clear_alert("carapace_break_rig") else specie.hazard_high_pressure = HAZARD_HIGH_PRESSURE specie.warning_high_pressure = WARNING_HIGH_PRESSURE specie.warning_low_pressure = WARNING_LOW_PRESSURE specie.hazard_low_pressure = HAZARD_LOW_PRESSURE - H.throw_alert("carapace_break_rig", /atom/movable/screen/alert/carapace/break_rig) - H.clear_alert("carapace_break_armor") - H.clear_alert("carapace_break_cloak") + H.throw_alert("carapace_break", /atom/movable/screen/alert/carapace/break_rig) cold = initial(specie.cold_level_1) heat = initial(specie.heat_level_2) diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm index d4a1cf0e6807..dd09299824e2 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm @@ -14,18 +14,16 @@ var/mob/living/carbon/human/crate_carrying_person = null //Для расширения движения (иначе возникает графический глич и ящик пропадает при движении) -/atom/movable/Move(atom/newloc, direct = 0, movetime) +/mob/living/carbon/human/Move(NewLoc, direct) . = .. () var/mob/living/carbon/human/puppet = src - if(ishuman(puppet)) - if(!isnull(puppet.loaded)) - puppet.loaded.forceMoveCrate(puppet) + if(puppet.loaded) + puppet.loaded.forceMoveCrate(puppet) //Клонированый и изменны прок движения, чтобы не трогать основной /atom/movable/proc/forceMoveCrate(atom/destination) var/turf/old_loc = loc loc = destination.loc //изменение здесь (добавлено .loc) - moving_diagonally = 0 if(old_loc) old_loc.Exited(src, destination) From a60be5a46655d9fbc2602df931d3e8edac1d8276 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 22 Oct 2024 16:14:45 +0300 Subject: [PATCH 078/152] =?UTF-8?q?=D0=A7=D0=B8=D1=81=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BB=D0=B5=D0=B3=D0=BA=D0=B8=D1=85=20=D0=BE=D1=82=20=D0=BD?= =?UTF-8?q?=D0=B5=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D0=B5?= =?UTF-8?q?=D0=BC=D0=BE=D0=B3=D0=BE=20=D1=81=D0=B8=D0=B3=D0=BD=D0=B0=D0=BB?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organs/serpentids_organs_lungs.dm | 61 ------------------- 1 file changed, 61 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 73567860416b..7043f8ed8d34 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -61,7 +61,6 @@ /obj/item/organ/internal/lungs/serpentid/on_life() .=..() - SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) var/can_secretion = owner?.get_chemical_value(chemical_id) > chemical_consuption var/danger_state = owner.getOxyLoss() > 0 var/datum/reagent/chemical = owner?.get_chemical_path(chemical_id) @@ -204,66 +203,6 @@ var/danger_zone = O2_pp || N2_pp || Toxins_pp || CO2_pp || SA_pp return danger_zone -/* - - - - -/obj/item/organ/internal/lungs/serpentid/on_life() - .=..() - SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) - var/turf/T = get_turf(owner) - var/datum/gas_mixture/environment = get_turf_air(T) - var/datum/gas_mixture/breath - var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] - var/breath_moles = 0 - if(environment) - breath_moles = environment.total_moles()*BREATH_PERCENTAGE - breath = environment.get_by_amount(breath_moles) - danger_air = lung_data.in_danger_zone(breath) - if(danger_air) - breath = owner.serpen_lugns(BREATH_VOLUME) - breath_secretion(breath) - - - -/obj/item/organ/internal/lungs/serpentid/proc/breath_secretion(datum/gas_mixture/breath) - var/can_secretion = owner?.get_chemical_value(chemical_id) > chemical_consuption - var/danger_state = owner.getOxyLoss() > 0 - var/datum/reagent/chemical = owner?.get_chemical_path(chemical_id) - if(danger_air) - if(!owner.internal) - owner.internal = serpentid_vault - else - if(owner.internal) - owner.internal = null - - var/datum/gas_mixture/int_tank_air = serpentid_vault.air_contents - var/pressure_value = int_tank_air.return_pressure() - if(pressure_value < 100) - var/replenish_value = 0 - if(danger_air && can_secretion) - replenish_value = chemical_consuption * chem_to_oxy_mult - chemical.holder.remove_reagent(chemical_id, chemical_consuption) - if(!danger_air) - var/turf/T = get_turf(owner) - var/datum/gas_mixture/environment = get_turf_air(T) - var/breath_moles = 0 - if(environment) - breath_moles = environment.total_moles()*BREATH_PERCENTAGE - var/datum/gas_mixture/replenish_gas = environment.get_by_amount(breath_moles) - replenish_value = replenish_gas.private_oxygen - var/oxygen_value = ((ONE_ATMOSPHERE) * serpentid_vault.volume * replenish_value + pressure_value) - var/gas_mix_value = (R_IDEAL_GAS_EQUATION * T20C) - var/value_to_replenish = ( oxygen_value / gas_mix_value ) - if(value_to_replenish > 0) - serpentid_vault.air_contents.set_oxygen(value_to_replenish) - - if(danger_state && can_secretion) - var/mob/living/carbon/human/human_owner = owner - human_owner.reagents.add_reagent("salbutamol", chemical_consuption) - chemical.holder.remove_reagent(chemical_id, chemical_consuption) -*/ #undef SERPENTID_COLD_THRESHOLD_LEVEL_BASE #undef SERPENTID_COLD_THRESHOLD_LEVEL_DOWN From 4acd1f0579f1bc2376894aaaf5e700d045f3f320 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 22 Oct 2024 16:17:44 +0300 Subject: [PATCH 079/152] =?UTF-8?q?=D0=92=D0=B2=D0=BE=D0=B4=20=D0=BE=D1=82?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE=D0=B9=20=D0=BF=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=B2=D1=8B=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D1=83=20=D1=81?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=B1=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/organs/serpentids_organs_lungs.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 7043f8ed8d34..469ecff0078b 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -21,6 +21,7 @@ var/chem_to_oxy_mult = 0.1 var/danger_air = FALSE var/hand_active = FALSE + var/salbutamol_production = 0.5 radial_action_state = "ballon" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' @@ -77,7 +78,7 @@ if(danger_state && can_secretion) var/mob/living/carbon/human/human_owner = owner - human_owner.reagents.add_reagent("salbutamol", chemical_consuption) + human_owner.reagents.add_reagent("salbutamol", salbutamol_production) chemical.holder.remove_reagent(chemical_id, chemical_consuption) if(!hand_active) From 96295faabb0a908d99bfd47e3fbcf80e4be0a587 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 24 Oct 2024 18:30:17 +0300 Subject: [PATCH 080/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BE=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=80=D0=B5=D0=B0=D0=B3?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/reagents.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/_components/reagents.dm b/modular_ss220/species/_components/reagents.dm index 0118a806348c..612477e18497 100644 --- a/modular_ss220/species/_components/reagents.dm +++ b/modular_ss220/species/_components/reagents.dm @@ -5,7 +5,7 @@ /datum/reagent/cabbagilium name = "Cabbagilium" id = "cabbagilium" - description = "An unsual reagent that can be found in cabbages and helpful in toxic treatments." + description = "An unusual reagent that can be found in cabbages and helpful in toxic treatments." reagent_state = LIQUID color = "#335517" taste_description = "awful but healthy" From 9c645401b2941fb5cd373c03556a89d01198919c Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 24 Oct 2024 20:56:29 +0300 Subject: [PATCH 081/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/implants/serpentid_mantis_chest.dm | 2 +- .../organs/internal/implants/unused/serpentid_mantis_implant.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 95fbeccdc210..5e8a46509a22 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -54,7 +54,7 @@ /mob/living/carbon/human/proc/update_blades_overlays() var/obj/item/organ/internal/cyberimp/chest/serpentid_blades/target_implant = get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades) if(target_implant) - target_implant.update_overlays() + target_implant.update_icon(UPDATE_OVERLAYS)() /mob/living/carbon/human/update_body(rebuild_base = FALSE) . = .. () diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm index e96adc703f23..c86ea00fbf9f 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm @@ -44,7 +44,7 @@ /mob/living/carbon/human/proc/update_blades__arms_overlays() var/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/target_implant = get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms) if(target_implant) - target_implant.update_overlays() + target_implant.update_icon(UPDATE_OVERLAYS)() /mob/living/carbon/human/update_body(rebuild_base = FALSE) . = .. () From 3501f1bbbcff5b2be48393efee5560bf63f9f5a1 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 24 Oct 2024 22:00:45 +0300 Subject: [PATCH 082/152] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B3=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=BA=20=D0=B8=D0=B7=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D0=B5=D0=B8=D1=8E=20=D0=A2=D0=A2=D0=A1=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/serpentids/code/mob/serpentids.dm | 2 +- .../code/organs/internal/implants/serpentid_mantis_chest.dm | 2 +- .../internal/implants/unused/serpentid_mantis_implant.dm | 2 +- .../organs/internal/organs/serpentids_organs_additionals.dm | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 260f42289040..9f37af29358a 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -13,7 +13,7 @@ butt_sprite = "serpentid" nojumpsuit = TRUE - species_traits = list(LIPS, NO_HAIR) + species_traits = list(LIPS, NO_HAIR, TTS_TRAIT_ROBOTIZE) inherent_traits = list(TRAIT_NOPAIN) inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_REPTILE diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 5e8a46509a22..22d05c986142 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -54,7 +54,7 @@ /mob/living/carbon/human/proc/update_blades_overlays() var/obj/item/organ/internal/cyberimp/chest/serpentid_blades/target_implant = get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades) if(target_implant) - target_implant.update_icon(UPDATE_OVERLAYS)() + target_implant.update_icon(UPDATE_OVERLAYS) /mob/living/carbon/human/update_body(rebuild_base = FALSE) . = .. () diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm index c86ea00fbf9f..015b97fb2395 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm @@ -44,7 +44,7 @@ /mob/living/carbon/human/proc/update_blades__arms_overlays() var/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/target_implant = get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms) if(target_implant) - target_implant.update_icon(UPDATE_OVERLAYS)() + target_implant.update_icon(UPDATE_OVERLAYS) /mob/living/carbon/human/update_body(rebuild_base = FALSE) . = .. () diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm index 3577ab549842..f0be21f0443e 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm @@ -3,3 +3,6 @@ name = "serpentid brain" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' icon_state = "brain1" + +/obj/item/organ/internal/vocal_cords/serpentid + name = "serpentid vocal cords" From 50265c0f2def3ba78d289f079def90da74cb37e1 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 27 Oct 2024 12:04:44 +0300 Subject: [PATCH 083/152] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B2=D1=8C?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/datums/chatmessage.dm | 2 +- .../mob/living/carbon/human/human_mob.dm | 2 +- .../living/carbon/human/human_update_icons.dm | 69 ++++- code/modules/paperwork/photocopier.dm | 2 +- .../_defines220/code/signals_atom.dm | 11 + .../code/signals_mob/signals_mob_carbon.dm | 30 ++ .../code/signals_mob/signals_mob_main.dm | 15 + modular_ss220/_defines220/code/signals_obj.dm | 54 ++++ modular_ss220/_defines220/code/species.dm | 8 + modular_ss220/species/_code/chat_offset.dm | 88 ------ modular_ss220/species/_code/common.dm | 12 +- modular_ss220/species/_code/copy_butt.dm | 14 - .../{_components => _code}/reagents.dm | 4 +- modular_ss220/species/_code/update_icons.dm | 13 - .../appearance/mob_overlay_shift.dm | 288 ++---------------- .../_components/attacking/double_attack.dm | 5 - .../_components/attacking/pair_attack.dm | 13 +- .../species/_components/carapace/carapace.dm | 30 +- .../_components/carapace/carapace_shell.dm | 233 +++++++++++--- .../carrying/grab_and_drag_on_mob_crates.dm | 80 ++--- .../carrying/grab_and_drag_on_mob_mobs.dm | 52 +--- .../_components/implants/paired_implants.dm | 24 +- .../species/_components/organs/heart_defib.dm | 39 +-- .../organs/organ_actions_component.dm | 21 +- .../_components/organs/organ_chemistry.dm | 15 +- .../_components/organs/organ_toxins.dm | 8 +- modular_ss220/species/_species.dme | 3 +- .../species/serpentids/_serpentids.dme | 12 - .../serpentids/code/_defines/alerts.dm | 10 +- .../species/serpentids/code/mob/emotes.dm | 68 ++--- .../species/serpentids/code/mob/language.dm | 1 - .../species/serpentids/code/mob/serpentids.dm | 20 +- .../organs/external/serpentids_organs_head.dm | 8 +- .../external/serpentids_organs_other.dm | 2 +- .../implants/serpentid_mantis_blades.dm | 2 +- .../implants/serpentid_mantis_chest.dm | 39 +-- .../implants/unused/serpentid_mantis_hand.dm | 21 -- .../unused/serpentid_mantis_implant.dm | 143 --------- .../organs/serpentids_organs_additionals.dm | 2 +- .../internal/organs/serpentids_organs_ears.dm | 28 +- .../internal/organs/serpentids_organs_eyes.dm | 32 +- .../organs/serpentids_organs_heart.dm | 27 +- .../organs/serpentids_organs_kidneys.dm | 28 +- .../organs/serpentids_organs_liver.dm | 24 +- .../organs/serpentids_organs_lungs.dm | 25 +- .../species/serpentids/icons/organs.dmi | Bin 14562 -> 10871 bytes 46 files changed, 622 insertions(+), 1005 deletions(-) delete mode 100644 modular_ss220/species/_code/copy_butt.dm rename modular_ss220/species/{_components => _code}/reagents.dm (99%) delete mode 100644 modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_hand.dm delete mode 100644 modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm index 46852784a0fb..4025941fdd0f 100644 --- a/code/datums/chatmessage.dm +++ b/code/datums/chatmessage.dm @@ -200,7 +200,7 @@ message.plane = GAME_PLANE message.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | KEEP_APART message.alpha = 0 - message.pixel_y = owner.bound_height * 0.95 + message.pixel_y = owner.bound_height * 0.95 + owner.chat_message_y_offset //SS 220 EDIT message.maptext_width = CHAT_MESSAGE_WIDTH message.maptext_height = mheight message.maptext_x = (CHAT_MESSAGE_WIDTH - owner.bound_width) * -0.5 diff --git a/code/modules/mob/living/carbon/human/human_mob.dm b/code/modules/mob/living/carbon/human/human_mob.dm index 4c914284b5c9..9e51f92d2d3a 100644 --- a/code/modules/mob/living/carbon/human/human_mob.dm +++ b/code/modules/mob/living/carbon/human/human_mob.dm @@ -1336,7 +1336,7 @@ if(eyes) eyes_icon = eyes.generate_icon() else //Error 404: Eyes not found! - eyes_icon = new('icons/mob/human_face.dmi', dna.species.eyes) + eyes_icon = new(dna.species.eyes_icon, dna.species.eyes) //SS220 EDIT eyes_icon.Blend("#800000", ICON_ADD) return eyes_icon diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 52db0245ce1c..dc7c7f93abf3 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -103,6 +103,8 @@ If you have any questions/constructive-comments/bugs-to-report/or have a massivl Please contact me on #coderbus IRC. ~Carn x */ +#define COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST "get_list" //SS220 EDIT + /mob/living/carbon/human/proc/apply_overlay(cache_index) . = overlays_standing[cache_index] if(.) @@ -724,6 +726,12 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) else new_glasses = mutable_appearance('icons/mob/clothing/eyes.dmi', "[glasses.icon_state]", layer = -GLASSES_LAYER) + . = list() //SS220 EDIT + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) + if (.) + new_glasses.pixel_x = .["shift_x"] + new_glasses.pixel_y = .["shift_y"] + var/datum/sprite_accessory/hair/hair_style = GLOB.hair_styles_full_list[head_organ.h_style] var/obj/item/clothing/glasses/G = glasses if(istype(G) && G.over_mask) //If the user's used the 'wear over mask' verb on the glasses. @@ -763,7 +771,14 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) left_ear_item_state = "[left_ear_item_state]_l" left_ear_icon = l_ear.icon_override - overlays_standing[LEFT_EAR_LAYER] = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) + + var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) //SS220 EDIT + . = list() + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) + if (.) + standing.pixel_x = .["shift_x"] + standing.pixel_y = .["shift_y"] + overlays_standing[LEFT_EAR_LAYER] = standing if(r_ear) update_hud_r_ear(r_ear) @@ -776,7 +791,13 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) right_ear_icon = "[right_ear_item_state]_l" right_ear_icon = r_ear.icon_override - overlays_standing[RIGHT_EAR_LAYER] = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) + var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) //SS220 EDIT + . = list() + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) + if (.) + standing.pixel_x = .["shift_x"] + standing.pixel_y = .["shift_y"] + overlays_standing[RIGHT_EAR_LAYER] = standing apply_overlay(LEFT_EAR_LAYER) apply_overlay(RIGHT_EAR_LAYER) @@ -879,6 +900,12 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) standing.overlays += bloodsies standing.alpha = head.alpha standing.color = head.color + + . = list() //SS220 EDIT + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) + if (.) + standing.pixel_x = .["shift_x"] + standing.pixel_y = .["shift_y"] overlays_standing[HEAD_LAYER] = standing apply_overlay(HEAD_LAYER) @@ -925,13 +952,21 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(!t_state) t_state = belt.icon_state + var/mutable_appearance/standing if(belt.icon_override) t_state = "[t_state]_be" - overlays_standing[overlay_layer] = mutable_appearance(belt.icon_override, "[t_state]", layer = -overlay_layer) + standing = mutable_appearance(belt.icon_override, "[t_state]", layer = -overlay_layer) else if(belt.sprite_sheets && belt.sprite_sheets[dna.species.sprite_sheet_name]) - overlays_standing[overlay_layer] = mutable_appearance(belt.sprite_sheets[dna.species.sprite_sheet_name], "[t_state]", layer = -overlay_layer) + standing = mutable_appearance(belt.sprite_sheets[dna.species.sprite_sheet_name], "[t_state]", layer = -overlay_layer) else - overlays_standing[overlay_layer] = mutable_appearance('icons/mob/clothing/belt.dmi', "[t_state]", layer = -overlay_layer) + standing = mutable_appearance('icons/mob/clothing/belt.dmi', "[t_state]", layer = -overlay_layer) + + . = list() //SS220 EDIT + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "belt", .) + if (.) + standing.pixel_x = .["shift_x"] + standing.pixel_y = .["shift_y"] + overlays_standing[overlay_layer] = standing apply_overlay(BELT_LAYER) apply_overlay(SPECIAL_BELT_LAYER) @@ -1048,6 +1083,12 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) standing.alpha = wear_mask.alpha standing.color = wear_mask.color + + . = list() //SS220 EDIT + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) + if (.) + standing.pixel_x = .["shift_x"] + standing.pixel_y = .["shift_y"] overlays_standing[FACEMASK_LAYER] = standing apply_overlay(FACEMASK_LAYER) @@ -1072,6 +1113,12 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //create the image standing.alpha = back.alpha standing.color = back.color + + . = list() //SS220 EDIT + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "back", .) + if (.) + standing.pixel_x = .["shift_x"] + standing.pixel_y = .["shift_y"] overlays_standing[BACK_LAYER] = standing apply_overlay(BACK_LAYER) @@ -1105,6 +1152,12 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) else standing = mutable_appearance(r_hand.righthand_file, "[t_state]", layer = -R_HAND_LAYER, color = r_hand.color) standing = center_image(standing, r_hand.inhand_x_dimension, r_hand.inhand_y_dimension) + + . = list() //SS220 EDIT + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "inhand", .) + if (.) + standing.pixel_x = .["shift_x"] + standing.pixel_y = .["shift_y"] overlays_standing[R_HAND_LAYER] = standing apply_overlay(R_HAND_LAYER) @@ -1125,6 +1178,12 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) else standing = mutable_appearance(l_hand.lefthand_file, "[t_state]", layer = -L_HAND_LAYER, color = l_hand.color) standing = center_image(standing, l_hand.inhand_x_dimension, l_hand.inhand_y_dimension) + + . = list() //SS220 EDIT + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "inhand", .) + if (.) + standing.pixel_x = .["shift_x"] + standing.pixel_y = .["shift_y"] overlays_standing[L_HAND_LAYER] = standing apply_overlay(L_HAND_LAYER) diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index f2c21581e06d..23d2f8085889 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -155,7 +155,7 @@ to_chat(copymob, "Something smells toasty...") if(ishuman(copymob)) //Suit checks are in check_mob var/mob/living/carbon/human/H = copymob - temp_img = icon('icons/obj/butts.dmi', H.dna.species.butt_sprite) + temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) //SS220 EDIT else if(isdrone(copymob)) temp_img = icon('icons/obj/butts.dmi', "drone") else if(isnymph(copymob)) diff --git a/modular_ss220/_defines220/code/signals_atom.dm b/modular_ss220/_defines220/code/signals_atom.dm index 81b81734f058..568c27282dfe 100644 --- a/modular_ss220/_defines220/code/signals_atom.dm +++ b/modular_ss220/_defines220/code/signals_atom.dm @@ -2,3 +2,14 @@ #define COMSIG_CLIMBED_ON "climb_on" /// called by /datum/emote/living/dance/run_emote() : (/datum/component/clumsy_climb) #define COMSIG_DANCED_ON "dance_on" + +#define COMSIG_GADOM_UNLOAD "try_unload" + +#define COMSIG_SURGERY_REPAIR "surgery_carapace_shell_repair" +#define COMSIG_SURGERY_STOP "check_surgery_perform" + #define SURGERY_STOP (1<<0) + + +/atom/movable/screen/alert/Click() + if(isliving(usr) && ..()) + SEND_SIGNAL(usr, COMSIG_GADOM_UNLOAD) diff --git a/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm b/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm index ef6039c440fc..14e9ef23997a 100644 --- a/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm +++ b/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm @@ -1 +1,31 @@ // Signals for /mob/living/carbon +#define COMSIG_MOB_ON_EQUIP "on_equip" +#define COMSIG_MOB_ON_CLICK "on_click" + +#define COMSIG_GADOM_CAN_GRAB "block_operation" + #define GADOM_CAN_GRAB (1 << 0) + +#define COMSIG_GADOM_LOAD "try_load" + +//Расширение прока для переноса ящика на моба +/mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) + if(SEND_SIGNAL(usr, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB) + SEND_SIGNAL(usr, COMSIG_GADOM_LOAD, usr, AM) + . = .. () + +//Расширение для пристегивания моба +/mob/MouseDrop(mob/M as mob, src_location, over_location, src_control, over_control, params) + if((M != usr) || !istype(M)) + ..() + return + if(usr == src) + return + if(!Adjacent(usr)) + return + if(IsFrozen(src) && !is_admin(usr)) + to_chat(usr, "Interacting with admin-frozen players is not permitted.") + return + if((SEND_SIGNAL(usr, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB)) + SEND_SIGNAL(usr, COMSIG_GADOM_LOAD, usr, src) + return + . = .. () diff --git a/modular_ss220/_defines220/code/signals_mob/signals_mob_main.dm b/modular_ss220/_defines220/code/signals_mob/signals_mob_main.dm index 1908d846992d..6b10c9cf18ee 100644 --- a/modular_ss220/_defines220/code/signals_mob/signals_mob_main.dm +++ b/modular_ss220/_defines220/code/signals_mob/signals_mob_main.dm @@ -3,3 +3,18 @@ /// from mob/living/Process_Spacemove(): (movement_dir) #define COMSIG_LIVING_PROCESS_SPACEMOVE "mob_client_pre_living_move" #define COMPONENT_BLOCK_SPACEMOVE (1<<0) + +//Вызов сигнала при экипировке любой вещи +/mob/equip_to_slot(obj/item/W, slot, initial = FALSE) + . = .. () + SEND_SIGNAL(src, COMSIG_MOB_ON_EQUIP) + +//Вызов сигнала при повоторе через ctrl+wasd +/mob/facedir(ndir) + . = .. () + SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) + +//Вызов сигнала при повороте через ЛКМы +/mob/ClickOn(atom/A, params) + . = .. () + SEND_SIGNAL(src, COMSIG_MOB_ON_CLICK) diff --git a/modular_ss220/_defines220/code/signals_obj.dm b/modular_ss220/_defines220/code/signals_obj.dm index d5723b8d0843..878682d92baf 100644 --- a/modular_ss220/_defines220/code/signals_obj.dm +++ b/modular_ss220/_defines220/code/signals_obj.dm @@ -1,2 +1,56 @@ /// from base of [/obj/proc/atom_destruction]: (damage_flag) #define COMSIG_OBJ_DESTRUCTION "atom_destruction" + +#define COMSIG_LIMB_RECEIVE_DAMAGE "receive_damage" +#define COMSIG_LIMB_HEAL_DAMAGE "heal_damage" + +#define COMSIG_DOUBLEIMP_SYNCHONIZE "synchonize_implants" +#define COMSIG_DOUBLEIMP_ACTION_REBUILD "action_rebuild" + +#define COMSIG_ORGAN_GROUP_ACTION_CALL "open_actions" +#define COMSIG_ORGAN_GROUP_ACTION_RESORT "resort_buttons" + +#define COMSIG_ORGAN_TOX_HANDLE "tox_handle_organ" + +#define COMSIG_ORGAN_ON_LIFE "chems_process" +#define COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION "chems_change_consuption" + +//Расширение базового прока атаки для запуска сигнала атаки +/obj/item/attack(mob/living/M, mob/living/user, def_zone) + . = .. () + SEND_SIGNAL(src, COMSIG_MOB_ITEM_ATTACK, M, user, def_zone) + +//Расширение проков урона и лечения для обращения к компоненту +/obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) + . = ..() + SEND_SIGNAL(src, COMSIG_LIMB_RECEIVE_DAMAGE, brute, burn, sharp, used_weapon, forbidden_limbs, ignore_resists, updating_health) + +/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) + . = ..() + SEND_SIGNAL(src, COMSIG_LIMB_HEAL_DAMAGE, brute, burn, internal, robo_repair, updating_health) + +/obj/item/organ/internal/cyberimp/arm/Retract() + . = .. () + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_SYNCHONIZE) + +/obj/item/organ/internal/cyberimp/arm/Extend() + . = .. () + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_SYNCHONIZE) + +/obj/item/organ/internal/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = .. () + SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_ACTION_REBUILD) + +/obj/item/organ/internal/remove(mob/living/carbon/M, special = 0) + . = .. () + SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_ACTION_REBUILD) + +/obj/item/organ/internal/ui_action_click() + SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_CALL, user = owner) + +/obj/item/organ/internal/process() + SEND_SIGNAL(src, COMSIG_ORGAN_TOX_HANDLE) + SEND_SIGNAL(src, COMSIG_ORGAN_ON_LIFE) + . = .. () diff --git a/modular_ss220/_defines220/code/species.dm b/modular_ss220/_defines220/code/species.dm index 611dbc273878..67a3e78c2a1e 100644 --- a/modular_ss220/_defines220/code/species.dm +++ b/modular_ss220/_defines220/code/species.dm @@ -7,3 +7,11 @@ #define MATERIAL_CLASS_SOAP 3 #define MATERIAL_CLASS_RAD 4 #define MATERIAL_CLASS_PLASMA 5 + +#define GADOM_BASIC_LOAD_TIMER 2 SECONDS + +//Расширение прока на отстегивание ящика +/datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) + if((SEND_SIGNAL(H, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB) && H.loaded) + SEND_SIGNAL(H, COMSIG_GADOM_UNLOAD) + . = .. () diff --git a/modular_ss220/species/_code/chat_offset.dm b/modular_ss220/species/_code/chat_offset.dm index b38fdd69ea1a..ff39c4b55b8d 100644 --- a/modular_ss220/species/_code/chat_offset.dm +++ b/modular_ss220/species/_code/chat_offset.dm @@ -1,91 +1,3 @@ -#define CHAT_MESSAGE_APPROX_LHEIGHT 11 -#define CHAT_MESSAGE_EOL_FADE (0.7 SECONDS) -#define CHAT_MESSAGE_SPAWN_TIME (0.2 SECONDS) -#define CHAT_MESSAGE_EXP_DECAY 0.7 -#define CHAT_MESSAGE_HEIGHT_DECAY 0.9 -#define CHAT_LAYER_Z_STEP 0.0001 -#define CHAT_LAYER_MAX_Z (CHAT_LAYER_MAX - CHAT_LAYER) / CHAT_LAYER_Z_STEP -#define CHAT_MESSAGE_WIDTH 96 -#define CHAT_MESSAGE_GRACE_PERIOD (0.2 SECONDS) - //Отрпавить на оффы - так можно кастомно выводить рунчат сообщения (выше/ниже верхней границы спрайта) /mob var/chat_message_y_offset = 0 - -/datum/chatmessage/finish_image_generation(mheight, atom/target, mob/owner, complete_text, lifespan) - var/rough_time = REALTIMEOFDAY - approx_lines = max(1, mheight / CHAT_MESSAGE_APPROX_LHEIGHT) - - // Translate any existing messages upwards, apply exponential decay factors to timers - message_loc = target - if(owned_by.seen_messages) - var/idx = 1 - var/combined_height = approx_lines - for(var/datum/chatmessage/m as anything in owned_by.seen_messages[message_loc]) - combined_height += m.approx_lines - - var/time_alive = rough_time - m.animate_start - var/lifespan_until_fade = m.animate_lifespan - CHAT_MESSAGE_EOL_FADE - - if(time_alive >= lifespan_until_fade) // If already fading out or dead, just shift upwards - animate(m.message, pixel_y = m.message.pixel_y + mheight, time = CHAT_MESSAGE_SPAWN_TIME, flags = ANIMATION_PARALLEL) - continue - - // Ensure we don't accidentially spike alpha up or something silly like that - m.message.alpha = m.get_current_alpha(time_alive) - - var/adjusted_lifespan_until_fade = lifespan_until_fade * (CHAT_MESSAGE_EXP_DECAY ** idx++) * (CHAT_MESSAGE_HEIGHT_DECAY ** combined_height) - m.animate_lifespan = adjusted_lifespan_until_fade + CHAT_MESSAGE_EOL_FADE - - var/remaining_lifespan_until_fade = adjusted_lifespan_until_fade - time_alive - if(remaining_lifespan_until_fade > 0) // Still got some lifetime to go; stay faded in for the remainder, then fade out - animate(m.message, alpha = 255, time = remaining_lifespan_until_fade) - animate(alpha = 0, time = CHAT_MESSAGE_EOL_FADE) - else // Current time alive is beyond new adjusted lifespan, your time has come my son - animate(m.message, alpha = 0, time = CHAT_MESSAGE_EOL_FADE) - - // We run this after the alpha animate, because we don't want to interrup it, but also don't want to block it by running first - // Sooo instead we do this. bit messy but it fuckin works - animate(m.message, pixel_y = m.message.pixel_y + mheight, time = CHAT_MESSAGE_SPAWN_TIME, flags = ANIMATION_PARALLEL) - - // Reset z index if relevant - if(current_z_idx >= CHAT_LAYER_MAX_Z) - current_z_idx = 0 - - // Build message image - message = image(loc = message_loc, layer = CHAT_LAYER + CHAT_LAYER_Z_STEP * current_z_idx++) - message.plane = GAME_PLANE - message.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | KEEP_APART - message.alpha = 0 - message.pixel_y = owner.bound_height * 0.95 + owner.chat_message_y_offset - message.maptext_width = CHAT_MESSAGE_WIDTH - message.maptext_height = mheight - message.maptext_x = (CHAT_MESSAGE_WIDTH - owner.bound_width) * -0.5 - message.maptext = complete_text - - animate_start = rough_time - animate_lifespan = lifespan - - // View the message - LAZYADDASSOCLIST(owned_by.seen_messages, message_loc, src) - owned_by.images |= message - - // Fade in - animate(message, alpha = 255, time = CHAT_MESSAGE_SPAWN_TIME) - // Stay faded in - animate(alpha = 255, time = lifespan - CHAT_MESSAGE_SPAWN_TIME - CHAT_MESSAGE_EOL_FADE) - // Fade out - animate(alpha = 0, time = CHAT_MESSAGE_EOL_FADE) - - // Register with the runechat SS to handle destruction - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), lifespan + CHAT_MESSAGE_GRACE_PERIOD, TIMER_DELETE_ME, SSrunechat) - -#undef CHAT_MESSAGE_SPAWN_TIME -#undef CHAT_MESSAGE_EOL_FADE -#undef CHAT_MESSAGE_GRACE_PERIOD -#undef CHAT_MESSAGE_EXP_DECAY -#undef CHAT_MESSAGE_HEIGHT_DECAY -#undef CHAT_MESSAGE_APPROX_LHEIGHT -#undef CHAT_MESSAGE_WIDTH -#undef CHAT_LAYER_Z_STEP -#undef CHAT_LAYER_MAX_Z diff --git a/modular_ss220/species/_code/common.dm b/modular_ss220/species/_code/common.dm index 1f4b52b252b2..04223cdb0a4e 100644 --- a/modular_ss220/species/_code/common.dm +++ b/modular_ss220/species/_code/common.dm @@ -7,10 +7,10 @@ #define SERPENTID_GENE_DEGRADATION_DAMAGE 0.5 #define SERPENTID_GENE_DEGRADATION_CD 60 -#define GAS_ORGAN_CHEMISTRY_LUNGS 1 -#define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.5 -#define GAS_ORGAN_CHEMISTRY_EYES 0.05 -#define GAS_ORGAN_CHEMISTRY_EARS 0.1 +#define SERPENTID_ORGAN_CHEMISTRY_LUNGS 1 +#define SERPENTID_ORGAN_CHEMISTRY_KIDNEYS 0.5 +#define SERPENTID_ORGAN_CHEMISTRY_EYES 0.05 +#define SERPENTID_ORGAN_CHEMISTRY_EARS 0.1 #define SERPENTID_CHEM_MULT_CONSUPTION 0.75 #define SERPENTID_CHEM_MULT_PRODUCTION 0.6 @@ -18,9 +18,7 @@ #define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.7 #define SERPENTID_EYES_MAX_VISIBLE_VALUE 1 -#define GAS_ORGAN_CHEMISTRY_MAX 100 - -#define SPIECES_BAN_HEADS_JOB (1<<12) +#define SERPENTID_ORGAN_CHEMISTRY_MAX 100 /datum/species var/can_buckle = FALSE diff --git a/modular_ss220/species/_code/copy_butt.dm b/modular_ss220/species/_code/copy_butt.dm deleted file mode 100644 index 062feb3cc4ce..000000000000 --- a/modular_ss220/species/_code/copy_butt.dm +++ /dev/null @@ -1,14 +0,0 @@ -/obj/machinery/photocopier/copyass(scanning = FALSE) - var/obj/item/photo/p = .. () - var/icon/temp_img - if(ishuman(copymob)) //Suit checks are in check_mob - var/mob/living/carbon/human/H = copymob - temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) - - p.img = temp_img - var/icon/small_img = icon(temp_img) //Icon() is needed or else temp_img will be rescaled too >.> - var/icon/ic = icon('icons/obj/items.dmi',"photo") - small_img.Scale(8, 8) - ic.Blend(small_img,ICON_OVERLAY, 10, 13) - p.icon = ic - return p diff --git a/modular_ss220/species/_components/reagents.dm b/modular_ss220/species/_code/reagents.dm similarity index 99% rename from modular_ss220/species/_components/reagents.dm rename to modular_ss220/species/_code/reagents.dm index 612477e18497..76f205dcb701 100644 --- a/modular_ss220/species/_components/reagents.dm +++ b/modular_ss220/species/_code/reagents.dm @@ -1,5 +1,5 @@ -/obj/item/seeds/cabbage/New() - . = .. () +/obj/item/seeds/cabbage/Initialize(mapload) + . = ..() reagents_add += list("cabbagilium" = 0.01) /datum/reagent/cabbagilium diff --git a/modular_ss220/species/_code/update_icons.dm b/modular_ss220/species/_code/update_icons.dm index d8629f9c7b5b..76ba33f0d26e 100644 --- a/modular_ss220/species/_code/update_icons.dm +++ b/modular_ss220/species/_code/update_icons.dm @@ -50,16 +50,3 @@ preview_icon.Blend(face_s, ICON_OVERLAY) preview_icon_front = new(preview_icon, dir = SOUTH) preview_icon_side = new(preview_icon, dir = WEST) - -//Прок на получение иконки глаз кастомных рас (перезапись, возможно стоит расширить?) -/mob/living/carbon/human/get_eyecon() - var/obj/item/organ/internal/eyes/eyes = get_int_organ(/obj/item/organ/internal/eyes) - if(istype(dna.species) && dna.species.eyes) - var/icon/eyes_icon - if(eyes) - eyes_icon = eyes.generate_icon() - else //Error 404: Eyes not found! - eyes_icon = new(dna.species.eyes_icon, dna.species.eyes)//eyes_icon = new('modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi', "serp_eyes_s")// - eyes_icon.Blend("#800000", ICON_ADD) - - return eyes_icon diff --git a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm index 82e7d67b0194..5bb15ae4abbe 100644 --- a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm +++ b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm @@ -11,10 +11,6 @@ #define MOB_OVERLAY_SHIFT_FRONT "front" #define MOB_OVERLAY_SHIFT_CENTER "center" -#define COMSIG_MOB_OVERLAY_SHIFT_ON_EQUIP "on_equip" -#define COMSIG_MOB_OVERLAY_SHIFT_ON_CLICK "on_click" - - /datum/component/mob_overlay_shift var/dir = NORTH var/list/shift_data = list() @@ -39,16 +35,14 @@ shift_call(parent) /datum/component/mob_overlay_shift/RegisterWithParent() - RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(shift_call)) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(shift_call)) - RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_ON_EQUIP, PROC_REF(shift_call)) - RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_ON_CLICK, PROC_REF(shift_call)) - + RegisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_MOB_ON_EQUIP, COMSIG_MOB_ON_CLICK), PROC_REF(shift_call)) + RegisterSignal(parent, list(COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST), PROC_REF(get_list)) /datum/component/mob_overlay_shift/UnregisterFromParent() - UnregisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_MOB_OVERLAY_SHIFT_ON_EQUIP, COMSIG_MOB_OVERLAY_SHIFT_ON_CLICK)) + UnregisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_MOB_ON_EQUIP, COMSIG_MOB_ON_CLICK)) /datum/component/mob_overlay_shift/proc/shift_call(mob/living/carbon/human/mob) + SIGNAL_HANDLER if(mob.dir) dir = mob.dir @@ -82,256 +76,24 @@ update_call(mob) /datum/component/mob_overlay_shift/proc/update_call(mob/living/carbon/human/mob) - update_inv_r_hand(mob) - update_inv_l_hand(mob) - update_inv_belt(mob) - update_inv_back(mob) - update_inv_head(mob) - update_inv_glasses(mob) - update_inv_ears(mob) - -//TODO: Отправить на оффы -//Проки сделаны, так как нет прямой возможности влиять на положение mutable_apperance после его применения на спрайт кулы, только удалять/добавлять сами -/datum/component/mob_overlay_shift/proc/update_inv_belt(mob/living/carbon/human/mob) - mob.remove_overlay(BELT_LAYER) - mob.remove_overlay(SPECIAL_BELT_LAYER) - var/overlay_layer = BELT_LAYER - - if(mob.client && mob.hud_used) - var/atom/movable/screen/inventory/inv = mob.hud_used.inv_slots[SLOT_HUD_BELT] - if(inv) - inv.update_icon() - - if(mob.hud_used.hud_version == HUD_STYLE_STANDARD && mob.belt) - mob.client.screen += mob.belt - mob.belt.screen_loc = ui_belt - - if(mob.belt) - // Manual checks for outliers (Claymores, null rods, defibs, judobelt, etc.) - Items that are belts but not storages. - var/list/special_belts = list( - /obj/item/defibrillator/compact, - /obj/item/nullrod, - /obj/item/storage/belt/judobelt, - /obj/item/claymore) - overlay_layer = is_type_in_list(mob.belt, special_belts) ? SPECIAL_BELT_LAYER : BELT_LAYER - if(istype(mob.belt, /obj/item/storage/belt)) - var/obj/item/storage/belt/B = mob.belt - overlay_layer = B.layer_over_suit ? SPECIAL_BELT_LAYER : BELT_LAYER - - var/t_state = mob.belt.item_state - mob.update_observer_view(mob.belt) - if(!t_state) - t_state = mob.belt.icon_state - - var/mutable_appearance/standing - if(mob.belt.icon_override) - t_state = "[t_state]_be" - standing = mutable_appearance(mob.belt.icon_override, "[t_state]", layer = -overlay_layer) - else if(mob.belt.sprite_sheets && mob.belt.sprite_sheets[mob.dna.species.sprite_sheet_name]) - standing = mutable_appearance(mob.belt.sprite_sheets[mob.dna.species.sprite_sheet_name], "[t_state]", layer = -overlay_layer) - else - standing = mutable_appearance('icons/mob/clothing/belt.dmi', "[t_state]", layer = -overlay_layer) - standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_BELT]["shift_y"] - standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_BELT]["shift_y"] - mob.overlays_standing[overlay_layer] = standing - mob.apply_overlay(BELT_LAYER) - mob.apply_overlay(SPECIAL_BELT_LAYER) - -/datum/component/mob_overlay_shift/proc/update_inv_back(mob/living/carbon/human/mob) - mob.remove_overlay(BACK_LAYER) - if(mob.back) - mob.update_hud_back(mob.back) - //determine the icon to use - var/t_state = mob.back.item_state - if(!t_state) - t_state = mob.back.icon_state - var/mutable_appearance/standing - if(mob.back.icon_override) - standing = mutable_appearance(mob.back.icon_override, "[mob.back.icon_state]", layer = -BACK_LAYER) - else if(mob.back.sprite_sheets && mob.back.sprite_sheets[mob.dna.species.sprite_sheet_name]) - standing = mutable_appearance(mob.back.sprite_sheets[mob.dna.species.sprite_sheet_name], "[t_state]", layer = -BACK_LAYER) - else - standing = mutable_appearance('icons/mob/clothing/back.dmi', "[t_state]", layer = -BACK_LAYER) - - //create the image - standing.alpha = mob.back.alpha - standing.color = mob.back.color - standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_BACK]["shift_x"] - standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_BACK]["shift_y"] - mob.overlays_standing[BACK_LAYER] = standing - mob.apply_overlay(BACK_LAYER) - -/datum/component/mob_overlay_shift/proc/update_inv_r_hand(mob/living/carbon/human/mob) - mob.remove_overlay(R_HAND_LAYER) - if(mob.r_hand) - mob.show_hand_to_observers(mob.r_hand, left = FALSE) - var/t_state = mob.r_hand.item_state - if(!t_state) - t_state = mob.r_hand.icon_state - - var/mutable_appearance/standing - if(mob.r_hand.sprite_sheets_inhand && mob.r_hand.sprite_sheets_inhand[mob.dna.species.sprite_sheet_name]) - t_state = "[t_state]_r" - standing = mutable_appearance(mob.r_hand.sprite_sheets_inhand[mob.dna.species.sprite_sheet_name], "[t_state]", layer = -R_HAND_LAYER, color = mob.r_hand.color) - else - standing = mutable_appearance(mob.r_hand.righthand_file, "[t_state]", layer = -R_HAND_LAYER, color = mob.r_hand.color) - standing = center_image(standing, (mob.r_hand.inhand_x_dimension), (mob.r_hand.inhand_y_dimension)) - standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HAND]["shift_x"] - standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HAND]["shift_y"] - mob.overlays_standing[R_HAND_LAYER] = standing - mob.apply_overlay(R_HAND_LAYER) - - -/datum/component/mob_overlay_shift/proc/update_inv_l_hand(mob/living/carbon/human/mob) - mob.remove_overlay(L_HAND_LAYER) - if(mob.l_hand) - mob.show_hand_to_observers(mob.l_hand, left = TRUE) - var/t_state = mob.l_hand.item_state - if(!t_state) - t_state = mob.l_hand.icon_state - - var/mutable_appearance/standing - if(mob.l_hand.sprite_sheets_inhand && mob.l_hand.sprite_sheets_inhand[mob.dna.species.sprite_sheet_name]) - t_state = "[t_state]_l" - standing = mutable_appearance(mob.l_hand.sprite_sheets_inhand[mob.dna.species.sprite_sheet_name], "[t_state]", layer = -L_HAND_LAYER, color = mob.l_hand.color) - else - standing = mutable_appearance(mob.l_hand.lefthand_file, "[t_state]", layer = -L_HAND_LAYER, color = mob.l_hand.color) - standing = center_image(standing, mob.l_hand.inhand_x_dimension, mob.l_hand.inhand_y_dimension) - standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HAND]["shift_x"] - standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HAND]["shift_y"] - mob.overlays_standing[L_HAND_LAYER] = standing - mob.apply_overlay(L_HAND_LAYER) - -/datum/component/mob_overlay_shift/proc/update_inv_head(mob/living/carbon/human/mob) - mob.remove_overlay(HEAD_LAYER) - if(mob.client && mob.hud_used) - var/atom/movable/screen/inventory/inv = mob.hud_used.inv_slots[SLOT_HUD_HEAD] - if(inv) - inv.update_icon() - - if(mob.head) - mob.update_hud_head(mob.head) - var/mutable_appearance/standing - if(mob.head.sprite_sheets && mob.head.sprite_sheets[mob.dna.species.sprite_sheet_name]) - standing = mutable_appearance(mob.head.sprite_sheets[mob.dna.species.sprite_sheet_name], "[mob.head.icon_state]", layer = -HEAD_LAYER) - if(istype(mob.head, /obj/item/clothing/head/helmet/space/plasmaman)) - var/obj/item/clothing/head/helmet/space/plasmaman/P = mob.head - if(!P.up) - standing.overlays += P.visor_icon - else if(mob.head.icon_override) - standing = mutable_appearance(mob.head.icon_override, "[mob.head.icon_state]", layer = -HEAD_LAYER) - else - standing = mutable_appearance('icons/mob/clothing/head.dmi', "[mob.head.icon_state]", layer = -HEAD_LAYER) - - if(mob.head.blood_DNA) - var/image/bloodsies = image("icon" = mob.dna.species.blood_mask, "icon_state" = "helmetblood") - bloodsies.color = mob.head.blood_color - standing.overlays += bloodsies - standing.alpha = mob.head.alpha - standing.color = mob.head.color - standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_x"] - standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_y"] - mob.overlays_standing[HEAD_LAYER] = standing - mob.apply_overlay(HEAD_LAYER) - -/datum/component/mob_overlay_shift/proc/update_inv_glasses(mob/living/carbon/human/mob) - mob.remove_overlay(GLASSES_LAYER) - mob.remove_overlay(GLASSES_OVER_LAYER) - mob.remove_overlay(OVER_MASK_LAYER) - - if(mob.client && mob.hud_used) - var/atom/movable/screen/inventory/inv = mob.hud_used.inv_slots[SLOT_HUD_GLASSES] - if(inv) - inv.update_icon() - - if(mob.glasses) - var/mutable_appearance/new_glasses - var/obj/item/organ/external/head/head_organ = mob.get_organ(MOB_OVERLAY_SHIFT_HEAD) - mob.update_hud_glasses(mob.glasses) - - if(mob.glasses.icon_override) - new_glasses = mutable_appearance(mob.glasses.icon_override, "[mob.glasses.icon_state]", layer = -GLASSES_LAYER) - else if(mob.glasses.sprite_sheets && mob.glasses.sprite_sheets[head_organ.dna.species.sprite_sheet_name]) - new_glasses = mutable_appearance(mob.glasses.sprite_sheets[head_organ.dna.species.sprite_sheet_name], "[mob.glasses.icon_state]", layer = -GLASSES_LAYER) - else - new_glasses = mutable_appearance('icons/mob/clothing/eyes.dmi', "[mob.glasses.icon_state]", layer = -GLASSES_LAYER) - - new_glasses.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_x"] - new_glasses.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_y"] - - var/datum/sprite_accessory/hair/hair_style = GLOB.hair_styles_full_list[head_organ.h_style] - var/obj/item/clothing/glasses/G = mob.glasses - if(istype(G) && G.over_mask) //If the user's used the 'wear over mask' verb on the glasses. - new_glasses.layer = -OVER_MASK_LAYER - mob.overlays_standing[OVER_MASK_LAYER] = new_glasses - mob.apply_overlay(OVER_MASK_LAYER) - else if(hair_style && hair_style.glasses_over) //Select which layer to use based on the properties of the hair style. Hair styles with hair that don't overhang the arms of the glasses should have glasses_over set to a positive value. - new_glasses.layer = -GLASSES_OVER_LAYER - mob.overlays_standing[GLASSES_OVER_LAYER] = new_glasses - mob.apply_overlay(GLASSES_OVER_LAYER) - else - mob.overlays_standing[GLASSES_LAYER] = new_glasses - mob.apply_overlay(GLASSES_LAYER) - - mob.update_misc_effects() - -/datum/component/mob_overlay_shift/proc/update_inv_ears(mob/living/carbon/human/mob) - mob.remove_overlay(LEFT_EAR_LAYER) - mob.remove_overlay(RIGHT_EAR_LAYER) - - if(mob.client && mob.hud_used) - var/atom/movable/screen/inventory/left_ear_inv = mob.hud_used.inv_slots[SLOT_HUD_LEFT_EAR] - var/atom/movable/screen/inventory/right_ear_inv = mob.hud_used.inv_slots[SLOT_HUD_RIGHT_EAR] - if(left_ear_inv) - left_ear_inv.update_icon() - if(right_ear_inv) - right_ear_inv.update_icon() - - if(mob.l_ear) - mob.update_hud_l_ear(mob.l_ear) - - var/left_ear_item_state = mob.l_ear.item_state ? mob.l_ear.item_state : mob.l_ear.icon_state - var/left_ear_icon = 'icons/mob/clothing/ears.dmi' - if(mob.l_ear.sprite_sheets && mob.l_ear.sprite_sheets[mob.dna.species.sprite_sheet_name]) - left_ear_icon = mob.l_ear.sprite_sheets[mob.dna.species.sprite_sheet_name] - if(mob.l_ear.icon_override) - left_ear_item_state = "[left_ear_item_state]_l" - left_ear_icon = mob.l_ear.icon_override - - var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) - standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_x"] - standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_y"] - mob.overlays_standing[LEFT_EAR_LAYER] = standing - - if(mob.r_ear) - mob.update_hud_r_ear(mob.r_ear) - - var/right_ear_item_state = mob.r_ear.item_state ? mob.r_ear.item_state : mob.r_ear.icon_state - var/right_ear_icon = 'icons/mob/clothing/ears.dmi' - if(mob.r_ear.sprite_sheets && mob.r_ear.sprite_sheets[mob.dna.species.sprite_sheet_name]) - right_ear_icon = mob.r_ear.sprite_sheets[mob.dna.species.sprite_sheet_name] - if(mob.r_ear.icon_override) - right_ear_icon = "[right_ear_item_state]_l" - right_ear_icon = mob.r_ear.icon_override - - var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) - standing.pixel_x = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_x"] - standing.pixel_y = shift_data[MOB_OVERLAY_SHIFT_HEAD]["shift_y"] - mob.overlays_standing[RIGHT_EAR_LAYER] = standing - - mob.apply_overlay(LEFT_EAR_LAYER) - mob.apply_overlay(RIGHT_EAR_LAYER) - -/mob/equip_to_slot(obj/item/W, slot, initial = FALSE) - . = .. () - SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_ON_EQUIP) - -//Вызов сигнала при повоторе через ctrl+wasd -/mob/facedir(ndir) - . = .. () - SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) - -//Вызов сигнала при повороте через ЛКМы -/mob/ClickOn(atom/A, params) - . = .. () - SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_ON_CLICK) + mob.update_inv_r_hand() + mob.update_inv_l_hand() + mob.update_inv_belt() + mob.update_inv_back() + mob.update_inv_wear_mask() + mob.update_inv_head() + mob.update_inv_glasses() + mob.update_inv_ears() + +/datum/component/mob_overlay_shift/proc/get_list(mob/component_holder, overlay, list/info_data) + SIGNAL_HANDLER + info_data += list("shift_x" = shift_data[overlay]["shift_x"]) + info_data += list("shift_y" = shift_data[overlay]["shift_y"]) + +#undef MOB_OVERLAY_SHIFT_HAND +#undef MOB_OVERLAY_SHIFT_BELT +#undef MOB_OVERLAY_SHIFT_BACK +#undef MOB_OVERLAY_SHIFT_HEAD +#undef MOB_OVERLAY_SHIFT_SIDE +#undef MOB_OVERLAY_SHIFT_FRONT +#undef MOB_OVERLAY_SHIFT_CENTER diff --git a/modular_ss220/species/_components/attacking/double_attack.dm b/modular_ss220/species/_components/attacking/double_attack.dm index 9681e503fad3..fe145efcc688 100644 --- a/modular_ss220/species/_components/attacking/double_attack.dm +++ b/modular_ss220/species/_components/attacking/double_attack.dm @@ -31,8 +31,3 @@ return hand_item.attack(target, user, def_zone) state_attack = FALSE - -//Расширение базового прока атаки для запуска сигнала -/obj/item/attack(mob/living/M, mob/living/user, def_zone) - . = .. () - SEND_SIGNAL(src, COMSIG_MOB_ITEM_ATTACK, M, user, def_zone) diff --git a/modular_ss220/species/_components/attacking/pair_attack.dm b/modular_ss220/species/_components/attacking/pair_attack.dm index 23e7dd6754ad..29780d1fe7b0 100644 --- a/modular_ss220/species/_components/attacking/pair_attack.dm +++ b/modular_ss220/species/_components/attacking/pair_attack.dm @@ -7,7 +7,6 @@ #define PAIRATTACK_RECOIL_MULT 2.5 -#define COMSIG_ITEM_ATTACK_PROCESS "offhand_pre_attack" #define COMSIG_PAIRATTACK_SYNC "sync_states" #define COMSIG_PAIRATTACK_CHECK "check_state" #define PAIRATTACK_CHECK_ACTIVE (1<<0) @@ -21,12 +20,12 @@ attack_CD = attack_CD_OVR /datum/component/pair_attack/RegisterWithParent() - RegisterSignal(parent, COMSIG_ITEM_ATTACK_PROCESS, PROC_REF(offhand_pre_attack)) + RegisterSignal(parent, COMSIG_MOB_ITEM_ATTACK, PROC_REF(offhand_pre_attack)) RegisterSignal(parent, COMSIG_PAIRATTACK_CHECK, PROC_REF(check_state)) RegisterSignal(parent, COMSIG_PAIRATTACK_SYNC, PROC_REF(sync_states)) /datum/component/pair_attack/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_ITEM_ATTACK_PROCESS) + UnregisterSignal(parent, COMSIG_MOB_ITEM_ATTACK) UnregisterSignal(parent, COMSIG_PAIRATTACK_CHECK) UnregisterSignal(parent, COMSIG_PAIRATTACK_SYNC) @@ -64,7 +63,7 @@ state_attack = FALSE SEND_SIGNAL(offhand_item, COMSIG_PAIRATTACK_SYNC, state_attack) -//Расширение базового прока атаки для запуска сигнала -/obj/item/attack(mob/living/M, mob/living/user, def_zone) - . = .. () - SEND_SIGNAL(src, COMSIG_ITEM_ATTACK_PROCESS, M, user, def_zone) +#undef PAIRATTACK_RECOIL_MULT +#undef COMSIG_PAIRATTACK_SYNC +#undef COMSIG_PAIRATTACK_CHECK +#undef PAIRATTACK_CHECK_ACTIVE diff --git a/modular_ss220/species/_components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm index 6bab0c6540a8..28f165c1b3ba 100644 --- a/modular_ss220/species/_components/carapace/carapace.dm +++ b/modular_ss220/species/_components/carapace/carapace.dm @@ -24,29 +24,27 @@ #define CARAPACE_BLOCK_OPERATION list(/datum/surgery/bone_repair,/datum/surgery/bone_repair/skull,/datum/surgery/organ_manipulation) #define CARAPACE_ENCASE_WORD "chitin" -#define COMSIG_LIMB_RECIEVE_DAMAGE "receive_damage" -#define COMSIG_LIMB_HEAL_DAMAGE "heal_damage" - /datum/component/carapace var/self_mending = FALSE var/broken_treshold = CARAPACE_BROKEN_STATE -/datum/component/carapace/Initialize(allow_self_mending, break_threshold, control_node = FALSE) +/datum/component/carapace/Initialize(allow_self_mending, break_threshold) src.self_mending = allow_self_mending - broken_treshold = break_threshold + src.broken_treshold = break_threshold var/obj/item/organ/external/affected_limb = parent affected_limb.encased = CARAPACE_ENCASE_WORD /datum/component/carapace/RegisterWithParent() - RegisterSignal(parent, COMSIG_LIMB_RECIEVE_DAMAGE, PROC_REF(receive_damage)) + RegisterSignal(parent, COMSIG_LIMB_RECEIVE_DAMAGE, PROC_REF(receive_damage)) RegisterSignal(parent, COMSIG_LIMB_HEAL_DAMAGE, PROC_REF(heal_damage)) /datum/component/carapace/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_LIMB_RECIEVE_DAMAGE) + UnregisterSignal(parent, COMSIG_LIMB_RECEIVE_DAMAGE) UnregisterSignal(parent, COMSIG_LIMB_HEAL_DAMAGE) //Проки, срабатываемые при получении или исцелении урона /datum/component/carapace/proc/receive_damage(obj/item/organ/external/affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) + SIGNAL_HANDLER if(affected_limb.get_damage() > broken_treshold) affected_limb.fracture() if(length(affected_limb.internal_organs)) @@ -54,19 +52,11 @@ O.receive_damage(burn * affected_limb.burn_dam) /datum/component/carapace/proc/heal_damage(obj/item/organ/external/affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) + SIGNAL_HANDLER if((affected_limb.status & ORGAN_BROKEN) && affected_limb.get_damage() == 0) if(self_mending || prob(CARAPACE_HEAL_BROKEN_PROB)) affected_limb.mend_fracture() -//Расширение проков урона и лечения для обращения к компоненту -/obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) - . = ..() - SEND_SIGNAL(src, COMSIG_LIMB_RECIEVE_DAMAGE, brute, burn, sharp, used_weapon, forbidden_limbs, ignore_resists, updating_health) - -/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) - . = ..() - SEND_SIGNAL(src, COMSIG_LIMB_HEAL_DAMAGE, brute, burn, internal, robo_repair, updating_health) - ////////////////////////////////////////////////////////////////// // Хирургия для панциря // ////////////////////////////////////////////////////////////////// @@ -144,7 +134,7 @@ /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) if((affected?.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) - to_chat(user, span_notice("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию.")) + to_chat(user, span_notice("[capitalize(target.declent_ru(NOMINATIVE))] покрыта крепким хитином. Сломайте его, прежде чем начать операцию.")) return SURGERY_BEGINSTEP_ABORT . = .. () @@ -160,3 +150,9 @@ affected.mend_fracture() . = .. () +#undef CARAPACE_BROKEN_STATE +#undef CARAPACE_BASIC_BRUTE_VULNERABILITY +#undef CARAPACE_ADDITIVE_BURN_VULNERABILITY +#undef CARAPACE_DAMAGE_TRANSFER_PERCENTAGES +#undef CARAPACE_HEAL_BROKEN_PROB +#undef CARAPACE_BLOCK_OPERATION diff --git a/modular_ss220/species/_components/carapace/carapace_shell.dm b/modular_ss220/species/_components/carapace/carapace_shell.dm index 5e476085332a..22eee0200ada 100644 --- a/modular_ss220/species/_components/carapace/carapace_shell.dm +++ b/modular_ss220/species/_components/carapace/carapace_shell.dm @@ -4,7 +4,6 @@ Опреедляет возможности тела серпентида, которые зависят от общего состояния хитина всех конечностей */ - #define CARAPACE_SHELL_ARMORED_BRUTE 0.6 #define CARAPACE_SHELL_ARMORED_BURN 0.8 #define CARAPACE_SHELL_BROKEN_BRUTE 1 @@ -12,14 +11,17 @@ /datum/component/carapace_shell var/mob/living/carbon/human/H - var/state_1_threshold = 0 - var/state_2_threshold = 0 - var/state_3_threshold = 0 - var/armored_cold_threshold = 0 - var/armored_heat_threshold = 0 - var/armored_temp_progression = 0 - -/datum/component/carapace_shell/Initialize(mob/living/carbon/human/caller, treshold_1, treshold_2, treshold_3, threshold_cold, threshold_heat, temp_progression) + var/state_1_threshold + var/state_2_threshold + var/state_3_threshold + var/armored_cold_threshold + var/armored_heat_threshold + var/armored_temp_progression + var/self_repair_cooldown + var/broken_stage = 0 + var/last_time_action = 0 + +/datum/component/carapace_shell/Initialize(mob/living/carbon/human/caller, treshold_1 = 30, treshold_2 = 60, treshold_3 = 90, threshold_cold = 0, threshold_heat = 400, temp_progression = 30, heal_cooldown = 10 MINUTES) if(!istype(caller)) return H = caller @@ -30,58 +32,193 @@ armored_cold_threshold = threshold_cold armored_heat_threshold = threshold_heat armored_temp_progression = temp_progression + self_repair_cooldown = heal_cooldown /datum/component/carapace_shell/RegisterWithParent() RegisterSignal(H, COMSIG_LIVING_LIFE, PROC_REF(process_shell)) + RegisterSignal(H, COMSIG_SURGERY_STOP, PROC_REF(check_surgery_perform)) + RegisterSignal(H, COMSIG_SURGERY_REPAIR, PROC_REF(surgery_carapace_shell_repair)) + RegisterSignal(H, COMSIG_MOB_APPLY_DAMAGE, PROC_REF(update_attacked_time)) /datum/component/carapace_shell/UnregisterFromParent() UnregisterSignal(H, COMSIG_LIVING_LIFE) + UnregisterSignal(H, COMSIG_SURGERY_STOP) + UnregisterSignal(H, COMSIG_SURGERY_REPAIR) + UnregisterSignal(H, COMSIG_MOB_APPLY_DAMAGE) -//Прок на обновление сопротивления урона -/datum/component/carapace_shell/proc/process_shell() +/datum/component/carapace_shell/proc/stage_1_break() + H.dna.species.brute_mod = CARAPACE_SHELL_BROKEN_BRUTE + H.dna.species.burn_mod = CARAPACE_SHELL_BROKEN_BURN + REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") + H.throw_alert("carapace_break", /atom/movable/screen/alert/carapace/break_armor) + broken_stage++ + +/datum/component/carapace_shell/proc/stage_1_repair() + H.dna.species.brute_mod = CARAPACE_SHELL_ARMORED_BRUTE + H.dna.species.burn_mod = CARAPACE_SHELL_ARMORED_BURN + ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") + H.clear_alert("carapace_break") + broken_stage-- + +/datum/component/carapace_shell/proc/stage_2_break() + H.throw_alert("carapace_break", /atom/movable/screen/alert/carapace/break_cloak) + broken_stage++ + +/datum/component/carapace_shell/proc/stage_2_repair() + broken_stage-- + +/datum/component/carapace_shell/proc/stage_3_break() + H.throw_alert("carapace_break", /atom/movable/screen/alert/carapace/break_rig) + H.dna.species.hazard_high_pressure = HAZARD_HIGH_PRESSURE + H.dna.species.warning_high_pressure = WARNING_HIGH_PRESSURE + H.dna.species.warning_low_pressure = WARNING_LOW_PRESSURE + H.dna.species.hazard_low_pressure = HAZARD_LOW_PRESSURE + H.dna.species.cold_level_1 = initial(H.dna.species.cold_level_1) + H.dna.species.cold_level_2 = H.dna.species.cold_level_1 - armored_temp_progression + H.dna.species.cold_level_3 = H.dna.species.cold_level_2 - armored_temp_progression + H.dna.species.heat_level_1 = initial(H.dna.species.heat_level_2) + H.dna.species.heat_level_2 = H.dna.species.heat_level_1 + armored_temp_progression + H.dna.species.heat_level_3 = H.dna.species.heat_level_2 + armored_temp_progression + broken_stage++ + +/datum/component/carapace_shell/proc/stage_3_repair() + H.dna.species.hazard_high_pressure = INFINITY + H.dna.species.warning_high_pressure = INFINITY + H.dna.species.warning_low_pressure = -INFINITY + H.dna.species.hazard_low_pressure = -INFINITY + H.dna.species.cold_level_1 = armored_cold_threshold + H.dna.species.cold_level_2 = H.dna.species.cold_level_1 - armored_temp_progression + H.dna.species.cold_level_3 = H.dna.species.cold_level_2 - armored_temp_progression + H.dna.species.heat_level_1 = armored_heat_threshold + H.dna.species.heat_level_2 = H.dna.species.heat_level_1 + armored_temp_progression + H.dna.species.heat_level_3 = H.dna.species.heat_level_2 + armored_temp_progression + broken_stage-- + +/datum/component/carapace_shell/proc/update_attacked_time() + SIGNAL_HANDLER + last_time_action = world.time + +//Прок на запуск ремонта +/datum/component/carapace_shell/proc/surgery_carapace_shell_repair() + SIGNAL_HANDLER + switch(broken_stage) + if(1) stage_1_repair() + if(2) stage_2_repair() + if(3) stage_3_repair() + +//Прок на проверку состояния панциря +/datum/component/carapace_shell/proc/check_surgery_perform() + SIGNAL_HANDLER var/character_damage = H.get_damage_amount(BRUTE) + H.get_damage_amount(BURN) - var/datum/species/specie = H.dna.species + var/can_perform = FALSE + if(broken_stage > 0) + can_perform = (broken_stage > 0 && character_damage < state_1_threshold) || (broken_stage > 1 && character_damage < state_2_threshold) || (broken_stage > 2 && character_damage < state_3_threshold) + return (can_perform ? SURGERY_STOP : FALSE) +//Прок на обновление состояний панциря +/datum/component/carapace_shell/proc/process_shell() + SIGNAL_HANDLER + var/character_damage = H.get_damage_amount(BRUTE) + H.get_damage_amount(BURN) + var/can_self_repair = world.time - last_time_action > self_repair_cooldown //Потеря брони при первом трешхолде - if(character_damage <= state_1_threshold) - specie.brute_mod = CARAPACE_SHELL_ARMORED_BRUTE - specie.burn_mod = CARAPACE_SHELL_ARMORED_BURN - ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") - H.clear_alert("carapace_break") - else - specie.brute_mod = CARAPACE_SHELL_BROKEN_BRUTE - specie.burn_mod = CARAPACE_SHELL_BROKEN_BURN - REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") - H.throw_alert("carapace_break", /atom/movable/screen/alert/carapace/break_armor) + if(character_damage >= state_1_threshold) + if(broken_stage < 1) + stage_1_break() + else if (can_self_repair && broken_stage < 2) + stage_1_repair() + last_time_action = world.time + + //Потеря стелса при втором трешхолде + if(character_damage >= state_2_threshold) + if(broken_stage < 2) + stage_2_break() + else if (can_self_repair && broken_stage < 3) + stage_2_repair() + last_time_action = world.time + + //Потеря рига при третьем трешхолде + if(character_damage >= state_3_threshold) + if(broken_stage < 3) + stage_3_break() + else if (can_self_repair && broken_stage > 2) + stage_3_repair() + last_time_action = world.time //Потеря стелса при втором трешхолде var/obj/item/organ/internal/kidneys/serpentid/organ = H.get_int_organ("kidneys") - if(character_damage > state_2_threshold) - H.throw_alert("carapace_break", /atom/movable/screen/alert/carapace/break_cloak) + if(broken_stage >= 2) if(istype(organ)) organ.switch_mode(force_off = TRUE) - //Потеря рига при третьем трешхолде - var/cold = armored_cold_threshold - var/heat = armored_heat_threshold - - if(character_damage <= state_3_threshold) - specie.hazard_high_pressure = INFINITY - specie.warning_high_pressure = INFINITY - specie.warning_low_pressure = -INFINITY - specie.hazard_low_pressure = -INFINITY - else - specie.hazard_high_pressure = HAZARD_HIGH_PRESSURE - specie.warning_high_pressure = WARNING_HIGH_PRESSURE - specie.warning_low_pressure = WARNING_LOW_PRESSURE - specie.hazard_low_pressure = HAZARD_LOW_PRESSURE - H.throw_alert("carapace_break", /atom/movable/screen/alert/carapace/break_rig) - cold = initial(specie.cold_level_1) - heat = initial(specie.heat_level_2) - - specie.cold_level_1 = cold - specie.cold_level_2 = specie.cold_level_1 - armored_temp_progression - specie.cold_level_3 = specie.cold_level_2 - armored_temp_progression - specie.heat_level_1 = heat - specie.heat_level_2 = specie.heat_level_1 + armored_temp_progression - specie.heat_level_3 = specie.heat_level_2 + armored_temp_progression +////////////////////////////////////////////////////////////////// +// Хирургия для панциря // +////////////////////////////////////////////////////////////////// +/datum/surgery/bone_repair/carapace_shell + name = "Carapace Integrity Repair" + steps = list( + /datum/surgery_step/generic/cut_open, + /datum/surgery_step/generic/clamp_bleeders, + /datum/surgery_step/glue_bone, + /datum/surgery_step/retract_carapace, + /datum/surgery_step/set_bone, + /datum/surgery_step/finish_carapace, + /datum/surgery_step/generic/cauterize + ) + possible_locs = list(BODY_ZONE_CHEST) + requires_organic_bodypart = TRUE + +/datum/surgery_step/finish_carapace + name = "medicate carapace" + + allowed_tools = list( + TOOL_BONEGEL = 100, + TOOL_SCREWDRIVER = 90 + ) + + preop_sound = list( + TOOL_BONEGEL = 'sound/surgery/organ1.ogg', + /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg', + /obj/item/screwdriver = 'sound/items/screwdriver.ogg' + ) + + can_infect = TRUE + blood_level = SURGERY_BLOODSPREAD_HANDS + + time = 2.4 SECONDS + +/datum/surgery_step/finish_carapace/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message( + "[user] starts to finish mending the damaged carapace in [target]'s [affected.name] with \the [tool].", + "You start to finish mending the damaged carapace in [target]'s [affected.name] with \the [tool].", + chat_message_type = MESSAGE_TYPE_COMBAT + ) + return ..() + +/datum/surgery_step/finish_carapace/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message( + "[user] has mended the damaged carapace in [target]'s [affected.name] with \the [tool].", + "You have mended the damaged carapace in [target]'s [affected.name] with \the [tool].", + chat_message_type = MESSAGE_TYPE_COMBAT + ) + SEND_SIGNAL(target, COMSIG_SURGERY_REPAIR) + return SURGERY_STEP_CONTINUE + +/datum/surgery_step/finish_carapace/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message( + "[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!", + "Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!", + chat_message_type = MESSAGE_TYPE_COMBAT + ) + return SURGERY_STEP_RETRY + +/datum/surgery/bone_repair/carapace_shell/can_start(mob/user, mob/living/carbon/target) + var/can_start = (SEND_SIGNAL(target, COMSIG_SURGERY_STOP) & SURGERY_STOP) + return can_start + +#undef CARAPACE_SHELL_ARMORED_BRUTE +#undef CARAPACE_SHELL_ARMORED_BURN +#undef CARAPACE_SHELL_BROKEN_BRUTE +#undef CARAPACE_SHELL_BROKEN_BURN diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm index dd09299824e2..49140e23cfe1 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm @@ -2,13 +2,6 @@ === Перенос ящиков === Компонент для переноса ящиков карго на мобах. Срабатывает в случае граб-интента, драг-энд-дропа ящика на модель */ - -#define COMSIG_GADOM_UNMOB_LOAD "try_load_cargo" -#define COMSIG_GADOM_UNMOB_UNLOAD "try_unload_cargo" -#define GADOM_BASIC_LOAD_TIMER_CRATE 2 SECONDS - -#define COMSIG_GADOM_UNMOB_CAN_GRAB "block_operation" - //Для отслеживания кто несет объект /atom/movable var/mob/living/carbon/human/crate_carrying_person = null @@ -18,34 +11,7 @@ . = .. () var/mob/living/carbon/human/puppet = src if(puppet.loaded) - puppet.loaded.forceMoveCrate(puppet) - -//Клонированый и изменны прок движения, чтобы не трогать основной -/atom/movable/proc/forceMoveCrate(atom/destination) - var/turf/old_loc = loc - loc = destination.loc //изменение здесь (добавлено .loc) - - if(old_loc) - old_loc.Exited(src, destination) - for(var/atom/movable/AM in old_loc) - AM.Uncrossed(src) - - if(destination) - destination.Entered(src) - for(var/atom/movable/AM in destination) - if(AM == src) - continue - AM.Crossed(src, old_loc) - var/turf/oldturf = get_turf(old_loc) - var/turf/destturf = get_turf(destination) - var/old_z = (oldturf ? oldturf.z : null) - var/dest_z = (destturf ? destturf.z : null) - if(old_z != dest_z) - onTransitZ(old_z, dest_z) - - Moved(old_loc, NONE) - - return TRUE + puppet.loaded.forceMove(puppet.loc) /datum/component/gadom_cargo var/mob/living/carbon/human/carrier = null @@ -55,27 +21,30 @@ carrier = parent /datum/component/gadom_cargo/RegisterWithParent() - RegisterSignal(parent, COMSIG_GADOM_UNMOB_LOAD, PROC_REF(try_load_cargo)) - RegisterSignal(parent, COMSIG_GADOM_UNMOB_UNLOAD, PROC_REF(try_unload_cargo)) - RegisterSignal(parent, COMSIG_GADOM_UNMOB_CAN_GRAB, PROC_REF(block_operation)) + RegisterSignal(parent, COMSIG_GADOM_LOAD, PROC_REF(try_load_cargo)) + RegisterSignal(parent, COMSIG_GADOM_UNLOAD, PROC_REF(try_unload_cargo)) + RegisterSignal(parent, COMSIG_GADOM_CAN_GRAB, PROC_REF(block_operation)) /datum/component/gadom_cargo/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_GADOM_UNMOB_LOAD) - UnregisterSignal(parent, COMSIG_GADOM_UNMOB_UNLOAD) - UnregisterSignal(parent, COMSIG_GADOM_UNMOB_CAN_GRAB) + UnregisterSignal(parent, COMSIG_GADOM_LOAD) + UnregisterSignal(parent, COMSIG_GADOM_UNLOAD) + UnregisterSignal(parent, COMSIG_GADOM_CAN_GRAB) /datum/component/gadom_cargo/proc/block_operation() SIGNAL_HANDLER - var/signal_result = carrier.a_intent == "grab" - return signal_result + return carrier.a_intent == "grab" ? GADOM_CAN_GRAB : FALSE /datum/component/gadom_cargo/proc/try_load_cargo(datum/component_holder, mob/user, atom/movable/AM) + SIGNAL_HANDLER + INVOKE_ASYNC(src, PROC_REF(pre_load), component_holder, user, AM) + +/datum/component/gadom_cargo/proc/pre_load(datum/component_holder, mob/user, mob/AM) if(user.a_intent == "grab") if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, AM) > 1) return - if(!istype(AM)) + if(!istype(AM, /obj/structure/closet/crate/)) return - if(!do_after(user, GADOM_BASIC_LOAD_TIMER_CRATE * user.dna.species.action_mult, FALSE, AM)) + if(!do_after(user, GADOM_BASIC_LOAD_TIMER * user.dna.species.action_mult, FALSE, AM)) return load(AM) @@ -101,13 +70,14 @@ if(!isliving(AM)) AM.crate_carrying_person = carrier - AM.forceMoveCrate(carrier) + AM.forceMove(carrier.loc) carrier.loaded = AM carrier.update_icon() - carrier.throw_alert("gas_holding", /atom/movable/screen/alert/carrying) + carrier.throw_alert("serpentid_holding", /atom/movable/screen/alert/carrying) /datum/component/gadom_cargo/proc/try_unload_cargo() + SIGNAL_HANDLER var/dirn = carrier.dir if(!carrier.loaded) return @@ -124,19 +94,5 @@ step(carrier.loaded, dirn) carrier.loaded.crate_carrying_person = null carrier.loaded = null - carrier.clear_alert("gas_holding") + carrier.clear_alert("serpentid_holding") carrier.update_icon(UPDATE_OVERLAYS) - -//Расширение прока для переноса ящика на моба -/mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) - var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) - if(signal_call) - SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_LOAD, usr, AM) - . = .. () - -//Расширение прока на отстегивание ящика -/datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - var/signal_call = SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_CAN_GRAB) - if(signal_call && H.loaded) - SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_UNLOAD) - . = .. () diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm index 13374f589b7c..ae9e407b5007 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm @@ -3,11 +3,6 @@ Компонент для переноса мобов на мобах. Срабатывает в случае граб-интента, драг-энд-дропа моба на модель (аля стул) */ -#define COMSIG_GADOM_MOB_LOAD "try_load_mob" -#define COMSIG_GADOM_MOB_UNLOAD "try_unload_mob" -#define GADOM_BASIC_LOAD_TIMER_MOB 2 SECONDS -#define COMSIG_GADOM_MOB_CAN_GRAB "block_operation" - /mob/living/carbon/human var/atom/movable/loaded = null var/mob/living/passenger = null @@ -19,19 +14,18 @@ carrier = parent /datum/component/gadom_living/RegisterWithParent() - RegisterSignal(parent, COMSIG_GADOM_MOB_LOAD, PROC_REF(try_load_mob)) - RegisterSignal(parent, COMSIG_GADOM_MOB_UNLOAD, PROC_REF(try_unload_mob)) - RegisterSignal(parent, COMSIG_GADOM_MOB_CAN_GRAB, PROC_REF(block_operation)) + RegisterSignal(parent, COMSIG_GADOM_LOAD, PROC_REF(try_load_mob)) + RegisterSignal(parent, COMSIG_GADOM_UNLOAD, PROC_REF(try_unload_mob)) + RegisterSignal(parent, COMSIG_GADOM_CAN_GRAB, PROC_REF(block_operation)) /datum/component/gadom_living/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_GADOM_MOB_LOAD) - UnregisterSignal(parent, COMSIG_GADOM_MOB_UNLOAD) - UnregisterSignal(parent, COMSIG_GADOM_MOB_CAN_GRAB) + UnregisterSignal(parent, COMSIG_GADOM_LOAD) + UnregisterSignal(parent, COMSIG_GADOM_UNLOAD) + UnregisterSignal(parent, COMSIG_GADOM_CAN_GRAB) /datum/component/gadom_living/proc/block_operation(datum/component_holder) SIGNAL_HANDLER - var/signal_result = carrier.a_intent == "grab" - return signal_result + return carrier.a_intent == "grab" ? GADOM_CAN_GRAB : FALSE /datum/component/gadom_living/proc/try_load_mob(datum/component_holder, mob/user, mob/target) SIGNAL_HANDLER @@ -43,7 +37,7 @@ return if(!istype(target)) return - if((do_after(puppet, GADOM_BASIC_LOAD_TIMER_MOB * puppet.dna.species.action_mult, FALSE, target))) //Асинх не помогает (?!) + if((do_after(puppet, GADOM_BASIC_LOAD_TIMER * puppet.dna.species.action_mult, FALSE, target))) //Асинх не помогает (?!) load(puppet, target) /datum/component/gadom_living/proc/load(mob/living/carbon/human/puppet, atom/movable/AM) @@ -60,7 +54,7 @@ puppet.loaded = AM puppet.update_icon() - puppet.throw_alert("gas_holding", /atom/movable/screen/alert/carrying) + puppet.throw_alert("serpentid_holding", /atom/movable/screen/alert/carrying) /datum/component/gadom_living/proc/load_mob(mob/living/carbon/human/puppet, mob/living/M) puppet.can_buckle = TRUE @@ -82,7 +76,7 @@ carrier.unbuckle_all_mobs() carrier.can_buckle = TRUE carrier.update_icon(UPDATE_OVERLAYS) - carrier.clear_alert("gas_holding") + carrier.clear_alert("serpentid_holding") //Обновление при отстегивании для восстановления слоя моба /mob/living/carbon/human/post_unbuckle_mob(mob/living/M) @@ -91,29 +85,3 @@ passenger = null M.layer = initial(M.layer) M.pixel_y = initial(M.pixel_y) - -//Расширение для пристегивания моба -/mob/MouseDrop(mob/M as mob, src_location, over_location, src_control, over_control, params) - if((M != usr) || !istype(M)) - ..() - return - if(usr == src) - return - if(!Adjacent(usr)) - return - if(IsFrozen(src) && !is_admin(usr)) - to_chat(usr, "Interacting with admin-frozen players is not permitted.") - return - var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB) - if(signal_call) - SEND_SIGNAL(usr, COMSIG_GADOM_MOB_LOAD, usr, src) - return - . = .. () - -/datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - var/signal_call = SEND_SIGNAL(H, COMSIG_GADOM_MOB_CAN_GRAB) - if(signal_call && H.passenger) - SEND_SIGNAL(H, COMSIG_GADOM_MOB_UNLOAD, M) - . = .. () - - diff --git a/modular_ss220/species/_components/implants/paired_implants.dm b/modular_ss220/species/_components/implants/paired_implants.dm index 8ff46edc14f4..283f0e2e28f5 100644 --- a/modular_ss220/species/_components/implants/paired_implants.dm +++ b/modular_ss220/species/_components/implants/paired_implants.dm @@ -3,9 +3,6 @@ Элемент дял парных имплантов, который позволяет их синхронную активацию и скрытие второй кнопки (1 кнопка на 2 импланта) */ -#define COMSIG_DOUBLEIMP_SYNCHONIZE "synchonize_implants" -#define COMSIG_DOUBLEIMP_ACTION_REBUILD "action_rebuild" - /datum/element/paired_implants /datum/element/paired_implants/Attach(obj/item/organ/internal/cyberimp/arm/target) @@ -19,12 +16,15 @@ return ..() /datum/element/paired_implants/proc/action_rebuild(processed_implant) + SIGNAL_HANDLER var/obj/item/organ/internal/cyberimp/arm/pair_implant = null var/obj/item/organ/internal/cyberimp/arm/assigned_implant = processed_implant var/list/organs = assigned_implant.owner.internal_organs for(var/obj/item/organ/internal/O in organs) if(istype(O, /obj/item/organ/internal/cyberimp/arm) && assigned_implant != O) pair_implant = O + break + var/datum/action/action_candidate = assigned_implant.actions[1] if(!isnull(pair_implant)) if(action_candidate in assigned_implant.owner.actions) @@ -35,12 +35,14 @@ assigned_implant.owner.update_action_buttons() /datum/element/paired_implants/proc/synchonize_implants(processed_implant) + SIGNAL_HANDLER var/obj/item/organ/internal/cyberimp/arm/pair_implant = null var/obj/item/organ/internal/cyberimp/arm/assigned_implant = processed_implant var/list/organs = assigned_implant.owner.internal_organs for(var/obj/item/organ/internal/O in organs) if(istype(O, /obj/item/organ/internal/cyberimp/arm) && istype(assigned_implant, /obj/item/organ/internal/cyberimp/arm) && assigned_implant != O) pair_implant = O + break if(!isnull(pair_implant)) var/main_implant_retracted = !assigned_implant.holder || (assigned_implant.holder in assigned_implant) @@ -57,19 +59,3 @@ break else pair_implant.Retract() - -/obj/item/organ/internal/cyberimp/arm/Retract() - . = .. () - SEND_SIGNAL(src, COMSIG_DOUBLEIMP_SYNCHONIZE) - -/obj/item/organ/internal/cyberimp/arm/Extend() - . = .. () - SEND_SIGNAL(src, COMSIG_DOUBLEIMP_SYNCHONIZE) - -/obj/item/organ/internal/cyberimp/arm/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) - . = .. () - SEND_SIGNAL(src, COMSIG_DOUBLEIMP_ACTION_REBUILD) - -/obj/item/organ/internal/cyberimp/arm/remove(mob/living/carbon/M, special = 0) - . = .. () - SEND_SIGNAL(src, COMSIG_DOUBLEIMP_ACTION_REBUILD) diff --git a/modular_ss220/species/_components/organs/heart_defib.dm b/modular_ss220/species/_components/organs/heart_defib.dm index f3b5e037c930..edd7b66139e1 100644 --- a/modular_ss220/species/_components/organs/heart_defib.dm +++ b/modular_ss220/species/_components/organs/heart_defib.dm @@ -17,23 +17,26 @@ . = ..() /datum/component/defib_heart/process() - if(!(owner)) + if(!owner) var/obj/item/organ/internal/limb = parent owner = limb.owner - else if(owner?.get_chemical_value(chemical_id) >= 0 && owner.stat == DEAD && owner.get_damage_amount() <= AUTO_DEFIBRILATION_THRESHOLD) - var/defib_chance = owner?.get_chemical_value(chemical_id) - var/datum/reagent/chem = owner?.get_chemical_path(chemical_id) - if(chem) - chem.holder.remove_reagent(chemical_id, owner?.get_chemical_value(chemical_id)) - if(prob(defib_chance)) - owner.setOxyLoss(0) - owner.set_heartattack(FALSE) - owner.update_revive() - owner.KnockOut() - owner.Paralyse(10 SECONDS) - owner.emote("gasp") - SEND_SIGNAL(owner, COMSIG_LIVING_MINOR_SHOCK, 100) - owner.med_hud_set_health() - owner.med_hud_set_status() - add_attack_logs(owner, owner, "Revived by heart") - SSblackbox.record_feedback("tally", "players_revived", 1, "self_revived") + if(!owner) + qdel(src) + if(owner?.get_chemical_value(chemical_id) < 0 || owner.stat == DEAD || owner.get_damage_amount() > AUTO_DEFIBRILATION_THRESHOLD) + return + var/defib_chance = owner?.get_chemical_value(chemical_id) + var/datum/reagent/chem = owner?.get_chemical_path(chemical_id) + if(chem) + chem.holder.remove_reagent(chemical_id, owner?.get_chemical_value(chemical_id)) + if(prob(defib_chance)) + owner.setOxyLoss(0) + owner.set_heartattack(FALSE) + owner.update_revive() + owner.KnockOut() + owner.Paralyse(10 SECONDS) + owner.emote("gasp") + SEND_SIGNAL(owner, COMSIG_LIVING_MINOR_SHOCK, 100) + owner.med_hud_set_health() + owner.med_hud_set_status() + add_attack_logs(owner, owner, "Revived by heart") + SSblackbox.record_feedback("tally", "players_revived", 1, "self_revived") diff --git a/modular_ss220/species/_components/organs/organ_actions_component.dm b/modular_ss220/species/_components/organs/organ_actions_component.dm index d8f05a6882ae..e47963384d3f 100644 --- a/modular_ss220/species/_components/organs/organ_actions_component.dm +++ b/modular_ss220/species/_components/organs/organ_actions_component.dm @@ -2,9 +2,6 @@ Компонент на органы, который бы позволяли объединять многочисленные действия органов в одну радиальную кнопку */ -#define COMSIG_ORGAN_GROUP_ACTION_CALL "open_actions" -#define COMSIG_ORGAN_GROUP_ACTION_RESORT "resort_buttons" - /datum/component/organ_action var/obj/item/organ/internal/organ var/radial_additive_state @@ -16,7 +13,7 @@ radial_additive_icon = icon /datum/component/organ_action/RegisterWithParent() - RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL, PROC_REF(open_actions)) + RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL, PROC_REF(call_actions)) RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_RESORT, PROC_REF(resort_buttons)) /datum/component/organ_action/UnregisterFromParent() @@ -28,6 +25,10 @@ return (organ.owner && organ.owner == user && organ.owner.stat != DEAD && (organ in organ.owner.internal_organs)) //Прок, вызывается непосредственно в кнопке действия органа +/datum/component/organ_action/proc/call_actions(mob/user) + SIGNAL_HANDLER + INVOKE_ASYNC(src, PROC_REF(open_actions), user) + /datum/component/organ_action/proc/open_actions(mob/user) var/list/choices = list() var/list/organs_list = list() @@ -77,15 +78,3 @@ /obj/item/organ/internal var/radial_action_state var/radial_action_icon - -/obj/item/organ/internal/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) - . = .. () - SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) - -/obj/item/organ/internal/remove(mob/living/carbon/M, special = 0) - . = .. () - SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) - -/obj/item/organ/internal/ui_action_click() - SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_CALL, user = owner) - diff --git a/modular_ss220/species/_components/organs/organ_chemistry.dm b/modular_ss220/species/_components/organs/organ_chemistry.dm index 6913de41a745..23b3218e9a89 100644 --- a/modular_ss220/species/_components/organs/organ_chemistry.dm +++ b/modular_ss220/species/_components/organs/organ_chemistry.dm @@ -2,23 +2,24 @@ Компонент на органы для работы с запасами химикатов */ -#define COMSIG_ORGAN_CHEM_CALL "chems_process" - /datum/component/chemistry_organ var/obj/item/organ/internal/organ var/chemical_id = "" + var/consuption_count = 0 /datum/component/chemistry_organ/Initialize(reagent_id) organ = parent chemical_id = reagent_id /datum/component/chemistry_organ/RegisterWithParent() - RegisterSignal(parent, COMSIG_ORGAN_CHEM_CALL, PROC_REF(chems_process)) + RegisterSignal(parent, COMSIG_ORGAN_ON_LIFE, PROC_REF(chems_process)) + RegisterSignal(parent, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, PROC_REF(chems_change_consuption)) /datum/component/chemistry_organ/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_ORGAN_CHEM_CALL) + UnregisterSignal(parent, COMSIG_ORGAN_ON_LIFE) -/datum/component/chemistry_organ/proc/chems_process(holder, consuption_count) +/datum/component/chemistry_organ/proc/chems_process(holder) + SIGNAL_HANDLER if(isnull(organ.owner)) return TRUE var/chemical_volume = organ.owner?.get_chemical_value(chemical_id) @@ -30,6 +31,10 @@ if(!isnull(chemical) && consuption_count > 0) chemical.holder.remove_reagent(chemical_id, consuption_count) +/datum/component/chemistry_organ/proc/chems_change_consuption(holder, new_consuption_count) + SIGNAL_HANDLER + consuption_count = new_consuption_count + //Переписываемый прок, который вызывается когда заканчивается запас химического препарата /obj/item/organ/internal/proc/switch_mode(force_off = FALSE) return diff --git a/modular_ss220/species/_components/organs/organ_toxins.dm b/modular_ss220/species/_components/organs/organ_toxins.dm index 8160faaa725a..ca66bec3bba6 100644 --- a/modular_ss220/species/_components/organs/organ_toxins.dm +++ b/modular_ss220/species/_components/organs/organ_toxins.dm @@ -5,8 +5,6 @@ #define TOX_ORGANS_PROCESS 1 -#define COMSIG_ORGAN_TOX_HANDLE "tox_handle_organ" - /datum/component/organ_toxin_damage var/obj/item/organ/internal/organ = null var/toxin_damage_rate @@ -22,6 +20,7 @@ UnregisterSignal(parent, COMSIG_ORGAN_TOX_HANDLE) /datum/component/organ_toxin_damage/proc/tox_handle_organ() + SIGNAL_HANDLER if(organ.status & ORGAN_DEAD) return if(organ.owner?.get_damage_amount(TOX)) @@ -34,7 +33,4 @@ else if(target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) - -/obj/item/organ/internal/process() - SEND_SIGNAL(src, COMSIG_ORGAN_TOX_HANDLE) - . = .. () +#undef TOX_ORGANS_PROCESS diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index 0c012e7a1f00..bda74a8a6ab1 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -2,11 +2,10 @@ #include "_code/chat_offset.dm" #include "_code/common.dm" -#include "_code/copy_butt.dm" #include "_code/update_icons.dm" #include "_code/species.dm" +#include "_code/reagents.dm" -#include "_components/reagents.dm" #include "_components/appearance/mob_overlay_shift.dm" #include "_components/attacking/double_attack.dm" #include "_components/attacking/pair_attack.dm" diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 80953c4ea100..ceb7edd302bf 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -18,15 +18,3 @@ #include "code/organs/internal/implants/serpentid_mantis_blades.dm" #include "code/organs/internal/implants/serpentid_mantis_chest.dm" - -#include "code/organs/internal/implants/unused/serpentid_mantis_hand.dm" -#include "code/organs/internal/implants/unused/serpentid_mantis_implant.dm" -// BEGIN_INTERNALS -// END_INTERNALS -// BEGIN_FILE_DIR -#define FILE_DIR . -// END_FILE_DIR -// BEGIN_PREFERENCES -// END_PREFERENCES -// BEGIN_INCLUDE -// END_INCLUDE diff --git a/modular_ss220/species/serpentids/code/_defines/alerts.dm b/modular_ss220/species/serpentids/code/_defines/alerts.dm index 21ac2d2a467f..f1e45359e243 100644 --- a/modular_ss220/species/serpentids/code/_defines/alerts.dm +++ b/modular_ss220/species/serpentids/code/_defines/alerts.dm @@ -19,15 +19,15 @@ /atom/movable/screen/alert/carapace/break_armor/Click() if(isliving(usr) && ..()) - to_chat(usr, "Вы понесли значительный урон. Обратитесь в мед, чтобы восстановить свою защиту тела.") + to_chat(usr, span_notice("Вы понесли значительный урон. Обратитесь в мед, чтобы восстановить свою защиту тела.")) /atom/movable/screen/alert/carapace/break_cloak/Click() if(isliving(usr) && ..()) - to_chat(usr, "Вы понесли крупный урон. Обратитесь в мед, чтобы восстановить свою возможность маскировки.") + to_chat(usr, span_notice("Вы понесли крупный урон. Обратитесь в мед, чтобы восстановить свою возможность маскировки.")) /atom/movable/screen/alert/carapace/break_rig/Click() if(isliving(usr) && ..()) - to_chat(usr, "Вы понесли критический урон. Обратитесь в мед, чтобы восстановить герметичность панциря.") + to_chat(usr, span_notice("Вы понесли критический урон. Обратитесь в мед, чтобы восстановить герметичность панциря.")) /atom/movable/screen/alert/carrying name = "Перенос" @@ -35,7 +35,3 @@ icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' icon_state = "holding" -/atom/movable/screen/alert/carrying/Click() - if(isliving(usr) && ..()) - SEND_SIGNAL(usr, COMSIG_GADOM_MOB_UNLOAD) - SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_UNLOAD) diff --git a/modular_ss220/species/serpentids/code/mob/emotes.dm b/modular_ss220/species/serpentids/code/mob/emotes.dm index 6ea995ee2a9b..353b7dc98821 100644 --- a/modular_ss220/species/serpentids/code/mob/emotes.dm +++ b/modular_ss220/species/serpentids/code/mob/emotes.dm @@ -1,34 +1,34 @@ -#define EMOTE_HUMAN_GBSROAR "Рычать" -#define EMOTE_HUMAN_GBSHISS "Шипеть" -#define EMOTE_HUMAN_GBSWIGGLE "Шевелить усиками" +#define EMOTE_HUMAN_SERPENTIDROAR "Рычать" +#define EMOTE_HUMAN_SERPENTIDHISS "Шипеть" +#define EMOTE_HUMAN_SERPENTIDWIGGLE "Шевелить усиками" -/mob/living/carbon/human/proc/emote_gasroar() +/mob/living/carbon/human/proc/emote_serpentidroar() set name = "< " + EMOTE_HUMAN_ROAR + " >" set category = "Эмоции" - emote("gasroar", intentional = TRUE) + emote("serpentidroar", intentional = TRUE) -/mob/living/carbon/human/proc/emote_gashiss() +/mob/living/carbon/human/proc/emote_serpentidhiss() set name = "< " + EMOTE_HUMAN_HISS + " >" set category = "Эмоции" - emote("gashiss", intentional = TRUE) + emote("serpentidhiss", intentional = TRUE) -/mob/living/carbon/human/proc/emote_gaswiggles() +/mob/living/carbon/human/proc/emote_serpentidwiggles() set name = "< " + EMOTE_HUMAN_WIGGLES + " >" set category = "Эмоции" - emote("gaswiggles", intentional = TRUE) + emote("serpentidwiggles", intentional = TRUE) -/datum/emote/living/carbon/human/gasroar - name = EMOTE_HUMAN_GBSROAR +/datum/emote/living/carbon/human/serpentidroar + name = EMOTE_HUMAN_SERPENTIDROAR -/datum/emote/living/carbon/human/gashiss - name = EMOTE_HUMAN_GBSHISS +/datum/emote/living/carbon/human/serpentidhiss + name = EMOTE_HUMAN_SERPENTIDHISS -/datum/emote/living/carbon/human/gaswiggles - name = EMOTE_HUMAN_GBSWIGGLE +/datum/emote/living/carbon/human/serpentidwiggles + name = EMOTE_HUMAN_SERPENTIDWIGGLE -/datum/emote/living/carbon/human/gasroar - key = "gasroar" - key_third_person = "gasroar" +/datum/emote/living/carbon/human/serpentidroar + key = "serpentidroar" + key_third_person = "serpentidroar" message = "утробно рычит." message_mime = "бесшумно рычит." message_param = "утробно рычит на %t." @@ -38,13 +38,13 @@ emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE age_based = TRUE -/datum/emote/living/carbon/human/gasroar/get_sound(mob/living/user) +/datum/emote/living/carbon/human/serpentidroar/get_sound(mob/living/user) return pick( 'modular_ss220/species/serpentids/sounds/serpentid_roar.ogg') -/datum/emote/living/carbon/human/gashiss - key = "gashiss" - key_third_person = "gashisses" +/datum/emote/living/carbon/human/serpentidhiss + key = "serpentidhiss" + key_third_person = "serpentidhisses" message = "шипит." message_param = "шипит на %t." species_type_whitelist_typecache = list(/datum/species/serpentid) @@ -53,9 +53,9 @@ sound = "modular_ss220/species/serpentids/sounds/serpentid_hiss.ogg" muzzled_noises = list("weak hissing") -/datum/emote/living/carbon/human/gaswiggles - key = "gaswiggles" - key_third_person = "gaswiggles" +/datum/emote/living/carbon/human/serpentidwiggles + key = "serpentidwiggles" + key_third_person = "serpentidwiggles" message = "шевелит усиками." message_param = "шевелит усиками в сторону %t." cooldown = 5 SECONDS @@ -66,14 +66,14 @@ muzzled_noises = list("слабо") sound = 'modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg' -/datum/keybinding/emote/carbon/human/gasroar - linked_emote = /datum/emote/living/carbon/human/gasroar - name = EMOTE_HUMAN_GBSROAR +/datum/keybinding/emote/carbon/human/serpentidroar + linked_emote = /datum/emote/living/carbon/human/serpentidroar + name = EMOTE_HUMAN_SERPENTIDROAR -/datum/keybinding/emote/carbon/human/gashiss - linked_emote = /datum/emote/living/carbon/human/gashiss - name = EMOTE_HUMAN_GBSHISS +/datum/keybinding/emote/carbon/human/serpentidhiss + linked_emote = /datum/emote/living/carbon/human/serpentidhiss + name = EMOTE_HUMAN_SERPENTIDHISS -/datum/keybinding/emote/carbon/human/gaswiggles - linked_emote = /datum/emote/living/carbon/human/gaswiggles - name = EMOTE_HUMAN_GBSWIGGLE +/datum/keybinding/emote/carbon/human/serpentidwiggles + linked_emote = /datum/emote/living/carbon/human/serpentidwiggles + name = EMOTE_HUMAN_SERPENTIDWIGGLE diff --git a/modular_ss220/species/serpentids/code/mob/language.dm b/modular_ss220/species/serpentids/code/mob/language.dm index 1673d64e3d74..ccf21b5704e6 100644 --- a/modular_ss220/species/serpentids/code/mob/language.dm +++ b/modular_ss220/species/serpentids/code/mob/language.dm @@ -15,5 +15,4 @@ new_name = capitalize(pick(GLOB.first_names_female)) else new_name = capitalize(pick(GLOB.first_names_male)) - new_name += " [rand(10000)]" return new_name diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 9f37af29358a..8d8f4f58110c 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -48,8 +48,6 @@ "brain" = /obj/item/organ/internal/brain/serpentid, "eyes" = /obj/item/organ/internal/eyes/serpentid, "ears" = /obj/item/organ/internal/ears/serpentid, - //"l_hand" = /obj/item/organ/internal/cyberimp/arm/toolset/mantisblade/l, - //"r_hand" = /obj/item/organ/internal/cyberimp/arm/toolset/mantisblade, "chest" = /obj/item/organ/internal/cyberimp/chest/serpentid_blades, ) @@ -172,9 +170,9 @@ H.AddComponent(/datum/component/mob_overlay_shift, shift_data) H.AddComponent(/datum/component/gadom_living) H.AddComponent(/datum/component/gadom_cargo) - H.verbs |= /mob/living/carbon/human/proc/emote_gasroar - H.verbs |= /mob/living/carbon/human/proc/emote_gashiss - H.verbs |= /mob/living/carbon/human/proc/emote_gaswiggles + H.verbs |= /mob/living/carbon/human/proc/emote_serpentidroar + H.verbs |= /mob/living/carbon/human/proc/emote_serpentidhiss + H.verbs |= /mob/living/carbon/human/proc/emote_serpentidwiggles H.verbs -= /mob/living/carbon/human/verb/emote_cough H.verbs -= /mob/living/carbon/human/verb/emote_sneeze H.verbs -= /mob/living/carbon/human/verb/emote_sniff @@ -185,9 +183,9 @@ /datum/species/serpentid/on_species_loss(mob/living/carbon/human/H) ..() - H.verbs -= /mob/living/carbon/human/proc/emote_gasroar - H.verbs -= /mob/living/carbon/human/proc/emote_gashiss - H.verbs -= /mob/living/carbon/human/proc/emote_gaswiggles + H.verbs -= /mob/living/carbon/human/proc/emote_serpentidroar + H.verbs -= /mob/living/carbon/human/proc/emote_serpentidhiss + H.verbs -= /mob/living/carbon/human/proc/emote_serpentidwiggles H.verbs |= /mob/living/carbon/human/verb/emote_cough H.verbs |= /mob/living/carbon/human/verb/emote_sneeze H.verbs |= /mob/living/carbon/human/verb/emote_sniff @@ -222,8 +220,8 @@ . = .. () //Расширение для действий органов серпентидов -/datum/action/item_action/organ_action/toggle/gas +/datum/action/item_action/organ_action/toggle/serpentid -/datum/action/item_action/organ_action/toggle/gas/New(Target) +/datum/action/item_action/organ_action/toggle/serpentid/New(Target) ..() - name = "GAS organ selection" + name = "serpentid organ selection" diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm index 276eabe7399b..ce2eec22d822 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm @@ -16,7 +16,7 @@ encased = CARAPACE_ENCASE_WORD actions_types = list(/datum/action/item_action/organ_action/toggle) action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_eyes_0") + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "serpentid_eyes_0") var/eye_shielded = FALSE /obj/item/organ/external/head/carapace/Initialize(mapload) @@ -26,10 +26,10 @@ /obj/item/organ/external/head/carapace/ui_action_click() var/obj/item/organ/internal/eyes/E = owner.get_int_organ(/obj/item/organ/internal/eyes) eye_shielded = !eye_shielded - E.flash_protect = eye_shielded ? FLASH_PROTECTION_WELDER : initial(E.flash_protect) - E.tint = eye_shielded ? FLASH_PROTECTION_WELDER : initial(E.tint) + E.flash_protect = eye_shielded ? FLASH_PROTECTION_WELDER : E::flash_protect + E.tint = eye_shielded ? FLASH_PROTECTION_WELDER : E::tint owner.update_sight() for(var/datum/action/item_action/T in actions) - T.button_overlay_icon_state ="gas_eyes_[eye_shielded]" + T.button_overlay_icon_state ="serpentid_eyes_[eye_shielded]" T.UpdateButtons() diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm index aa8ecf11e8da..378a2d061f6d 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm @@ -1,4 +1,4 @@ -///Хитиновые конечности = прочее +///Хитиновые конечности - прочее /obj/item/organ/external/groin/carapace min_broken_damage = 40 encased = CARAPACE_ENCASE_WORD diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm index b8959d15a10c..2949e48ce530 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm @@ -8,7 +8,7 @@ desc = "Biological melee weapon. Sharp and durable. It can cut off some heads, or maybe not..." origin_tech = null force = 11 - armour_penetration_flat = 3 + armour_penetration_flat = 30 tool_behaviour = TOOL_SAW var/stamina_constant = 2 var/stamina_coefficient = 0.5 diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 22d05c986142..50b7ff161d15 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -7,7 +7,7 @@ actions_types = list(/datum/action/item_action/organ_action/toggle/switch_blades) contents = newlist(/obj/item/kitchen/knife/combat/serpentblade,/obj/item/kitchen/knife/combat/serpentblade) action_icon = list(/datum/action/item_action/organ_action/toggle/switch_blades = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle/switch_blades = "gas_hand_act") + action_icon_state = list(/datum/action/item_action/organ_action/toggle/switch_blades = "serpentid_hand_act") var/obj/item/holder_l = null var/icon_file = 'modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi' var/new_icon_state = "blades_0" @@ -22,43 +22,27 @@ name = "Switch Threat Mode" desc = "Switch your stance to show other your intentions" button_overlay_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' - button_overlay_icon_state = "gas_hand_act" + button_overlay_icon_state = "serpentid_hand_act" /obj/item/organ/internal/cyberimp/chest/serpentid_blades/on_life() . = ..() if(blades_active) - owner.update_body() var/isleft = owner.hand var/obj/item/item = (isleft ? owner.get_inactive_hand() : owner.get_active_hand()) if(!istype(item, /obj/item/grab)) owner.drop_r_hand() -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/insert(mob/living/carbon/M, special, dont_remove_slot) +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/Initialize(mapload) . = .. () - if(owner && owner.real_name != "unknown") - owner.update_body() - else - spawn(1) - if(owner && owner.real_name != "unknown") - owner.update_body() + addtimer(CALLBACK(src, PROC_REF(update_overlays_blades)), 1 SECONDS) -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/remove(mob/living/carbon/M, special, dont_remove_slot) - if(owner && owner.real_name != "unknown") - owner.update_body() - else - spawn(1) - if(owner && owner.real_name != "unknown") - owner.update_body() +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/insert(mob/living/carbon/M, special, dont_remove_slot) . = .. () + addtimer(CALLBACK(src, PROC_REF(update_overlays_blades)), 1 SECONDS) -/mob/living/carbon/human/proc/update_blades_overlays() - var/obj/item/organ/internal/cyberimp/chest/serpentid_blades/target_implant = get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades) - if(target_implant) - target_implant.update_icon(UPDATE_OVERLAYS) - -/mob/living/carbon/human/update_body(rebuild_base = FALSE) +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/remove(mob/living/carbon/M, special, dont_remove_slot) + update_overlays() . = .. () - update_blades_overlays() /obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() if(crit_fail || (!holder_l && !length(contents))) @@ -71,6 +55,9 @@ holder_l = null Extend() +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/update_overlays_blades() + update_overlays() + /obj/item/organ/internal/cyberimp/chest/serpentid_blades/update_overlays() . = .. () if(old_overlay) @@ -118,7 +105,7 @@ blades_active = TRUE playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) new_icon_state = "blades_1" - owner.update_body() + update_overlays() return TRUE /obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Retract() @@ -131,7 +118,7 @@ blades_active = FALSE playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) new_icon_state = "blades_0" - owner.update_body() + update_overlays() //Проки на обработку при поднятом клинке /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) //Handles any species-specific attackhand events. diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_hand.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_hand.dm deleted file mode 100644 index 60aab553da90..000000000000 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_hand.dm +++ /dev/null @@ -1,21 +0,0 @@ -/obj/item/organ/internal/cyberimp/arm/toolset/mantisblade - name = "mantis blade implant right" - desc = "A blade designed to be hidden just beneath the skin. The brain is directly linked to this bad boy, allowing it to spring into action." - contents = newlist(/obj/item/kitchen/knife/combat/cyborg) - action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/items_cyborg.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "knife") - origin_tech = "biotech=6;" - var/can_work_in_pair = TRUE - var/state_active = FALSE - parent_organ = "r_arm" - slot = "r_arm_device" - emp_proof = TRUE - -/obj/item/organ/internal/cyberimp/arm/toolset/mantisblade/l - name = "mantis blade implant left" - parent_organ = "l_arm" - slot = "l_arm_device" - -/obj/item/organ/internal/cyberimp/arm/toolset/mantisblade/Initialize(mapload) - . = ..() - AddElement(/datum/element/paired_implants, src) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm deleted file mode 100644 index 015b97fb2395..000000000000 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm +++ /dev/null @@ -1,143 +0,0 @@ -//===Клинки через грудной имплант=== -/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms - name = "neuronodule of blades" - desc = "control organ of upper blades" - icon_state = "chest_implant" - parent_organ = "chest" - actions_types = list(/datum/action/item_action/organ_action/toggle/switch_blades) - contents = newlist(/obj/item/kitchen/knife/combat/serpentblade,/obj/item/kitchen/knife/combat/serpentblade) - action_icon = list(/datum/action/item_action/organ_action/toggle/switch_blades = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle/switch_blades = "gas_hand_act") - var/obj/item/holder_l = null - var/obj/item/holder_r = null - var/icon_file = 'modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi' - var/new_icon_state = "blades_0" - var/mutable_appearance/old_overlay - var/mutable_appearance/new_overlay - var/overlay_color - emp_proof = TRUE - -/datum/action/item_action/organ_action/toggle/switch_blades - name = "Switch Threat Mode" - desc = "Switch your stance to show other your intentions" - button_overlay_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' - button_overlay_icon_state = "gas_hand_act" - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/insert(mob/living/carbon/M, special, dont_remove_slot) - . = .. () - if(owner && owner.real_name != "unknown") - owner.update_body() - else - spawn(1) - if(owner && owner.real_name != "unknown") - owner.update_body() - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/remove(mob/living/carbon/M, special, dont_remove_slot) - if(owner && owner.real_name != "unknown") - owner.update_body() - else - spawn(1) - if(owner && owner.real_name != "unknown") - owner.update_body() - . = .. () - -/mob/living/carbon/human/proc/update_blades__arms_overlays() - var/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/target_implant = get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms) - if(target_implant) - target_implant.update_icon(UPDATE_OVERLAYS) - -/mob/living/carbon/human/update_body(rebuild_base = FALSE) - . = .. () - update_blades__arms_overlays() - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/ui_action_click() - if(crit_fail || (!holder_l && !length(contents)) && (!holder_r && !length(contents))) - to_chat(owner, "The implant doesn't respond. It seems to be broken...") - return - var/extended = holder_l && !(holder_l in src) && holder_r && !(holder_r in src) - if(extended) - Retract() - else if(do_after(owner, 2 SECONDS * (owner.dna.species.action_mult), FALSE, owner)) - holder_l = null - holder_r = null - Extend(contents[1],contents[2]) - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/update_overlays() - . = .. () - if(old_overlay) - owner.overlays -= old_overlay - if(owner) - var/icon/blades_icon = new/icon("icon" = icon_file, "icon_state" = new_icon_state) - var/obj/item/organ/external/chest/torso = owner.get_limb_by_name("chest") - var/body_color = torso.s_col - blades_icon.Blend(body_color, ICON_ADD) - new_overlay = mutable_appearance(blades_icon) - old_overlay = new_overlay - owner.overlays += new_overlay - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/proc/check_cuffs() - if(owner.handcuffed) - to_chat(owner, "The handcuffs interfere with [src]!") - return TRUE - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/proc/Extend(obj/item/item_l, obj/item/item_r) - if(!(item_l in src) && !(item_r in src) && check_cuffs()) - return - if(status & ORGAN_DEAD) - return - - holder_l = item_l - holder_r = item_r - - holder_l.flags |= NODROP - holder_l.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - holder_l.slot_flags = null - holder_l.w_class = WEIGHT_CLASS_HUGE - holder_l.materials = null - - holder_r.flags |= NODROP - holder_r.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - holder_r.slot_flags = null - holder_r.w_class = WEIGHT_CLASS_HUGE - holder_r.materials = null - - for(var/arm_slot in list(SLOT_HUD_RIGHT_HAND, SLOT_HUD_LEFT_HAND)) - var/obj/item/arm_item = owner.get_item_by_slot(arm_slot) - - if(arm_item) - if(istype(arm_item, /obj/item/offhand)) - var/obj/item/offhand_arm_item = owner.get_active_hand() - to_chat(owner, "Your hands are too encumbered wielding [offhand_arm_item] to deploy [src]!") - return - else if(!owner.unEquip(arm_item)) - to_chat(owner, "Your [arm_item] interferes with [src]!") - return - else - to_chat(owner, "You drop [arm_item] to activate [src]!") - - if(!owner.put_in_l_hand(holder_l)) - return - if(!owner.put_in_r_hand(holder_r)) - return - - playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) - new_icon_state = "blades_1" - owner.update_body() - return TRUE - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/proc/Retract() - if((!holder_l || (holder_l in src)) && (!holder_r || (holder_r in src))) - return - if(status & ORGAN_DEAD) - return - - owner.unEquip(holder_r, 1) - owner.unEquip(holder_l, 1) - holder_r.forceMove(src) - holder_l.forceMove(src) - holder_r = null - holder_l = null - playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) - new_icon_state = "blades_0" - owner.update_body() -//==Конец клинков через грудной имплант== diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm index f0be21f0443e..4669c5aa7f9b 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm @@ -2,7 +2,7 @@ /obj/item/organ/internal/brain/serpentid name = "serpentid brain" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' - icon_state = "brain1" + icon_state = "brain" /obj/item/organ/internal/vocal_cords/serpentid name = "serpentid vocal cords" diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 44183136fb37..4f5cc0c6105b 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -4,40 +4,36 @@ icon = 'modular_ss220/species/serpentids/icons/organs.dmi' icon_state = "ears" desc = "An organ that can sense vibrations." - actions_types = list(/datum/action/item_action/organ_action/toggle/gas) - action_icon = list(/datum/action/item_action/organ_action/toggle/gas = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle/gas = "gas_abilities") - var/decay_rate = 0.2 - var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.05 - var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EARS - var/chemical_id = SERPENTID_CHEM_REAGENT_ID + actions_types = list(/datum/action/item_action/organ_action/toggle/serpentid) + action_icon = list(/datum/action/item_action/organ_action/toggle/serpentid = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle/serpentid = "serpentid_abilities") + var/chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_EARS var/active = FALSE - radial_action_state = "gas_hear" + radial_action_state = "serpentid_hear" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' /obj/item/organ/internal/ears/serpentid/Initialize(mapload) . = ..() - AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) - AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) - AddComponent(/datum/component/chemistry_organ, chemical_id) + AddComponent(/datum/component/organ_decay, 0.05, BASIC_RECOVER_VALUE) + AddComponent(/datum/component/organ_toxin_damage, 0.05) + AddComponent(/datum/component/chemistry_organ, SERPENTID_CHEM_REAGENT_ID) AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) /obj/item/organ/internal/ears/serpentid/on_life() - .=..() - SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) - if(chemical_consuption <= owner?.get_chemical_value(chemical_id) && active) + . = ..() + if(chemical_consuption <= owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) && active) if(prob(((max_damage - damage)/max_damage) * 100)) sense_creatures() /obj/item/organ/internal/ears/serpentid/switch_mode(force_off = FALSE) .=..() - if(!force_off && owner?.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD) && !active) + if(!force_off && owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= chemical_consuption && !(status & ORGAN_DEAD) && !active) active = TRUE chemical_consuption = initial(chemical_consuption) else active = FALSE chemical_consuption = 0 + SEND_SIGNAL(src, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, chemical_consuption) /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() var/last_movement_threshold = 5 SECONDS diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index f8e5d2a0f43d..07a49926183f 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -3,29 +3,25 @@ name = "visual sensor" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' desc = "A large looking eyes with some chemical enchanments." - icon_state = "eyes01" + icon_state = "eyes" see_in_dark = 0 - actions_types = list(/datum/action/item_action/organ_action/toggle/gas) - action_icon = list(/datum/action/item_action/organ_action/toggle/gas = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle/gas = "gas_abilities") + actions_types = list(/datum/action/item_action/organ_action/toggle/serpentid) + action_icon = list(/datum/action/item_action/organ_action/toggle/serpentid = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle/serpentid = "serpentid_abilities") flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE - var/chemical_id = SERPENTID_CHEM_REAGENT_ID - var/decay_rate = 0.1 - var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.04 - var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES + var/chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_EYES var/vision_ajust_coefficient = 0.4 var/update_time_client_colour = 10 var/active = FALSE - radial_action_state = "nvg_green" + radial_action_state = "serpentid_nvg" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' /obj/item/organ/internal/eyes/serpentid/Initialize(mapload) . = ..() - AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) - AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) - AddComponent(/datum/component/chemistry_organ, chemical_id) + AddComponent(/datum/component/organ_decay, 0.04, BASIC_RECOVER_VALUE) + AddComponent(/datum/component/organ_toxin_damage, 0.02) + AddComponent(/datum/component/chemistry_organ, SERPENTID_CHEM_REAGENT_ID) AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) //Прок на получение цвета глаз @@ -40,13 +36,12 @@ /obj/item/organ/internal/eyes/serpentid/on_life() . = ..() - SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) if(owner) var/mob/mob = owner mob.update_client_colour(time = update_time_client_colour) /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() - var/chem_value = (owner?.get_chemical_value(chemical_id) + GAS_ORGAN_CHEMISTRY_MAX/2)/GAS_ORGAN_CHEMISTRY_MAX + var/chem_value = (owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) + SERPENTID_ORGAN_CHEMISTRY_MAX/2)/SERPENTID_ORGAN_CHEMISTRY_MAX var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE @@ -59,13 +54,14 @@ return vision_matrix /obj/item/organ/internal/eyes/serpentid/switch_mode(force_off = FALSE) - .=..() - if(!force_off && owner?.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD) && !active) + . = ..() + if(!force_off && owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= chemical_consuption && !(status & ORGAN_DEAD) && !active) see_in_dark = 8 - chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES + GAS_ORGAN_CHEMISTRY_EYES * (max_damage - damage / max_damage) + chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_EYES active = TRUE else see_in_dark = initial(see_in_dark) chemical_consuption = 0 active = FALSE owner?.update_sight() + SEND_SIGNAL(src, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, chemical_consuption) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm index f14cb5d1cfe3..2e33571d7eb6 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm @@ -1,30 +1,11 @@ -///Сердце - вырабатывают особое вещество (серпадрон) за глютамат натрия. -#define GAS_METH_HEART_COUNT 1 - /obj/item/organ/internal/heart/serpentid name = "double heart" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' - icon_state = "h0_on" + icon_state = "heart" desc = "A pair of hearts." - var/chemical_id = SERPENTID_CHEM_REAGENT_ID - var/decay_rate = 0.5 - var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.03 /obj/item/organ/internal/heart/serpentid/Initialize(mapload) . = ..() - AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) - AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) - AddComponent(/datum/component/defib_heart, owner, chemical_id) - -/* -Старый режим работы сердца - ввод серпадрона -/obj/item/organ/internal/heart/serpentid/switch_mode(force_off = FALSE) - .=..() - if(owner?.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART) - var/mob/living/carbon/human/human_owner = owner - var/datum/reagent/chem = owner?.get_chemical_path(chemical_id) - chem.holder.remove_reagent(chemical_id, GAS_ORGAN_CHEMISTRY_HEART) - human_owner.reagents.add_reagent(inject_drug_id, GAS_METH_HEART_COUNT) - meph_injected = TRUE -*/ + AddComponent(/datum/component/organ_decay, 0.5, BASIC_RECOVER_VALUE) + AddComponent(/datum/component/organ_toxin_damage, 0.03) + AddComponent(/datum/component/defib_heart, owner, SERPENTID_CHEM_REAGENT_ID) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index d0f03a746091..7f2ab07bab0d 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -2,30 +2,25 @@ /obj/item/organ/internal/kidneys/serpentid name = "secreting organ" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' - icon_state = "kidneys00" + icon_state = "kidneys" desc = "A large looking organ, that can inject chemicals." - actions_types = list(/datum/action/item_action/organ_action/toggle/gas) - action_icon = list(/datum/action/item_action/organ_action/toggle/gas = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle/gas = "gas_abilities") - var/chemical_id = SERPENTID_CHEM_REAGENT_ID - var/chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS - var/decay_rate = 0.4 - var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.1 + actions_types = list(/datum/action/item_action/organ_action/toggle/serpentid) + action_icon = list(/datum/action/item_action/organ_action/toggle/serpentid = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle/serpentid = "serpentid_abilities") + var/chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_KIDNEYS var/cloak_engaged = FALSE - radial_action_state = "gas_stealth" + radial_action_state = "serpentid_stealth" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' /obj/item/organ/internal/kidneys/serpentid/Initialize(mapload) . = ..() - AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) - AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) - AddComponent(/datum/component/chemistry_organ, chemical_id) + AddComponent(/datum/component/organ_decay, 0.03, BASIC_RECOVER_VALUE) + AddComponent(/datum/component/organ_toxin_damage, 0.15) + AddComponent(/datum/component/chemistry_organ, SERPENTID_CHEM_REAGENT_ID) AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) /obj/item/organ/internal/kidneys/serpentid/on_life() . = .. () - SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) if((owner.m_intent != MOVE_INTENT_RUN || owner.body_position == LYING_DOWN || (world.time - owner.last_movement) >= 5) && (!owner.stat && (owner.mobility_flags & MOBILITY_STAND) && !owner.restrained() && cloak_engaged)) if(owner.invisibility != INVISIBILITY_LEVEL_TWO) owner.alpha -= 51 @@ -37,9 +32,10 @@ /obj/item/organ/internal/kidneys/serpentid/switch_mode(force_off = FALSE) .=..() - if(!force_off && owner?.get_chemical_value(chemical_id) >= chemical_consuption && !cloak_engaged && !(status & ORGAN_DEAD)) + if(!force_off && owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= chemical_consuption && !cloak_engaged && !(status & ORGAN_DEAD)) cloak_engaged = TRUE - chemical_consuption = chemical_consuption + chemical_consuption * (max_damage - damage / max_damage) + chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_KIDNEYS else cloak_engaged = FALSE chemical_consuption = 0 + SEND_SIGNAL(src, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, chemical_consuption) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm index 73cadd6d1792..92532d083126 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm @@ -2,31 +2,27 @@ /obj/item/organ/internal/liver/serpentid name = "chemical processor" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' - icon_state = "liver0" + icon_state = "liver" desc = "A large looking liver with some storages." alcohol_intensity = 2 - var/chemical_id = SERPENTID_CHEM_REAGENT_ID - var/max_value = GAS_ORGAN_CHEMISTRY_MAX - var/decay_rate = 0.4 - var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.05 + var/max_value = SERPENTID_ORGAN_CHEMISTRY_MAX /obj/item/organ/internal/liver/serpentid/Initialize(mapload) . = ..() - AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) - AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + AddComponent(/datum/component/organ_decay, 0.04, BASIC_RECOVER_VALUE) + AddComponent(/datum/component/organ_toxin_damage, 0.1) /obj/item/organ/internal/liver/serpentid/on_life() . = ..() - max_value = clamp((((max_damage - damage)/max_damage)*100),0,GAS_ORGAN_CHEMISTRY_MAX) - if(owner?.get_chemical_value(chemical_id) < max_value) + max_value = clamp((((max_damage - damage)/max_damage)*100), 0, SERPENTID_ORGAN_CHEMISTRY_MAX) + if(owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) < max_value) for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) if(!isnull(chemical)) if(chemical.nutriment_factor > 0) chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) - owner.reagents.add_reagent(chemical_id, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) + owner.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) else - var/excess_value = owner?.get_chemical_value(chemical_id) - max_value - var/datum/reagent/chem = owner?.get_chemical_path(chemical_id) - chem.holder.remove_reagent(chemical_id, excess_value) + var/excess_value = owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - max_value + var/datum/reagent/chem = owner?.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) + chem?.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, excess_value) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 469ecff0078b..559ffe587d31 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -6,18 +6,15 @@ /obj/item/organ/internal/lungs/serpentid name = "thacheal bag" - icon = 'icons/obj/species_organs/unathi.dmi' + icon = 'modular_ss220/species/serpentids/icons/organs.dmi' organ_datums = list(/datum/organ/lungs/serpentid) desc = "A large looking lugns with big breating bag." - actions_types = list(/datum/action/item_action/organ_action/toggle/gas) - action_icon = list(/datum/action/item_action/organ_action/toggle/gas = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle/gas = "gas_abilities") - var/chemical_id = SERPENTID_CHEM_REAGENT_ID + icon_state = "lungs" + actions_types = list(/datum/action/item_action/organ_action/toggle/serpentid) + action_icon = list(/datum/action/item_action/organ_action/toggle/serpentid = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle/serpentid = "serpentid_abilities") var/chemical_consuption = 1 var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank - var/decay_rate = 0.3 - var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.05 var/chem_to_oxy_mult = 0.1 var/danger_air = FALSE var/hand_active = FALSE @@ -27,8 +24,8 @@ /obj/item/organ/internal/lungs/serpentid/Initialize(mapload) . = ..() - AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) - AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + AddComponent(/datum/component/organ_decay, 0.05, BASIC_RECOVER_VALUE) + AddComponent(/datum/component/organ_toxin_damage, 0.05) AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) /obj/item/tank/internals/oxygen/serpentid_vault_tank @@ -62,9 +59,9 @@ /obj/item/organ/internal/lungs/serpentid/on_life() .=..() - var/can_secretion = owner?.get_chemical_value(chemical_id) > chemical_consuption + var/can_secretion = owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > chemical_consuption var/danger_state = owner.getOxyLoss() > 0 - var/datum/reagent/chemical = owner?.get_chemical_path(chemical_id) + var/datum/reagent/chemical = owner?.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) var/datum/gas_mixture/breath var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] var/breath_moles = 0 @@ -79,7 +76,7 @@ if(danger_state && can_secretion) var/mob/living/carbon/human/human_owner = owner human_owner.reagents.add_reagent("salbutamol", salbutamol_production) - chemical.holder.remove_reagent(chemical_id, chemical_consuption) + chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, chemical_consuption) if(!hand_active) if(danger_air && (owner.stat == UNCONSCIOUS)) @@ -94,7 +91,7 @@ var/replenish_value = 0 if(danger_air && can_secretion) replenish_value = chemical_consuption * chem_to_oxy_mult - chemical.holder.remove_reagent(chemical_id, chemical_consuption) + chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, chemical_consuption) if(!danger_air) if(environment) breath_moles = environment.total_moles()*BREATH_PERCENTAGE diff --git a/modular_ss220/species/serpentids/icons/organs.dmi b/modular_ss220/species/serpentids/icons/organs.dmi index 52138de9c8a88ad604a6bd90eec5082c8fbb33df..673861b784e94d90cfc4afd043c6f6af3c12cfbc 100644 GIT binary patch literal 10871 zcmZX4byO74)AlaiOC!C=0@6sMba!_nEJ!Pz%OW5sAWNs9(v3*Rf`GDwf^>&;!%8jr z^1i?Cyx%$B_s6|={<(9{oSA!O=6U9wzOEW65d#qb03g*+S2lb&yC2pk0=$Ra@`YP0Qsde7UmOb|=(i*i3xotB15#{02TE1+uim=Rt zY$liz@r_xr`^*xO+t&n``CpobvtpW-ckQ;0p_SVD>O(@AREwiOG z6(JZ!lqx@RdBub^0`HGrNu{DE#m1$W^mkG%@)#lz$p$n2_5PgB|7an-_{mWMA1&t(2VR0|+pef%#IzQ43KpbC4!(09qf{soJ(>^14&<2W!%;EixuRZqv=-cr}r zLe3#F{QA7p*QMkRbG4VhyZfxU{oZ%i*kro=iXm zc5=I9wg-YpMXmxp~W!%pSWOuhsLw#CqMD}i�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

=tN6Y&%dXnnF*>t-3b}c$u(T5+>Y} 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 R|Fb4(ajyqf2&xIfw$}?%-@}Vok}UgI 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 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_roar.ogg b/modular_ss220/species/serpentids/sounds/serpentid_roar.ogg index bda80a6c50eb9a921bf6255c726139894ef8851f..2b6a5172cd6ee51da256e197ed7bc8261afc4207 100644 GIT binary patch literal 35241 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 HpyvPpCTv8F diff --git a/modular_ss220/species/serpentids/sounds/serpentid_scream.ogg b/modular_ss220/species/serpentids/sounds/serpentid_scream.ogg new file mode 100644 index 0000000000000000000000000000000000000000..06e92b03633c168afd9c080471c069243b9bee21 GIT binary patch literal 36562 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 literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_shreak.ogg b/modular_ss220/species/serpentids/sounds/serpentid_shreak.ogg deleted file mode 100644 index 125ba868fdbf4c900dbca38b37f61e2f0253e393..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26986 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 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_sneeze.ogg b/modular_ss220/species/serpentids/sounds/serpentid_sneeze.ogg deleted file mode 100644 index 4b1aa631a81928a065ae9d23884c41c11ff141a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43313 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 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_talk1.ogg b/modular_ss220/species/serpentids/sounds/serpentid_talk1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d26b638cd1fe37b59d6c74c6698bd39b09e003b2 GIT binary patch literal 48004 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 Z>JQ2P^tBNGf941|ALr$dQrR%ze*s|ye767q literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_talk3.ogg b/modular_ss220/species/serpentids/sounds/serpentid_talk3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c55e68e68aa80edd2d9944280bdee27b096f1e15 GIT binary patch literal 76914 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

^Ti{0&33?M&IpF=jl04it(6HsKwcU}XADOEn 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 literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_talk_1.ogg b/modular_ss220/species/serpentids/sounds/serpentid_talk_1.ogg deleted file mode 100644 index 2ee7d40227ccfff287d9e9cab4b59fd134fefc9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83060 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�ZPE|j$HSfoLrjfNB`Oh0U!s}m7o?j^!Z|lHm0EA31@^l7NQ=0o}q9Rh)bWKeh z6&Kuc2!a|UOF^VjU+vD3VBl$@$zGO(`?^!D5N`CRm4Zk$uNH&)fW7?j0*$!JN5v{7 z;wYUsG12z4!BD9vrEBsj`S*_i|w`Ee7mM=T}6w@ z1f?ssc!)sj4P@_usfqS^{D-WwY3?jj!`nCjeu`Y`736$)epoIf^?h<@+yF=R0Qv$L z0GggqrfVz3z#%8Sd3WFOzTMZ;QRRl5T!a!b{HDH;b*M=F` zFH}8q6hd|MN;6oPs?^U{U6b5=^8o#ow^0+E890Ikgk9d zD~-VUJcMMJ4O8y#sxjI`2fhkjr)O{kWo5nBrx*`3as#aZ*9!oNUgn7#nnP1e0Z%x^ z4%6IINJE*L$!c{pZ!fzUvW2wb_O%QPPVX=0pb+`+(2zm+HIR~dXdxg|)vsq1;mHdI zbK+()9?Or-z-0+%LB`PG*meRnwIYCH`c==RK@&VHzT&Cp_?;$ZNz`hBnLj@WkNKSsisvfV0Zr@5<5Q;^Z4IH* zj@J)!rStElK+GaXSk_96QwV_P`SS~9Rf8RrU;C!ksV~ixdi#c+vsw??`upcfN-cwo z9WY#)8n5f233|k(_4`ET+W%#N%ubl$m!jH+u~SL0fBCXLNH!cb&i6sj*h;(9f%_oQ z?NZzet5uV*At9Rbogy0=1tj%`Ng|YOrnTf-?6TXn!;{PdE>@I_>*+{9{HhUW~NiIX`0D47*c(Vmma6!i10Z+UqYS&kK(Sb)7t@?cz)@?sveq)l+Veq1LY0`*jJ8nL{K#S$4uUi~{LxztWF*5eNnRnzt)C z>g#pSHoxHr37GUlnA2e=;tSR_S@n61b_0_3YsabXbM8q-gS|pNlW?ihmctf&ZTABA z`BwT~2mSJ!8Vht5Y)ZqPZ-cW;kIM4TrO}l69CEJ!v?y292j#gWZ9~j`qg2kQS0hyS&z6wbPv1m0CZ04 z>7}S-eBKm5;o(34GY+bUQ$5cA53F5M2abLndCN=4gr8*V!o z^+MVB(A=7<{7~zbe_Ou`-hP&Cd|wB2UdNl4^fwCbdcaN{^_`OBc)oRY z`<{2xCtF{orzZYCd~LSBKO-M9>9IN9EJWwZrxm^PYfZnMY*G{WJz?s+%>Zm_mkZD1 z_fA31H8}(H!QSf{=rq9HBqC`?cNWT5pMQCpZ<;;MgYgderA3*g2O$;i70o~2?f&{T zxAVL^5(hk5xrfZG`OT7$0!&ifvrZD@&1`3Yb~bMWbuzAi_6Zh9zwQVvG;^BsoIB4) zLfJVhchbEWJ6vC$zTv-Dt=@M|8m}em8rzYcDH{G2x9SU5Cjfd0ZS58k;#0SxteeLH z07OyHd(x7K5N*W(x-dr1ExViD>!|{LIxUU=h8^4LMnCOVy=wd3mWl>_eB-y}$6XgCg@r&)hpPS0&KG|JCFQD#DfGBf9r8LPDC>wf* zg0N=DaIPP^Hp6wI;GVzpvDpxRxzY#s%3XSnZV=X0tcb3OG;2;x5dsgRQrct4+D|9=c53NJ7KK2Y^2^dl!&a zgP1`x)6qrAh)C;H6TF{Rlo2I)@KxQ~im~{@|4yHnA6g4Nh@-XtTbz#DRcpg^!P($> zQxs~=)HPJ$O;yEJYO7|Rt|~Rb?j`(mw)BVce`tqNfsV}x?^PTRp8DL=Gjzzt2cz7r z&;6CeFa@=d4onAV-ESeGzm+~XtN#Y^%xL)TrgJ!PEsHe}ybF6yUSs|xGJ{MyTV z2v8l1{(u3^v32J+XC%?DZ7O)VuOJwu9z5)h4UNgxBHvF|J9O<#O29$XW@H7cKYw5T zJFmfZ#`M2Ro#|Lprjt5|!=b4&so8RW!yIt~Md`Z=x6VB|l5!3Iv`21|KMb|w_E zVpIqY-$(4=1B<#vBS3O}HFHNFbN*hbTillLHVqCx z(4NGn+K<#1n=o`9V7C;9xCPa1=Hv+Q%g0y*lM#!sKmoogU8i@%&a}n&z#E?TBRLKY zc0el_pe}lmxS_N#8Ni~n6FH5wO@EJk>WYZfdh0@A?@Oa8%}x`^6K;)PWdWc%`3E;$ z-1CNDCx)JxK}6{`El&$eh{}!3oP!bALjTWxkUhXPIT4UY+>-P8NWB6_zT=OVW(!xg z)~G=El2>i{M@#y(YJ3LtqT-Pb)0znG$N3GLfQM*ztboY0c$%5=lMnYM>}w*GGCZZ^ z0Q2J<&meq#2Gth^Ze+3tNG@Lqt!2I)^qqTBn;Wf6gaem!n7Ai4@}(`=H0m)Tu5B{E zynXVJE%*Mltb_r68tvsP<{=98#r~U~pD(gJPhe;gEFjcn_rr5N%Vhx9?U`~-_x$ru z;MM6({Xe;zJB@>3)l240`=@bf`L~RynSgLd`z$3$=V zq0}=`1Zu6jgPRsD#Q9LO;4>wdlFJ(ZF#(XF4yBa4tWf$kv+HNr%MlO&z8c;8N1Hm~ zk}f8u`$w+hmv{x#O9DOehzL<+0M+N+?^SullI+GwYwq>=Z&P~eS5X=^*B$Mb#_htD zD+t0yu~E&Sf}zE0N&)bZXLe{u>o327-2-9BT0Pp79bg(xMtNkl$7KhbF<@@1YFpBj zHHrSvmtJl%uxOBAzOv{WK>R_V?st=h&BGzG)6#yR#hAPm{vG|Mos=8D?jJp(b-*2W z)a+VpA^H%gCo!7nARKGPeI)H+jpWGWpuXG&dkNu5u)_ZvZj zYc!YLZ1Z~F+{1P6q+rz<$(CUOUMg+#N6f?Mv`^ajo4!9;=Qd3S7e^!jbuV+@&6r}w zpa9BWg7f#MQ|;9EyH^M~CK ztBT*MO9RX{5v*&$Co`v|iJ+-|s;mS6Ad2JFugf;`{mB}}t2^iI%&b6N3haLx{pSj2 z2wyuN^WgGpM!BIs$Xd@<>P44fRkzRfT5%6pH4AU$mVh7()66WxS%qHIV%jX@4l^uAy%?1tdRB-X@!Vkot-bS$-t|x?q*89qlU^ zT1r9Ugabfw`y{q`uiX%YwQW8jDk{JZidzW*cPmU~)p4E;%x^AZt0c|5nqBl`x`@>& zr<%6CCML*Z(`=4S+h|E?Zj-r49vfZe?}$TqXbS_U`I)On8v*M`D4}Nol7cvo$dw@h zNa5$_5C3qO;<&w<&Dq}Hp52El5yxkq|GjyC#!20^>u4A%&(MTCU?$zy$;k7w`>#72 zkgY3DnE3pvr6G+HIdu>TLGGut=>7EX_B^#d(984>#Vi^!+KEhAto*SJpwMq*%NAuY zH@WfN`Dn9lY{NYLr@qi^l|vZkM9JZRRE&3?(k5b>0S1dK>Nc@m|C7)@ux!)Vvg;f5 z?%s)=W@i-I9Qz5}`=r;WMZt3h;sDOS@3ckbi`4*5go zj3@MF8+gddZXli$+iAs(RV2qme?O&^+`t`~-I^o5@<9vgwZvK@`25Rq=m3&p#liu~ z%eYa;@SLS3d3jeMHUE?RB%~AlMq!jOpOL=S8ZRHVd`-gFs;dQxa zS(IP>?TQekeKjSbVgzXRASfKON!5+)oq!J9!1d0{Yv6!Fh8Z?<&@~51wW-pc>0yq* z$ng*=hTK3f4bZ)7=pZ494D=C7sSai2^K^Y>iW}kmFR?3ep7DbP06r>R#@l2<&9EB1 z>UB|@r>VA+ntnxU{3 zqTKvWw2?RlfEi@B1teY?o!dub5G8wJV%h-!#L=z*pst-9=zgfkXo@Ky4>qI)T@UYj zUum{9FFGx|o_}r84^=1-0 zSNe3+ht%LAylT(14OovlS2x|8gI82qZE_fV zV<1WU`nYD}VEJuqWZQ{Svx-kGA*get;;`d+qBxB`s9Ea|_Udn@GwSf=mgScjyitkX z;?KJWVTFy~s`G^xwZ>aI9IXH;L{V~g2c6?vmUKYH-#+{%NAqiX;vu_!-IUn=g!=pv!i!g5Nl@RwB(hiL@X58>$kw#s{+}9q+xWU-hW)d_Elt#Keb?8 zmY3^~upH{En@z^qKg76=avb)Snp`vJwRFz}T8Xo8g?v8$;xOYKvO7`pn~E;IMR_cA z1P8yMD>wj=5A8-dfa^IUtaZGV_@1y&4fJ&9YfGP(gq|u{dqYb3Z;;E|o76Q??dw)j z=fF5xs#&K2SNEA=ba(gfK!!(_} zaMJMnU8P$cKxhVHTTB3cZ%IVBo$z9Faik3w88d!&pr*W2xBC+(g!<3g>-Po+BM=)CySZ zXqmw(@V}5W5S<~5_I^hel-JRbMKXtjb!*KH3-d>?QC@->Z90;n^==hbmitfyAokA5 zdTZ+zUKf{lbytX}(^OohXZdSPbjyw~{_t)S=bNdR+bit;RCC?@nT*KOQFO6wD;%;j z0Ddan`zyu;i-1Mt`P)(~3sHZYf(4MT0+;~wq-{4`ivbM%D}#=nx^+>d3g;h$%jQSV zM|WF8H*NohtC?3e#Xdcac{pwj*+oaI2fI+E@le4TP*6+lUz`AKR(43&%J)u5j z!B?{h$@jKCm!f?oCHQ?eF*rxNLkK!!rK(=OT7~C`w=AS@k+c1S*x2ITTD zl$`v)qz*{vAF!3gNFG{&G?#scGXruMl;xPAD*&DvU8i?MCv*nBraXOLWz*e2M}~L- zU;0)Em?%zE~NLqh> zR{d~wX6n?ZHPfB8QkD~HPbERh`3S3llBYBcl=M4*GB{G$lC6g3(U~YJe5JG3Q(8VV zgV&^YKi%C)T=SDknx3#Nr7#LLv#;&1RgOU`7-`T*-p`hLy@!vsBP)&i37pc`+X^5r zf5_Rm+=2(70G@h%Ete)sPJGc*_VIk5aIlM%q0fJkCLM4BM1{n*L}i&2Kwkg96FHqX zL2k@?hWgbfd-~SlIe~qL95nG^`OD8{rZlNc4p7mbHz=#x*!vSKSfzZv!`)ZvYFwNW#x z#*PV@7sE-6b#ytw1`bJz#9i&^K&_Wrx~vmH!Wnr`ww10_Bx~t&|4OsFgj-e9sL<|00002&c@`oJ0001`ch+_i<@EFG?eFXE@8;|6?Ct97?){!R-A>ObS4L;7 ztRK%)rWSQrY|9L&XCNgLKw>Lfshk0fX0>IJP5Zxnt!I6bE_$cN>#5Jl=z0~IQ=*A* z5|LOWH6X9qZ~$>MbrdEvgQQ6zj%h4UMnEFC_$2TBTc_$)&^^-5$P(KUP@R?SU0*R8ghn7VAFy|WWJq>91 zJC)aQ6A9D#0KftsYyFD%h-9=65u|)uZc-%8cG4FBCZMSozy#oj7okiBkRNR{nx4&S z59a+}e0y{Jb=CCVeGT0+)^b-9DlkUhK6(rS&__^PFC9L$j5oRlAOd(`2|HCqVwN6A z1obWncWf@uA6pDMBW1|UQ10;AOo@NRIuh8?6pNAE{C6ej5`-cbK~>DdD9lg+Fw+g^ zRP6-m`EI<|U0bU(W+Rg<5M1P$vRqvwBssqHH4k&v2Uxk2Ho$rI@hJB?aJkhL)J2acJCusukMZvA?cJz<}mzaN zXIk-b^=czQyAD=JPT?TC#MVktNII#K@v;>II=%1;&ce*l19MKsU9DLB4r5sMUnS2u zVrmG4Qa4Y$)7PV9Rz%_>e00908o#)4FkW5)599NS!JzF(H1kr@~ zbD)>e63dHiQ?S$ zhB_Oh7rqL;)kheawhEE8Z+N;~_Bep-Z!c&`S*fRaDr}DdcvbbGtqXRoXd``*-qsf1 zzN-E29EghQ)WHL&-hcQxH^Io1EbK(_&#{JsE;=kN_a&BK9JYhew1ueConiHwU zwR+82lF*-O^wjORAVw@RIpUPq(bc1@r*<^$9yLr_#R8sMy^Z%IW3-2rZ65=Vs@IS` zfXtkI6M$Y00Hq(ks5F}akhQw;KId7Z4iY!|dO2le`qjVg3rGvzRdwgsvgJbV?I@J? zAAh=n4gK++%16E^^6g_>K315Dep_e z$=W@1zM+>yRQ~VBF$}u?aIR_4smYIj9Lf^;%F8UXb?LlNB{;nZq=9zTz(|yB(RS;C z5p!M`nFg(0HJXcp0A5$F?L zzCim&)*ghn+pB({X(-J~)dV+9B7Q0gssRRF(gLHvSJ(IK913u)a%iF-hOS`-h__ae zBJp#61iAaG3b1p1yeZ8y%O4r$FuB5YZG;Qks89c>HLo=zT+CV>;8b7dqVrI{-)E~2 z;h8P9Mk9MhC(QVU;P|4XxS*PK0wJ$_!*h9M88I8|+RM<>WEM|cr+BKIrXNEUS{o?J zeSga|z%J@0KJU^}*kG`SlLE%~Y~&hGvQ1599)W)dM=>-sQGFKxK3cu@du(oa05A>! zP)yLf6L^{y$_!Uy0J^-9Nq}c{d$i&@k|=*W;_s+n22#=*)rAfkzj@h)a;Kv|4lJ8E z>tJ2R;$q33(en9KtsMX|94`q_wkK31xB+n>4BC#aW89`nc1i?#(o_^^g59*{eeHPURGs~pd)$X ze|-anY`?>QH;kiRv)RvWLOc2eT4pW&Otn)twEPL+GOBbAS-!R}wOZQ_RvcLHRm!IK zS!ru$WzpKOw#op}pvG8G9RR)>-Hz`F$)r`n7QT8s2iYx<18zzHddtF-dW5E2S7QL8 zI^S#%pK3LQW*Z*!6zYskvz~N*kxTx-rMe>eK2x=bgPF?I`mRR&eL)yNB5t$z*Ch@L zoNWQM5IWNtQl`ZUp%8-dD%|N0YVNGykfQP`ywar2Y1|G;KKDQLea{ zSwbG_Tc9cc5nCgzlI8k!U-!a`^72A~*rI4isQTK(l1c1&_C!x}@X;c%cX{*rdhQ*W zwlwpiU|4$ReqJc`)v$q6JGZ^=(A#;l)GI{5tW78--i4Jj5~FB!{Z5Nya-D)F0GLg5S8+{{1Q2Z4M09CTC zTL&G~>sc-2!;%iVp<$Xq3mNN65u}Fx{p@&WKDTC+aV4w`J0O`3vgh#6inRf@r4r?C z;>ARaTMXGv=-iW=bsxs^NCG<=^q7*WK23z!Z(OIc*56mZQ&Gf37#0Mrb?eoSmSH<9X+%@|+ML z(|_YSj{@xcj}$zbeOpSLi&hdEY#$%7&9j#_f^C1l86ox?jRpNw%xE(bOc#rOdNeYZ zI`lN7IvpNXb4D@i5sYnSGIuwg(r4``@Jl@-{68m;)*z&zO)i8^5h{DU4V5l>C|5A9 zdC)DXcegsa3MxB-s5FYReqhdLQ+b`VGGNwO9%NfhHBc8@cS2bt-`1K3U;sWk-Nr|x zG17~pYb2Kofq>hl#C2ax`}}n2}o-sTJD#; zrel&2#oD!>D+igS9c5;VB6?0fHjbviX}T}oBFU#0D0H)1_{i*9tTG@?&gzd7tdOC( zSC*7Hh&|21j}O0lg;{oDT4bM_X5%u8)%>+{2sZsC^OSodP+|~&RrKtp=Z`?lFXm)1 z(yp(gDJ`GqqC+kVBh(!$FJo;P0UZFoTD`aD%&Ji?UaUTzF2&ZntzpC_1T#P{{UkCD z(NYXRJsGrY%yhPYHor;YZl$GM?rL@Mf|W!G(VklcF+PHFmk8h^aAQT3xN_*5i8Koq z308V$ZVeIBFI7iOdwWj1(vL5e&-0<^+nk~T;QRUO) zCoIaaO>C?Z*7N#c9u7T8z4R&97M!OQaOFEcCFSB+vI4|7$X2;nc1+|_9hf_R{K1tu z?5rIwkpA8~c`|;Y5L7AEP@%&j*hU-0PH20YM5>-kJ3$Mv8qG5NC%YAa-p_LG9_9g_ zTD?v8*o_f?lP}8fy`MP>u|y++VG96yvbTFK-1*fYr`Ar^FulL}>Z;pI;%!$d0X>oa zi0Jh04eqt;^RqDkw04oLv6`HmTpD$}zhMN3Cx1_jBxr6J|2cbbB>6morJX06kgau@ z*;;EoU2EabrN`+!)KV`29X_nzZy-gv4_`!M3A)<-KZZxVm0h`#mSSi(_cc^%*mv$F zh$NmFy4K7*3PxR4MGhKG0iKpx3uZG#Uo=kNY`+2F9Xm)zi?6QxSbeo*hH(RlhU`&6k< zHvnxO&z${6(jb%fT*_4*2^aJ1&3K+8bwblBJNz7E3wo97yN^DLlg@&2vFMRF)-e?r z>t_q5Rz{?Ak|BzqwUSzQE_AqHC^TgZL#f2TSDiKZm#e^>F>~`qUDcsfyv{QU1$3kr z+Ky1mNm#w9_JuqqYj11D&CQUy#HN0T(}yda5{f2_DA^Wf{=S)~KVh#(&+_2YRYTE$ z1pvPKy!2;M#-Mw#-aJ}NLs!D=WKmi<7DuXQdAUpH}6%DDQ8yU&JS0`0VEQMc-PlUnPTK}L<4r+#ydTI9f zj*+fSqW3lXSg6HT90ABjMwtLLTq)!!P@$kKuU8sm9(3)!i zpgRGQ1rWX;re!jKrr%r`o0mNT<bK;! z#04ECYB`uew`(7PjUxE6PvXKYEoe>!t^YhBwgB?Yt|qntARk^Kpy7AWJ5hl%WwoKD=ka2m_(oC=hM( z;d3r1&}WJ1(rMH8?|N|1ud7LCX202Qx#83z??jr2|FH!Pnuy!84)zFi_kpFblH(!= z;=V54FiB`b<1_3RvlMwnH*uSsT=8J<)TiQzTyv=uJ3X=DP135gWszX2;08eLUQvd)!LjwQ+0002&c@`oK0001d`PHKo@bT^L^Y8NP@ap#J_bEw5_~YO4 z{z`q$uVjOf9y+!QJXcFMPR*O{+<8CCQz(`U5HVC=VL$^Tvi)om~k&CO)y@ zQ*GB_k=Xg3sNH`kVuJm>mepkmc2rZs;pplEeC;RzUP?XVM@ULrbSqE7_j3+Ms;Caw zgX5P_dufJ9kms|qN>Sn}@zo!~K7X+!UG0!7)`ZmvpVSAPJDUSMAauQ(H zc7I>v)2_;l8iKLA7@osVHqZ|EX165NL@MGGU&@Wsqkf zz)6_))1OFOmP(!%l6e_Ma%LInIO|jQ>N(OKwKvvq4{DfSNtjSIDH7f}J^dr;!bl%d zX8m~mukv8)(1HH@If~x%=0}9-niRlCRQO~f=#ckpIaATPeR1AB*LKDeqR7(QbA{G` zhs_9YJ5#et?ifZ{ibmo<5TEivn-8#V9FXp_U+lOF)UO^SG~~&D6$&8AjuJ#9&w8`n z+iX;P0*#)}6VrW5LV?`gAGp3L!S)m~S$(KvskQ0~GJ@9-(BLSfn-Rj>Z_y0$24Xj> zDvU|AF^4NNePl%#UF<^P9o{yPb@+fYy1gS=u~4j7#rNhQ%#ik;JDoWPp1S?eOEEL% zto5ft(_DD;B@S;IE&mHSyIz_HUOK(iN9<^nRb5%Q?|wc zmdW#pRBgxqOgyh4p@Y-%GMP6Iol9hdt%atkj}HJi5!d@cZDl|0wp5$&=bt!s$7Vua zhzd9Y&2^kJt3*y;{*-QHZcF9puMz z1ns6jhfVuZ^iTZ4R@b~*(Kfvrm$#HjA}y!`v!3swa1G=J8F?s1$Tk~?Cxv_hY}G*2 z`ed*lREvo*{IU(7nXE2kSP5{xE)eSaxLZD~!Grpn6Z@WwYS#8h2#Ay-!|wR~M*3OE zGFSjUIz8%hZZ^(*fhXbhm94i9AXkk34CpNj(4x}PG)rUvyXN0ZJFyY|nCa63dHvF# ziD&u8F@dsnhh8Nu7^x5ykJO_`7rN6bv?5Lvq|AH}m#LtkExWN)4=?WH(vo$`!_*zJ zfv(f(yoEh)%X=#XAVtq;x*zbwlV1E8%Ijx~4ch-RjUBNRWoBKC6)A7V+*QwikKL*W zv3wpuvCx|>-mdX?A?YI2Ee(7X45XYgvfg`k%i_V$ad;exEmp{mnVL)rAe_D zCPvl4K*E}0B#|^BHO#+5&?S;W5s#4aVBgbBv`%#ubO*jkUE^!AqvKNXq?qSlVmIqG zgGyf}^gIiA6F?rC>1rkgaJTLLhbR{-_EG3Z=JD6B!pd3a&Y)mWEUn*+7i!(O+FK=5 zVQ9|d%sRegt<&|W+dJhD7?q!i`n1XD1)Ju(p^7Iv0vh&d-=0F5>lDV1QhGRJTkf_r zF?Zf!Bv6k6V(!dE9R=5ISM#0}>~v6n87|bE;GE!ZJz&p~AdIJjKZ0rT;puIJ3#{oZ zoJ~#3PXVVTj(4#lZP30>XS287cuUe|f8h&7(lFgmU;+JEC?7*j(N4H1T2SpD<0}UD zcCC1=r|qsTZ%S3yy=^TIo;rQCM@+7?Px%4(uA^nyH0-idAfWCm0XcCCH$;&Ev~PMj zBR?59P8|jM@!qubK=)i&>gR#;F^AdQHwRS!h&n+PKt;kXBEg2ydTv@T_8CLo>;2>! zIB1&-WnbgMnBVEhA7qBG9&I&_OqNG+r#_QH<|{9aC1^?+!*~u zqV~ymJ%oYrqdC@^w~i^}eRmV>C+h;i)a8BNt)v{WNuv!hJuRu6ovD~u5pK!0!^xb) z{d&|b{(x#?%2`7byZC%|0hXxu7h1lYIw927AJWz!lCMdWtSOgai9!be9y&eSt4+pe zm&b!A6O7+KX9sxzyX@6KFG=0&2wStnpa5PCKke_g#K+xnwYsCzdwO=ibMIdxV`66a z@4gLIn-MGNHOIMpts4;<2IZ_!ivPJb@^TigK*z#-l+i&25`0U(HE#exbLgKzM;dZ! zd{^|CQy8YClVtp)zGKr46zNDkJ^#7@-Z|aD&ON&KVH&?gUr? z&>7Hju} zstpu*5@I&vP}DOL^{UL>>1NQA?s9yNbBa09f-c7&m{0~x4DECp%Ee`p3ic@ zUZ*}i_`F6Of|=MC{T15v_H>+&6{?cN)(p)JdZHU*re`69q%O(S7{P)d#+tJBQIq0a zB$~^)dz1ap6%?B)AYCTSnDenDqOB7VoXAs5QnXcYtKF(t7?@*c|a^;L)@BmYrL# z?o2{3=~msB@zkoDF&J27r?%@wx)q&+fyf}mLRTt8oU4B@-&hcCQrAyiqcPz=@*JnX zPEz9u`^*)2&5*kn(E{O@`lW601dbodO@qamH*WB=p#)=c7GCkIv_amec1+-%o}qy873JoNxQOkx7=C8Q^)U~V*^Wec`}4<2!(=kaIQMiO@7su1SQ?V`-UqchCJmw8#jGX zD1U4M3x;--zDyei3<5}8KP=h3{|)*nfc$QBP`vTmY6~Vbe4E$=G_>;ZT-wsAQ=NL^Fm;%BbHC`p4-ITm_ZN(#LI1G&f7~32 zvK_8$c995$g1dTMZ9ipf)-Em7?_Vr^UayjD9MSH|&XQv9fy93$ZJt@)uV0^Q`Ny%t z{X7)T5eWcnR?m$X+D!~Be&;YW-8Y|BX^=rWP<2ia2Wme%T53jE3 zFMbv#B$K}fX-w8U$P^X!V)?avp4piI8Y!L2BiV%#J^&a804Qs{L9deuAe!firo{mE z-|o8MsGVUI^%-Ej)D$ zLGeI)E7f-9z-U7;NHVNXbq$M9=H|&UbWqNSmLEp&p;0>MG4;hgQ!M!Ou@lGFRJ7aK z)%ZUh?48AqB|8BC-a37?TjWJh9+riphUbY5@z7vEeKVld6>1&AQif(S0I#&t(-F2S zr@^BM)TpboFK=X@FI%c$qYsCU`e}h5XOFj-IUR~G?Oja#s#q+1R~NVxSv_ah z`b(;WB^Rt4$6cHn`xYoFfdlwEIQV)pW1x;Cg9)4=&!16l%N)V#q%yUj6Q*fudaA+L zuIY|8)EYt&8R{rR%fk{q+CHo6nyP)YEco#CEGj=}8g=QLPoUNhTF%8IM*MOBH!_a3A% zGBJ5LKL%7g4GDd0LgVlk2dJ5*)~}K2{yT?Fu$qS!Rt9c#)zlfkB6(pllh}@UJ#MPQ zb4W#Mk>_ZkBw07%opIO#nCVxo9)*#hWBrv3xfmdm%qNg4*(}P00MH?7Q9j5)?O6`4 zYTlE)cmL--KHhqD+{J*I8}kPDrQgwbtyS%1`MJ!-6e8p}=&jw_%l^+L2}mB>{GN}b zOC@|-L7tvY#U3-Fvj%rV+#@b40BN#csvS+F*33@lP zKha1@i9<)wP2u9Zm((sn`wRiN+E#~=?K8^Vq~dkE z4mm9--EJ7Em97{c{-_RloyJXJ=CY06>ca000000PJ}dA`Som0K=(& z>k{(l@9F93;o{}%>FV(2;pX+|zRG;JZR{X;S+NyQk8(3L&9d*aAgO!L0=S~-Dq8|j zM_YxD)f!>?mG&RT?dUi-d+yLfWVNxs`B-YP#YS!`Idyr)w&`xV;^Q3DPS*5%X_9UU zZPa%DSbAU3hcQbn&UPQHX{;1=J+z2IxSLy@$hFn`qvZEHpPeem)XaK{yC*4Lzc&rr z-d(SQ34Az2lX0}eHs%S?-FE1enp1G>l_ho2w=x-Cy@v`2qY&FkjJCU!@yPNqrWOu9 zh#Y0}_bjbjc^5>F%HMC|d0^fuc^nJ|Sdpwc!Q9f<;~!iy@qdSH#g{ z9sqvoe6&lMaSr^%A`QbsD$^Y8-tcwa!i^6RRICqlD}mGp!23Xs<;ijCcYPvHSZx>N!)Uo zNOXC7UH(xZl}CE^QAJ7CJ?!q>->6V%z{$SKePgenFo5OqhHUo)(bM6%Zo3@u6VB+a z&P>?3ftT$haD=muvQH4JfxdpNm7be5VeH<;@(M+guXuZ0qT13LM&tXkgL|e*f-=fb zLLu(xeak#b~Hb|c*U*8v=YG2pJ8r!|PcHZ*ivurdf9Q9ibG)jhkWnp!WAz6|aX&zf;LlX^JM{AV&!KcO$RJnmywggiL*$Dw~N zUE8K>Yt=*SqU)aCNTj&)MBc+{)KzXSG)O4ZTQQEDFAH+e1h@lr49)4NZLZ!uhwk1_ zg~*bI*e=sq^}s?PUs~cSzVpgiRZ$DVe?z5&sGRE59G7Vt9Nb!tF6kvvU(1c5 zS*9C55`N0OjOWbcN+Gb!(&;Y8#%boyO=!IpeE~F|rLs&0u;@wM>5uz+UZvGPKc_lY z9mwP0qjgU=^tJP=%2R%$PpZ8$JJ6vGsPxGdioHKxuNQ4gSly;_NNw|J*rM@*R>fB} zbbjm?BF=32#SANbP&ntm{ zcA)feMk3m5=t;C@B$3qh~evUvTh zrw)3$IbMx`V#@lVT~@4eesV?5NNY7DJyR#03;ZwJw>1mmd(beCoyy9P>Rr%ikkRbk z5f=E4X$Ot1k@Ps(&lXvh0b^dtp(hiJF4mZWakdXsLb%aY=w7UiqSA{w__XN=Cc+81 zbP@m_s=Spkj83^c7BD|oAsJR8{A81$_tq27WT|YXfHR-2^sGs5!+2w3YfPMazj@0w z1;f#-u8LmVg(Y_U9V(@ThwNf!Y6EGkSkOrvFVb3;+o{=D-No4Yh-+$u$J7=DpLn$l z4s#h>Bi-KiVAd@g@*|-=^JXGG_&HD+^)i(2xMe7OStptQ=q6P9(4_($mO5`z;Q^Z{ zao$wZNi)zeQ3;bYExnhQtVxG$Jgn?36YMW(GHAx`{gGBNi-)}bt>v8_SQlGVOc~S) z!{4*Inf%O%u3N+iz9dCuJCnQ5(qC}DEdC?_-pSn7BQ|%+Ls$S$RvamlCgCGkZ%LWw z;fbWQOa`FmZH(hYuxl>9844r&Z}*hBhrj2xDy+vJbnA3oh=GFn%2yzB4+S>G$WxWs zId97>k?2uxWs6Rd^6DFDfUT!8^2^upN(-Fy{tPPv^_`G8hd?Sm9#9Ee_^5MCQ7u=7 zF~2?ZC3(WG)O|+qnI8I^_qnmPpMIhKoO52y1tMLXS*&QN+p^Lyn%Hx#!lMbR*QiH0ABjM*JGBp z0f5Y-U_Kgk{+R?R5=A;w^NJ%)_uc)$@5u&gonlTw}qCCd!f>9N~@(WF}-e_ z8UL6$W~Me%>kwG#20_X${(xnPOCt3UJi8#W4Hu5cf-RVtDn{4VAHg>QC z-H3Na@WdTcV@fY*5>? zS#)P^(DBD#&*F6^9Q&V5`9(EZ>M^Ho68>l{4GFbtBVnVhny!FSG#=_bJi$4id#*Mm z6P4WX>#P3E%jv+t5bpQ~b(7L|^rW*-#1?nIz2pX~@;|2LG!mlcMW2|y_H!)j&?;O{ zr*j_}%}=?VUOAJMq%^(QTsx!Hfp1ZBN^IOi9U?|wQyJ8?Y;KuKP{4P)3PP;;^Yavn z49rW?Vc)Ther708@H&SMo|?Q(dq_%J<%LttyuH3+)^Zmt zF95P9J<6t}G(Dz3U)1#89NhAHyYio;y0^da(UlGjYX#Erls1v`92|i@{lUT2xEXiKdlC*cI2;bANnT zo}#@!ISht&e#sS6yqg2id!v#i@;uN}Y&=xT9h{mlGWI5kovblF&2Z3%E{v};>H9wy zSUFZtrE6nDYhJALg8QJcv4d4BBz4Yxj?-I2@e@m&D+H5OCXv@pW?-h{WxhsxY%|7c z9=XTg01O4***xktGB;AM0X%5V7ZU9S zT8J2eCJ{GWFW7n0WwAF<_Z{VM(ZTS_5ya%V;!F7h9x^yK+1NKdICnD~DY$ER1(q#6 zvynZ@;XIXh($p<^v46{{W$Le$OlfIUX5Kaz{Mpzv?ZS4;eo9eyA`*tZe@GnTaqp08 zjiegq`|L;|4;6$ym319d*wZTUEp$j3P1JVAEoX56o(jG1kNGe-C<|*h_j1o4(Gg3~ zlcej3aFuc?fbN_1Z0G&t!e#aHb6@h$2A~97NMB6ZKh_W8x^7d+m$R)!Ck9$Q?RqMGLB6AWsu35tX1A9 zK_2Riy#b!;yp6YLa>^>9Ea2O+OS>R5EKdX2o+OI`{7}jhJ)!}W8o%oPg3YYz)Z!?a zVR*cE@m0FNW-$fg^1%F&3w{0X_63peIXUPeDDF2;G@EyH?6vb5!xNmXogT^eDf`{P zIiIC8P1oN}+9op=Fi1GnT=&TjYCIG&=eC=ma?i7HC+iq5V zN;99aL0tEf0RoAo6o+B}Tsk3?$)5K17~lA!e@^~ZeK>G88}jh$gjgJ_o7{EOn|Xhu zL0RhC^+n|za29_xS*IJ%kb)O$12uZbujqYrQTuSSecxUJMQEr!E}M6|G8o|=!4OGo zZupNRA3v-kp{0D<;*x5`#$!=v)1|JPD?Bllk!2$%I>uz)3Oq(ur>oiT*TwAIiIL6{ z!5F^uL~CPAjL9q$saz`#C6dt(zT@##>E*?oI)-LqVwwbQhSV&&Ycz|QGZa|yS%{$L z>i%(kw*?#kzUe%sYnx1({uPJZTYN1D@8~ld?wHtQrml;OSxtn$t_H)^^J3#D_!fi{;-^7bZ+!s zYaVb15NU&w){tsG<8n`O8tv5%igzK~cr6*g7Gnr?(a3|JV6)dqP-VUF0BBLLqLo>% zX?{uhn%d2gs7dmhRV&wyoBo3KpvC5r;f}j8Z_){AFx;qVJwF?|M}{JHR&E^rsl1QZ znMp#sEGtCA(-F*O%{lLWN;m*eNTMgr(p=AE0EzBTeP^+57*6f}C0Ba-;Pw4}**HPy z)~L1UMUMLfQy{o`gep`+3eKsDi|;N+4Z_g&BZk`gkDo;D2Ousi?B zaeMynbnXhrbGbkhWQn?(;?s@T;0jjEOX&pEM&A|pG!FU|XkkQ7{%FX3DE5nXGwPc4 zEnD15@Oak^ns7I#IdpccIn(4d@_N?=w#{wNv6jTSr93z5G<4!K#4GgfS(}}w;to+i z4_rmm82vH$Zf~&0d`C_&G}Ne`EQKZ)wr4bq9szX#Ui!SWd&q)~4ql#PN=*&2zXj+$ z=}A*ADQXM=tEqVF+|<*q^&4~!Ha-idx1E;Su0PoHHZ3fAix2POa1(4aBGRXxMS`14{!i~K?VArrXnY?cbMQ)B9)kwFc6WSFeE4j$V-(M2b4t!iMEQHRRn z+(`Y~qL;b)VWa8cI3B?>iG*&fEu)I)#}*bs0*rpH;G><^w|7Yf!{AqD^rbsU9RU2< zSQbbCPiJRS002PK0{{R3008WH79tM-003f6gAo$#@a5^*?A+wv;_B?-;oIlw=ziLK zlt)Z53KhiMi>bN7gzQPO0K)TZrMVQqhTU;q?ykBztxh-2{jXQ29984!&vL<|W=L=L zy~^FL4tSP!X}YD>NKmo&e|?<|frhwg!DJ$z!w=Xb_3muzG2SE@V|I1i|rI=q)XcxmNAsjK~)nDRgeowh92*af7?I0J)&-XE)xAZ{=AS7OS~?S2aW zS4Q%id+Ubd`(i|fJzvt$84^s_I+%_%m&+#|Z#U%mu2s!a7ZVvvMeZDkLfYscf^lcl zL0i94>Z>rCV4S_v$VgrO7fZ`7de4?ICIO!6ytG$r?xZSKb88klo{e-bsGz{f+pYd z1ak=tDIB~URU#!`XKR_{;dA<{H_fE~ayM?pJe^;;wnR>p(zPxy>JO@@*{Q;YTvQ)G zJ*U6!EFC${TeD(0QJq?gdkzk%ChnNmr_h>wKRhGej8e7AKEjp=_od@_*qMjARxO)g za(kn*fB^m}z0_w+O4=&msK|VOkFxiWVqI5bpVa^hAW0TLG}jbJlL8RCzj-GjnKEQ% z=iHyi1VaX@qdFhAgJwi+&Um$;xHJjfKuVky5=T*}DMVzgx2|rwia0$D(pQg&Ol;;W zmvTvPbk-~y_mCq~xI5R}bL(bIbB7{F`tT{kl>7?fGM{CpF z(terw7?+be;JA%g)^Q6b#&#ux2{~+g%@sVp`JDPkGJ-+Fkbvh;m9;gn_qrZ%0RV6U z3;+{AV!EQH6a_F`SAIvfPRozm!|D5^z^Pp7`df1yD|E0aT1T6_*}Q$F1H&6uWTOp- z>A@Uf`d!)bLIQ`pAQFR23jl=zfdTOYM!9li^g^~es55h_8nj=N1Ttemims?>36vwq zo9Ge%Yz4w;=(5ZBNAi+*!Q*3UPMyEH77vP3x|}-;V}i!>7LmqV#WT~+F$u0T%rnMvpzQ`OOrqB*Qm(IJ_Gzc!*~xn8}4N88xbYWXk;N$t5+ z^t9=8AGlBOD1O>J*Pje(GzQxh0Z+d&L?KDTfjtK-fYJ#N5#d`(Q2=r0X5!4#r=O%* z;D#%kn8&PS^2!QYiOfUW**BVThsdQ+wb7egvpH!aKg|7}JnSGMPq8Qs9>|KZYkR6QJietfq-a`(dLxE*&k4Hu@<`)rZX?sRAVjsRNq0{u#T(OY6ma2ObJN%;(IdGkUXH3u2xt z*rN_$Q@ub>vH*T~rbQ}~0*E^%dpd1bS6!vI9o^lgyb9HxiJIe7MBk6s>8>RmI?7=g zjU90jW+*`Ky~6`Hf+(|KT2jP>OoE!wf{R=fn2CyUzvNFI-h?|dg&ZA8$WgK7Q>9?y zUe4Rtr`!Xutc>qTXI`vT*AM&eCcEZw{AKG%{4C{rndNDE^`116qf zI7;{{-=b1*&Psg5NWNcUqHr;4DpEyryaUcH-X)dryviIQ`ovg`A`Y%>ihgwm03HfG z;%96GlZJ7X=bH7f5sSIN4lIBq3uwKzJVh$S0HT-AVZdPi*DxQCb`kn65svEB)^>Mi z!gpw0Y)?H;bN{A?kh~5`!X85YiZ`iv5sKrxdtp+Dmx6Rbx{ZpW4qA&ZZ zj9rYGk*C?ih*#J?n@m1^S|M9ol$qrgd=jy$skfk!@LHo#=BDjK^j)6yE?86nPtS?-6e}zXBdhx*dV)=cr*%u zFx%9?vFTw&MKoy@$5=^%0ABf=^hZQEGaIOtdH%IJZk~o7@LfQUEI@CjLzJRP0d!ne zTcc)WrGdM1{?TV|-PFYH>+4me#W_(_r@+z_(8|n<#0TeLHWcyMp1}#U#WGR6-XOwr z{c3nA8W~qR#Jxb@{OL|dTR5%+Of~N5dCDU|rsK61+2*Mw5Hd9uE6EPP zHx&`~(jY%$v|cOZ4$Z3D0j>3`VUEGjlGxAtOM@YmhvA&K(9bID+U3~|$H@&=SK|8h z2q+oWEBKKYHR$ymYG3e3ZID_jKKMEc*@-F(L_t_8{1S7*JbDd$wM`8;lLjUPb&kP| z`dTqEHKz8!va$^lig2(-Z%(L4+<5)6UF={JZj2Hi-P$2(k5nTJeLpJB^||mA>Ht1@ zJmMo-%(*}<(+fYFH|x;E1ayI(v|fiPSguO}g#Uk6uRv&j<=Z!R>~V^Hb^aMV-@dQP z64BpSX|U+}h+pvH27P^dxW(!jpm5PM8&BQQ)ul*$vmDSW4myC;I!^2|rONOKXQZ|U zinanT{*CRcjyVP&3+ke1kp><_DcEj5WVITND8-6kB$I2` z$1=>9f?X?YOraM{*Ks>}=PTjF^pb+b4<~kf;f`^k(XEItoEzHJb*2^$l2o*NqhPIX6+=piJpfqtt7A@p8Vgo~K*Wo*RdWBQ3 z!14!r#_7vcn!d#PTZgJoMD61!M^(*+Rzt)hF&WCdG-k;fCOTqQ3=Jz*>2MM6=w;0W zNNAL*=e;0z<{#c%8`qP_-mfYS2P)NdqPcfE-d~wGM&e2K?&?h_t@lYcqyoC4zx)sY z-if@WXC%y%1Mu80{mccdnVv8J_+=8ggA|oT0YH4Fy$vR5`gv4pi~cq_qouZb>(s6h z*RCL~6?k6fo{O0PksZm-_a#hL5)2@>wzYc7uiy6wW^JnGJ)b>93l)=fM7~M{ZiP4T zq6V{G_T*%3J$HDGR+&m13c<{5(DiktY{pHumGafs)|*?K2xfxP)Xf*mGVk1^#2JcC zi+s*Vv<~p6;iC=p@F

Za7yMYqw7Aq;>%Ot*h3Gf2|9ZOTW;ixHhQ#k^Wo<=fdGP zyuSh`aBXNOdz{p(@Gi%A0AAX>#_vOG%IS?t$%%XU|8)fog9W`#@<@ki8j1m=qkM7u zos&N9+vYeh(o>Db!g-kv*+1%3&&<+{JY(gUUmDdIbhByBKtWR9MS^THYVX#`q=7uU z9ss{yx-*D~=Gl_u57UTM{*{lY7%dgU3$B5nxc}T6DhU|izqI>C_D3PS!JU)DhO2H@ z0!aX;?1v0`x{(bfEy961z4@AP57!uZnC(**kV4=4DkP$P;C>9ktZAXxanagGd!oes zFm&oGI&Tl$EA`V-@U5G9pv*b$=@~6NzR}}4;&SjF902~w-0IJ?W$abRoD^rSS6bT- z3l8+MY>^R_C7KjK!7eAgmYF{H=Kh$e|6a6PcZzg#u@l{`qM=sxp6?;jGv+ruTr4E= zu*h>vY^gV)o_5?YgVuQR=vpN`O=0{yB(%F%aAue_G3ayAM3Tcps@t-*81L1%c;P@L z5m_TF4d`BmDb$PS59K4Pqi~H#{Y9#=I?3P4i&;*KedEdp+fgsDT0&*NM3TH{qUO?u z72<*Ga;>b!K6iKY4b0_MGt1}VY32kkYby4SYNKhh-t;vrqCb>T4YsbC0G?_5PM0); z>`TRGk7Y$N}C_T1E3MXTIhA-P34iml?#BdMZP*1)$cKorkziE*i+eNw4(fk=JQs_Oky^z zSkEk$u0swjM*5=&vjovVOLf2tGdjssSag9SgFXbZ*z8EJ9{vPMq{gu@*MTQ*K{X!39y50GDikEhg~@ks$F z8JjefD;Cl3&FtAqbuHc63;9BAmKc_ngdO{BI%7gsi)snzUt6XxJ!L4S=A}xt?ox(Q zn%SkJ(*jYzcX(a45W2dt?Pcj3);vmx;rTwY+?O3h4cDp@uJx);?|B}YMqwUyo}hBs zH#qioU;c?!fgQ+40Z(UVQvd)!9|QmZ0002&c@`oN0002j$8Fsc-{|M>=;Y_!-rv>M z<lj5eNn?PnH_AvoidSWI z6sA=C`z4c#?+0Z&GB@r<_Ff`6$7-LeMBnB(g}=K=u!YB|UL{PB+75kdDcD^Ui-C4n z*J}gEP=rE?=2|bUxJ9lbmfPq;Q>4D;R)`;mJ2+*Q9o!YHEwO;BlH!W*t)Nq(A5$K- zZ0>tF&tWsfmWI%T31W#6&Gt+KEkZ=G1Nzaq;MA9@F zfNyGN3?ymPU2lZ7gQ<# zcW~z2*{ZD9%wcxS=Hd(6E|qi`@;0j{*i1)WT!@-jEG2o=RVaicr@rbY4FLW)yy92e za>!(2i0LyGoQVd`;zGZuoy?lZ2>N~*5ViJRaCjD~xXP)+0m4Bras*2(mFWwH>~e%17UfTP8ZTTc7s7&s!oM@iJi9EF6t$25yj^+q zHzPNw_?cH${uTpC!RO8Pm&LAax5=R&TfVCU-xfI!Y(%I;NT0slkZ8tfQLIoizKY;J zET};J>xGj8L^>Ln;{Ci@2cpeHsQUEP`U$a~@bH&{_|aOUk}lP)8n)o;G5j8*CeFx< zv%U$CM7mo)&YIgITgJ#1iK6K z{o7>>lA$Wt(lH@#FR_cuXtWrxEGVqd@ko;f_t z*YpWuzZ?t{hU@wH;r_n$fJZONI?q!iDJlj~yG=z)r|)lf)Q%sWwYqIr40xmEbM~t2 z@u_?-=RWFu{`^Yl6{hOgCIKK5MiG@=Z-q(`=4nC_Vfm#WwG*Y9+4F>8!pzn9tO=AD zXQMSFSIvXb#;lI)Yw@iTNPv>hU86?MhzqSQS}X2n%vmVTsdWW&S9*_2;cnTV_XW*I zMo4Pk{naeGOo95XOyz19OX+>2n&?$)mluvU!eyY=zP;${sl7Z_st<+_x35Z`-NIHK zyDMXUa~ym6mKqY}3O;Ua3>G5*ekpwUd!&HOs$}|f47lFRy*1qr^pFgo6$5~uC*d)Z z7E^##?7V4%Hti-#_ z-2Q=l<#guv5y|8hb~1reCyqyMOcSttO;r9a1Z%LT8zSXKgBxV!YIn-^2sS3nZevVw zvQs1D!;o*i<2442@28)6sE`w>p47Oc)!(0$dwy}>+2K_2^neEd9vOW4JIM62AI9bd z5P9npNf+_}opw7|bkJK8o+sHMN($`vH(FEivEG!}o2cuUoXV+jB&qiGSseP59R7&i zuJ??M5JN%xL2IVb81d@qlR8T|Ya?cdyBnz|iYA$Z4oK^JB`4V|0yNj9GvXGwPc&!w z&YWy{4;V~P;1M$9j+1Kvt>8j&dU%r{BU7KN7MnArEswJj_fhTt2@^F_D^MC!`gU83 zJP-{Da&8^G^CaUd%QPD$q9pD7bYu#Swu4J~D0&}fp8?V0d>+7|L(VFRJ7-Db!y;$Tp`8;zPM|5sUzeXJYF;M4 zDCH$2P5Zxi&Gel#vlprC zxurs@c?~DK())Jv9#0)J;}=m-y|g= z1yH-{bd-+HzrP*{(OIp0H5<$m@1Mb!Oku$6k4TS^FR>)b2$vM#%{tT}n&lrAidSJx zIL%IpjXE501@3I~d(3S*E7R1t-ZT~8$@?`B2-z3@;GY99VK+}Sm1llDvh!x+5m z0!hyaX$6=7+62&ASPmu?1rS=5+RsN}f_$31)JpHIOw`tA?tNs~+@D(FR%mQm&UyR( zWDJl4153GsvNeFJL89x@6}0~iQ!j!vP5meOS_3JalLSs3nNwT+b&h2_53SL&q@X^P z6_Wv$9P%b7yL&elM1V<)9!7wda%fHT_UCVS7ZzHWuYjIFW39bWg8U`su5FI|?2}fh zse&=4zp@7`dsp&SsDH9Tb+IL%`Tvg(OwPSOqx`+s0hYKDTb^k7p>Xj#q|B5&b3R1Z z0sc6==}Tg0#)s|)u>JQwZ6KckMFQwa5s|wllO_ewcsD$Qr``3LufIc7%Pm|qb()(R zM%je9F*~@o-RIVl<4;~_L6YGV)&P|}K2;%)A~f5Mu0$dEOqQB7B08QEO;_;a!|Jcv zn9_z^c8+#M&=B0x7!p2str9j<(V!8*oEHyo+tltNy}0Y!TfM@s5@G(4s>rkex#il& zNxI4D_}|#9$v16T?BjM}duIPq|D|l)#<>AOdsXPmRJ{qCEro{aD~0a7V*!oSnpbxN z($a&$=nh^uJpCim25l9e2yAZC`rG;X2rCnM;s!baDhJv~T=rQljpUD_IN0pAQ19V+DC-%hSTC3v?t&x*S4W8QXTjqz^?le;xNJCw4mf;g59!Q+oGhHS+ZVJJTf3)(_K)QqhpqE~R>oAp~0DcW`6{$q#RzADu zM|>QecaV`k_gGTkiVwUT)hW~#&aH6doSB)CM*=~0jkP@li3GK-hxes*ddha`b{6aF zDbSi)>voS}9_^3b-TMq~O%u>sety+m7h@2v-z4BVzEL5oXhgDpYXj-x5_oIEkCeYn zV|^A4RUu^3?(|R1D4ir?-HF`E-~PW-8K;<5$s2sN%f>73lGFCO9e3qGA9Ky5k0^C# zjB@o>?ZA-9m-_zpP_3h%kqQ*oj+tNfLZd2Vv|#NR0G>!({4G*6gZu>Ce_t4F9}o+m z`;j|r$;T=X@G>+P9Ir(vTk`%y$)7?#a=bb+tr5(4%{~iIaWVSmT{a97W&i1VGRwk`FgA>DY4|@JR zc%5re6-i{7%th}Z5^ZXgekl@Qx(qb6f0Pw74wpW8Fy2OYl#NC;hmziE=S(SST6EwG zZ)vPQv=13_fgU5L*a+VpX2&rW&vBv%ZaAn!W_pcAd-hD_JvZ3#fzU#$zL{2i8FN?t z=85eJoc2#x#AIu@n8s(ZUeV}P#7XaEBKN8H9&>ln|KC!D$c zXsg+YBhix9S}0GE5&&8*OE((}_PTm|HMfJ>sZwi;wx?yTr&`p5eO|7rXwcUR{wIqYhu`Jwgt_e!G%__^KAf@}@O6;=y+&IYj6p}Df3Z>1EQ4Llpq1Y~ZU|BibR+^pO;l%q$#X|kT zLcT%h?9)mMV_$k9P*K`)Zh|$WT*)0J;Kr3JxqvK@G1q-x?=n^)hfCeGO7auiQAS;z z-l3}R=cZe{9aS#mY<8=wzJC%|SipaJU($5qS=-7yrc$RFk&XHnpF~}ufM?j(@-Te% z>zl1JQ%jlipbyTy(*A6jkc1VcF|}n~wU7WBrPrI(@zv`Idp0e11PWDVac{9c*WMQ_ z6#pBe0|1PG^a+9(TpDH#+iAfwKVNJaOA~ctYBvdW2@b% ziJ)Sx@4#rj)VCP-0X0#!Oebb<_0qi$ANETX#3U5OJzntzJ(vVgCvg>69+hv0;DjEZ z@9;*m`)jgZ0tJqt&&)wrkol91u-jd8Ad*)IIao$sEz<*zX^~^{tb)B`@6>Nsici>I zC9ZJfS@l3TZ#O_=;sPkz;v)BR^FT*Ef3M`oyd zH15Q@Yka{%1_o`of8ol~W@c~SgdKmQ{XgNt?tg^~#2?{egc73#WqEC5abl%EsI{!2MZMNXVwQ^uNxr_o(Te(K*XF0mTC~M|od1jns zthz<_FIP6YY<{n@X*|pO>nwY`A7s1M()Ixq>k)ar3b3(24QabADKp9S!7x+WG4HsY zuACGp(|E$An355xBnK0ga2Md0J>1I1KF3O!%HbE9kHnOJHoFkt+XO>ouT@zA`Ns&C z0XA}&sNDIG*KKViWtw?w)7Ge5^yw25Qvt3J?&n+RHLGW^hbO(DulQ8ODs=J&-Yc_>Iv%c&6WX>Q_oNXh^;}!QTjFx z#-UiaU9Q!*&d#FV15Pw%^!1NfT?rmj+w8tSPs7wtyg1IM+3YcVmJeum_Njl5N+z1z zqhl-$JY(NG=w$jpd4wb!$Q3m=;=^XBqahgRMs~12rWZ5>8efTV*E6&zBUiIwJYC1% z_y!}Qd+3^0kW=S&d>6KUHQ<2hvaNvweqPE_EpJW;?AuHAsAaCxVbn&<{5OeU>cmJ& ze_EC`PLxa>=S#cP0WqeJ7|pE+a=KT+kV87&X70dO66=^kbp1Iypma?pKTYO2ohvHK z7nVunJ5Rqs;)=`%m{{opHBlXbMCD6~+sZzbg*x|rKFo?*KeYp(27>8ZVrChT4#+TX z`vEbL%9P6dk2*qpk~6^@M4F{ww+(3%&Ph9~K*VRBaB#@z88!*Vjcje<4s=Gwxs|W93~(zNvfhL7S#71nMP+2zJvvzz9Er0R zL>hnrvz4FXZKSv4TqgQzPz!LTVENoyYgW(bvv0O!zPUMW-0r6KaHVPAAghV6gLzqf zN3EccCFzxeG`xBFmB0Cz^u7@Zy zZL0FVz)ibLuvz9fz<)h!VRrCEpe3F6yFC+;%^5jlY~Yw0jN4u!7wW-7*TS?_iz(?| zj14y%tC_W!le6ENj1>+cL;EYmw|+Rh@sZw2@_>z|bi*@dOnUnFlEp+9M-XF&DFs9r6Eo zI>FqCqs(iBW{~bVQjuLm7`xl{Fs(74ErVCb6(S>Kg2vZGZYoAi1#fhE4glY*-lxQ^ zOscFBw~mz(^O`VU0oz*p8-XQ%B!Ct(!97~6wp@P7=&?x%Th)BtlwR%gII$SoInx>b zB-YNxtaY$Gk(GxNEgkDnMf{^jx|0)0%c{mH-mymmtscF4ZqP#H4og;XceJrMrhZy2 z%rnS5UYX>u&ln-5|8x~`YD&Vg=KWj7bDQ>fUzkhL3=xu%o9Dg_O7qQyu#zNjw{$~Y zHTa8Z+)~93K}&hcI>cr!SvgJnle0j?@6KX0_`h9}eqbEj7;k-hDI!B*(&Kdwf93)) zPyoJc-osKA(T(x|Ik^NlG-_lK+&Q9tl}VIdOD9b9dzyF*I~ZlAEV`7*8??* zPb%45LoQ23O;VaT;|NBMq3M}$R}&YpOJn3xK0gNI)yr2Qs*J~u#KkNqR`E}VczZJ< z=TgkQ5~Kdnx`!pg1)SMHXVi5Th1K~#J6{dr3vus4>`!k~AJ<;oGa@l82YX$LOizcjEuj7l(vS1}FH>OxGQlubtS>K$ z;}AKpnAxEaL^?x$)loKiegCuvKxe#f*T!(v-k4L6pV(m`L!4t=6&!)YG#kb6fwv>&GM*pms& z=Tlb3MMpx9xA?hrS(W(3h!6#e@*Dj3pPDLu>5O|Xms5nL?eWX=Bo5B`3QByVMYNGO z(0Yg0jdRN_5#cOnQ2Y={z1~$i{ho0Sk|WkdT2PCBt1y?-Ne~aC?TMGR5FZe~-76cT z10avxGL$B72Ey(M#^v@U_>v)DBP=qHp^s_xH0p_d-mcCUt8{p1Q}?^%2=jOyAd-k1 z(N?rGeQ1K!_Ia85?2phV`L6B~r<;El_bEOXkDZqZ3ApS%w13=&dn_9tp=)7J4=qJx z-!nqqp3k<-7FciaM4$7Uf*}b*o<&TJo@Sssxlm%}yISNR>(N}`D#tYZ(pY>EmD9YCjM7?*oQi}bCpmRdSXg2ADIJ!ZQWGK+Z zWoJ7-{jPBg+9e&^Ijq*!a)bv<=Gk{ z%5QOjYvLgyDoP>(GP{h!(bOyg4Jk?5G%3CCe&5_#V&iboJ8J!65A9$q*Njcznf=^2 z)$$3WwUo~fEIYHYd+`E8qUqM*d1Ypwc-%@IB8YkR$fAn0k}*8MC@v+avgAfMXsr`A zubj?9*5WN5pV;3(WGc12F$`;*s)|YDd|E19T^=lVARAoKLfL6R>$XE&SQXzr&`YTJ#~X#tI>Lem4|{OPX%RkO_jsYW4)TMWP@`@@X}Hay_Qu$*?G=K@Tc zAnCo7MD-Vb=-l-av+rCyUxDu92SJR5ohBO&WjnIeNi1l`GvoN<=mV>==CLBc z?ga#FbF)b1E)yN65ut|A`dtq;*7xyM(t{A)l4ze|BNs3;)~-C+3l@rDHLW%Qro9e* zs;ea`;Rqn(PS@sBNIuwEx&MZz?{6a-@=WC>+J1ag9I}@*JnM&{_%G5WcUMeNhLhK7 z*#8Eup+lWhgi~pxwrwxtPO{X|sF7zoXrn{6XW&zgZ;nN?t?!lv(qVw>lA%Kk#L**i z#W^DcS32bU;(Z}pRhr~JM`!C#ITRUM>eHDCU6Z!voi$B9wy6{LGqP&M*GmKg;IVyD zItANT5s36Up`NyLC1WbgiA)62EA!}$%|;B9*pMyV zGvIe{hVfhnV_YPw%tMT5`~0vNCQlA7MkzejU`FpXi9G{Z-nZrq^t-MaqVdedwq`pv zx=qOzZiuAfGcAi{`t%bd^33Q#i~5br0JUA2J+aQ*eC*QS@0J^#m={BWH02&L#y-=bIVD-+A-?ovLv<&Y{ZQ8E5jn}P-edH3XF4o6w zFT#Rv=Sg^V?6juXHvjZ8o~cU5#f{ZnIHNXLwDPGfC5~=}ZB_!^T;h|nuIZ?mj&@;; z&j$J4km$}pxh16Bs`@|5`i`I}?+dy&`ZFcP4P3w9jAzKFBJh+XIBfQzHEh8}LpCP@ zxb&6>GxPe;+6Zg?6DUMP%att$4wncvl?`Fy>vDqXe2d$k-dD^SsXLEuLeS3XW*cOF z7A{#oDUE`;Q~|oqO<|}(kjAO-n)BX#X^~(eK-_pMyri7%icGA>p7oWwHGf}j>szmn z`!zoTC#g>iYc$S19NERtOr zy7|3;FW@&(MCU>Y!@E78i0`2xZW^&t-&c+0DUz7{E>nmc#j+S`=r2(4W=vGb9EYi5 ztfaRka5cd_@0S;G68l^?^hsbAIp`E`m2uvc);UNlw&^i&ehf(~?oTz|n9vI8F?*%B z0vn3{;qguHoc(imallM0A;sG}7VrTXyQwg(mJ~XBLTi1u%%K^*TtCcfmp$uSp!I;u2wgGi-hQ8*bYwy-%U6 zvvtC{!E%sv7w<9?p^TVt-d@zjp_4@`E=c2O0u>3w9s(8{vBFgq)-7}II_X0cvdwq~ ze?>)?)TT79dm+L33~w4L#qbi0IN z2SzZc%PJr&HIiP7P7a#O`nmK03k-12&8%k9=z^TR-+Un!9zp^nP6OJzZ$|lFb(tI- zk!hLX-C2G`i$o_ZFkVR5Fq-=gHawe$wA@5;i*LAs4rMO~Dr^cgVKO}~HKbzwzUFB{ z!%azp#(wwZOvF`ToX*M~$>a_aptdT=_c4ICdNa#-%6&cCMRF7Ng0~DpG^%g|pn zOCk~95F2yiHKP-~#7-6ZvWBRb)kI2W$Xu7{FZX83xpTJ=@j;gCrGq?6$Dtw*HyIi+ zt}sf+&MGDh5YzF}w8Z>>;zrN^iW^8j;>Jhvw;amC{Pg7f!gT-g+{Db}^w`wG!thi# z>*v<6F@_wVQyy`W!M_h3m1Jv17;l^;1NfD$d$M#m_oaN#K8N_T_3Ph$nBnKGZHqe1 z+BGz7wOq!NRr|k^;Ab*T1$$NM&cvCF=7-%jqd*pxwT+D9!6AD0bl6x`0a*HRH**QD z#Oki@aEeM$0l&3+nV+kyLlhWeUv{(a^P~QppU4hyXbHXC{EjFJU&qt` z+Bu8tc3)T^M`Gx;RwhNZ$I1?nMBom%Qk;A~Hcl|ctXp|A?3_zhL<`WLmT@4g64=(K zmV=lGQM&9ueqHjrqv7MrgGbkR-YcmxK2F#Oa(*y~B-g3N6(P>v#d9zBuyf%Yb+lj`L|NmF{8H3oW9U{9&dreW z)L2ztDjGaYV!^c>Qy$$JsMBPdvPkwc5`um%;cMeB;j`Eu$)%ITd@p5zl=6}|Tx2KNvS z1@Mz{EV5UzKmfVC_y}WxLKZH${**#v=zPDY%nfGrfDB8?drr2T@iZIw@r#_7$eM*v zoU}-zao$>}AZd-MEb82@R+sV$`t405CrW9m%*(pS2wPH#BMSdAHSmC%f!>jhyBubVY}#P;QH_)DIaVsMk@I;} zvqnjTppGu*df3g@p4cXb!@0z4qKl622UP+c$Rbrttfi>nxH>hu)xGD-9Dj3y0lry2 zqq{nxSpOSD0L3k;!KD)A;sEm_0>J4iCeCIAJnk$dET3)#tnrHGA9dW4H-3@sh|g*w z=1Y}jN#?v(=W3S5M8X!EljO~;4O^{fWqS1@zvevO^^Vw9&#p0a$0WCMarZ9c2tr{L zj#}I=EsL0#{kbfJF;?Dn4SO@aG`nuU1?<<58E)|X-{qvGl^sYd3%j$6laQxU?!uct zM@#-bimE1by-PI8D=*H^w>@{hO-F3!FEMxZ;F!W-SA~pWcwiWaDcU~t`^we#^-_Pc zes;uVumf&gCl39MvGZTT%?pwZ0qG~`3-H?mObhB~xcDSi*oHheRXxADBBy#4Bu1nq zDqqoUWXzdv3wcjx7l(=xhJ+$jJywh5K|9b}N-(QUiG}0*nWT+Vx8qkGs<^k-mb4HV zq0IKHdx!Gs^jK~a=GLBmrb`{k7z0`^7|_NZs~M=m92d9B%2oxjXjTfG+^~(+>=&)R z=2;Q5p6ZH1^15WhM(RDrjg#~UOL6)S$ke3Dx5!{>4(N)XHA%5OWQ42HU7x*+ZG8e* zfG+E&?udl}H_&Zp>0BQ;Xg+GwN!SIIDRi$w!D*oO_xCv|tC~p6$>(hO!)=Y50Vn?F zql)p5k9{3?y_mIV`hA-DN*eLcE$Zr-yjDHMuKW{vYW-_a#A*abDM3&vBy44I+y9Re+EZp%jBs8QP#h-&D-LPcyv^delE%U z6k<E{mF@XK8!`>P31sj_!)FGogXN~dKVJ6&O;@4Y%k=8I} zV>-zRd`c{%#u-Z>2lJ*rB4aL=QZ8|}tH4DHnin5wB|%kQI*ePSpv32p|MN4RMs!}V zF?+|)5ls)Fe5)f3!os>kcF(||W9s8E_rqv)bXgoCGPSlxMXxaBvsk=QnfA3QWme*e(f8mfSJJkqRY z>m2u4yfjc}sL@{Vo|CH2vw}?YbVEdCg8ScB+q&25a5HlYT3$Z|ZBdx(Ry;T)v5xj% zRaAaE1z=L?wT3`b%F~b;vzwCSA<= zTsv=bHfU$3F4d2Ai;m6lROaWJro!T62#m>AI?cDvIGEx6{aMl_z|G;KUmoDPaO9HA zb)YJEIVqLKX(B30?58caiZJr?Eo^7R5bv5Mb7gHqcbb~U6fMfd`H!SIj{SiEwY8MT zq7A?Om+vWr9)Ax3{+=-A=+ef1G#zNxzBiuE|4SX}But2MU34m(2iE61SVM~RE|aQd zlo_Ea#{~Y+XDm0mRL2dKgR5qX;lQ|BV^~{$2fyHPUFZ3T%Hi1j=rAsQXoA}6IidYp za+|ce6+`Lm(D5m0eP|cr5S(Hc&JtZ+#XuD;nJRw0^QB}=@Y%i0N5RJ znPt_0bZa@yjiFwnFNwoVnxADla!94xh1jE)&joqxzCS{}~OIBFVqTi+oqPVS77E_JtS zhgGCReZ@Ix)D{SW?)M-M5-j>7H$4UgIwEg}E2r$kPnSxdS&5`efZv`rRqSSfHqTCx zkcL61b&4lk9}QV3>W3&?>S-SMH}b~ zjyxJ0t8pd)vr9V@JjS%`eJWdVmQGS*DU_MXE;Eg|o1Z*doGpLppES265{C9ZyyTKlSD?O7MIRVqzXtj9J-d>*k#66_ZSNuqn# z*Ec#f1z)jS{{FFC2y6{pIuOEfUT!8a@vV_gHYSw#>#e4$7qKzmShAN|NjSJAecYM~ ztkz=tT@K}5Jb|c~gweRqci}e5lwF@|A%?{v7QJ&YSP%Nm;yvYL%LV}LwEF6#I359}35vpyf zRMN`4xVqA*g}w$nTqs;tEiq8onhY#hF$%HJ=^-R<^bVro4VWMXGfg+OIzaMj(1s(D zzBMI!uQq$d6v|Ik=SgWZ!B=|WBB@{jkZ*Xx96it;y5<6yG)=XxR(jDHNGaRoZ@=UP z>kSX2Up;$*#=`%pjdcT=v}>$aL+3}LIh*({lV&NHxQi+z#!-^l+N;yY%a&ZV)T~LCE?{}`Og(KG~$hkj@gn#+1O*w-8 zqqtUM?+pzd#2DYKq6~L;;c7oB*P6W3$Rz%c1e#*o{)>i6a~24Ve-*KSGAIKWqxLEG zd(VF0LGEK*iKqt$X2{g(X<$Yf|YSU6aJ>irroDBJ*Fe%{Z>tHZk z-H6AT7a8*eT_#%m%Yy!4C&~1*LaQ^zn`yZ1XfoLd06tfG#vvT&b;B&~=9Cs+w|&=j zrC)Tweybo&u-r!GW-`NM>HrYK2WJ%yfey`;TDG_yzdI( zii4-C)p{L&8)HO}Mz%6W5V)JgTiR)DU=84|q|$#(ppTZG4vEkeOP`Vq3xEkA3v|-i z`am%CRWbjt(|&b&A`3#Feud&l|3EFi2ZQ-rZ|+p>>G-WXI_|XaOj@8v?P(OQ>ZJt1 z+e@adh|wW!F3aRc{Nox}21Wj56IM#O6&&*@Ufi&INE)A+Cz_rnY+-*{(*92F1eQ64 zy${1!7yx@=rprSpVDdyu>o6Zxv^l-&i4>>BNKC1%7aG!#7#wLyN$Z;okzNdMZBs-y z+7vj?d;CUV7CezAtMFf!re4bYQ*cbw2%(SyR^}c_Bwh>4#KHZ~ucUUDYEa{JcT~U` z(%Qcx2#k8<6wDmKN{4ZDThA{}hG5;Fu}YDwA5DFo%v7eRo&FRobOq0x2Gv?=9O_@;h!+qaj(?pcIyk3rSvz=|m0L3zL6;J52$E1v zxGLnXqEkm7lwPhwDTgn?s<0{yIhqQCHEZ%uRg{!Lyd&s0^UHWFukI6E;@<@j5mQ<=WICtl^Z75vBUsy9!iCUK;CO#M7A!Rd4<`988;tQ!CcOd8&CC7g}@F!>H`AwIRdmxP@_>%(& z#J^BWUHG#c#_JU<^+#N4#kx|s5*J$j9UH%D%54U>XP?dNJ*@Fb#8DNtoWoQVbj3dD zz0jfstc#P_oy=2vwO@WpT>sbDY|C1(!vXBBkuzBlTtKDK!{ z+3>0>Oa>1A^@U^`O?Gt(HASW2*_7{_aSCmPLWL}HnM!Nz*iH)Yb*v07Qj&hO@mGa) zVbV1932g?j7i5rS4;kOnkVj-8*1C})b6%V?0g(;_>ZuG1>;$J9wl#$-5y64bqT=aN zxw&eS;BR#F3lAi{$^JTgr`d2|q)87tW4N!PG=rr!%>!SRIM=*!)(b?Eq$EA<`ZYY@ zDe9IL5r6^cX6c-flEn-Iy&bP%HNon&juNt}KFTeDHH9YNszG;O;@`K=kuDXzu{PdQz9PMyZ(E7kJZ^P)2kAMV%X=jvu%|$V&P{E!A^}A-72{n0q zBd~8f*@dGqKxN9=(lIg(6%kZJ+f@~EV-GrgG}2n49GSw@(SpnoIn8?@HZyqGWaqjA z`#8wiE{h~XF!Xk~2={*IZ%>?FI{xs3V}f&2t^ErY0pBC6)(f4Iq*fh9l+TP+z}Np7 zsRaS`|8GSggZ)Sd|98a$`RDmIt0RIsH9IylJ>EY%GC9^iH`L!h**iWmxXt2iSLzP} zsNIf04&+D356KFUozI);r&VWj*bYhD!S|2FNL@8?NowxRcI+hu>EB|Ngk@p8cEPrX?yt4Qsei= z(oj;&@4z3U{73G?)*33Q)7~q^Su9yzT9P%7aH6g@sO87SsM5Zo(CP4k@}9C#Vd7D3 zV9^|%nJ;z*d7=+YvHGu|v)jp3wF2ofQR4;1M@LnydCAj=RkH>#&<~Q{GfHH#AiZ9> zK<3Nf{8E~)ZI!~Q0DB!z#cB{Zsb`@ZwyUMNg{`ekbkW%Q))dp0EM}hP=kFN;^>~QA z{JPD*!BaLeYq(}2dT}o)%aU7TPPW-oYZO19iL&YJ^{s4}8rRougCcW8f&PhTElS=S zLOrKB?i5PPriDOA=lqHfb~qPT=jm?Y=7&qAhO7UMe!R6QMUGv#M6jdtVVj*l>+UxQ zd!&gvKRkn0LdmV~dLp3B147alKC3)8RzgqRLNwA&W`N7qG4F zTNm`fGP+myf<8!~0-HVc;3lKHJaW=mi{=rQwJ25Hp)ujC+z)ut6*D+(mkD>gzHnPM zL_j0|ssuj^e+SvqJZg;%+YZp*DtC)ni!cd%5~Ur! z2vNfe97U~Jli?+_pj9L-X^EWj+g$@ywOcZV6a9}OSo2AokrIB$KuyT?Ki%1kM0!QYL zhPX#1#|XHM`3f}Gm|4;4%6yn!Ic|<>x7m8QfQoybQeJFonhq*K0lDwkr6M$+MZOY0 zR@~8_lWd+Rfym^vxR#Hy3m7=Z<5v)Wr|gUJ@q6ThH75Jil1LnZ6G+5_*XFg)mif4B z*$L016kn$l*&vu;*R*$ZU#-wyeAcQzbkok-=4a?<^xs?owK32}N)#@0MWPfrH=vuQ z2kx&(J0ta`@Mmshs6NqPHxQJ334o&L{zs&)4$x)s##2&e_ebQuVG7J4{sX2D)W}Jc zEX4@IA4W^c`l}l`$bD-yA2+&(>-ojmi*&N~*B>jdcc7spq&_welEWcEBwP(^AnB^a zX8KBxN!3wP4~o;n#h9aY<1Ym!r=GabwO!aAaK(P{dT%vdtgCLGkl(eIA&7Dk@eC!6 z+G{e>vI5!tnQ#7@k#g$Y(!3P;Ul*m6Qy5|~ zDF}K|j2&BuJhV8}npn?^d`9^o#w}&^lUz7gq@I{_W>A0bl=i$Vx=V~!R zW$1ZO-Q8&MOE7*8@-a1COrQ_DcZIK>gLIM=0Nzd=s${kdTZE_Oo$n>b85-pm$@C-w z{?_HZ&mQXipWLc3>IH&xzmw))Z$j|L^A&awA*ha>TjXdchAJMIrj~BPcc15J7RZ=7>+3As z`Hd|RTYIe!MmtwVvBm^E9&N8PTPv{_5~U?lV=QPft-yisl`5g7`vmVk<=|=^3-Lev zWyCq`4=g*g5DuycG6lMOVta@wMM4Sqw0mbPXLVWA|M)A7$88`N{>5szcG!jn=0VA09KqZ%DA5t$bwr4b*&wv}QZ9aSNmg(#%@FgIpE2?iX zBPFWOj(QGjIPmu+Y79TLLhA7lBy8*rSVU}9+ee^}U?&yxTE=e~g&k29!A z*$awLb0w0VNC_~O$+>5?QpjPjvTEX+o7?QFv2)Ljo7u9>i-Utx|#7_c?S0S<2@hoN*on5Km+A=b!?q1+*SvpA%Tp>&Z<&cHgj3huIWBSsfiF*^CbQ%dmfS*n&qB`m z(m4ZQ2NC1+X0Ab**E?Tr#|^J9)u48$s3TvU^o!0jyjGKCwhW`tx{#l>=T2Nv-iKT~ zPqJ!Ajb;uGO0}(dH-U?6SeSEyK*#{OEZ#OF?C=!5I$K1X2qn3PhINPyL53cwH0lQsc>=|M_C;H%kmLkD1}}eHKQy4R-l5Qzy#itA*RHJGGizJX}p*IHa)y*wxXuwEA%Wi zCYR5L)e+9q)!<9o9*WY;1r&spg0l^>(ye}()tZ>pxP>0_Bkk$;Qh(Hv+?V5}UD8@| z)0*#T&G*8(wjhmA-q%!)qic@F@!5uB;(Da$bQoQY0ghA7>VXhqVdKvwG9_0l`$e1k z_jV&0tj(u->*@J1iM!JNtLKo)G!*I7{;P~!u3VMnkM7;NTn*{qHj+S)Da?0-|LAJV z69odr-lr|aoaRqz9++k@cJmbi37CJ2q98k^ESug%zp>3l_03k5Ojl0G_9DXj-rk@4 zcBK=~bT2tsV2R1zt~rbn>ZKBQoAxWS?s2T0(kLJ_R-U(m~Fgu zqG^FsVgziqQyHhS+$>bSdnYThd^>d@!Ml`q>8<1)lg)cGrvT5uUW~~?aK0J=lDhl# zokE7pqbs+5RF53%{oTu?X(6Ov8FRvhSv76trJBC=DVaPfvp9{K8?xa%mc>3tszDi6 zF5ccf%?5~*UdX8gX!ZDOy+_l|piM_%-j7%O?)EJ6ceYk7R$O`}^Jqu*$&nUsxEZ#- z)Rrd2*`nDK>0Q=M75VsG+$My-^F5YrtwveJ|I;#BV}L+N?7QR);3Pnh`GtecG87d6 z@gFW&iz#cH-R2wP6H3S$k6gKihE`#qP|eQP$a~Pf0r>fY_Ggrg#cjGuwbv419w|2p z?YcNLJ{*BKe zZcX%U1$;o8L+flV)Zf%ubDWD{>JHfC8clhlr9YkQ@wY4~CtaJmJ>t?1;_B4~m&)|} ztMN}ICU!UBd*vz? zr{m1BeHlAbN0(GU$x$%Lh*nkQDJlT{({=}3#w+B5M7^@Qs zurbq!O$u=f$|b+`3x%KQ1hEvS(4Q?-#w%nd5tNP;BP(^0G`X%{`BLIp1QC*vP}g*P z&QLpfx(lHGz$0KeYjzh)T9e(d4F|7O6J%lqxJhV`T71EJ0!I!i)TJr>mH&@rbx;1Q z;5V5wEy!f@Vyg*Zl#D=tRh_nQ9YI6p6 zm&Qa-QEA{(Skq*Jc^(dqh6dl@Wm$2;#cATod?Hxm3<`wwbJ%e>xk{l@XF?^@HaFE| z_?d$dqHI4p%LkDhd|gOFZ?wx5cN~mrGE7q{i^R@_E6gWkf z#oKm-0Egbclv)BNp6vAJ|F2v{X`o$UqnKz)zIuaNa;{m1L-)=z+om+@-evSbLp z@tv4yDr~04ZFh*UvyuP{gbv$9;A4lD=Dy1kRl&Evg|1!Uzs;wEbQENoV;6^*aaxA# zpX;5oM<(W5WYYy&Leita*~kgOh3zJPfVvP2@$wm&G`(8P^hKo(N^eenrcH1j{c|r- z%#R>n>FIl;O1xf;*P4n_tPSJljO_%OD=m)-Qd8GoT3$_j+;`R&Xa@AtI_6mMi^qc= z_!vZokUgn5YrZ139b19}2)OTtS3DE0L{r`-Y9U7>tnY?~ZSzDLw6E3LUtfhHL}h$t zOv8ZkE@|8Eb#E=R{W=Uu$dV?5!tvNqEAC<(IBn*l2(mWSptbQWGpYiY~tbMBvjd*lKC}*=p4S3$)?_q6)zj zj}9}-E9ZpnBv~#AF+N!Z(;N+Q7@xGKt{(e|w0O=<>M$oVF#fCZo6G(H=+^Dh{iJVA zh{x2AIbkJzXh7wY;6^Ii%QR(JhL9zTk?uU3CHe7$k`?fR`_U4a}mp`$pKbJ%by`)*r z;E(;%6yn<8DT*BOvcRI1y{FcAf>esGQMkeW3uEh8ABDd63mgnKo&u;b^@E06K>`|( zu!Jh(K9XnAm{f)@T=iur_r|1XMyDo)c7fQFtF{kT-Wwa_6u9h#tSfR5ad&<(%)MDP zC*1=vGFIYP`u*pVAM4lK_6!LWNk9pVCbC)!$tT@~3k7-a#e-+}2@{5Y-Vm(v0spUg z>DFO75Ib#q4F$9kq zS#d6hY^86=-+mW12<79AH!SnCG7aRcHCemWYq%rp4@N3acNYbAl(z)R8(+ z{_~RpJ+>#rLhby@7I7~;@p&5fL@e>*=vqiTiHZ8mCUtq6ms%hVlyebFzKw0K13?VboM3A6Uwvy^W*)@P5@u|u+K^rrit;1m@@oF_w+9J-JbY1nw zsDUyAOPe_#;>h+a4Y;?nY$IPtT`s91Nr=Fc-yR0*S$6Wkaz`y8(xUES`t4?Bpkt4lyruCstG_+cdvILAXL}ka)^u?t6c|~n zYA$!@)DBD0WKGmae}E5v$&-)(qa>q)E+Y)JiPgUm0)aThGWZ9%ZnrkZU{rt4PF9%Q zpWGTQgRP?I%_<58 zFRFNQb0qEiA7@0bvTSxws4r5*8w@a@g^6R73Ngg*p-~Fn!z<^NHlD40%F6zu$p}=4 zx_WCGVMsa>$Tjt_GanyHk~H@@21h-^Wo`ahadRbgYCV%_2DZRr2}iuyLQVX19zCEc46+@i(TKxo#Q&SR*#5OsRPk`tZqlGBmrZLcTFE5=hXIn~4XVrHtvyTt zD-5N*qfTn6j+8G05JB{H4;@7TOi!{FGCGy{F?>+#xtVbKR^Hv;wX)bzX=?5tB)%

j#d~ zYT)t{hpQzm1sBjNGY_hLp6{}F%q^RH(n&3WksnTMMvH6HU;hQiPi{HR4v`tej*bQo zc!{=1DN_LV9aDawqkB+Mg2pCounxf3(q6Q(Gm9`;i~VrUKmE}iKRHX4ih)_}*{-A5 z_5!wvpwu8s0RHb=xV14(e%K*yQa7)I97}Z1IVe3D;_H{Vc03F{+0J^?asO(Kz2iHa zGU&K1=DG(Z9vDHMTPIccf$=NX=%n!6l7(4*H$4i|12!u!auZE6{lb&ws7fp)D4ifM z{RaIX>U5_NN=t5#cEOKd_kZ1AV*>77C(;^w R3Y*dqyyI?kChmoR{}20WI4l4F diff --git a/modular_ss220/species/serpentids/sounds/serpentid_talk_2.ogg b/modular_ss220/species/serpentids/sounds/serpentid_talk_2.ogg deleted file mode 100644 index c0d99da006077910694518e1622851a70d4f7940..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159834 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

1=-z=(FQ~~Zu!|z*DjTN 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 AO8@`> diff --git a/modular_ss220/species/serpentids/sounds/serpentid_tendrils.ogg b/modular_ss220/species/serpentids/sounds/serpentid_tendrils.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c5cdbce0767ace298a1d98e8eb945be1fcd7edd1 GIT binary patch literal 22467 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

Bj(5eC*P?TylS81rs0MQZHdxJmOy7lBEPt95 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�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

FcfD-*O>TS)%DPKIH4^Lo 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 JwOXxKD*%}NnR5UD From b199b38ba0e2a0d6a9d61cd9cbd78432411ee6a1 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 29 Oct 2024 07:42:53 +0300 Subject: [PATCH 093/152] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B2=D1=8C?= =?UTF-8?q?=D1=8E=20+=20=D0=BB=D0=B8=D0=BD=D1=82=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/__DEFINES/dcs/mob_signals.dm | 4 ++-- code/modules/mob/living/carbon/human/human_mob.dm | 2 +- .../mob/living/carbon/human/human_update_icons.dm | 5 +++-- code/modules/paperwork/photocopier.dm | 2 +- .../code/signals_mob/signals_mob_carbon.dm | 6 +++--- modular_ss220/_defines220/code/species.dm | 2 +- .../code/signals_mob/signals_mob_carbon.dm | 2 +- .../code/signals_mob/signals_mob_main.dm | 8 ++++---- modular_ss220/_signals220/code/species.dm | 2 +- modular_ss220/species/_code/update_icons.dm | 6 +++--- .../species/serpentids/code/mob/serpentids.dm | 10 +++++----- .../code/organs/external/serpentids_organs_head.dm | 2 +- .../internal/organs/serpentids_organs_eyes.dm | 4 ++-- .../internal/organs/serpentids_organs_kidneys.dm | 2 +- .../internal/organs/serpentids_organs_liver.dm | 2 +- .../{serpentid_chuckle.ogg => serpentid_giggle.ogg} | Bin 16 files changed, 30 insertions(+), 29 deletions(-) rename modular_ss220/species/serpentids/sounds/{serpentid_chuckle.ogg => serpentid_giggle.ogg} (100%) diff --git a/code/__DEFINES/dcs/mob_signals.dm b/code/__DEFINES/dcs/mob_signals.dm index 39f444bc19fc..765814aad985 100644 --- a/code/__DEFINES/dcs/mob_signals.dm +++ b/code/__DEFINES/dcs/mob_signals.dm @@ -206,5 +206,5 @@ /// called when a living mob's stun status is cleared: () #define COMSIG_LIVING_CLEAR_STUNS "living_clear_stuns" -/// вызывается через /datum/component/mob_overlay_shift/proc/get_list(mob/component_holder, overlay, list/info_data) : (/datum/component/mob_overlay_shift) -#define COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST "get_list" //SS220 EDIT +/// called by /datum/component/mob_overlay_shift/proc/get_list(mob/component_holder, overlay, list/info_data) : (/datum/component/mob_overlay_shift) +#define COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST "get_list" // SS220 EDIT diff --git a/code/modules/mob/living/carbon/human/human_mob.dm b/code/modules/mob/living/carbon/human/human_mob.dm index 9e51f92d2d3a..dbb6686a008e 100644 --- a/code/modules/mob/living/carbon/human/human_mob.dm +++ b/code/modules/mob/living/carbon/human/human_mob.dm @@ -1336,7 +1336,7 @@ if(eyes) eyes_icon = eyes.generate_icon() else //Error 404: Eyes not found! - eyes_icon = new(dna.species.eyes_icon, dna.species.eyes) //SS220 EDIT + eyes_icon = new(dna.species.eyes_icon, dna.species.eyes) // SS220 EDIT eyes_icon.Blend("#800000", ICON_ADD) return eyes_icon diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 1f1a82435113..228c43ad42ac 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -959,6 +959,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(!t_state) t_state = belt.icon_state + // SS220 EDIT создание единой переменной и ее изменения через логические проверки var/mutable_appearance/standing if(belt.icon_override) t_state = "[t_state]_be" @@ -968,15 +969,15 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) else standing = mutable_appearance('icons/mob/clothing/belt.dmi', "[t_state]", layer = -overlay_layer) - // SS220 EDIT START - Species overlay shift + // SS220 EDIT START - вызов сдвигов . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "belt", .) if(length(.) > 0) standing.pixel_x += .["shift_x"] standing.pixel_y += .["shift_y"] - // SS220 EDIT END overlays_standing[overlay_layer] = standing + // SS220 EDIT END apply_overlay(BELT_LAYER) apply_overlay(SPECIAL_BELT_LAYER) diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index ea68428f1391..f44025b327c3 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -155,7 +155,7 @@ to_chat(copymob, "Something smells toasty...") if(ishuman(copymob)) //Suit checks are in check_mob var/mob/living/carbon/human/H = copymob - temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) //SS220 EDIT. Original: temp_img = icon('icons/obj/butts.dmi', H.dna.species.butt_sprite) + temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) // SS220 EDIT. Original: temp_img = icon('icons/obj/butts.dmi', H.dna.species.butt_sprite) else if(isdrone(copymob)) temp_img = icon('icons/obj/butts.dmi', "drone") else if(isnymph(copymob)) diff --git a/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm b/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm index 60be69be8982..a47e10419c3f 100644 --- a/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm +++ b/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm @@ -3,10 +3,10 @@ #define COMSIG_MOB_ON_EQUIP "on_equip" #define COMSIG_MOB_ON_CLICK "on_click" -/// вызывается через /datum/component/gadom_cargo/proc/block_operation() : (/datum/component/gadom_cargo) (/datum/component/gadom_living) +/// called by /datum/component/gadom_cargo/proc/block_operation() : (/datum/component/gadom_cargo) (/datum/component/gadom_living) #define COMSIG_GADOM_CAN_GRAB "block_operation" #define GADOM_CAN_GRAB (1 << 0) -/// вызывается через datum/component/gadom_living/proc/try_load_mob() : (/datum/component/gadom_cargo) -/// вызывается через datum/component/gadom_cargo/proc/try_load_cargo() : (/datum/component/gadom_living) +/// called by datum/component/gadom_living/proc/try_load_mob() : (/datum/component/gadom_cargo) +/// called by datum/component/gadom_cargo/proc/try_load_cargo() : (/datum/component/gadom_living) #define COMSIG_GADOM_LOAD "try_load" diff --git a/modular_ss220/_defines220/code/species.dm b/modular_ss220/_defines220/code/species.dm index 5f11c2897083..f5e38d010ed5 100644 --- a/modular_ss220/_defines220/code/species.dm +++ b/modular_ss220/_defines220/code/species.dm @@ -8,7 +8,7 @@ #define MATERIAL_CLASS_RAD 4 #define MATERIAL_CLASS_PLASMA 5 -///Базовое время погрузки ящиков/мобов на куклу +/// Базовое время погрузки ящиков/мобов на куклу #define GADOM_BASIC_LOAD_TIMER 2 SECONDS #define isserpentid(A) (is_species(A, /datum/species/serpentid)) diff --git a/modular_ss220/_signals220/code/signals_mob/signals_mob_carbon.dm b/modular_ss220/_signals220/code/signals_mob/signals_mob_carbon.dm index 58eac7fdff32..cf3b151bfda7 100644 --- a/modular_ss220/_signals220/code/signals_mob/signals_mob_carbon.dm +++ b/modular_ss220/_signals220/code/signals_mob/signals_mob_carbon.dm @@ -1,5 +1,5 @@ // Signals for /mob/living/carbon -//Расширение прока для переноса ящика на моба +// Расширение прока для переноса ящика на моба /mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) if(SEND_SIGNAL(usr, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB) SEND_SIGNAL(usr, COMSIG_GADOM_LOAD, user, AM) diff --git a/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm b/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm index e2235ee254b4..947fde09583b 100644 --- a/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm +++ b/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm @@ -1,20 +1,20 @@ // Signals for /mob -//Вызов сигнала при экипировке любой вещи +// Вызов сигнала при экипировке любой вещи /mob/equip_to_slot(obj/item/W, slot, initial = FALSE) . = .. () SEND_SIGNAL(src, COMSIG_MOB_ON_EQUIP) -//Вызов сигнала при повоторе через ctrl+wasd +// Вызов сигнала при повоторе через ctrl+wasd /mob/facedir(ndir) . = .. () SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) -//Вызов сигнала при повороте через ЛКМы +// Вызов сигнала при повороте через ЛКМы /mob/ClickOn(atom/A, params) . = .. () SEND_SIGNAL(src, COMSIG_MOB_ON_CLICK) -//Расширение для пристегивания моба +// Расширение для пристегивания моба /mob/MouseDrop(mob/M as mob, src_location, over_location, src_control, over_control, params) if((M != usr) || !istype(M)) ..() diff --git a/modular_ss220/_signals220/code/species.dm b/modular_ss220/_signals220/code/species.dm index 9dc3120333f9..fb825fcca47d 100644 --- a/modular_ss220/_signals220/code/species.dm +++ b/modular_ss220/_signals220/code/species.dm @@ -1,4 +1,4 @@ -//Расширение прока на отстегивание ящика +// Расширение прока на отстегивание ящика /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) if((SEND_SIGNAL(H, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB) && H.loaded) SEND_SIGNAL(H, COMSIG_GADOM_UNLOAD) diff --git a/modular_ss220/species/_code/update_icons.dm b/modular_ss220/species/_code/update_icons.dm index 76ba33f0d26e..0be30db591aa 100644 --- a/modular_ss220/species/_code/update_icons.dm +++ b/modular_ss220/species/_code/update_icons.dm @@ -1,7 +1,7 @@ -//Обновление иконок для кастомных рас +// Обновление иконок для кастомных рас /datum/character_save/update_preview_icon(for_observer=0) . = .. () - //Это ужасно,но так можно кастомным расам выдавать кастомные глаза (я хз, почему сработало так, нужны разьяснения) + // Это ужасно,но так можно кастомным расам выдавать кастомные глаза (я хз, почему сработало так, нужны разьяснения) var/datum/species/selected_specie = GLOB.all_species[species] if(!istype(selected_specie, /datum/species/serpentid)) return @@ -10,7 +10,7 @@ qdel(preview_icon_side) qdel(preview_icon) - //Переменные взяты с оффов, обновил + // Переменные взяты с оффов, обновил var/gender = "m" if(body_type == FEMALE) gender = "f" diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 8fe57f9931ac..cea683cf7754 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -69,16 +69,16 @@ scream_verb = "утробно ревёт" speech_sounds = list( - 'modular_ss220/species/serpentids/sounds/serpentid_talk_1.ogg', - 'modular_ss220/species/serpentids/sounds/serpentid_talk_2.ogg', - 'modular_ss220/species/serpentids/sounds/serpentid_talk_3.ogg') + 'modular_ss220/species/serpentids/sounds/serpentid_talk1.ogg', + 'modular_ss220/species/serpentids/sounds/serpentid_talk2.ogg', + 'modular_ss220/species/serpentids/sounds/serpentid_talk3.ogg') speech_chance = 20 male_scream_sound = 'modular_ss220/species/serpentids/sounds/serpentid_scream.ogg' female_scream_sound = 'modular_ss220/species/serpentids/sounds/serpentid_scream.ogg' male_giggle_sound = list( - 'modular_ss220/species/serpentids/sounds/serpentid_chuckle.ogg') + 'modular_ss220/species/serpentids/sounds/serpentid_giggle.ogg') female_giggle_sound = list( - 'modular_ss220/species/serpentids/sounds/serpentid_chuckle.ogg') + 'modular_ss220/species/serpentids/sounds/serpentid_giggle.ogg') male_laugh_sound = list( 'modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg') female_laugh_sound = list( diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm index 26aeebcb01ef..56dc77b62ec1 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm @@ -1,4 +1,4 @@ -//Может и на оффы, но пока увы. Я не против, если этот код отправит на оффы КТО угодно. +// Может и на оффы, но пока увы. Я не против, если этот код отправит на оффы КТО угодно. /obj/item/organ/external/head/carapace/replaced() . = ..() for(var/datum/action/action as anything in actions) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 77dd343d7ca5..2df53a427975 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -1,4 +1,4 @@ -//Глаза - включают режим щитков, но очень уязвивым к вспышкам (в 2 раза сильнее молиных глаз) +// Глаза - включают режим щитков, но очень уязвивым к вспышкам (в 2 раза сильнее молиных глаз) /obj/item/organ/internal/eyes/serpentid name = "visual sensor" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' @@ -24,7 +24,7 @@ AddComponent(/datum/component/chemistry_organ, SERPENTID_CHEM_REAGENT_ID) AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) -//Прок на получение цвета глаз +// Прок на получение цвета глаз /obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) if(!HA) return diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index 540da40ffd10..651f295ac08f 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -1,4 +1,4 @@ -///почки - базовые c добавлением дикея, вырабатывают энзимы, которые позволяют ГБС скрываться +/// почки - базовые c добавлением дикея, вырабатывают энзимы, которые позволяют ГБС скрываться /obj/item/organ/internal/kidneys/serpentid name = "secreting organ" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm index 59b463ba3499..80ec9be3eef0 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm @@ -1,4 +1,4 @@ -///печень - вырабатывает глутамат натрия из нутриентов +/// печень - вырабатывает глутамат натрия из нутриентов /obj/item/organ/internal/liver/serpentid name = "chemical processor" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' diff --git a/modular_ss220/species/serpentids/sounds/serpentid_chuckle.ogg b/modular_ss220/species/serpentids/sounds/serpentid_giggle.ogg similarity index 100% rename from modular_ss220/species/serpentids/sounds/serpentid_chuckle.ogg rename to modular_ss220/species/serpentids/sounds/serpentid_giggle.ogg From 98084523375f992cd145f5602634b050d635dde4 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 29 Oct 2024 17:56:06 +0300 Subject: [PATCH 094/152] =?UTF-8?q?=D0=92=D0=B2=D0=BE=D0=B4=20=D1=81=D0=B5?= =?UTF-8?q?=D1=80=D0=BF=D0=B0=D0=B4=D1=80=D0=BE=D0=BD=D0=B0=20=D0=B2=20?= =?UTF-8?q?=D1=81=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20=D0=BD=D0=B5=D0=B4=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=83=D0=BF=D0=BD=D1=8B=D1=85=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D1=81=D0=B5=D0=BC=D1=8F=D0=BD=20=D0=B2=D0=B5=D1=89=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/_misc/code/ss220_general_config.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/modular_ss220/_misc/code/ss220_general_config.dm b/modular_ss220/_misc/code/ss220_general_config.dm index a2bc0df809d6..3f511a34858a 100644 --- a/modular_ss220/_misc/code/ss220_general_config.dm +++ b/modular_ss220/_misc/code/ss220_general_config.dm @@ -11,3 +11,4 @@ . = ..() ss220_misc = new() safe_load(ss220_misc, "ss220_misc_configuration") + GLOB.blocked_chems += list("serpadrone") From ad04fb43c6ef2da5c6ea8d3ec99f6757843de784 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 30 Oct 2024 14:19:25 +0300 Subject: [PATCH 095/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=B3=D0=BB?= =?UTF-8?q?=D0=B0=D0=B7=20=D0=A1=D0=B5=D1=80=D0=BF=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/organs/serpentids_organs_eyes.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 2df53a427975..7ba4c0c8e651 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -26,8 +26,8 @@ // Прок на получение цвета глаз /obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) - if(!HA) - return + if(!istype(HA)) + HA = owner var/icon/eyes_icon = new /icon(HA.dna.species.eyes_icon, HA.dna.species.eyes) eyes_icon.Blend(eye_color, ICON_ADD) From fac1e2c5342c42acb466280e52e7e08946e09298 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 31 Oct 2024 17:04:28 +0300 Subject: [PATCH 096/152] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D0=BE=D0=B2=20=D1=81=20?= =?UTF-8?q?=D1=85=D0=B8=D0=BC=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D0=B2=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=83=D1=80=D0=BE=D0=B2=D0=B5=D0=BD=D1=8C=20=D0=B3?= =?UTF-8?q?=D0=BE=D0=BB=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_code/common.dm | 29 +++++++------ modular_ss220/species/_code/reagents.dm | 15 +++++++ ...heart_defib.dm => heart_defib_chemical.dm} | 13 +++--- .../_components/organs/heart_defib_hunger.dm | 38 ++++++++++++++++++ .../_components/organs/organ_chemistry.dm | 13 +----- .../_components/organs/organ_hunger.dm | 38 ++++++++++++++++++ modular_ss220/species/_species.dme | 6 ++- .../species/serpentids/code/mob/serpentids.dm | 7 +--- .../implants/serpentid_mantis_chest.dm | 10 +++-- .../internal/organs/serpentids_organs_ears.dm | 8 ++-- .../internal/organs/serpentids_organs_eyes.dm | 14 ++++--- .../organs/serpentids_organs_heart.dm | 2 +- .../organs/serpentids_organs_kidneys.dm | 8 ++-- .../organs/serpentids_organs_liver.dm | 19 ++++----- .../organs/serpentids_organs_lungs.dm | 10 ++--- .../serpentids/sounds/serpentid_gasp.ogg | Bin 0 -> 21204 bytes 16 files changed, 156 insertions(+), 74 deletions(-) rename modular_ss220/species/_components/organs/{heart_defib.dm => heart_defib_chemical.dm} (79%) create mode 100644 modular_ss220/species/_components/organs/heart_defib_hunger.dm create mode 100644 modular_ss220/species/_components/organs/organ_hunger.dm create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_gasp.ogg diff --git a/modular_ss220/species/_code/common.dm b/modular_ss220/species/_code/common.dm index 04223cdb0a4e..46d572afab4f 100644 --- a/modular_ss220/species/_code/common.dm +++ b/modular_ss220/species/_code/common.dm @@ -1,25 +1,28 @@ -#define SERPENTID_CHEM_REAGENT_ID "msg" - +//Количество урона карапасу, когда не работает броня #define SERPENTID_CARAPACE_NOARMOR_STATE 30 +//Количество урона карапасу, когда не работает скрытность #define SERPENTID_CARAPACE_NOCHAMELION_STATE 60 +//Количество урона карапасу, когда не работает "риг" #define SERPENTID_CARAPACE_NOPRESSURE_STATE 90 - +//Количество урона, если присоединить конечность (не протез) другого вида #define SERPENTID_GENE_DEGRADATION_DAMAGE 0.5 +//Количество времени, через сколько происходит нанесение генетического урона #define SERPENTID_GENE_DEGRADATION_CD 60 -#define SERPENTID_ORGAN_CHEMISTRY_LUNGS 1 -#define SERPENTID_ORGAN_CHEMISTRY_KIDNEYS 0.5 -#define SERPENTID_ORGAN_CHEMISTRY_EYES 0.05 -#define SERPENTID_ORGAN_CHEMISTRY_EARS 0.1 +//Сколько голода потребляют легкие (сальбутамол и подвыработка кислорода) +#define SERPENTID_ORGAN_HUNGER_LUNGS 1 +//Сколько голода потребляют почки (скрытность) +#define SERPENTID_ORGAN_HUNGER_KIDNEYS 0.5 +//Сколько голода потребляют глаза (ПНВ) +#define SERPENTID_ORGAN_HUNGER_EYES 0.05 +//Сколько голода потребляют уши (сонар) +#define SERPENTID_ORGAN_HUNGER_EARS 0.1 -#define SERPENTID_CHEM_MULT_CONSUPTION 0.75 -#define SERPENTID_CHEM_MULT_PRODUCTION 0.6 - -#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.7 +//минимальное цветовосприятие +#define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.5 +//Максимальное цветовосприяте #define SERPENTID_EYES_MAX_VISIBLE_VALUE 1 -#define SERPENTID_ORGAN_CHEMISTRY_MAX 100 - /datum/species var/can_buckle = FALSE var/buckle_lying = TRUE diff --git a/modular_ss220/species/_code/reagents.dm b/modular_ss220/species/_code/reagents.dm index 1592058ddca8..b7a254b2b059 100644 --- a/modular_ss220/species/_code/reagents.dm +++ b/modular_ss220/species/_code/reagents.dm @@ -145,3 +145,18 @@ result_amount = 1 mix_message = "The mixture fizzes into a vibrant red solution that doesn't stay still." mix_sound = 'sound/goonstation/misc/fuse.ogg' + + +//Пара помощников - получить количество и путь химиката по его ID в теле куклы +/mob/living/carbon/human/proc/get_chemical_value(id) + for(var/datum/reagent/R in src.reagents.reagent_list) + if(R.id == id) + return R.volume + return 0 + +//Пара помощников - получить количество и путь химиката по его ID в теле куклы +/mob/living/carbon/human/proc/get_chemical_path(id) + for(var/datum/reagent/R in src.reagents.reagent_list) + if(R.id == id) + return R + return null diff --git a/modular_ss220/species/_components/organs/heart_defib.dm b/modular_ss220/species/_components/organs/heart_defib_chemical.dm similarity index 79% rename from modular_ss220/species/_components/organs/heart_defib.dm rename to modular_ss220/species/_components/organs/heart_defib_chemical.dm index e06b632aa6fe..adf1737b9ed1 100644 --- a/modular_ss220/species/_components/organs/heart_defib.dm +++ b/modular_ss220/species/_components/organs/heart_defib_chemical.dm @@ -3,20 +3,21 @@ Отслеживает смерть носителя, и в случае чего - запускает сердце с неким шансом */ #define AUTO_DEFIBRILATION_THRESHOLD 100 -/datum/component/defib_heart - var/mob/living/carbon/human/owner = null +/datum/component/defib_heart_chemical var/chemical_id = "" + var/obj/item/organ/internal/organ -/datum/component/defib_heart/Initialize(human, income_chemical_id = "") - owner = human +/datum/component/defib_heart_chemical/Initialize(income_chemical_id = "") chemical_id = income_chemical_id + organ = parent START_PROCESSING(SSdcs, src) -/datum/component/defib_heart/Destroy(force, silent) +/datum/component/defib_heart_chemical/Destroy(force, silent) STOP_PROCESSING(SSdcs, src) . = ..() -/datum/component/defib_heart/process() +/datum/component/defib_heart_chemical/process() + var/mob/living/carbon/human/owner = organ.owner if(!owner) var/obj/item/organ/internal/limb = parent owner = limb.owner diff --git a/modular_ss220/species/_components/organs/heart_defib_hunger.dm b/modular_ss220/species/_components/organs/heart_defib_hunger.dm new file mode 100644 index 000000000000..a2715eb100b5 --- /dev/null +++ b/modular_ss220/species/_components/organs/heart_defib_hunger.dm @@ -0,0 +1,38 @@ +/* +=== Компонент запуска сердца === +Отслеживает смерть носителя, и в случае чего - запускает сердце с неким шансом +*/ +/datum/component/defib_heart_hunger + var/obj/item/organ/internal/organ + +/datum/component/defib_heart_hunger/Initialize(human, income_chemical_id = "") + organ = parent + START_PROCESSING(SSdcs, src) + +/datum/component/defib_heart_hunger/Destroy(force, silent) + STOP_PROCESSING(SSdcs, src) + . = ..() + +/datum/component/defib_heart_hunger/process() + var/mob/living/carbon/human/owner = organ.owner + if(!owner) + var/obj/item/organ/internal/limb = parent + owner = limb.owner + if(!owner) + qdel(src) + if(owner?.nutrition < NUTRITION_LEVEL_FED || owner.stat != DEAD || owner.get_damage_amount() > AUTO_DEFIBRILATION_THRESHOLD) + return + var/defib_chance = owner.nutrition - NUTRITION_LEVEL_FED + if(prob(defib_chance)) + owner.adjust_nutrition(defib_chance) + owner.setOxyLoss(0) + owner.set_heartattack(FALSE) + owner.update_revive() + owner.KnockOut() + owner.Paralyse(10 SECONDS) + owner.emote("gasp") + SEND_SIGNAL(owner, COMSIG_LIVING_MINOR_SHOCK, 100) + owner.med_hud_set_health() + owner.med_hud_set_status() + add_attack_logs(owner, owner, "Revived by heart") + SSblackbox.record_feedback("tally", "players_revived", 1, "self_revived") diff --git a/modular_ss220/species/_components/organs/organ_chemistry.dm b/modular_ss220/species/_components/organs/organ_chemistry.dm index 23b3218e9a89..8d9d4813342d 100644 --- a/modular_ss220/species/_components/organs/organ_chemistry.dm +++ b/modular_ss220/species/_components/organs/organ_chemistry.dm @@ -17,6 +17,7 @@ /datum/component/chemistry_organ/UnregisterFromParent() UnregisterSignal(parent, COMSIG_ORGAN_ON_LIFE) + UnregisterSignal(parent, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION) /datum/component/chemistry_organ/proc/chems_process(holder) SIGNAL_HANDLER @@ -39,15 +40,3 @@ /obj/item/organ/internal/proc/switch_mode(force_off = FALSE) return -//Пара помощников - получить количество и путь химиката по его ID -/mob/living/carbon/human/proc/get_chemical_value(id) - for(var/datum/reagent/R in src.reagents.reagent_list) - if(R.id == id) - return R.volume - return 0 - -/mob/living/carbon/human/proc/get_chemical_path(id) - for(var/datum/reagent/R in src.reagents.reagent_list) - if(R.id == id) - return R - return null diff --git a/modular_ss220/species/_components/organs/organ_hunger.dm b/modular_ss220/species/_components/organs/organ_hunger.dm new file mode 100644 index 000000000000..c27546b4b75a --- /dev/null +++ b/modular_ss220/species/_components/organs/organ_hunger.dm @@ -0,0 +1,38 @@ +/* +Компонент на органы для работы с запасами химикатов +*/ + +/datum/component/hunger_organ + var/obj/item/organ/internal/organ + var/consuption_count = 0 + +/datum/component/hunger_organ/Initialize(reagent_id) + organ = parent + +/datum/component/hunger_organ/RegisterWithParent() + RegisterSignal(parent, COMSIG_ORGAN_ON_LIFE, PROC_REF(hunger_process)) + RegisterSignal(parent, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, PROC_REF(hunger_change_consuption)) + +/datum/component/hunger_organ/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_ORGAN_ON_LIFE) + UnregisterSignal(parent, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION) + +/datum/component/hunger_organ/proc/hunger_process(holder) + SIGNAL_HANDLER + if(isnull(organ.owner)) + return TRUE + //var/chemical_volume = organ.owner?.get_chemical_value(chemical_id) + if(organ.owner.nutrition < consuption_count) + //Если количества недостаточно - выключить режим + organ.switch_mode(force_off = TRUE) + else + if(consuption_count) + organ.owner.adjust_nutrition(consuption_count) + +/datum/component/hunger_organ/proc/hunger_change_consuption(holder, new_consuption_count) + SIGNAL_HANDLER + consuption_count = new_consuption_count + +//Переписываемый прок, который вызывается когда заканчивается запас химического препарата +/obj/item/organ/internal/proc/switch_mode(force_off = FALSE) + return diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index bda74a8a6ab1..14c775fd7cda 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -14,9 +14,11 @@ #include "_components/carrying/grab_and_drag_on_mob_mobs.dm" #include "_components/carrying/grab_and_drag_on_mob_crates.dm" #include "_components/organs/organ_decay.dm" -#include "_components/organs/organ_chemistry.dm" +//#include "_components/organs/organ_chemistry.dm" +#include "_components/organs/organ_hunger.dm" #include "_components/organs/organ_toxins.dm" -#include "_components/organs/heart_defib.dm" +#include "_components/organs/heart_defib_chemical.dm" +#include "_components/organs/heart_defib_hunger.dm" #include "_components/organs/organ_actions_component.dm" #include "_components/implants/paired_implants.dm" diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index cea683cf7754..d296fb2a441d 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -86,9 +86,9 @@ male_moan_sound = list('modular_ss220/species/serpentids/sounds/serpentid_moan.ogg') female_moan_sound = list('modular_ss220/species/serpentids/sounds/serpentid_moan.ogg') male_dying_gasp_sounds = list( - 'modular_ss220/species/serpentids/sounds/serpentid_death.ogg') + 'modular_ss220/species/serpentids/sounds/serpentid_gasp.ogg') female_dying_gasp_sounds = list( - 'modular_ss220/species/serpentids/sounds/serpentid_death.ogg') + 'modular_ss220/species/serpentids/sounds/serpentid_gasp.ogg') death_sounds = 'modular_ss220/species/serpentids/sounds/serpentid_death.ogg' suicide_messages = list( "пытается откусить себе усики!", @@ -126,9 +126,6 @@ ) -/datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) - return (R.id != SERPENTID_CHEM_REAGENT_ID) - //Перенести на карапас/грудь /datum/species/serpentid/handle_life(mob/living/carbon/human/H) var/armor_count = 0 diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index f8fae111dffd..dfbaa81f7d25 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -49,11 +49,15 @@ to_chat(owner, "The implant doesn't respond. It seems to be broken...") return var/extended = holder_l && !(holder_l in src) + var/activation_in_progress = TRUE if(extended) - Retract() + if(!activation_in_progress) + Retract() else if(do_after(owner, 20*(owner.dna.species.action_mult), FALSE, owner)) - holder_l = null - Extend() + if(!activation_in_progress) + holder_l = null + Extend() + activation_in_progress = FALSE /obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/update_overlays_blades() update_icon(UPDATE_OVERLAYS) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 63b55367c911..9e0bde70eb4b 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -9,7 +9,7 @@ actions_types = list(/datum/action/item_action/organ_action/toggle/serpentid) action_icon = list(/datum/action/item_action/organ_action/toggle/serpentid = 'modular_ss220/species/serpentids/icons/organs.dmi') action_icon_state = list(/datum/action/item_action/organ_action/toggle/serpentid = "serpentid_abilities") - var/chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_EARS + var/chemical_consuption = SERPENTID_ORGAN_HUNGER_EARS var/active = FALSE radial_action_state = "serpentid_hear" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' @@ -18,18 +18,18 @@ . = ..() AddComponent(/datum/component/organ_decay, 0.05, BASIC_RECOVER_VALUE) AddComponent(/datum/component/organ_toxin_damage, 0.05) - AddComponent(/datum/component/chemistry_organ, SERPENTID_CHEM_REAGENT_ID) + AddComponent(/datum/component/hunger_organ) AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) /obj/item/organ/internal/ears/serpentid/on_life() . = ..() - if(chemical_consuption <= owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) && active) + if(chemical_consuption <= owner?.nutrition && active) if(prob(((max_damage - damage)/max_damage) * 100)) sense_creatures() /obj/item/organ/internal/ears/serpentid/switch_mode(force_off = FALSE) . = ..() - if(!force_off && owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= chemical_consuption && !(status & ORGAN_DEAD) && !active) + if(!force_off && owner?.nutrition >= chemical_consuption && !(status & ORGAN_DEAD) && !active) active = TRUE chemical_consuption = initial(chemical_consuption) else diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 7ba4c0c8e651..f0e07126bef5 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -10,7 +10,7 @@ action_icon_state = list(/datum/action/item_action/organ_action/toggle/serpentid = "serpentid_abilities") flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE - var/chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_EYES + var/chemical_consuption = SERPENTID_ORGAN_HUNGER_EYES var/vision_ajust_coefficient = 0.4 var/update_time_client_colour = 10 var/active = FALSE @@ -21,7 +21,7 @@ . = ..() AddComponent(/datum/component/organ_decay, 0.04, BASIC_RECOVER_VALUE) AddComponent(/datum/component/organ_toxin_damage, 0.02) - AddComponent(/datum/component/chemistry_organ, SERPENTID_CHEM_REAGENT_ID) + AddComponent(/datum/component/hunger_organ) AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) // Прок на получение цвета глаз @@ -40,12 +40,14 @@ mob.update_client_colour(time = update_time_client_colour) /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() - var/chem_value = (owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) + SERPENTID_ORGAN_CHEMISTRY_MAX/2)/SERPENTID_ORGAN_CHEMISTRY_MAX + if (!owner) + return + var/chem_value = owner.nutrition/NUTRITION_LEVEL_WELL_FED var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE vision_concentration = SERPENTID_EYES_LOW_VISIBLE_VALUE * (1 - chem_value ** vision_ajust_coefficient) - var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE/2) + var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE) var/vision_matrix = list(vision_chem, vision_adjust, vision_adjust,\ vision_adjust, vision_chem, vision_adjust,\ @@ -54,9 +56,9 @@ /obj/item/organ/internal/eyes/serpentid/switch_mode(force_off = FALSE) . = ..() - if(!force_off && owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= chemical_consuption && !(status & ORGAN_DEAD) && !active) + if(!force_off && owner?.nutrition >= chemical_consuption && !(status & ORGAN_DEAD) && !active) see_in_dark = 8 - chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_EYES + chemical_consuption = initial(chemical_consuption) active = TRUE else see_in_dark = initial(see_in_dark) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm index 2e33571d7eb6..b38d726460a5 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm @@ -8,4 +8,4 @@ . = ..() AddComponent(/datum/component/organ_decay, 0.5, BASIC_RECOVER_VALUE) AddComponent(/datum/component/organ_toxin_damage, 0.03) - AddComponent(/datum/component/defib_heart, owner, SERPENTID_CHEM_REAGENT_ID) + AddComponent(/datum/component/defib_heart_hunger) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index 651f295ac08f..ada0309cee06 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -7,7 +7,7 @@ actions_types = list(/datum/action/item_action/organ_action/toggle/serpentid) action_icon = list(/datum/action/item_action/organ_action/toggle/serpentid = 'modular_ss220/species/serpentids/icons/organs.dmi') action_icon_state = list(/datum/action/item_action/organ_action/toggle/serpentid = "serpentid_abilities") - var/chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_KIDNEYS + var/chemical_consuption = SERPENTID_ORGAN_HUNGER_KIDNEYS var/cloak_engaged = FALSE radial_action_state = "serpentid_stealth" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' @@ -16,7 +16,7 @@ . = ..() AddComponent(/datum/component/organ_decay, 0.03, BASIC_RECOVER_VALUE) AddComponent(/datum/component/organ_toxin_damage, 0.15) - AddComponent(/datum/component/chemistry_organ, SERPENTID_CHEM_REAGENT_ID) + AddComponent(/datum/component/hunger_organ) AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) /obj/item/organ/internal/kidneys/serpentid/on_life() @@ -33,9 +33,9 @@ /obj/item/organ/internal/kidneys/serpentid/switch_mode(force_off = FALSE) . = ..() - if(!force_off && owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= chemical_consuption && !cloak_engaged && !(status & ORGAN_DEAD)) + if(!force_off && owner?.nutrition >= chemical_consuption && !cloak_engaged && !(status & ORGAN_DEAD)) cloak_engaged = TRUE - chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_KIDNEYS + chemical_consuption = initial(chemical_consuption) else cloak_engaged = FALSE chemical_consuption = 0 diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm index 80ec9be3eef0..f24d54aec74a 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm @@ -5,7 +5,8 @@ icon_state = "liver" desc = "A large looking liver with some storages." alcohol_intensity = 2 - var/max_value = SERPENTID_ORGAN_CHEMISTRY_MAX + var/serp_production = 1 + var/serp_consuption = 5 /obj/item/organ/internal/liver/serpentid/Initialize(mapload) . = ..() @@ -14,17 +15,11 @@ /obj/item/organ/internal/liver/serpentid/on_life() . = ..() - max_value = clamp((((max_damage - damage)/max_damage)*100), 0, SERPENTID_ORGAN_CHEMISTRY_MAX) if(!owner) return - if(owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) < max_value) - for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) - if(!isnull(chemical)) - if(chemical.nutriment_factor > 0) - chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) - owner.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) - else - var/excess_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - max_value - var/datum/reagent/chem = owner?.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) - chem?.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, excess_value) + for(var/datum/reagent/chemical in owner.reagents.reagent_list) + if(!isnull(chemical)) + if(istype(chemical,/datum/reagent/cabbagilium) && owner.get_chemical_value(chemical.id) > serp_consuption) + chemical.holder.remove_reagent(chemical.id, serp_consuption) + owner.reagents.add_reagent("serpadrone", serp_production) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index eda0d3f5aa12..fa7d652ccb71 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -62,9 +62,8 @@ if(!owner) return - var/can_secretion = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > chemical_consuption + var/can_secretion = owner.nutrition > chemical_consuption var/danger_state = owner.getOxyLoss() > 0 - var/datum/reagent/chemical = owner.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) var/datum/gas_mixture/breath var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] var/breath_moles = 0 @@ -77,9 +76,8 @@ danger_air = lung_data.in_danger_zone(breath) if(danger_state && can_secretion) - var/mob/living/carbon/human/human_owner = owner - human_owner.reagents.add_reagent("salbutamol", salbutamol_production) - chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, chemical_consuption) + owner.reagents.add_reagent("salbutamol", salbutamol_production) + owner.adjust_nutrition(-chemical_consuption) if(!hand_active) if(danger_air && (owner.stat == UNCONSCIOUS)) @@ -94,7 +92,7 @@ var/replenish_value = 0 if(danger_air && can_secretion) replenish_value = chemical_consuption * chem_to_oxy_mult - chemical.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, chemical_consuption) + owner.adjust_nutrition(-chemical_consuption) if(!danger_air) if(environment) breath_moles = environment.total_moles()*BREATH_PERCENTAGE diff --git a/modular_ss220/species/serpentids/sounds/serpentid_gasp.ogg b/modular_ss220/species/serpentids/sounds/serpentid_gasp.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bb53afbdc76e3d2aa0bd6d7ee0513768483a6669 GIT binary patch literal 21204 zcmeFYXH-;8vnaf0fFb8JL!6D};8AP(=%t#O<=bR*q z5*09kpd#`O`n>0R&sle^d)B(=*Il>iX}YVct9DmcbyxT9t!;0A7XSnQ1lJ1@*kzW1 zX0;c@4)SsHuy*vk1b~&Q0N?@_fMd{~|1BWx%a;EUE?a_drC{C%F*H_}nExJR@&1yM z#9y zOVUu>Px+3bwvw`*oS~*73~h^Yw1T<2Sozy}fC&CF;8RdE1OY?jK)G}C&7?>VdInCKuZl;Zkc@e>^dV!mP>b^h|=R6TXU1yj$D9fWJ1pX9&8!l)E* zME;fh=?4t=EI1(Q5Ac%mUwVJL1p_cRfdFdBbffjGzq}k6M zvrGTG5$Q0*4 z(tiyCZrE`FNsCavD?9i^c9K?da#muTR!dhxYxchp@6rYT(HC4tIG)<2J7I{#ldS%T z1%o3CEg(`P`^yQ35LK`R%bvoUQ#nd>>h zH2SH| z)SRo$t@?lI{UPc(QGP#nqFd%Iu0`~6j&m!qIWG4DmHTm=_!5TW`%gmrM}3gEakE;4 z4m=Hk1tvhO={QO`p0Il*Qas5Q9pWoyk55ohFAvqxW4c=674oO&FaQXn`gbknh=5v0 zaXioUAmJ}7PKn_k;cXlf8%10uRlO6}_v?D86v;%JX4Daq^M*F@%{zIXH8QHsCCv+_ z0wp*F=PUVZQMf^cp_1ewOn>YnBGUtB75O0~|2}Y^;gi&C)BhGHzp&zz`L90zQDy@p zAGAq^_sWZK^F{ABuLIw_j<;Zpur*2lPw{WpaXkSp&FPOhrdr2|4(5j5Q6T<1!2ejz z?FV#&$*jZ4aE%7I)(m3&tAzHE#5AokPF?QOn@`hw&obEFl`@}|w4F7uo%gX_!rGd> z2sFV4zB&E3_}cs5EeB^doH7ZUs{h$?65d@);8IJ0o22mkv7GX(y!YjW|HX3h9b%qm z#ypRT*^NrzjZSxr&aP-JbQ!7HZ~NcI|F9gK!Qi5@9$fi9Sx%QIt0K;L8W37XfBPsm zjhh|3lo|hh005vXiA>{iDuL_j3C`MDDQu`j{wXOSCI|T#aF$oD3$-04dGf%Y0?%F>4rIiWoN^973i$8 z|JQ=W000I=2w(u(5#)b7Q=u^f09;G4F~Rv4*HUaj0LIp&5VzW=mqc^^ugU!Pq5p*; z2*V2ikvN9#tfSxr8xv#-g4EIk7{_y9M$&;Uk-?Ww$0EVaK*%eB;s&S)fDIkG(HRNd zt!wEej)gjaiza3)=E5Nwr1t)fbOR-Bis3RzJ z9EQ{Z7#!$&do6w2zi`jL&>_2G#l)8+NMMLZge4Uc4i4C0|%i+qq8dK`1mQw1Uw;Nqr;gnMR2U1?~AM(7c_#-C|^M9ntJzD5+ zDc%awOQ%xb;C1+=gIiIt--Epr>uYbT6`T-pQtHBq3@5^&%jFwE3IN*f0Ki{o(QKAg`r1S_UeP~{6x`p@bQ!sz1wRL<2nhsv4U2AAM+G`m%o#XqqB z(Zmpd`Gn(j-3cSFDICJEes0$e9a5iRm0FUJtsjd)cLT#ELB}Y zbO7osGO%-rykHtDdi@2BMx5w?X&CiDKZ8wG^J~sH>W2Oq)9Pl3Oql)VNZxfieXs?V6bb#TYc5+KYfZWD%65}Qk1zzsQ3xn7(M?!j;yr-D>H zy+7K6^9FSk_)3c7M0fsFT>7Vue70jUmlZfqHFZXBKi3o2;*aCXT{4I3&)*6?b#*}; zDPA0@OFUfqPYYbJyd?FX7Pw}(ayS)^#~-}n)PMQFxT2b1bE+Qi--^@}QyiH;q;Lt2 zk)HZL6?*C#IC_^n{?z_S_5UgImCRi>`&(=3j1#aP|6jbOIa6mG`M-FM)i_4#d})8l z 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 literal 0 HcmV?d00001 From 1269f46c2802afdd751add494310077be821415d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 31 Oct 2024 17:08:57 +0300 Subject: [PATCH 097/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/organs/serpentids_organs_eyes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index f0e07126bef5..a6f4ef915382 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -40,7 +40,7 @@ mob.update_client_colour(time = update_time_client_colour) /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() - if (!owner) + if(!owner) return var/chem_value = owner.nutrition/NUTRITION_LEVEL_WELL_FED var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) From 27d0356cdce0d1f4d86019254538d03cde1bc5ff Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 31 Oct 2024 17:58:15 +0300 Subject: [PATCH 098/152] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=B3=D0=BB=D0=B0=D0=B7=20=D0=B8=20=D0=B8=D0=BC?= =?UTF-8?q?=D0=BF=D0=BB=D0=B0=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../implants/serpentid_mantis_chest.dm | 21 ++++++------------- .../internal/organs/serpentids_organs_eyes.dm | 6 +++--- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index dfbaa81f7d25..fac9fcc368bf 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -32,36 +32,27 @@ if(!istype(item, /obj/item/grab)) owner.drop_r_hand() -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/Initialize(mapload) - . = .. () - addtimer(CALLBACK(src, PROC_REF(update_overlays_blades)), 1 SECONDS) - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/insert(mob/living/carbon/M, special, dont_remove_slot) - . = .. () - addtimer(CALLBACK(src, PROC_REF(update_overlays_blades)), 1 SECONDS) - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/remove(mob/living/carbon/M, special, dont_remove_slot) - update_icon(UPDATE_OVERLAYS) - . = .. () +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/render() + var/mutable_appearance/our_MA = mutable_appearance(icon_file, new_icon_state, layer = -INTORGAN_LAYER) + return our_MA /obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() if(crit_fail || (!holder_l && !length(contents))) to_chat(owner, "The implant doesn't respond. It seems to be broken...") return var/extended = holder_l && !(holder_l in src) - var/activation_in_progress = TRUE + var/activation_in_progress = FALSE if(extended) if(!activation_in_progress) + activation_in_progress = TRUE Retract() else if(do_after(owner, 20*(owner.dna.species.action_mult), FALSE, owner)) if(!activation_in_progress) + activation_in_progress = TRUE holder_l = null Extend() activation_in_progress = FALSE -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/update_overlays_blades() - update_icon(UPDATE_OVERLAYS) - /obj/item/organ/internal/cyberimp/chest/serpentid_blades/update_overlays() . = .. () if(old_overlay) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index a6f4ef915382..b63c7bc9b3bc 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -11,7 +11,7 @@ flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE var/chemical_consuption = SERPENTID_ORGAN_HUNGER_EYES - var/vision_ajust_coefficient = 0.4 + var/vision_ajust_coefficient = 0.7 var/update_time_client_colour = 10 var/active = FALSE radial_action_state = "serpentid_nvg" @@ -42,9 +42,9 @@ /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() if(!owner) return - var/chem_value = owner.nutrition/NUTRITION_LEVEL_WELL_FED + var/chem_value = (owner.nutrition - NUTRITION_LEVEL_STARVING)/NUTRITION_LEVEL_HUNGRY var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) - var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE + var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE/2)*SERPENTID_EYES_LOW_VISIBLE_VALUE vision_concentration = SERPENTID_EYES_LOW_VISIBLE_VALUE * (1 - chem_value ** vision_ajust_coefficient) var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE) From 9e384ee51822303749d27159a81bbdd2649e0136 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 31 Oct 2024 18:36:12 +0300 Subject: [PATCH 099/152] =?UTF-8?q?=D0=A7=D0=B8=D1=81=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B8=20=D1=84=D0=B8=D0=BA=D1=81=20=D0=B8=D0=BC=D0=BF=D0=BB?= =?UTF-8?q?=D0=B0=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organs/heart_defib_chemical.dm | 43 ------------------- .../_components/organs/heart_defib_hunger.dm | 4 ++ .../_components/organs/organ_chemistry.dm | 42 ------------------ modular_ss220/species/_species.dme | 2 - .../implants/serpentid_mantis_chest.dm | 10 +++-- 5 files changed, 10 insertions(+), 91 deletions(-) delete mode 100644 modular_ss220/species/_components/organs/heart_defib_chemical.dm delete mode 100644 modular_ss220/species/_components/organs/organ_chemistry.dm diff --git a/modular_ss220/species/_components/organs/heart_defib_chemical.dm b/modular_ss220/species/_components/organs/heart_defib_chemical.dm deleted file mode 100644 index adf1737b9ed1..000000000000 --- a/modular_ss220/species/_components/organs/heart_defib_chemical.dm +++ /dev/null @@ -1,43 +0,0 @@ -/* -=== Компонент запуска сердца === -Отслеживает смерть носителя, и в случае чего - запускает сердце с неким шансом -*/ -#define AUTO_DEFIBRILATION_THRESHOLD 100 -/datum/component/defib_heart_chemical - var/chemical_id = "" - var/obj/item/organ/internal/organ - -/datum/component/defib_heart_chemical/Initialize(income_chemical_id = "") - chemical_id = income_chemical_id - organ = parent - START_PROCESSING(SSdcs, src) - -/datum/component/defib_heart_chemical/Destroy(force, silent) - STOP_PROCESSING(SSdcs, src) - . = ..() - -/datum/component/defib_heart_chemical/process() - var/mob/living/carbon/human/owner = organ.owner - if(!owner) - var/obj/item/organ/internal/limb = parent - owner = limb.owner - if(!owner) - qdel(src) - if(owner?.get_chemical_value(chemical_id) < 0 || owner.stat != DEAD || owner.get_damage_amount() > AUTO_DEFIBRILATION_THRESHOLD) - return - var/defib_chance = owner?.get_chemical_value(chemical_id) - var/datum/reagent/chem = owner?.get_chemical_path(chemical_id) - if(chem) - chem.holder.remove_reagent(chemical_id, owner?.get_chemical_value(chemical_id)) - if(prob(defib_chance)) - owner.setOxyLoss(0) - owner.set_heartattack(FALSE) - owner.update_revive() - owner.KnockOut() - owner.Paralyse(10 SECONDS) - owner.emote("gasp") - SEND_SIGNAL(owner, COMSIG_LIVING_MINOR_SHOCK, 100) - owner.med_hud_set_health() - owner.med_hud_set_status() - add_attack_logs(owner, owner, "Revived by heart") - SSblackbox.record_feedback("tally", "players_revived", 1, "self_revived") diff --git a/modular_ss220/species/_components/organs/heart_defib_hunger.dm b/modular_ss220/species/_components/organs/heart_defib_hunger.dm index a2715eb100b5..9bdd6d805ef9 100644 --- a/modular_ss220/species/_components/organs/heart_defib_hunger.dm +++ b/modular_ss220/species/_components/organs/heart_defib_hunger.dm @@ -2,6 +2,8 @@ === Компонент запуска сердца === Отслеживает смерть носителя, и в случае чего - запускает сердце с неким шансом */ +#define AUTO_DEFIBRILATION_THRESHOLD 100 + /datum/component/defib_heart_hunger var/obj/item/organ/internal/organ @@ -36,3 +38,5 @@ owner.med_hud_set_status() add_attack_logs(owner, owner, "Revived by heart") SSblackbox.record_feedback("tally", "players_revived", 1, "self_revived") + +#undef AUTO_DEFIBRILATION_THRESHOLD diff --git a/modular_ss220/species/_components/organs/organ_chemistry.dm b/modular_ss220/species/_components/organs/organ_chemistry.dm deleted file mode 100644 index 8d9d4813342d..000000000000 --- a/modular_ss220/species/_components/organs/organ_chemistry.dm +++ /dev/null @@ -1,42 +0,0 @@ -/* -Компонент на органы для работы с запасами химикатов -*/ - -/datum/component/chemistry_organ - var/obj/item/organ/internal/organ - var/chemical_id = "" - var/consuption_count = 0 - -/datum/component/chemistry_organ/Initialize(reagent_id) - organ = parent - chemical_id = reagent_id - -/datum/component/chemistry_organ/RegisterWithParent() - RegisterSignal(parent, COMSIG_ORGAN_ON_LIFE, PROC_REF(chems_process)) - RegisterSignal(parent, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, PROC_REF(chems_change_consuption)) - -/datum/component/chemistry_organ/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_ORGAN_ON_LIFE) - UnregisterSignal(parent, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION) - -/datum/component/chemistry_organ/proc/chems_process(holder) - SIGNAL_HANDLER - if(isnull(organ.owner)) - return TRUE - var/chemical_volume = organ.owner?.get_chemical_value(chemical_id) - var/datum/reagent/chemical = organ.owner?.get_chemical_path(chemical_id) - if(chemical_volume < consuption_count || chemical_volume == 0) - //Если количества недостаточно - выключить режим - organ.switch_mode(force_off = TRUE) - else - if(!isnull(chemical) && consuption_count > 0) - chemical.holder.remove_reagent(chemical_id, consuption_count) - -/datum/component/chemistry_organ/proc/chems_change_consuption(holder, new_consuption_count) - SIGNAL_HANDLER - consuption_count = new_consuption_count - -//Переписываемый прок, который вызывается когда заканчивается запас химического препарата -/obj/item/organ/internal/proc/switch_mode(force_off = FALSE) - return - diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index 14c775fd7cda..dbbcc072bf28 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -14,10 +14,8 @@ #include "_components/carrying/grab_and_drag_on_mob_mobs.dm" #include "_components/carrying/grab_and_drag_on_mob_crates.dm" #include "_components/organs/organ_decay.dm" -//#include "_components/organs/organ_chemistry.dm" #include "_components/organs/organ_hunger.dm" #include "_components/organs/organ_toxins.dm" -#include "_components/organs/heart_defib_chemical.dm" #include "_components/organs/heart_defib_hunger.dm" #include "_components/organs/organ_actions_component.dm" #include "_components/implants/paired_implants.dm" diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index fac9fcc368bf..d8a7af0933d2 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -15,6 +15,7 @@ var/mutable_appearance/new_overlay var/overlay_color var/blades_active = FALSE + var/activation_in_progress = FALSE unremovable = TRUE emp_proof = TRUE @@ -37,18 +38,19 @@ return our_MA /obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() + if(activation_in_progress) + return if(crit_fail || (!holder_l && !length(contents))) to_chat(owner, "The implant doesn't respond. It seems to be broken...") return var/extended = holder_l && !(holder_l in src) - var/activation_in_progress = FALSE if(extended) if(!activation_in_progress) activation_in_progress = TRUE Retract() - else if(do_after(owner, 20*(owner.dna.species.action_mult), FALSE, owner)) - if(!activation_in_progress) - activation_in_progress = TRUE + else if(!activation_in_progress) + activation_in_progress = TRUE + if(do_after(owner, 20*(owner.dna.species.action_mult), FALSE, owner)) holder_l = null Extend() activation_in_progress = FALSE From e41560d355974e5ac99088b32cca0f01886d5bb3 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 2 Nov 2024 12:42:32 +0300 Subject: [PATCH 100/152] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B5=D1=80=D1=8B=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=A2=D0=A2=D0=A1=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/mob/language.dm | 2 +- modular_ss220/text_to_speech/code/tts_atom.dm | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/mob/language.dm b/modular_ss220/species/serpentids/code/mob/language.dm index d896be0e46ab..3cc3e9c26fcb 100644 --- a/modular_ss220/species/serpentids/code/mob/language.dm +++ b/modular_ss220/species/serpentids/code/mob/language.dm @@ -5,7 +5,7 @@ ask_verb = "стучит жвалами и жестикулирует конечностями" exclaim_verbs = list("издает гремящие щелчки") colour = "serpentid" - key = "nab" + key = "g" flags = RESTRICTED | WHITELISTED syllables = list("click","clack","cling","clang","cland","clog") diff --git a/modular_ss220/text_to_speech/code/tts_atom.dm b/modular_ss220/text_to_speech/code/tts_atom.dm index f90af41c3eba..7534363b2561 100644 --- a/modular_ss220/text_to_speech/code/tts_atom.dm +++ b/modular_ss220/text_to_speech/code/tts_atom.dm @@ -29,3 +29,23 @@ /atom/proc/tts_trait_remove(trait) SEND_SIGNAL(src, COMSIG_ATOM_TTS_TRAIT_REMOVE, trait) + +/mob/add_language(language, force) + . = ..() + if(language == "Nabberian") + var/atom/A = src + RegisterSignal(A, COMSIG_ATOM_PRE_TTS_CAST, PROC_REF(atom_pre_tts_cast_mob)) + +/mob/remove_language(rem_language, force) + . = ..() + if(rem_language == "Nabberian") + var/atom/A = src + UnregisterSignal(A, COMSIG_ATOM_PRE_TTS_CAST) + +/mob/proc/atom_pre_tts_cast_mob(atom, listener, message, location, is_local, effect, traits, preSFX, postSFX) + SIGNAL_HANDLER + var/processed = FALSE + for(var/datum/multilingual_say_piece/phrase in message) + if(istype(phrase.speaking,/datum/language/serpentid)) + processed = TRUE + return processed ? COMPONENT_TTS_INTERRUPT : processed From f041afd33e5df8152675b918ed03a4bb66788c34 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 3 Nov 2024 07:18:32 +0300 Subject: [PATCH 101/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BA=D0=B0?= =?UTF-8?q?=D1=80=D0=B0=D0=BF=D0=B0=D1=81=D0=B0=20=D0=B8=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=B8=D0=BC=D0=BE=D1=80=D1=84=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/carapace/carapace_shell.dm | 5 +++++ modular_ss220/species/serpentids/code/mob/serpentids.dm | 1 + 2 files changed, 6 insertions(+) diff --git a/modular_ss220/species/_components/carapace/carapace_shell.dm b/modular_ss220/species/_components/carapace/carapace_shell.dm index 5afd8fa54c2c..b8a0072b521c 100644 --- a/modular_ss220/species/_components/carapace/carapace_shell.dm +++ b/modular_ss220/species/_components/carapace/carapace_shell.dm @@ -33,6 +33,11 @@ armored_heat_threshold = threshold_heat armored_temp_progression = temp_progression self_repair_cooldown = heal_cooldown + //Выдача настроек при иницилазации карапаса + stage_1_repair() + stage_2_repair() + stage_3_repair() + broken_stage = 0 /datum/component/carapace_shell/RegisterWithParent() RegisterSignal(H, COMSIG_LIVING_LIFE, PROC_REF(process_shell)) diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index d296fb2a441d..dafd763e33ab 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -12,6 +12,7 @@ butt_sprite_icon = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_butt.dmi' butt_sprite = "serpentid" nojumpsuit = TRUE + dangerous_existence = TRUE species_traits = list(LIPS, NO_HAIR, TTS_TRAIT_ROBOTIZE) inherent_traits = list(TRAIT_NOPAIN) From ab093321cc9143184abb78588dbeac16b4c6d056 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 3 Nov 2024 07:43:42 +0300 Subject: [PATCH 102/152] =?UTF-8?q?=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D0=B5=D1=80=D0=BF=D0=B5=D0=BD=D1=82=D0=B8?= =?UTF-8?q?=D0=B4=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/serpentids/code/mob/serpentids.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index dafd763e33ab..5a3cc8552e99 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -3,7 +3,11 @@ name_plural = "Serpentids" icobase = 'modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi' eyes_icon = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi' - blurb = "TODO" //NOT MERGE - Я еще не доработал + blurb = "Гигантские бронировованные серпентиды это крупные змеевидные инсектоиды, которые славяться своими огромными размерами и своеобразным мышлением. \ + Пропавшие с радаров всех галактик более чем на двести лет, этот вид считался до недавнего времени вымершим, хотя в тайне БиоТэк продолжали их выводить и обучать.

\ + Данный вид известен своими уникальными органами, которые обладают удивительными свойстами, поглощая питательные вещества из тела ГБС, довольно крепким, но тонким панцирем. \ + ГБС общаются языком жестов, и для того, чтобы их понимали другие виды, носят в себе специальный имплант-переводчик. \ + Данный вид довольно дружелюбен к другим разумным формам, жутко боится открытого огня (зажигалка), но терпимо переносят сварку и вспышки." language = "Nabberian" coldmod = 0.9 heatmod = 1.2 From 805ae3f315af7fbc8bd7edb328d90e740838eb1b Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 3 Nov 2024 11:03:45 +0300 Subject: [PATCH 103/152] =?UTF-8?q?=D0=A0=D0=B0=D0=B7=D0=BB=D0=BE=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B5=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=D0=B5=D1=82=20=D0=BF=D1=80=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D1=87=D0=B8=D0=B8=20=D0=B2=20=D0=BE=D1=80?= =?UTF-8?q?=D0=B3=D0=B0=D0=BD=D0=B8=D0=B7=D0=BC=D0=B5=20=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D0=BB=D1=8C=D0=B4=D0=B5=D0=B3=D0=B8=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/organs/organ_decay.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_ss220/species/_components/organs/organ_decay.dm b/modular_ss220/species/_components/organs/organ_decay.dm index 3688401ca2da..f0401fd18793 100644 --- a/modular_ss220/species/_components/organs/organ_decay.dm +++ b/modular_ss220/species/_components/organs/organ_decay.dm @@ -30,9 +30,9 @@ var/is_no_owner = isnull(organ.owner) var/is_dead = (is_no_owner ? FALSE : organ.owner.stat == DEAD) - + var/formaldehyde_found = owner?.get_chemical_value("formaldehyde") > 0 var/is_destroying = (is_dead || (is_no_owner && !organ.is_in_freezer)) - if(is_destroying) + if(is_destroying && !formaldehyde_found) organ.receive_damage(decay_rate, 1) if((organ.damage <= (organ.max_damage / ORGAN_RECOVERY_THRESHOLD)) && (organ.damage > 0) && !is_destroying) organ.heal_internal_damage(recover_rate, FALSE) From a33fd5f25a630a4fe55822231b95303051d4b732 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 3 Nov 2024 11:17:46 +0300 Subject: [PATCH 104/152] =?UTF-8?q?=D0=91=D0=B0=D0=B3=D0=B8=20=D0=BF=D0=BE?= =?UTF-8?q?=D1=82=D1=80=D0=B5=D0=B1=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2?= =?UTF-8?q?=D0=B5=D1=89=D0=B5=D1=81=D1=82=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/organs/heart_defib_hunger.dm | 2 +- modular_ss220/species/_components/organs/organ_decay.dm | 2 +- modular_ss220/species/_components/organs/organ_hunger.dm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modular_ss220/species/_components/organs/heart_defib_hunger.dm b/modular_ss220/species/_components/organs/heart_defib_hunger.dm index 9bdd6d805ef9..f258ce592ba8 100644 --- a/modular_ss220/species/_components/organs/heart_defib_hunger.dm +++ b/modular_ss220/species/_components/organs/heart_defib_hunger.dm @@ -25,8 +25,8 @@ if(owner?.nutrition < NUTRITION_LEVEL_FED || owner.stat != DEAD || owner.get_damage_amount() > AUTO_DEFIBRILATION_THRESHOLD) return var/defib_chance = owner.nutrition - NUTRITION_LEVEL_FED + owner.adjust_nutrition(-defib_chance) if(prob(defib_chance)) - owner.adjust_nutrition(defib_chance) owner.setOxyLoss(0) owner.set_heartattack(FALSE) owner.update_revive() diff --git a/modular_ss220/species/_components/organs/organ_decay.dm b/modular_ss220/species/_components/organs/organ_decay.dm index f0401fd18793..558f1efc27de 100644 --- a/modular_ss220/species/_components/organs/organ_decay.dm +++ b/modular_ss220/species/_components/organs/organ_decay.dm @@ -30,7 +30,7 @@ var/is_no_owner = isnull(organ.owner) var/is_dead = (is_no_owner ? FALSE : organ.owner.stat == DEAD) - var/formaldehyde_found = owner?.get_chemical_value("formaldehyde") > 0 + var/formaldehyde_found = organ.owner?.get_chemical_value("formaldehyde") > 0 var/is_destroying = (is_dead || (is_no_owner && !organ.is_in_freezer)) if(is_destroying && !formaldehyde_found) organ.receive_damage(decay_rate, 1) diff --git a/modular_ss220/species/_components/organs/organ_hunger.dm b/modular_ss220/species/_components/organs/organ_hunger.dm index c27546b4b75a..bc56e1c3d6e4 100644 --- a/modular_ss220/species/_components/organs/organ_hunger.dm +++ b/modular_ss220/species/_components/organs/organ_hunger.dm @@ -27,7 +27,7 @@ organ.switch_mode(force_off = TRUE) else if(consuption_count) - organ.owner.adjust_nutrition(consuption_count) + organ.owner.adjust_nutrition(-consuption_count) /datum/component/hunger_organ/proc/hunger_change_consuption(holder, new_consuption_count) SIGNAL_HANDLER From ee1324a55d922011eab514757b55edcf305d53d6 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 6 Nov 2024 20:52:00 +0300 Subject: [PATCH 105/152] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B2=D1=8C?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/__DEFINES/dcs/mob_signals.dm | 3 -- code/__DEFINES/modular_ss220/_ss220.dm | 3 ++ .../living/carbon/human/human_update_icons.dm | 6 +-- .../_defines220/code/signals_atom.dm | 18 +++----- .../code/signals_mob/signals_mob_carbon.dm | 14 ++++--- modular_ss220/_defines220/code/signals_obj.dm | 36 ++++++++-------- .../code/signals_mob/signals_mob_main.dm | 14 +++---- modular_ss220/_signals220/code/signals_obj.dm | 5 +++ modular_ss220/species/_code/common.dm | 9 ++-- modular_ss220/species/_code/update_icons.dm | 3 +- .../organs/organ_actions_component.dm | 4 +- .../_components/organs/organ_hunger.dm | 10 ++--- .../species/serpentids/code/mob/emotes.dm | 8 ++-- .../species/serpentids/code/mob/language.dm | 4 ++ .../species/serpentids/code/mob/serpentids.dm | 27 ++++++------ .../implants/serpentid_mantis_chest.dm | 2 +- .../internal/organs/serpentids_organs_ears.dm | 4 +- .../internal/organs/serpentids_organs_eyes.dm | 4 +- .../organs/serpentids_organs_kidneys.dm | 4 +- .../organs/serpentids_organs_lungs.dm | 41 ++++++++++++++----- modular_ss220/text_to_speech/code/tts_atom.dm | 15 +++---- 21 files changed, 125 insertions(+), 109 deletions(-) diff --git a/code/__DEFINES/dcs/mob_signals.dm b/code/__DEFINES/dcs/mob_signals.dm index 17bcf0e8ceaf..487a1eb2d85e 100644 --- a/code/__DEFINES/dcs/mob_signals.dm +++ b/code/__DEFINES/dcs/mob_signals.dm @@ -212,6 +212,3 @@ /// Sent from datum/spell/ethereal_jaunt/cast, before the mob enters jaunting as a pre-check: (mob/jaunter) #define COMSIG_MOB_PRE_JAUNT "spell_mob_pre_jaunt" #define COMPONENT_BLOCK_JAUNT (1<<0) - -/// called by /datum/component/mob_overlay_shift/proc/get_list(mob/component_holder, overlay, list/info_data) : (/datum/component/mob_overlay_shift) -#define COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST "get_list" // SS220 EDIT diff --git a/code/__DEFINES/modular_ss220/_ss220.dm b/code/__DEFINES/modular_ss220/_ss220.dm index 0cf3257d7da9..ad8b8c4069e3 100644 --- a/code/__DEFINES/modular_ss220/_ss220.dm +++ b/code/__DEFINES/modular_ss220/_ss220.dm @@ -3,3 +3,6 @@ // TODO: someday preferences will use TGUI and you will probably be able to move it to modular_ss220\_defines220\code\preferences_defines.dm /// Interacts with the toggles220 bitflag #define PREFTOGGLE_TOGGLE220 220 + +/// called by /datum/component/mob_overlay_shift/proc/get_list(mob/component_holder, overlay, list/info_data) : (/datum/component/mob_overlay_shift) +#define COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST "mob_get_overlay_shifts_list" // SS220 EDIT diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 228c43ad42ac..247dd843347b 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -913,7 +913,6 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) // SS220 EDIT END overlays_standing[HEAD_LAYER] = standing - apply_overlay(HEAD_LAYER) /mob/living/carbon/human/update_inv_belt() @@ -959,7 +958,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(!t_state) t_state = belt.icon_state - // SS220 EDIT создание единой переменной и ее изменения через логические проверки + // SS220 EDIT START создание единой переменной и ее изменения через логические проверки var/mutable_appearance/standing if(belt.icon_override) t_state = "[t_state]_be" @@ -969,7 +968,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) else standing = mutable_appearance('icons/mob/clothing/belt.dmi', "[t_state]", layer = -overlay_layer) - // SS220 EDIT START - вызов сдвигов + // SS220 EDIT - вызов сдвигов . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "belt", .) if(length(.) > 0) @@ -1654,4 +1653,3 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) . += "[part.s_tone]" . = "[.][!!husk][!!hulk][!!skeleton]" - diff --git a/modular_ss220/_defines220/code/signals_atom.dm b/modular_ss220/_defines220/code/signals_atom.dm index bdfcc6eb2625..562566703703 100644 --- a/modular_ss220/_defines220/code/signals_atom.dm +++ b/modular_ss220/_defines220/code/signals_atom.dm @@ -2,16 +2,10 @@ #define COMSIG_CLIMBED_ON "climb_on" /// called by /datum/emote/living/dance/run_emote() : (/datum/component/clumsy_climb) #define COMSIG_DANCED_ON "dance_on" -/// called by /datum/emote/living/dance/run_emote() : (/datum/component/gadom_cargo) (/datum/component/gadom_living) -#define COMSIG_GADOM_UNLOAD "try_unload" -/// called by /datum/component/carapace_shell/proc/surgery_carapace_shell_repair() : (/datum/component/carapace_shell) -#define COMSIG_SURGERY_REPAIR "surgery_carapace_shell_repair" -/// called by /datum/component/carapace_shell/proc/check_surgery_perform() : (/datum/component/carapace_shell) -#define COMSIG_SURGERY_STOP "check_surgery_perform" +/// called by /datum/species/spec_attack_hand() : (/datum/component/gadom_cargo) (/datum/component/gadom_living) +#define COMSIG_GADOM_UNLOAD "gadom_unload" +/// called by /datum/surgery_step/finish_carapace/end_step() : (/datum/component/carapace_shell) +#define COMSIG_SURGERY_REPAIR "surgery_repair" +/// called by /datum/surgery/bone_repair/carapace_shell/can_start() : (/datum/component/carapace_shell) +#define COMSIG_SURGERY_STOP "surgery_stop" #define SURGERY_STOP (1<<0) - - -/atom/movable/screen/alert/Click() - if(isliving(usr) && ..()) - SEND_SIGNAL(usr, COMSIG_GADOM_UNLOAD) - . = ..() diff --git a/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm b/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm index a47e10419c3f..1cce544ff6d0 100644 --- a/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm +++ b/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm @@ -1,12 +1,14 @@ // Signals for /mob/living/carbon -/// вызывается через /datum/component/mob_overlay_shift/proc/shift_call(mob/living/carbon/human/mob) : (/datum/component/mob_overlay_shift) -#define COMSIG_MOB_ON_EQUIP "on_equip" -#define COMSIG_MOB_ON_CLICK "on_click" +/// called by /mob/equip_to_slot() : (/datum/component/mob_overlay_shift) +#define COMSIG_MOB_ON_EQUIP "mob_on_equip" -/// called by /datum/component/gadom_cargo/proc/block_operation() : (/datum/component/gadom_cargo) (/datum/component/gadom_living) -#define COMSIG_GADOM_CAN_GRAB "block_operation" +/// called by /mob/ClickOn() : (/datum/component/mob_overlay_shift) +#define COMSIG_MOB_ON_CLICK "mob_on_click" + +/// called by /datum/species/spec_attack_hand() /mob/living/carbon/human/MouseDrop_T() /mob/MouseDrop() : (/datum/component/gadom_cargo) (/datum/component/gadom_living) +#define COMSIG_GADOM_CAN_GRAB "gadom_can_grab" #define GADOM_CAN_GRAB (1 << 0) /// called by datum/component/gadom_living/proc/try_load_mob() : (/datum/component/gadom_cargo) /// called by datum/component/gadom_cargo/proc/try_load_cargo() : (/datum/component/gadom_living) -#define COMSIG_GADOM_LOAD "try_load" +#define COMSIG_GADOM_LOAD "gadom_load" diff --git a/modular_ss220/_defines220/code/signals_obj.dm b/modular_ss220/_defines220/code/signals_obj.dm index e3296fa3dbd3..b5fa6855f5c2 100644 --- a/modular_ss220/_defines220/code/signals_obj.dm +++ b/modular_ss220/_defines220/code/signals_obj.dm @@ -1,20 +1,20 @@ /// from base of [/obj/proc/atom_destruction]: (damage_flag) #define COMSIG_OBJ_DESTRUCTION "atom_destruction" -/// called by datum/component/carapace/proc/receive_damage() : (/datum/component/carapace) -#define COMSIG_LIMB_RECEIVE_DAMAGE "receive_damage" -/// called by datum/component/carapace/proc/heal_damage() : (/datum/component/carapace) -#define COMSIG_LIMB_HEAL_DAMAGE "heal_damage" -/// called by datum/element/paired_implants/proc/synchonize_implants() : (/datum/element/paired_implants) -#define COMSIG_DOUBLEIMP_SYNCHONIZE "synchonize_implants" -/// called by datum/element/paired_implants/proc/action_rebuild() : (/datum/element/paired_implants) -#define COMSIG_DOUBLEIMP_ACTION_REBUILD "action_rebuild" -/// called by datum/component/organ_action/proc/call_actions() : (/datum/component/organ_action) -#define COMSIG_ORGAN_GROUP_ACTION_CALL "open_actions" -/// called by datum/component/organ_action/proc/resort_buttons() : (/datum/component/organ_action) -#define COMSIG_ORGAN_GROUP_ACTION_RESORT "resort_buttons" -/// called by datum/component/organ_toxin_damage/proc/tox_handle_organ() : (/datum/component/organ_toxin_damage) -#define COMSIG_ORGAN_TOX_HANDLE "tox_handle_organ" -/// called by datum/component/chemistry_organ/proc/chems_process() : (/datum/component/chemistry_organ) -#define COMSIG_ORGAN_ON_LIFE "chems_process" -/// called by datum/component/chemistry_organ/proc/chems_change_consuption() : (/datum/component/chemistry_organ) -#define COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION "chems_change_consuption" +/// called by /obj/item/organ/external/receive_damage() : (/datum/component/carapace) +#define COMSIG_LIMB_RECEIVE_DAMAGE "limb_receive_damage" +/// called by /obj/item/organ/external/heal_damage() : (/datum/component/carapace) +#define COMSIG_LIMB_HEAL_DAMAGE "limb_heal_damage" +/// called by /obj/item/organ/internal/cyberimp/arm/Extend() /obj/item/organ/internal/cyberimp/arm/Retract() : (/datum/element/paired_implants) +#define COMSIG_DOUBLEIMP_SYNCHONIZE "doubleimp_synchonize" +/// called by /obj/item/organ/internal/remove() /obj/item/organ/internal/insert() : (/datum/element/paired_implants) +#define COMSIG_DOUBLEIMP_ACTION_REBUILD "doubleimp_action_rebuild" +/// called by /obj/item/organ/internal/ui_action_click() : (/datum/component/organ_action) +#define COMSIG_ORGAN_GROUP_ACTION_CALL "organ_group_action_call" +/// called by /obj/item/organ/internal/remove() /obj/item/organ/internal/insert() : (/datum/component/organ_action) +#define COMSIG_ORGAN_GROUP_ACTION_RESORT "organ_group_action_resort" +/// called by /obj/item/organ/internal/process() : (/datum/component/organ_toxin_damage) +#define COMSIG_ORGAN_TOX_HANDLE "organ_tox_handle" +/// called by /obj/item/organ/internal/process() : (/datum/component/chemistry_organ) +#define COMSIG_ORGAN_ON_LIFE "organ_on_life" +/// called by /obj/item/organ/internal/ears/serpentid/switch_mode() /obj/item/organ/internal/eyes/serpentid/switch_mode() /obj/item/organ/internal/kidneys/serpentid/switch_mode() : (/datum/component/chemistry_organ) +#define COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION "organ_change_chem_consumption" diff --git a/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm b/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm index 947fde09583b..ce52326dcd67 100644 --- a/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm +++ b/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm @@ -1,18 +1,18 @@ // Signals for /mob // Вызов сигнала при экипировке любой вещи /mob/equip_to_slot(obj/item/W, slot, initial = FALSE) - . = .. () - SEND_SIGNAL(src, COMSIG_MOB_ON_EQUIP) + . = ..() + SEND_SIGNAL(src, COMSIG_MOB_ON_EQUIP, W, slot, initial) // Вызов сигнала при повоторе через ctrl+wasd /mob/facedir(ndir) - . = .. () - SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) + . = ..() + SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE, ndir) // Вызов сигнала при повороте через ЛКМы /mob/ClickOn(atom/A, params) - . = .. () - SEND_SIGNAL(src, COMSIG_MOB_ON_CLICK) + . = ..() + SEND_SIGNAL(src, COMSIG_MOB_ON_CLICK, A, params) // Расширение для пристегивания моба /mob/MouseDrop(mob/M as mob, src_location, over_location, src_control, over_control, params) @@ -29,4 +29,4 @@ if((SEND_SIGNAL(usr, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB)) SEND_SIGNAL(usr, COMSIG_GADOM_LOAD, usr, src) return - . = .. () + . = ..() diff --git a/modular_ss220/_signals220/code/signals_obj.dm b/modular_ss220/_signals220/code/signals_obj.dm index 457a2bdaa3cd..02e3d2f670f2 100644 --- a/modular_ss220/_signals220/code/signals_obj.dm +++ b/modular_ss220/_signals220/code/signals_obj.dm @@ -39,3 +39,8 @@ SEND_SIGNAL(src, COMSIG_ORGAN_TOX_HANDLE) SEND_SIGNAL(src, COMSIG_ORGAN_ON_LIFE) . = .. () + +/atom/movable/screen/alert/Click() + if(isliving(usr) && ..()) + SEND_SIGNAL(usr, COMSIG_GADOM_UNLOAD) + . = ..() diff --git a/modular_ss220/species/_code/common.dm b/modular_ss220/species/_code/common.dm index 46d572afab4f..b36a7fba0281 100644 --- a/modular_ss220/species/_code/common.dm +++ b/modular_ss220/species/_code/common.dm @@ -9,14 +9,15 @@ //Количество времени, через сколько происходит нанесение генетического урона #define SERPENTID_GENE_DEGRADATION_CD 60 +//Обычный, здоровый ГБС без дополнительных химикатов и болезней потребляет 0.1 единицы голода в тик (2 секунды), считаем от хорошо насыщенного до истощения //Сколько голода потребляют легкие (сальбутамол и подвыработка кислорода) -#define SERPENTID_ORGAN_HUNGER_LUNGS 1 +#define SERPENTID_ORGAN_HUNGER_LUNGS 1 //11 минут //Сколько голода потребляют почки (скрытность) -#define SERPENTID_ORGAN_HUNGER_KIDNEYS 0.5 +#define SERPENTID_ORGAN_HUNGER_KIDNEYS 0.5 //19 минут //Сколько голода потребляют глаза (ПНВ) -#define SERPENTID_ORGAN_HUNGER_EYES 0.05 +#define SERPENTID_ORGAN_HUNGER_EYES 0.05 //58 минут //Сколько голода потребляют уши (сонар) -#define SERPENTID_ORGAN_HUNGER_EARS 0.1 +#define SERPENTID_ORGAN_HUNGER_EARS 0.1 //78 минут //минимальное цветовосприятие #define SERPENTID_EYES_LOW_VISIBLE_VALUE 0.5 diff --git a/modular_ss220/species/_code/update_icons.dm b/modular_ss220/species/_code/update_icons.dm index 0be30db591aa..cc60998b74cc 100644 --- a/modular_ss220/species/_code/update_icons.dm +++ b/modular_ss220/species/_code/update_icons.dm @@ -20,7 +20,8 @@ preview_icon.Blend(new /icon(icobase, "groin_[gender]"), ICON_OVERLAY) preview_icon.Blend(new /icon(icobase, "head_[gender]"), ICON_OVERLAY) for(var/name in list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand")) - if(organ_data[name] == "amputated") continue + if(organ_data[name] == "amputated") + continue if(organ_data[name] == "cyborg") var/datum/robolimb/R if(rlimb_data[name]) R = GLOB.all_robolimbs[rlimb_data[name]] diff --git a/modular_ss220/species/_components/organs/organ_actions_component.dm b/modular_ss220/species/_components/organs/organ_actions_component.dm index e47963384d3f..aff4eceb221e 100644 --- a/modular_ss220/species/_components/organs/organ_actions_component.dm +++ b/modular_ss220/species/_components/organs/organ_actions_component.dm @@ -7,8 +7,8 @@ var/radial_additive_state var/radial_additive_icon -/datum/component/organ_action/Initialize(caller_organ, state, icon) - organ = caller_organ +/datum/component/organ_action/Initialize(state, icon) + organ = parent radial_additive_state = state radial_additive_icon = icon diff --git a/modular_ss220/species/_components/organs/organ_hunger.dm b/modular_ss220/species/_components/organs/organ_hunger.dm index bc56e1c3d6e4..a3fe81100e7f 100644 --- a/modular_ss220/species/_components/organs/organ_hunger.dm +++ b/modular_ss220/species/_components/organs/organ_hunger.dm @@ -21,13 +21,11 @@ SIGNAL_HANDLER if(isnull(organ.owner)) return TRUE - //var/chemical_volume = organ.owner?.get_chemical_value(chemical_id) - if(organ.owner.nutrition < consuption_count) - //Если количества недостаточно - выключить режим + if(consuption_count && organ.owner.nutrition > NUTRITION_LEVEL_HYPOGLYCEMIA) + organ.owner.adjust_nutrition(-consuption_count) + else //Если количества недостаточно - выключить режим organ.switch_mode(force_off = TRUE) - else - if(consuption_count) - organ.owner.adjust_nutrition(-consuption_count) + /datum/component/hunger_organ/proc/hunger_change_consuption(holder, new_consuption_count) SIGNAL_HANDLER diff --git a/modular_ss220/species/serpentids/code/mob/emotes.dm b/modular_ss220/species/serpentids/code/mob/emotes.dm index 7a974c385b10..a8665b5274dd 100644 --- a/modular_ss220/species/serpentids/code/mob/emotes.dm +++ b/modular_ss220/species/serpentids/code/mob/emotes.dm @@ -1,19 +1,19 @@ #define EMOTE_HUMAN_SERPENTIDROAR "Рычать" #define EMOTE_HUMAN_SERPENTIDHISS "Шипеть" -#define EMOTE_HUMAN_SERPENTIDWIGGLE "Шевелить усиками" +#define EMOTE_HUMAN_SERPENTIDWIGGLE "Шевелить усиками" /mob/living/carbon/human/proc/emote_serpentidroar() - set name = "< " + EMOTE_HUMAN_ROAR + " >" + set name = "< " + EMOTE_HUMAN_SERPENTIDROAR + " >" set category = "Эмоции" emote("serpentidroar", intentional = TRUE) /mob/living/carbon/human/proc/emote_serpentidhiss() - set name = "< " + EMOTE_HUMAN_HISS + " >" + set name = "< " + EMOTE_HUMAN_SERPENTIDHISS + " >" set category = "Эмоции" emote("serpentidhiss", intentional = TRUE) /mob/living/carbon/human/proc/emote_serpentidwiggles() - set name = "< " + EMOTE_HUMAN_WIGGLES + " >" + set name = "< " + EMOTE_HUMAN_SERPENTIDWIGGLE + " >" set category = "Эмоции" emote("serpentidwiggles", intentional = TRUE) diff --git a/modular_ss220/species/serpentids/code/mob/language.dm b/modular_ss220/species/serpentids/code/mob/language.dm index 3cc3e9c26fcb..f66ec43831f2 100644 --- a/modular_ss220/species/serpentids/code/mob/language.dm +++ b/modular_ss220/species/serpentids/code/mob/language.dm @@ -1,3 +1,6 @@ +/datum/language/ + var/no_tts = FALSE + /datum/language/serpentid name = "Nabberian" desc = "Звук, издаваемый этим языком похоже на кононаду из скрежета мандибул, лезвий, стука конечностей, трения антенн и утробного рева" @@ -8,6 +11,7 @@ key = "g" flags = RESTRICTED | WHITELISTED syllables = list("click","clack","cling","clang","cland","clog") + no_tts = TRUE /datum/language/serpentid/get_random_name(gender) var/new_name = "" diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 5a3cc8552e99..224c624d6573 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -133,17 +133,19 @@ //Перенести на карапас/грудь /datum/species/serpentid/handle_life(mob/living/carbon/human/H) - var/armor_count = 0 - var/gene_degradation = 0 - for(var/obj/item/organ/external/limb in H.bodyparts) - var/allow_part = has_limbs[limb.limb_name]["path"] - if(limb.type != allow_part) - gene_degradation += SERPENTID_GENE_DEGRADATION_DAMAGE - var/limb_armor = limb.brute_dam + limb.burn_dam - armor_count += limb_armor - - if(gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD && gene_degradation) - H.adjustCloneLoss(gene_degradation) + if(gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD) + var/armor_count = 0 + var/gene_degradation = 0 + for(var/obj/item/organ/external/limb in H.bodyparts) + var/allow_part = has_limbs[limb.limb_name]["path"] + if(limb.type != allow_part) + gene_degradation += SERPENTID_GENE_DEGRADATION_DAMAGE + var/limb_armor = limb.brute_dam + limb.burn_dam + armor_count += limb_armor + + if (gene_degradation) + H.adjustCloneLoss(gene_degradation) + gene_lastcall = 0 else gene_lastcall += 1 @@ -214,7 +216,4 @@ //Расширение для действий органов серпентидов /datum/action/item_action/organ_action/toggle/serpentid - -/datum/action/item_action/organ_action/toggle/serpentid/New(Target) - . = ..() name = "serpentid organ selection" diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index d8a7af0933d2..1a8cfe836072 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -41,7 +41,7 @@ if(activation_in_progress) return if(crit_fail || (!holder_l && !length(contents))) - to_chat(owner, "The implant doesn't respond. It seems to be broken...") + to_chat(owner, span_warning("Вы не можете поднять клинки")) return var/extended = holder_l && !(holder_l in src) if(extended) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 9e0bde70eb4b..34c81f41e22a 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -19,7 +19,7 @@ AddComponent(/datum/component/organ_decay, 0.05, BASIC_RECOVER_VALUE) AddComponent(/datum/component/organ_toxin_damage, 0.05) AddComponent(/datum/component/hunger_organ) - AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) + AddComponent(/datum/component/organ_action, radial_action_state, radial_action_icon) /obj/item/organ/internal/ears/serpentid/on_life() . = ..() @@ -29,7 +29,7 @@ /obj/item/organ/internal/ears/serpentid/switch_mode(force_off = FALSE) . = ..() - if(!force_off && owner?.nutrition >= chemical_consuption && !(status & ORGAN_DEAD) && !active) + if(!force_off && owner?.nutrition >= NUTRITION_LEVEL_HYPOGLYCEMIA && !(status & ORGAN_DEAD) && !active) active = TRUE chemical_consuption = initial(chemical_consuption) else diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index b63c7bc9b3bc..b578a45fa315 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -22,7 +22,7 @@ AddComponent(/datum/component/organ_decay, 0.04, BASIC_RECOVER_VALUE) AddComponent(/datum/component/organ_toxin_damage, 0.02) AddComponent(/datum/component/hunger_organ) - AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) + AddComponent(/datum/component/organ_action, radial_action_state, radial_action_icon) // Прок на получение цвета глаз /obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) @@ -56,7 +56,7 @@ /obj/item/organ/internal/eyes/serpentid/switch_mode(force_off = FALSE) . = ..() - if(!force_off && owner?.nutrition >= chemical_consuption && !(status & ORGAN_DEAD) && !active) + if(!force_off && owner?.nutrition >= NUTRITION_LEVEL_HYPOGLYCEMIA && !(status & ORGAN_DEAD) && !active) see_in_dark = 8 chemical_consuption = initial(chemical_consuption) active = TRUE diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index ada0309cee06..0c102f0f084b 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -17,7 +17,7 @@ AddComponent(/datum/component/organ_decay, 0.03, BASIC_RECOVER_VALUE) AddComponent(/datum/component/organ_toxin_damage, 0.15) AddComponent(/datum/component/hunger_organ) - AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) + AddComponent(/datum/component/organ_action, radial_action_state, radial_action_icon) /obj/item/organ/internal/kidneys/serpentid/on_life() . = .. () @@ -33,7 +33,7 @@ /obj/item/organ/internal/kidneys/serpentid/switch_mode(force_off = FALSE) . = ..() - if(!force_off && owner?.nutrition >= chemical_consuption && !cloak_engaged && !(status & ORGAN_DEAD)) + if(!force_off && owner?.nutrition >= NUTRITION_LEVEL_HYPOGLYCEMIA && !cloak_engaged && !(status & ORGAN_DEAD)) cloak_engaged = TRUE chemical_consuption = initial(chemical_consuption) else diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index fa7d652ccb71..f52903589fef 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -13,11 +13,12 @@ actions_types = list(/datum/action/item_action/organ_action/toggle/serpentid) action_icon = list(/datum/action/item_action/organ_action/toggle/serpentid = 'modular_ss220/species/serpentids/icons/organs.dmi') action_icon_state = list(/datum/action/item_action/organ_action/toggle/serpentid = "serpentid_abilities") - var/chemical_consuption = 1 + var/chemical_consuption = SERPENTID_ORGAN_HUNGER_LUNGS var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank var/chem_to_oxy_mult = 0.1 var/danger_air = FALSE var/hand_active = FALSE + var/active_secretion = FALSE var/salbutamol_production = 0.5 radial_action_state = "ballon" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' @@ -26,7 +27,8 @@ . = ..() AddComponent(/datum/component/organ_decay, 0.05, BASIC_RECOVER_VALUE) AddComponent(/datum/component/organ_toxin_damage, 0.05) - AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) + AddComponent(/datum/component/organ_action, radial_action_state, radial_action_icon) + AddComponent(/datum/component/hunger_organ) /obj/item/tank/internals/oxygen/serpentid_vault_tank name = "serpentid oxygen vault" @@ -62,8 +64,6 @@ if(!owner) return - var/can_secretion = owner.nutrition > chemical_consuption - var/danger_state = owner.getOxyLoss() > 0 var/datum/gas_mixture/breath var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] var/breath_moles = 0 @@ -75,9 +75,14 @@ breath = environment.get_by_amount(breath_moles) danger_air = lung_data.in_danger_zone(breath) - if(danger_state && can_secretion) - owner.reagents.add_reagent("salbutamol", salbutamol_production) - owner.adjust_nutrition(-chemical_consuption) + if(owner.getOxyLoss()) + if(!active_secretion) + switch_mode(FALSE) + else + owner.reagents.add_reagent("salbutamol", salbutamol_production) + else + if(active_secretion) + switch_mode(TRUE) if(!hand_active) if(danger_air && (owner.stat == UNCONSCIOUS)) @@ -90,10 +95,14 @@ var/pressure_value = int_tank_air.return_pressure() if(pressure_value < 50) var/replenish_value = 0 - if(danger_air && can_secretion) - replenish_value = chemical_consuption * chem_to_oxy_mult - owner.adjust_nutrition(-chemical_consuption) - if(!danger_air) + if(danger_air) + if(!active_secretion) + switch_mode(FALSE) + else + replenish_value = chemical_consuption * chem_to_oxy_mult + else + if(active_secretion) + switch_mode(TRUE) if(environment) breath_moles = environment.total_moles()*BREATH_PERCENTAGE var/datum/gas_mixture/replenish_gas = environment.get_by_amount(breath_moles) @@ -203,6 +212,16 @@ return danger_zone +/obj/item/organ/internal/lungs/serpentid/switch_mode(force_off = FALSE) + . = ..() + if(!force_off && owner?.nutrition >= NUTRITION_LEVEL_HYPOGLYCEMIA && !(status & ORGAN_DEAD)) + active_secretion = TRUE + chemical_consuption = initial(chemical_consuption) + else + active_secretion = FALSE + chemical_consuption = 0 + SEND_SIGNAL(src, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, chemical_consuption) + #undef SERPENTID_COLD_THRESHOLD_LEVEL_BASE #undef SERPENTID_COLD_THRESHOLD_LEVEL_DOWN #undef SERPENTID_HEAT_THRESHOLD_LEVEL_BASE diff --git a/modular_ss220/text_to_speech/code/tts_atom.dm b/modular_ss220/text_to_speech/code/tts_atom.dm index 7534363b2561..37e1134530d7 100644 --- a/modular_ss220/text_to_speech/code/tts_atom.dm +++ b/modular_ss220/text_to_speech/code/tts_atom.dm @@ -32,20 +32,15 @@ /mob/add_language(language, force) . = ..() - if(language == "Nabberian") - var/atom/A = src - RegisterSignal(A, COMSIG_ATOM_PRE_TTS_CAST, PROC_REF(atom_pre_tts_cast_mob)) + RegisterSignal(src, COMSIG_ATOM_PRE_TTS_CAST, PROC_REF(atom_pre_tts_cast_mob)) /mob/remove_language(rem_language, force) . = ..() - if(rem_language == "Nabberian") - var/atom/A = src - UnregisterSignal(A, COMSIG_ATOM_PRE_TTS_CAST) + UnregisterSignal(src, COMSIG_ATOM_PRE_TTS_CAST) /mob/proc/atom_pre_tts_cast_mob(atom, listener, message, location, is_local, effect, traits, preSFX, postSFX) SIGNAL_HANDLER - var/processed = FALSE for(var/datum/multilingual_say_piece/phrase in message) - if(istype(phrase.speaking,/datum/language/serpentid)) - processed = TRUE - return processed ? COMPONENT_TTS_INTERRUPT : processed + if(phrase.speaking.no_tts) + return COMPONENT_TTS_INTERRUPT + return FALSE From d4c836738d18372626bdb66b893584815edf2be2 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 6 Nov 2024 23:29:31 +0300 Subject: [PATCH 106/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80=20?= =?UTF-8?q?=D0=B8=20=D1=80=D0=B0=D0=BD=D1=82=D0=B0=D0=B9=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/mob/serpentids.dm | 2 +- modular_ss220/text_to_speech/code/tts_atom.dm | 15 --------------- .../text_to_speech/code/tts_component.dm | 9 +++++++++ 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 224c624d6573..19e741fc3204 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -143,7 +143,7 @@ var/limb_armor = limb.brute_dam + limb.burn_dam armor_count += limb_armor - if (gene_degradation) + if(gene_degradation) H.adjustCloneLoss(gene_degradation) gene_lastcall = 0 diff --git a/modular_ss220/text_to_speech/code/tts_atom.dm b/modular_ss220/text_to_speech/code/tts_atom.dm index 37e1134530d7..f90af41c3eba 100644 --- a/modular_ss220/text_to_speech/code/tts_atom.dm +++ b/modular_ss220/text_to_speech/code/tts_atom.dm @@ -29,18 +29,3 @@ /atom/proc/tts_trait_remove(trait) SEND_SIGNAL(src, COMSIG_ATOM_TTS_TRAIT_REMOVE, trait) - -/mob/add_language(language, force) - . = ..() - RegisterSignal(src, COMSIG_ATOM_PRE_TTS_CAST, PROC_REF(atom_pre_tts_cast_mob)) - -/mob/remove_language(rem_language, force) - . = ..() - UnregisterSignal(src, COMSIG_ATOM_PRE_TTS_CAST) - -/mob/proc/atom_pre_tts_cast_mob(atom, listener, message, location, is_local, effect, traits, preSFX, postSFX) - SIGNAL_HANDLER - for(var/datum/multilingual_say_piece/phrase in message) - if(phrase.speaking.no_tts) - return COMPONENT_TTS_INTERRUPT - return FALSE diff --git a/modular_ss220/text_to_speech/code/tts_component.dm b/modular_ss220/text_to_speech/code/tts_component.dm index fb1e6b620e33..ba544f217437 100644 --- a/modular_ss220/text_to_speech/code/tts_component.dm +++ b/modular_ss220/text_to_speech/code/tts_component.dm @@ -7,12 +7,14 @@ RegisterSignal(parent, COMSIG_ATOM_TTS_CAST, PROC_REF(cast_tts)) RegisterSignal(parent, COMSIG_ATOM_TTS_TRAIT_ADD, PROC_REF(tts_trait_add)) RegisterSignal(parent, COMSIG_ATOM_TTS_TRAIT_REMOVE, PROC_REF(tts_trait_remove)) + RegisterSignal(parent, COMSIG_ATOM_PRE_TTS_CAST, PROC_REF(atom_pre_tts_cast_mob)) /datum/component/tts_component/UnregisterFromParent() UnregisterSignal(parent, COMSIG_ATOM_TTS_SEED_CHANGE) UnregisterSignal(parent, COMSIG_ATOM_TTS_CAST) UnregisterSignal(parent, COMSIG_ATOM_TTS_TRAIT_ADD) UnregisterSignal(parent, COMSIG_ATOM_TTS_TRAIT_REMOVE) + UnregisterSignal(parent, COMSIG_ATOM_TTS_TRAIT_REMOVE) /datum/component/tts_component/Initialize(datum/tts_seed/new_tts_seed, ...) if(!isatom(parent)) @@ -198,6 +200,13 @@ if(!isnull(trait) && (trait in traits)) traits -= trait +/datum/component/tts_component/proc/atom_pre_tts_cast_mob(atom, listener, message, location, is_local, effect, traits, preSFX, postSFX) + SIGNAL_HANDLER + for(var/datum/multilingual_say_piece/phrase in message) + if(phrase.speaking?.no_tts) + return COMPONENT_TTS_INTERRUPT + return FALSE + // Component usage /client/create_response_team_part_1(new_gender, new_species, role, turf/spawn_location) From 53329e7426000e98ddfa52487025f255055cc446 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 23 Nov 2024 16:04:07 +0300 Subject: [PATCH 107/152] =?UTF-8?q?=D0=9F=D0=BE=D1=81=D0=BB=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5=D1=80=D0=B4=D0=B6=D0=B5=D0=B2=D1=8B=D0=B5=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BA=D0=BE=D0=BB=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../living/carbon/human/human_update_icons.dm | 36 +++++++++---------- .../species/serpentids/code/mob/serpentids.dm | 8 ++--- .../implants/serpentid_mantis_chest.dm | 2 +- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 4217b7f91603..26dc7fcf1dd2 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -777,15 +777,15 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) left_ear_item_state = "[left_ear_item_state]_l" left_ear_icon = l_ear.icon_override - // SS220 EDIT START - Species overlay shift - var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) - . = list() - SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if(length(.) > 0) - standing.pixel_x += .["shift_x"] - standing.pixel_y += .["shift_y"] - overlays_standing[LEFT_EAR_LAYER] = standing - // SS220 EDIT END + // SS220 EDIT START - Species overlay shift + var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) + . = list() + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) + if(length(.) > 0) + standing.pixel_x += .["shift_x"] + standing.pixel_y += .["shift_y"] + overlays_standing[LEFT_EAR_LAYER] = standing + // SS220 EDIT END if(r_ear) update_hud_r_ear(r_ear) @@ -800,15 +800,15 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) right_ear_icon = "[right_ear_item_state]_l" right_ear_icon = r_ear.icon_override - // SS220 EDIT START - Species overlay shift - var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) - . = list() - SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if(length(.) > 0) - standing.pixel_x += .["shift_x"] - standing.pixel_y += .["shift_y"] - overlays_standing[RIGHT_EAR_LAYER] = standing - // SS220 EDIT END + // SS220 EDIT START - Species overlay shift + var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) + . = list() + SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) + if(length(.) > 0) + standing.pixel_x += .["shift_x"] + standing.pixel_y += .["shift_y"] + overlays_standing[RIGHT_EAR_LAYER] = standing + // SS220 EDIT END apply_overlay(LEFT_EAR_LAYER) apply_overlay(RIGHT_EAR_LAYER) diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 19e741fc3204..b67eb392748e 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -191,13 +191,13 @@ //Работа с инвентарем /datum/species/serpentid/can_equip(obj/item/I, slot, disable_warning = FALSE, mob/living/carbon/human/H) switch(slot) - if(SLOT_HUD_SHOES) + if(ITEM_SLOT_SHOES) return FALSE - if(SLOT_HUD_GLOVES) + if(ITEM_SLOT_GLOVES) return FALSE - if(SLOT_HUD_JUMPSUIT) + if(ITEM_SLOT_JUMPSUIT) return FALSE - if(SLOT_HUD_OUTER_SUIT) + if(ITEM_SLOT_OUTER_SUIT) return FALSE . = .. () diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 1a8cfe836072..9f35084626ab 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -82,7 +82,7 @@ holder_l.w_class = WEIGHT_CLASS_HUGE holder_l.materials = null - for(var/arm_slot in list(SLOT_HUD_LEFT_HAND,SLOT_HUD_RIGHT_HAND)) + for(var/arm_slot in list(ITEM_SLOT_LEFT_HAND,ITEM_SLOT_RIGHT_HAND)) var/obj/item/arm_item = owner.get_item_by_slot(arm_slot) if(arm_item) From 48088ca7c85252490de1e3b19ba87e3f20868018 Mon Sep 17 00:00:00 2001 From: Kar4es Date: Tue, 3 Dec 2024 14:18:55 +0700 Subject: [PATCH 108/152] Create SIERRA BABY --- .../RandomRuins/SpaceRuins/sierra_1_3.dmm | 14634 ++++++++++++++++ .../code/RandomRuins/space/space_areas.dm | 27 +- .../code/RandomRuins/space/space_ruins.dm | 14 +- 3 files changed, 14671 insertions(+), 4 deletions(-) create mode 100644 _maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm new file mode 100644 index 000000000000..39f729b8c2b8 --- /dev/null +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm @@ -0,0 +1,14634 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ag" = ( +/obj/machinery/optable, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"am" = ( +/obj/effect/turf_decal{ + dir = 8 + }, +/obj/machinery/atmospherics/binary/pump{ + dir = 8 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"an" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"aq" = ( +/obj/structure/closet/secure_closet/medical3, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"aw" = ( +/obj/machinery/autolathe, +/obj/effect/mapping_helpers/machinery/destroyed, +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/sierra/rnd) +"aH" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/spawner/random/engineering/toolbox, +/turf/simulated/floor/plasteel/dark, +/area/space) +"aI" = ( +/obj/machinery/chem_master, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "whitepurple" + }, +/area/ruin/space/sierra/rnd) +"aJ" = ( +/obj/machinery/papershredder, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"aO" = ( +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"aP" = ( +/obj/effect/turf_decal/delivery/blue/hollow, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"aV" = ( +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) +"bf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"bg" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"bh" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"bi" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkbluecorners" + }, +/area/ruin/space/sierra/med) +"bm" = ( +/obj/structure/railing{ + color = "#8c911d"; + dir = 1 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"bo" = ( +/obj/machinery/door/airlock/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/cmo, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"bp" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"bq" = ( +/obj/structure/curtain/open, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"bs" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/turf/space, +/area/space) +"bt" = ( +/obj/machinery/door/airlock/multi_tile, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/rnd) +"bK" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/sierra/rnd) +"bP" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"bS" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/machinery/atmospherics/unary/vent_scrubber{ + dir = 8 + }, +/obj/item/healthanalyzer, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/glasses/hud/health, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"bV" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"ci" = ( +/turf/simulated/wall/r_wall, +/area/ruin/space/sierra/med) +"ct" = ( +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) +"cv" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"cE" = ( +/obj/effect/turf_decal/siding/trimline/dark{ + dir = 5 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"cG" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "barber" + }, +/area/ruin/space/sierra/med) +"cK" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/hall) +"cR" = ( +/obj/machinery/atmospherics/unary/vent_scrubber{ + dir = 1 + }, +/obj/effect/turf_decal/siding/trimline/dark, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"cU" = ( +/obj/machinery/door/airlock/multi_tile/glass, +/obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"db" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = 3; + pixel_y = 3 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"dd" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"dg" = ( +/obj/effect/spawner/window/reinforced/grilled, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/rnd) +"dk" = ( +/obj/structure/lattice, +/turf/space, +/area/ruin/space/sierra/rnd) +"dv" = ( +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/space) +"dy" = ( +/obj/structure/closet/secure_closet/medical3, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"dB" = ( +/obj/machinery/computer/nonfunctional{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"dH" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"dM" = ( +/obj/structure/table, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"dN" = ( +/obj/machinery/shieldwallgen, +/turf/simulated/floor/engine, +/area/ruin/space/sierra/rnd) +"dR" = ( +/turf/simulated/wall, +/area/ruin/space/sierra/maint) +"dV" = ( +/obj/effect/turf_decal/siding/trimline/dark/end{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"eb" = ( +/obj/effect/turf_decal/siding/trimline/blue, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"ee" = ( +/obj/item/kirbyplants/dead, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"ej" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"ep" = ( +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"eq" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "whitepurple" + }, +/area/ruin/space/sierra/rnd) +"er" = ( +/obj/structure/table, +/obj/machinery/kitchen_machine/microwave, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"eu" = ( +/obj/structure/closet/emcloset, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"ew" = ( +/obj/structure/rack, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"ez" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkred" + }, +/area/ruin/space/sierra/med) +"eB" = ( +/obj/structure/table/reinforced, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"eK" = ( +/obj/structure/closet/crate/freezer/iv_storage/organ, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"eM" = ( +/obj/structure/table, +/obj/item/paper_bin, +/turf/simulated/floor/plasteel{ + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"eU" = ( +/obj/structure/table, +/obj/item/tank/internals/plasma, +/obj/item/weldingtool/largetank, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"eV" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/space) +"eW" = ( +/obj/machinery/suit_storage_unit, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"eX" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"fa" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"fd" = ( +/obj/machinery/door/airlock/vault, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/shelter) +"fk" = ( +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"fo" = ( +/obj/structure/rack, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"fq" = ( +/obj/machinery/suit_storage_unit/cmo/sec_storage/secure, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"fr" = ( +/obj/structure/closet/emcloset, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"ft" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"fw" = ( +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"fC" = ( +/obj/structure/disposalpipe/junction{ + dir = 8; + icon_state = "pipe-j2" + }, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"fG" = ( +/obj/structure/rack, +/obj/structure/railing, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"fM" = ( +/obj/effect/spawner/window/reinforced/grilled, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/hall) +"fO" = ( +/obj/structure/chair/office/dark, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"fQ" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"fX" = ( +/obj/machinery/door/airlock/highsecurity, +/obj/effect/turf_decal/delivery, +/turf/simulated/floor/plasteel/dark, +/area/space) +"gb" = ( +/obj/machinery/atmospherics/unary/tank/air, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"gc" = ( +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/space) +"ge" = ( +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"gh" = ( +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/rnd) +"gk" = ( +/obj/structure/chair/stool, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"gp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/med) +"gq" = ( +/obj/item/kirbyplants/plant10, +/turf/simulated/floor/plasteel{ + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"gu" = ( +/obj/machinery/door/window{ + dir = 8 + }, +/obj/effect/turf_decal/stripes, +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/turf/simulated/floor/engine/airless, +/area/ruin/space/sierra/rnd) +"gv" = ( +/obj/structure/morgue{ + dir = 2 + }, +/turf/simulated/floor/plasteel/airless{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"gx" = ( +/obj/effect/spawner/random/engineering/tools, +/turf/space, +/area/space) +"gy" = ( +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/sierra/rnd) +"gA" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"gF" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"gG" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/maint) +"gI" = ( +/obj/item/kirbyplants/plant19, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"gJ" = ( +/obj/machinery/door/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"gL" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/disposal, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"gN" = ( +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"gP" = ( +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"gR" = ( +/obj/effect/turf_decal/siding/trimline/dark{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"gV" = ( +/turf/simulated/wall, +/area/space) +"gX" = ( +/obj/structure/table/reinforced, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) +"gY" = ( +/obj/item/storage/part_replacer, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"he" = ( +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"hm" = ( +/obj/effect/turf_decal/stripes, +/obj/item/shard{ + icon_state = "small" + }, +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/turf/simulated/floor/engine/airless, +/area/ruin/space/sierra/rnd) +"hp" = ( +/obj/effect/turf_decal/box, +/obj/structure/table, +/obj/item/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 5; + pixel_y = 10 + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"hz" = ( +/obj/effect/turf_decal/siding/trimline/dark{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"hA" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) +"hD" = ( +/obj/structure/closet, +/obj/structure/railing, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"hK" = ( +/turf/simulated/wall/mineral/titanium/nodiagonal{ + color = "red" + }, +/area/ruin/space/sierra/maint) +"hP" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"hQ" = ( +/obj/structure/shelf, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"hR" = ( +/obj/structure/railing, +/turf/simulated/wall/indestructible/rock, +/area/ruin/space/sierra/maint) +"hT" = ( +/turf/simulated/floor/plasteel/airless{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"hW" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"ib" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "purple" + }, +/area/space) +"ic" = ( +/obj/machinery/computer/operating{ + dir = 1 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"ie" = ( +/obj/machinery/economy/vending/snack, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"il" = ( +/obj/machinery/r_n_d/protolathe, +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/sierra/rnd) +"im" = ( +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"in" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"iw" = ( +/obj/structure/rack, +/obj/structure/window/reinforced, +/obj/machinery/door/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"iG" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/closet, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"iH" = ( +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"iJ" = ( +/obj/machinery/optable, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/med) +"iQ" = ( +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"iR" = ( +/obj/machinery/power/terminal, +/turf/simulated/floor/plasteel/dark, +/area/space) +"iS" = ( +/obj/machinery/door/window{ + dir = 4 + }, +/obj/effect/turf_decal/stripes, +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/turf/simulated/floor/engine/airless, +/area/ruin/space/sierra/rnd) +"iW" = ( +/obj/effect/turf_decal/delivery/blue/hollow, +/obj/machinery/sleeper, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"iY" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/item/reagent_containers/spray/cleaner/advanced, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"jl" = ( +/obj/structure/rack, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"jm" = ( +/obj/machinery/disposal, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"jp" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"ju" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"jv" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) +"jx" = ( +/obj/machinery/disposal, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"jz" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"jC" = ( +/obj/structure/reagent_dispensers/water_cooler, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"jL" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"jO" = ( +/obj/structure/railing{ + color = "#8c911d"; + dir = 1 + }, +/obj/structure/railing{ + dir = 8; + color = "#8c911d" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"jP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + initialize_directions = 10 + }, +/obj/effect/turf_decal/siding/trimline/dark, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"jX" = ( +/obj/structure/engineeringcart, +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"kn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"ks" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/rack, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"ku" = ( +/obj/machinery/computer/operating, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"kB" = ( +/obj/structure/rack, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"kK" = ( +/obj/structure/railing{ + dir = 8; + color = "#8c911d" + }, +/obj/structure/railing{ + color = "#8c911d"; + dir = 1 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"kL" = ( +/obj/effect/turf_decal, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"kN" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"kP" = ( +/obj/structure/closet/secure_closet/research_reagents, +/obj/structure/window/reinforced, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = -1 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"kR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/hall) +"kT" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/sierra/rnd) +"lb" = ( +/obj/machinery/photocopier, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/space) +"lh" = ( +/obj/structure/railing, +/turf/simulated/floor/plasteel/stairs/left{ + dir = 8; + color = "gray" + }, +/area/ruin/space/sierra/med) +"li" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/atmospherics/portable/scrubber, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"lj" = ( +/turf/simulated/floor/plasteel{ + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"lo" = ( +/obj/machinery/disposal, +/turf/simulated/floor/plasteel/dark, +/area/space) +"lp" = ( +/obj/structure/table, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"lw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"lz" = ( +/obj/effect/turf_decal/delivery/red, +/obj/machinery/atmospherics/unary/vent_pump{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"lD" = ( +/obj/structure/rack, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"lV" = ( +/obj/effect/turf_decal{ + dir = 8 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"lY" = ( +/obj/machinery/suit_storage_unit, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"md" = ( +/obj/structure/railing{ + dir = 8; + color = "#8c911d" + }, +/obj/structure/railing{ + color = "#8c911d" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"me" = ( +/obj/structure/table, +/obj/effect/spawner/random/engineering/materials, +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/sierra/rnd) +"mk" = ( +/obj/effect/turf_decal/stripes/corner, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/space) +"mo" = ( +/obj/machinery/papershredder, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/space) +"mp" = ( +/obj/structure/closet/emcloset/anchored, +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"mw" = ( +/obj/machinery/atmospherics/portable/pump, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"mC" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"mD" = ( +/obj/machinery/constructable_frame/machine_frame, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"mG" = ( +/obj/machinery/door/airlock/highsecurity, +/obj/effect/turf_decal/delivery, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor/plasteel/dark, +/area/space) +"mI" = ( +/obj/effect/turf_decal/siding/trimline/dark/end{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"mL" = ( +/obj/structure/closet/crate/freezer/iv_storage/organ, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"mS" = ( +/obj/structure/railing, +/obj/structure/rack, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"ne" = ( +/obj/structure/disposalpipe/junction{ + dir = 8; + icon_state = "pipe-j2" + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/hall) +"np" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"ns" = ( +/obj/machinery/iv_drip, +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"nz" = ( +/obj/machinery/constructable_frame/machine_frame, +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/sierra/rnd) +"nC" = ( +/obj/item/stack/sheet/plasteel/fifteen, +/turf/space, +/area/space) +"nD" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"nM" = ( +/obj/structure/closet/secure_closet/medical3, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"nQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"nS" = ( +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"od" = ( +/obj/effect/spawner/window/reinforced/grilled, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) +"og" = ( +/obj/machinery/atmospherics/portable/scrubber, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"oh" = ( +/obj/structure/lattice, +/turf/space, +/area/space) +"ok" = ( +/obj/machinery/chem_dispenser, +/obj/item/reagent_containers/glass/beaker/large, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"os" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor, +/area/ruin/space/sierra/maint) +"ox" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel/airless{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"oA" = ( +/obj/machinery/atmospherics/unary/thermomachine/freezer{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"oI" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"oS" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 6 + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"oX" = ( +/obj/item/shard, +/turf/simulated/floor/plating/airless, +/area/space) +"oZ" = ( +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"pd" = ( +/obj/machinery/photocopier, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"pe" = ( +/obj/machinery/photocopier, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"ph" = ( +/obj/item/storage/box/monkeycubes/syndicate, +/turf/space, +/area/space) +"pn" = ( +/obj/structure/railing/cap/normal{ + dir = 4 + }, +/obj/effect/turf_decal/siding/trimline/blue/corner, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"pp" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"ps" = ( +/obj/machinery/door/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"pw" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/turf/space, +/area/space) +"px" = ( +/turf/simulated/floor/plasteel{ + icon_state = "whitebluefull" + }, +/area/ruin/space/sierra/med) +"pC" = ( +/obj/structure/closet/secure_closet/research_reagents, +/obj/effect/spawner/random_spawners/dirt_maybe, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"pJ" = ( +/obj/structure/closet/emcloset, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/maint) +"pP" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/unary/cryo_cell, +/obj/effect/mapping_helpers/machinery/destroyed, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"qb" = ( +/obj/machinery/iv_drip, +/obj/machinery/atmospherics/unary/vent_scrubber{ + dir = 8 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"qk" = ( +/obj/structure/railing{ + dir = 8; + color = "#8c911d" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"qn" = ( +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"qo" = ( +/obj/structure/closet, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"qp" = ( +/obj/structure/table{ + anchored = 0 + }, +/turf/space, +/area/space) +"qq" = ( +/obj/structure/closet/secure_closet/scientist, +/turf/simulated/floor, +/area/space) +"qr" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/space, +/area/space/nearstation) +"qt" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/railing, +/obj/effect/spawner/random/engineering/materials, +/turf/simulated/floor/plasteel/dark, +/area/space) +"qH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) +"qK" = ( +/obj/effect/turf_decal{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"qN" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"qS" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"qT" = ( +/obj/structure/lattice, +/turf/space, +/area/space/nearstation) +"qW" = ( +/obj/structure/chair/sofa/corp/left{ + dir = 4 + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"rj" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"rn" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/wall/indestructible/rock, +/area/ruin/space/sierra/hall) +"rq" = ( +/obj/effect/turf_decal/siding/trimline/blue/corner{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"rw" = ( +/obj/machinery/papershredder, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"rJ" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/airlock/maintenance_hatch, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"rO" = ( +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"rV" = ( +/obj/machinery/computer/nonfunctional{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"sb" = ( +/turf/simulated/floor/plasteel/airless{ + icon_state = "darkblue"; + dir = 4 + }, +/area/ruin/space/sierra/med) +"sk" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/plasteel/stairs/right{ + dir = 8; + color = "gray" + }, +/area/ruin/space/sierra/med) +"sn" = ( +/obj/structure/railing/cap/reversed{ + dir = 4 + }, +/obj/effect/turf_decal/siding/trimline/blue/corner{ + dir = 4 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"so" = ( +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"sr" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"sv" = ( +/obj/structure/chair/office/dark, +/turf/simulated/floor/plasteel{ + icon_state = "barber" + }, +/area/ruin/space/sierra/med) +"sw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) +"sy" = ( +/turf/simulated/floor/plating/airless, +/area/space) +"sz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9 + }, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"sA" = ( +/obj/machinery/door/airlock/external, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/maint) +"sB" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/space_heater, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"sO" = ( +/obj/structure/lattice, +/obj/item/storage/toolbox/mechanical, +/turf/space, +/area/space/nearstation) +"sU" = ( +/turf/space, +/area/space) +"sX" = ( +/obj/machinery/iv_drip, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"sY" = ( +/obj/machinery/disposal, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"tc" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) +"ti" = ( +/turf/simulated/wall/mineral/titanium/nodiagonal, +/area/ruin/space/sierra/maint) +"tv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) +"ty" = ( +/obj/machinery/status_display/directional/east, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/maint) +"tB" = ( +/obj/effect/turf_decal{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"tL" = ( +/obj/machinery/constructable_frame/machine_frame, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"tR" = ( +/obj/machinery/door/airlock/multi_tile/glass, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"tS" = ( +/obj/machinery/smartfridge/secure/chemistry{ + anchored = 0 + }, +/turf/space, +/area/space) +"tT" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"tX" = ( +/obj/structure/closet/secure_closet/paramedic, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"ud" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/structure/shelf, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"uh" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "green" + }, +/area/ruin/space/sierra/hall) +"um" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"un" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/closet, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"uo" = ( +/obj/structure/mopbucket, +/obj/item/mop, +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"up" = ( +/obj/structure/closet/wardrobe/coroner, +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"ur" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "darkred" + }, +/area/ruin/space/sierra/med) +"ux" = ( +/obj/item/shard, +/turf/space, +/area/space) +"uF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) +"uL" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"uM" = ( +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"uX" = ( +/obj/effect/spawner/random/maintenance, +/turf/space, +/area/space) +"uY" = ( +/obj/structure/morgue{ + dir = 1 + }, +/turf/simulated/floor/plasteel/airless{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"va" = ( +/obj/machinery/door/airlock/research, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"ve" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/med) +"vg" = ( +/obj/machinery/shieldwallgen, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"vk" = ( +/obj/machinery/atmospherics/portable/scrubber, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"vm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/lattice, +/turf/space, +/area/space) +"vp" = ( +/obj/effect/turf_decal/box, +/obj/machinery/disposal, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"vw" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/item/storage/box/syringes, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"vA" = ( +/obj/machinery/door/airlock/medical/glass, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"vB" = ( +/obj/structure/closet/crate/freezer/iv_storage, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"vC" = ( +/turf/simulated/floor/plasteel/airless{ + icon_state = "darkblue"; + dir = 1 + }, +/area/ruin/space/sierra/med) +"vD" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"vI" = ( +/obj/machinery/door/airlock/security, +/obj/effect/mapping_helpers/airlock/access/all/security, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/rnd) +"vL" = ( +/obj/structure/rack, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/extinguisher{ + pixel_x = 1; + pixel_y = -1 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"vX" = ( +/obj/effect/turf_decal{ + dir = 8 + }, +/obj/machinery/constructable_frame/machine_frame, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"wa" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"wb" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"wi" = ( +/obj/machinery/optable, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"wm" = ( +/obj/machinery/atmospherics/unary/vent_scrubber, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"wo" = ( +/obj/structure/table, +/obj/machinery/photocopier/faxmachine, +/turf/simulated/floor/plasteel{ + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"wt" = ( +/obj/structure/disposalpipe/segment, +/turf/space, +/area/space) +"ww" = ( +/obj/effect/turf_decal/siding/trimline/blue{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"wB" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"wC" = ( +/obj/machinery/atmospherics/portable/canister, +/turf/space, +/area/space) +"wD" = ( +/turf/simulated/floor/engine, +/area/ruin/space/sierra/maint) +"wF" = ( +/obj/structure/table, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"wG" = ( +/obj/machinery/atmospherics/unary/vent_pump{ + dir = 1 + }, +/obj/effect/turf_decal/siding/trimline/dark, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"wJ" = ( +/obj/structure/shelf/science, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"wN" = ( +/obj/effect/turf_decal/tile/neutral/full{ + color = "#000000" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/simulated/floor/plasteel/stairs{ + color = "gray" + }, +/area/ruin/space/sierra/med) +"wR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"wU" = ( +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "blue" + }, +/area/ruin/space/sierra/hall) +"xl" = ( +/obj/effect/spawner/random_spawners/oil_maybe, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"xm" = ( +/obj/machinery/door/airlock/multi_tile{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"xs" = ( +/obj/machinery/constructable_frame/machine_frame, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"xL" = ( +/obj/structure/table, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"yc" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/rnd) +"yf" = ( +/obj/structure/chair/comfy/shuttle/dark{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/maint) +"yg" = ( +/turf/simulated/wall, +/area/ruin/space/sierra/med) +"yh" = ( +/obj/structure/closet, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"yr" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"yt" = ( +/obj/effect/turf_decal, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/space) +"yw" = ( +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor, +/area/ruin/space/sierra/med) +"yx" = ( +/obj/effect/turf_decal{ + dir = 6 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/space) +"yz" = ( +/obj/structure/chair/stool, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) +"yB" = ( +/obj/machinery/computer/nonfunctional{ + dir = 4 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"yF" = ( +/obj/machinery/computer/nonfunctional, +/turf/simulated/floor/plating, +/area/space) +"yH" = ( +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkbluecorners" + }, +/area/ruin/space/sierra/med) +"yI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5 + }, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"yM" = ( +/obj/effect/turf_decal/siding/trimline/blue{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"yQ" = ( +/obj/structure/railing, +/obj/structure/rack, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"yR" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"yU" = ( +/obj/effect/turf_decal/tile/neutral/full{ + color = "#000000" + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/simulated/floor/plasteel/stairs{ + color = "gray" + }, +/area/ruin/space/sierra/rnd) +"yW" = ( +/obj/structure/girder, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) +"za" = ( +/obj/machinery/atmospherics/unary/vent_pump, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"zd" = ( +/obj/effect/spawner/window/shuttle, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"zm" = ( +/obj/machinery/door/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "whitepurple" + }, +/area/ruin/space/sierra/rnd) +"zp" = ( +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/rnd) +"zq" = ( +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"zx" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"zP" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"zU" = ( +/obj/machinery/power/smes{ + charge = 2e+006 + }, +/turf/simulated/floor/plasteel/dark, +/area/space) +"Ad" = ( +/obj/item/reagent_containers/glass/bottle/phosphorus, +/turf/space, +/area/space) +"Af" = ( +/obj/effect/turf_decal{ + dir = 9 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/rnd) +"Aj" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/rack, +/obj/structure/rack, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"Ak" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "whitepurple" + }, +/area/ruin/space/sierra/rnd) +"An" = ( +/obj/effect/turf_decal/siding/trimline/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/trimline/dark/corner{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"Ao" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/obj/item/tank/internals/anesthetic, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Ar" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"As" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + icon_state = "barber" + }, +/area/ruin/space/sierra/med) +"AE" = ( +/obj/structure/closet/secure_closet/research_reagents, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"AF" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"AH" = ( +/obj/effect/turf_decal/box, +/obj/structure/bed/roller, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"AQ" = ( +/obj/structure/table/reinforced, +/turf/simulated/floor/plasteel{ + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"AS" = ( +/obj/effect/turf_decal/box, +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"AY" = ( +/obj/effect/turf_decal{ + dir = 8 + }, +/obj/machinery/disposal, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Bb" = ( +/obj/machinery/door/airlock/research, +/obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/rnd) +"Bd" = ( +/obj/machinery/door/airlock/medical/glass, +/obj/effect/spawner/random_spawners/dirt_maybe, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor, +/area/ruin/space/sierra/med) +"Bj" = ( +/turf/simulated/floor/plasteel/airless{ + icon_state = "darkblue"; + dir = 8 + }, +/area/ruin/space/sierra/med) +"Bl" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/unary/cryo_cell, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"Bo" = ( +/obj/structure/table, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Bs" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"Bv" = ( +/turf/simulated/floor/plasteel/dark, +/area/space) +"Bw" = ( +/obj/structure/chair/sofa/corp/right{ + dir = 4 + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"Bx" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Bz" = ( +/obj/machinery/shieldwallgen, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/maint) +"BC" = ( +/obj/structure/railing{ + dir = 9 + }, +/turf/simulated/wall/indestructible/rock, +/area/ruin/space/sierra/hall) +"BE" = ( +/obj/machinery/r_n_d/server, +/turf/simulated/floor/bluegrid/telecomms/server, +/area/space) +"BH" = ( +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"BK" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"BL" = ( +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/obj/structure/railing{ + color = "#8c911d" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"BY" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"Cc" = ( +/obj/machinery/door/window{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Ch" = ( +/obj/structure/closet/secure_closet/medical1, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"Cj" = ( +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/maint) +"Cn" = ( +/obj/structure/chair/office/dark, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"Cr" = ( +/obj/machinery/atmospherics/portable/pump, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"Ct" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window{ + dir = 8 + }, +/obj/machinery/door/window{ + dir = 4 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"CH" = ( +/obj/structure/closet/emcloset, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) +"CL" = ( +/obj/structure/rack, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/storage/firstaid/brute, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"CO" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"CP" = ( +/turf/simulated/floor/plating, +/area/space) +"CU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/med) +"CW" = ( +/obj/structure/closet/secure_closet/scientist, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"CZ" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Dc" = ( +/obj/structure/closet/emcloset, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Dn" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"Dq" = ( +/obj/machinery/atmospherics/unary/vent_scrubber, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"Dt" = ( +/obj/effect/turf_decal{ + dir = 8 + }, +/obj/item/chair/stool, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Dy" = ( +/obj/effect/turf_decal{ + dir = 4 + }, +/obj/effect/turf_decal{ + dir = 8 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"DF" = ( +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/turf/simulated/floor/plasteel/stairs{ + color = "gray" + }, +/area/ruin/space/sierra/rnd) +"DG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/hall) +"DI" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"DJ" = ( +/obj/effect/turf_decal/box, +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"DM" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/reinforced, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"DN" = ( +/obj/structure/closet/secure_closet/reagents, +/obj/item/clothing/glasses/science, +/obj/item/stack/sheet/mineral/uranium{ + amount = 10 + }, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"DQ" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"DR" = ( +/obj/machinery/disposal, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/med) +"DZ" = ( +/obj/structure/table/reinforced, +/obj/machinery/chem_heater{ + pixel_x = 1; + pixel_y = 7 + }, +/obj/machinery/atmospherics/unary/vent_scrubber, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"Ea" = ( +/obj/effect/turf_decal{ + dir = 8 + }, +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Ec" = ( +/obj/machinery/sleeper/survival_pod, +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Eh" = ( +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Ep" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "purple" + }, +/area/space) +"Eq" = ( +/obj/structure/lattice, +/obj/machinery/constructable_frame/machine_frame{ + anchored = 0 + }, +/turf/space, +/area/space/nearstation) +"Et" = ( +/turf/simulated/wall/r_wall, +/area/ruin/space/sierra/maint) +"Eu" = ( +/obj/effect/turf_decal{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Ev" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"EE" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"EF" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"EH" = ( +/obj/machinery/door/airlock/medical, +/obj/effect/spawner/random_spawners/dirt_maybe, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "whitebluefull" + }, +/area/ruin/space/sierra/med) +"EJ" = ( +/obj/structure/closet/l3closet/virology, +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"EU" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plasteel/stairs{ + color = "gray" + }, +/area/ruin/space/sierra/med) +"EV" = ( +/obj/machinery/chem_master, +/obj/effect/mapping_helpers/machinery/destroyed, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"EW" = ( +/obj/structure/table, +/obj/item/roller, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"Fa" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/space, +/area/space) +"Fk" = ( +/obj/structure/lattice, +/obj/item/shard{ + icon_state = "small" + }, +/turf/space, +/area/space/nearstation) +"Fl" = ( +/obj/effect/turf_decal/siding/trimline/blue{ + dir = 8 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"Fm" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"Fp" = ( +/obj/effect/turf_decal/box, +/obj/machinery/sleeper{ + dir = 1 + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"FD" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"FF" = ( +/turf/simulated/wall/r_wall, +/area/ruin/space/sierra/shelter) +"FI" = ( +/obj/structure/rack, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = -1 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"FJ" = ( +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"FP" = ( +/obj/structure/railing{ + color = "#8c911d" + }, +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"FR" = ( +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/unary/vent_pump, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"FU" = ( +/obj/effect/turf_decal/box, +/obj/machinery/bodyscanner{ + dir = 4 + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"FY" = ( +/obj/structure/closet/radiation, +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"Gd" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Ge" = ( +/obj/structure/closet, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "green" + }, +/area/ruin/space/sierra/hall) +"Gk" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Go" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Gy" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/siding/trimline/dark, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"GA" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/railing{ + dir = 9 + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"GH" = ( +/obj/machinery/disposal, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"GJ" = ( +/obj/structure/rack, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"GL" = ( +/obj/structure/bed/roller, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"GM" = ( +/obj/structure/shelf/science, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) +"GU" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"GW" = ( +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"He" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "green" + }, +/area/ruin/space/sierra/hall) +"Hj" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"HA" = ( +/obj/structure/curtain/medical, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"HD" = ( +/obj/effect/spawner/random/snacks, +/turf/space, +/area/space) +"HK" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/machinery/atmospherics/portable/pump, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"HO" = ( +/obj/item/clipboard, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Ib" = ( +/obj/machinery/computer/nonfunctional, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/med) +"Ic" = ( +/obj/machinery/computer/nonfunctional{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Id" = ( +/obj/effect/turf_decal/siding/trimline/blue/corner, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"If" = ( +/obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"Ih" = ( +/obj/effect/turf_decal{ + dir = 10 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/space) +"Ij" = ( +/obj/machinery/constructable_frame/machine_frame, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"Il" = ( +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"Is" = ( +/obj/effect/spawner/window/reinforced/plasma/grilled, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/rnd) +"Iu" = ( +/obj/structure/shelf, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"Iv" = ( +/obj/structure/disposalpipe/sortjunction/reversed{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) +"Iz" = ( +/obj/machinery/smartfridge/medbay, +/turf/simulated/floor, +/area/ruin/space/sierra/med) +"IM" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"IN" = ( +/turf/simulated/wall/r_wall, +/area/ruin/space/sierra/rnd) +"IP" = ( +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/med) +"IS" = ( +/obj/effect/turf_decal/box, +/obj/machinery/sleeper{ + dir = 2 + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"IY" = ( +/obj/machinery/disposal, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Jg" = ( +/obj/structure/table, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Jj" = ( +/obj/structure/chair/office/dark, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Jm" = ( +/obj/effect/turf_decal, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Jo" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "whitepurple" + }, +/area/ruin/space/sierra/rnd) +"Jq" = ( +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Jv" = ( +/obj/structure/closet/secure_closet/security/science, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"JB" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"JD" = ( +/obj/machinery/constructable_frame/machine_frame, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"JG" = ( +/obj/structure/table/reinforced, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"JJ" = ( +/obj/structure/closet, +/turf/simulated/floor/plasteel/airless{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"JT" = ( +/obj/machinery/door/poddoor, +/turf/space, +/area/ruin/space/sierra/maint) +"Ka" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Kc" = ( +/obj/structure/railing{ + color = "#8c911d" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"Kv" = ( +/obj/effect/turf_decal/delivery, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"Kw" = ( +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/maint) +"KA" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"KB" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"KG" = ( +/obj/machinery/atmospherics/portable/pump, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"KJ" = ( +/obj/machinery/chem_dispenser, +/obj/effect/mapping_helpers/machinery/destroyed, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whitepurple" + }, +/area/ruin/space/sierra/rnd) +"Lb" = ( +/turf/simulated/floor/engine/airless, +/area/ruin/space/sierra/rnd) +"Ld" = ( +/turf/simulated/floor, +/area/space) +"Lg" = ( +/obj/machinery/door/airlock/multi_tile/glass, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Lh" = ( +/obj/machinery/constructable_frame/machine_frame, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "whitebluecorner" + }, +/area/ruin/space/sierra/med) +"Lp" = ( +/obj/machinery/computer/operating{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/space) +"Lq" = ( +/obj/machinery/door/airlock/medical/glass, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Lx" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/unary/vent_pump{ + dir = 4 + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"Lz" = ( +/obj/structure/shelf, +/obj/structure/railing, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/obj/effect/spawner/random/engineering/toolbox, +/turf/simulated/floor/plasteel/dark, +/area/space) +"LG" = ( +/turf/simulated/wall, +/area/space/nearstation) +"LH" = ( +/obj/machinery/door/airlock/research, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) +"LO" = ( +/obj/effect/turf_decal/stripes/corner, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"LP" = ( +/obj/machinery/cryopod/offstation{ + dir = 2 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/maint) +"LV" = ( +/obj/structure/railing, +/obj/structure/shelf, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"LW" = ( +/turf/simulated/floor/plasteel{ + icon_state = "purplecorner" + }, +/area/ruin/space/sierra/rnd) +"Md" = ( +/obj/machinery/disposal, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Me" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/machinery/power/smes/engineering, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"Mn" = ( +/obj/item/storage/box/beakers, +/turf/space, +/area/space) +"Mv" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/shelf, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"Mw" = ( +/obj/machinery/disposal, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "green" + }, +/area/ruin/space/sierra/hall) +"MA" = ( +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/obj/structure/railing{ + color = "#8c911d"; + dir = 1 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"MD" = ( +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"ME" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/space, +/area/space) +"MF" = ( +/turf/simulated/wall, +/area/ruin/space/sierra/rnd) +"MH" = ( +/obj/structure/lattice, +/obj/item/shard, +/turf/space, +/area/space/nearstation) +"ML" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"MO" = ( +/obj/machinery/atmospherics/unary/vent_pump, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"MU" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 5 + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"MY" = ( +/turf/simulated/floor/plasteel{ + icon_state = "darkbluecorners" + }, +/area/ruin/space/sierra/med) +"MZ" = ( +/turf/simulated/floor/plasteel{ + icon_state = "green" + }, +/area/ruin/space/sierra/hall) +"Ne" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "green" + }, +/area/ruin/space/sierra/hall) +"Nj" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Nv" = ( +/obj/structure/closet/l3closet/scientist, +/obj/structure/window/reinforced, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Nx" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Ny" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"NA" = ( +/obj/machinery/door/airlock/medical, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"ND" = ( +/obj/effect/turf_decal{ + dir = 1 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"NE" = ( +/turf/space, +/area/ruin/space/sierra/med) +"NL" = ( +/obj/effect/turf_decal/siding/trimline/blue{ + dir = 8 + }, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"NM" = ( +/obj/effect/turf_decal/siding/trimline/blue, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"NQ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"NR" = ( +/obj/structure/table, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "barber" + }, +/area/ruin/space/sierra/med) +"NY" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Oe" = ( +/obj/structure/sink/directional/south, +/turf/simulated/floor/plasteel{ + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"Og" = ( +/obj/machinery/atmospherics/portable/canister/sleeping_agent, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/window, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"Ok" = ( +/obj/machinery/door/airlock/research, +/obj/effect/turf_decal/delivery, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) +"Ol" = ( +/obj/structure/closet/wardrobe/robotics_black, +/obj/item/stack/cable_coil, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Op" = ( +/obj/machinery/door/airlock/external/glass, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/maint) +"Or" = ( +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"Oy" = ( +/turf/simulated/floor/bluegrid/telecomms/server, +/area/space) +"OE" = ( +/obj/machinery/atmospherics/unary/portables_connector{ + dir = 1 + }, +/obj/machinery/atmospherics/portable/canister/oxygen, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"OO" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/window/reinforced/grilled, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/hall) +"OX" = ( +/obj/machinery/constructable_frame/machine_frame, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"Pa" = ( +/obj/machinery/economy/vending/cigarette, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Pd" = ( +/obj/effect/turf_decal/tile/neutral/full{ + color = "#000000" + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/simulated/floor/plasteel/stairs/left{ + dir = 8; + color = "gray" + }, +/area/ruin/space/sierra/med) +"Pf" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"Pm" = ( +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Pq" = ( +/obj/machinery/door/airlock/medical/glass, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"Pw" = ( +/obj/machinery/photocopier, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"Px" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) +"Py" = ( +/obj/item/paper_bin, +/turf/space, +/area/space) +"Pz" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "whitebluecorner" + }, +/area/ruin/space/sierra/med) +"PC" = ( +/turf/simulated/floor/catwalk/airless, +/area/space/nearstation) +"Qb" = ( +/obj/effect/turf_decal/siding/trimline/blue/corner{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkbluecorners" + }, +/area/ruin/space/sierra/med) +"Qd" = ( +/obj/structure/railing, +/obj/structure/shelf, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"Qi" = ( +/obj/structure/lattice, +/turf/space, +/area/ruin/space/sierra/med) +"Qp" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/hall) +"Qt" = ( +/obj/machinery/door/window/reinforced, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) +"Qv" = ( +/obj/machinery/door/airlock/research, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"QG" = ( +/obj/machinery/door/airlock/public, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"QK" = ( +/obj/machinery/economy/vending/coffee, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"QR" = ( +/obj/effect/turf_decal/siding/trimline/dark{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"QW" = ( +/obj/machinery/computer/operating{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"QZ" = ( +/obj/machinery/computer/nonfunctional{ + dir = 1 + }, +/obj/machinery/computer/nonfunctional{ + dir = 1 + }, +/turf/simulated/floor, +/area/space) +"Rd" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Rh" = ( +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/machinery/computer/nonfunctional{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Rj" = ( +/obj/machinery/floodlight/anchored, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"Ro" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Ru" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/bed/roller, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/med) +"Rz" = ( +/obj/effect/turf_decal{ + dir = 5 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/rnd) +"RD" = ( +/obj/item/kirbyplants/plant10, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"RF" = ( +/obj/machinery/door/window/classic/reversed{ + name = "interior door"; + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"RH" = ( +/obj/structure/rack, +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"RI" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteyellow" + }, +/area/ruin/space/sierra/med) +"RP" = ( +/obj/effect/spawner/window/reinforced/grilled, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/rnd) +"RQ" = ( +/turf/simulated/floor/plasteel/airless{ + icon_state = "darkblue"; + dir = 9 + }, +/area/ruin/space/sierra/med) +"RS" = ( +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "green" + }, +/area/ruin/space/sierra/hall) +"RT" = ( +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"RX" = ( +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/space) +"Sa" = ( +/obj/structure/chair/office/dark, +/turf/space, +/area/space) +"Sb" = ( +/obj/structure/closet, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"Sd" = ( +/obj/machinery/door/airlock/medical/glass, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor, +/area/ruin/space/sierra/med) +"Se" = ( +/obj/structure/table, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/med) +"Sn" = ( +/obj/structure/table{ + anchored = 0 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"So" = ( +/obj/machinery/door/airlock/research, +/obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Sp" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/classic/reversed{ + name = "interior door" + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Sy" = ( +/turf/simulated/floor/plating, +/area/ruin/space/sierra/hall) +"SJ" = ( +/obj/machinery/door/airlock/research, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"SO" = ( +/obj/structure/table/tray, +/obj/item/storage/surgical_tray{ + pixel_y = 8 + }, +/obj/machinery/atmospherics/unary/vent_pump{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Ti" = ( +/obj/effect/turf_decal, +/obj/effect/turf_decal{ + dir = 1 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Tn" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"Tt" = ( +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Tx" = ( +/obj/machinery/door/airlock/medical/glass, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "whitebluefull" + }, +/area/ruin/space/sierra/med) +"TE" = ( +/obj/structure/table, +/obj/effect/spawner/random/snacks, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"TH" = ( +/obj/effect/turf_decal/siding/trimline/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/trimline/dark/corner, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"TI" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whitepurple" + }, +/area/ruin/space/sierra/rnd) +"TN" = ( +/obj/effect/turf_decal/delivery/red, +/obj/machinery/atmospherics/unary/vent_scrubber{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"TO" = ( +/obj/machinery/atmospherics/unary/vent_pump{ + dir = 8 + }, +/obj/structure/chair{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkred" + }, +/area/ruin/space/sierra/med) +"TT" = ( +/obj/structure/table, +/obj/item/tank/internals/plasma, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"Ub" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "whitebluefull" + }, +/area/ruin/space/sierra/med) +"Ur" = ( +/obj/item/storage/surgical_tray{ + pixel_y = 8 + }, +/obj/structure/table/tray, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"Uv" = ( +/obj/item/shard, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"Uz" = ( +/turf/simulated/wall/r_wall, +/area/space) +"UA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"UG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) +"UH" = ( +/obj/effect/turf_decal{ + dir = 8 + }, +/obj/machinery/atmospherics/binary/pump{ + dir = 4 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"UI" = ( +/obj/effect/spawner/random/engineering/materials, +/turf/space, +/area/space) +"UK" = ( +/obj/item/pipe_meter, +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"UN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"UO" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"UQ" = ( +/obj/item/clipboard, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"UU" = ( +/obj/structure/closet/secure_closet/scientist, +/obj/effect/spawner/random_spawners/dirt_maybe, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"UV" = ( +/obj/effect/turf_decal/box, +/obj/machinery/constructable_frame/machine_frame, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"UY" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Vb" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Vf" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Vm" = ( +/obj/structure/sink/directional/west, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Vr" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"Vt" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "whiteyellowfull" + }, +/area/ruin/space/sierra/med) +"VA" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"VI" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) +"VX" = ( +/obj/machinery/door/airlock/public, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"VZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Wg" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"Wh" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whitebluecorner" + }, +/area/ruin/space/sierra/med) +"Wi" = ( +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkbluecorners" + }, +/area/ruin/space/sierra/med) +"Wj" = ( +/obj/structure/chair/office/dark, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Wm" = ( +/obj/item/shard{ + icon_state = "small" + }, +/turf/space, +/area/space) +"Wn" = ( +/obj/structure/table, +/obj/item/paper_bin/nanotrasen, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"Wp" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"WB" = ( +/obj/structure/curtain/medical, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"WE" = ( +/obj/structure/table, +/obj/machinery/kitchen_machine/microwave, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"WP" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/power/smes/engineering, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"WS" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor/closed, +/turf/simulated/floor, +/area/ruin/space/sierra/hall) +"WW" = ( +/obj/effect/turf_decal/box, +/obj/structure/table, +/obj/machinery/atmospherics/unary/vent_scrubber{ + dir = 4 + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"Xa" = ( +/obj/effect/turf_decal{ + dir = 1 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"Xc" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"Xf" = ( +/obj/machinery/atmospherics/unary/vent_scrubber{ + dir = 8 + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkred" + }, +/area/ruin/space/sierra/med) +"Xh" = ( +/turf/simulated/floor/plasteel{ + icon_state = "barber" + }, +/area/ruin/space/sierra/med) +"Xn" = ( +/turf/simulated/floor/plasteel{ + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Xo" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Xp" = ( +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/shelter) +"Xq" = ( +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"Xr" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Xx" = ( +/obj/effect/turf_decal/tile/neutral/full{ + color = "#000000" + }, +/obj/structure/railing{ + dir = 5 + }, +/turf/simulated/floor/plasteel/stairs/right{ + dir = 8; + color = "gray" + }, +/area/ruin/space/sierra/med) +"XD" = ( +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"XI" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/mapping_helpers/airlock/access/all/medical, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"XK" = ( +/obj/machinery/atmospherics/unary/portables_connector{ + dir = 8 + }, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"XQ" = ( +/obj/structure/shelf, +/obj/structure/railing, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"XV" = ( +/obj/effect/spawner/window/reinforced/grilled, +/turf/simulated/floor/plating, +/area/space) +"Ya" = ( +/obj/machinery/constructable_frame/machine_frame, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"Yi" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "green" + }, +/area/ruin/space/sierra/hall) +"Yk" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Ym" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkred" + }, +/area/ruin/space/sierra/med) +"Yo" = ( +/obj/machinery/economy/vending/medical, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"Yp" = ( +/obj/structure/bed, +/obj/structure/curtain/open{ + level = 5; + layer = 5 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"YF" = ( +/obj/structure/closet/secure_closet/security/science, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "darkred" + }, +/area/ruin/space/sierra/rnd) +"YY" = ( +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"Zb" = ( +/obj/structure/rack, +/obj/structure/curtain/open, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"Zf" = ( +/obj/machinery/computer/nonfunctional{ + dir = 1 + }, +/turf/simulated/floor, +/area/space) +"Zg" = ( +/turf/simulated/floor/plasteel{ + icon_state = "greenfull" + }, +/area/ruin/space/sierra/hall) +"Zh" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Zi" = ( +/obj/effect/turf_decal/siding/trimline/dark/corner{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"Zn" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/obj/effect/spawner/random/engineering/materials, +/turf/simulated/floor/plating/airless, +/area/space) +"Zs" = ( +/obj/structure/railing{ + color = "#8c911d"; + dir = 1 + }, +/obj/structure/railing{ + color = "#8c911d"; + dir = 1 + }, +/obj/structure/railing{ + dir = 8; + color = "#8c911d" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"ZA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/lattice, +/turf/space, +/area/space/nearstation) +"ZB" = ( +/obj/effect/turf_decal/siding/trimline/blue/corner{ + dir = 8 + }, +/obj/effect/spawner/random_spawners/dirt_maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"ZC" = ( +/obj/structure/closet/l3closet/general, +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"ZH" = ( +/obj/effect/turf_decal/delivery, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"ZL" = ( +/obj/machinery/door/airlock/research, +/obj/effect/turf_decal/delivery, +/obj/effect/mapping_helpers/airlock/access/any/science, +/turf/simulated/floor, +/area/ruin/space/sierra/rnd) +"ZT" = ( +/obj/machinery/papershredder, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"ZU" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) +"ZW" = ( +/obj/structure/rack, +/obj/item/vending_refill/medical{ + pixel_x = -5; + pixel_y = -5 + }, +/obj/item/vending_refill/medical, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"ZZ" = ( +/obj/structure/chair/comfy/shuttle/dark{ + dir = 1 + }, +/obj/machinery/status_display/directional/east, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/maint) + +(1,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(2,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(3,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(4,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(5,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(6,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(7,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(8,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(9,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(10,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(11,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(12,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(13,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(14,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(15,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(16,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(17,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(18,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(19,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(20,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +sU +qT +qT +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +wC +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(21,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +sU +qT +Et +qT +qT +sU +sU +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(22,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +LG +qT +dR +Et +sU +qT +qT +qT +qT +Et +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(23,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +qT +zq +Cj +Et +Et +Et +Et +Et +Et +Et +aV +qT +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(24,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +zq +zq +zq +zq +zq +zq +zq +zq +zq +zq +zq +zq +aV +UG +aV +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(25,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +sU +sU +sU +sU +qT +Cj +dR +Cj +Cj +Cj +zq +dR +Cj +Cj +Cj +Cj +Cj +dR +BH +UG +sw +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(26,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +Et +dR +dR +dR +Cj +dR +dR +dR +dR +zq +FF +FF +fd +FF +FF +FF +FF +Kv +UG +sw +gV +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(27,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +Et +Et +dR +eu +zq +zq +zq +zq +zq +zq +zq +FF +Cn +Il +Cn +Wg +GU +FF +BH +kn +sw +gV +IN +IN +IN +qT +qT +MH +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(28,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +ti +hK +Et +pJ +zq +zq +zq +HK +li +sB +FF +FF +FF +Wg +Il +Cn +Wg +GU +FF +BH +kR +He +Zg +IN +Lb +Lb +Lb +Lb +qT +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(29,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +ty +yf +Op +sA +Kw +Kw +zq +zq +zq +zq +Kw +FF +zP +zP +Wg +Il +Cn +Wg +GU +FF +BH +cK +He +Zg +IN +Lb +Lb +Lb +Lb +gN +gN +qT +wC +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(30,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +qT +ti +ti +hK +Et +Kw +Kw +zq +zq +iG +zq +Kw +fd +Il +Il +Il +Il +Il +Il +Il +fd +BH +cK +He +Zg +IN +Lb +Lb +Lb +Lb +Lb +Lb +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(31,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +Et +Et +Et +Et +Bz +Kw +zq +zq +Et +Kw +Et +FF +oI +oI +oI +oI +oI +Il +oI +FF +BH +cK +He +Zg +IN +IN +Lb +Lb +Lb +Lb +IN +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(32,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +JT +ti +ti +ti +ti +hK +Et +Kw +Kw +zq +zq +Et +zq +lp +FF +FF +FF +FF +FF +FF +Xp +FF +FF +BH +jL +He +MF +IN +IN +IN +gu +hm +IN +IN +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(33,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +JT +zd +LP +ZZ +yf +Op +sA +Kw +Kw +zq +zq +Et +zq +lp +FF +Yp +Yp +Yp +Yp +Il +Il +Il +FF +WS +uL +BK +IN +IN +dN +Is +iS +iS +Is +dN +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(34,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +JT +ti +ti +ti +ti +hK +Et +Kw +Kw +zq +zq +Kw +zq +Me +FF +Il +Il +Il +Il +Il +Il +Il +FF +BH +jL +DG +IN +vX +Dt +Ea +UH +am +AY +lV +IN +sU +sU +sU +sU +qT +qT +sU +sU +sU +qT +sU +qT +Uz +Uz +Uz +PC +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(35,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +Et +Et +Et +Et +Bz +Kw +zq +zq +Et +zq +WP +FF +Il +Il +Il +Il +Il +Il +Sb +FF +BH +cK +UN +So +mw +XD +XD +UK +UK +XD +og +IN +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +uX +mo +lb +eV +Uz +PC +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(36,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +JT +ti +ti +ti +ti +hK +Et +Kw +Kw +zq +zq +Et +Kw +Et +FF +gb +Sb +hQ +Sb +fo +Sb +lY +FF +BH +cK +DG +IN +wF +XD +XD +XK +XK +XD +XD +IN +qT +sU +sU +sU +sU +sU +sU +qp +sU +sU +sU +qT +Ih +gc +Uz +PC +PC +PC +PC +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(37,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +JT +zd +LP +ZZ +yf +Op +sA +Kw +Kw +zq +zq +Et +zq +lp +ci +ci +ci +ci +ci +ci +ci +ci +ci +BH +jL +DG +IN +IN +IN +IN +IN +IN +So +IN +IN +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +mk +yx +Lp +Uz +Uz +Uz +Uz +Uz +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(38,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +JT +ti +ti +ti +ti +hK +Et +pJ +zq +zq +zq +Kw +zq +zq +ci +Zb +bq +aq +aq +fq +fq +kB +ci +BH +cK +DG +IN +CW +yz +AE +pC +kP +gF +GM +Md +IN +qT +sU +sU +sU +sU +sU +sU +Sa +sU +sU +yt +dv +gc +Uz +BE +Oy +BE +Uz +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(39,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +Et +Et +Et +Et +dR +eu +zq +zq +Et +zq +GA +ci +tX +oZ +FJ +Pf +VA +VA +oZ +ci +BH +cK +DG +IN +UU +yz +tc +tc +Qt +tc +tc +jv +Ka +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +Ih +Lp +Uz +XV +fX +XV +Uz +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(40,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +Iu +UO +UO +UO +dR +dR +zq +dR +Et +zq +WP +ci +Zb +bq +Dn +gA +kB +Tt +eW +ci +BH +jL +DG +IN +CW +tc +gF +wF +Nv +wJ +tc +gI +IN +qT +sU +sU +sU +qp +qp +qT +sU +sU +sU +sU +yx +gc +Uz +Bv +Bv +Bv +qT +PC +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(41,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +oS +zq +zq +zq +zq +zq +zq +MU +Et +Kw +Et +ci +aq +Hj +Dn +ge +vw +Gd +Ao +ci +Tn +ft +qS +IN +UU +yz +fO +Wn +MF +MF +LH +MF +IN +qT +qT +sU +sU +sU +sU +qT +sU +sU +sU +sU +qT +eV +Uz +Bv +iR +zU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(42,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Rj +zq +zq +zq +dR +zq +zq +zq +zq +zq +zq +os +oZ +VA +EE +IM +ps +oZ +oZ +ci +BH +jL +He +IN +IN +IN +IN +IN +IN +XD +ct +ee +hA +qT +sU +qp +sU +sU +sU +sU +sU +sU +qp +sU +qT +gV +Uz +mG +Uz +Uz +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(43,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +yh +zq +zq +zq +dR +zq +zq +zq +zq +zq +qo +ci +IY +VA +bS +iY +db +CL +lD +ci +BH +cK +He +fM +Mw +Ne +Yi +uh +IN +XD +ct +Sn +Af +qT +sU +sU +sU +Sa +sU +HD +sU +sU +sU +sU +sU +Ld +CP +gc +Ld +qT +qT +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(44,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +sB +zq +yg +yg +yg +yg +ci +ci +ci +os +ci +ci +od +Bd +ci +ci +ci +ci +ci +ci +BH +cK +UN +BH +BH +BH +BH +MZ +IN +XD +ct +dk +gN +qT +sU +sU +sU +sU +sU +sU +sU +sU +uX +sU +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(45,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +vg +Qd +zq +yg +gv +hT +uY +ci +DJ +Tt +oZ +WW +AH +Lx +Gk +EW +od +Ch +ZW +vB +ci +BH +cK +UN +BH +BH +BH +BH +MZ +IN +XD +ct +dk +dk +sU +sU +sU +sU +sU +sU +sU +Fa +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(46,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +rO +ud +zq +yg +ox +RQ +Bj +ci +Bl +yI +YY +he +he +YY +Pf +Xr +Lq +Hj +Tt +Tt +ci +BH +jL +He +fM +Ge +BC +rn +RS +IN +er +ct +Eh +Xa +gN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(47,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +zq +zq +zq +yg +Se +vC +iJ +ci +hp +lw +Id +ww +sn +pn +rq +EW +od +vL +jl +FI +ci +VX +OO +QG +MF +MF +MF +MF +MF +IN +jC +ct +GW +Rz +qT +sU +pw +qp +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(48,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +zq +un +Cr +yg +Ib +IP +sb +ci +hp +lw +eb +iW +sk +lh +yM +yR +ci +ci +ci +ci +ci +wU +jL +DG +MF +YF +gk +Jv +jx +IN +sY +ct +ee +um +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(49,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +Et +zq +yg +yg +yW +Qi +IP +Ru +ci +pP +wb +NM +FU +Xx +Pd +yM +Xq +aP +Fp +ci +Ec +UV +ND +cK +fC +vI +gh +gh +gh +lj +IN +MF +Ok +MF +MF +MF +MF +qT +qT +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(50,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +oS +zq +yg +NE +Qi +Qi +Qi +DR +ci +DJ +lw +ZB +Fl +Fl +NL +Qb +YY +he +he +tR +he +he +ND +cK +DG +MF +fk +gh +gh +bp +IN +XD +ct +XD +MF +wF +wF +gN +sU +sU +sU +sU +sU +qT +sU +qp +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(51,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +zq +zq +zq +yg +NE +NE +NE +gp +ve +NA +wR +sz +iH +iH +kN +Wi +MY +iH +iH +iH +iH +iH +iH +ND +cK +DG +dg +ew +Ya +jz +dH +IN +qn +Eh +Eh +bg +Eh +gN +gN +sO +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(52,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +yh +hD +zq +yg +NE +NE +NE +CU +JJ +ci +vp +IS +aP +oZ +TN +Dn +ge +lz +oZ +gL +ci +AS +AS +ND +cK +DG +IN +dg +dg +Ct +IN +IN +Jq +LW +GW +sr +GW +GW +UQ +gN +gN +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(53,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +dR +dR +zq +yg +Qi +IP +IP +CU +JJ +ci +ci +ci +Px +vA +ci +HA +WB +ci +Pq +Px +ci +ci +ci +wU +jL +DG +dg +eX +bh +XD +fr +IN +Jq +gY +MF +MF +MF +MF +ZL +MF +MF +gN +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(54,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +yh +Qd +zq +yg +yg +yg +If +xm +ci +ci +eB +tL +tL +oZ +ci +wm +gA +ci +nS +Ij +xs +mL +ci +wU +jL +fC +EF +JB +yc +yc +yc +bt +Vr +nD +MF +LO +Eu +Eu +vD +Eu +Eu +gN +gN +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(55,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +zq +zq +zq +rj +yg +Og +gR +Gy +oA +ci +eK +Dq +oZ +oZ +ci +MD +gA +ci +nS +gA +Hj +SO +ci +wU +jL +fC +EF +yc +JB +KA +JB +JB +VZ +UA +MF +Jm +jO +qk +Ti +kK +qk +Kc +gN +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(56,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +GJ +mS +zq +RH +yg +up +gR +Gy +OE +ci +ku +wi +im +nS +ci +MO +gA +ci +nS +qb +ag +QW +ci +wU +cK +DG +dg +DI +Nj +XD +Dc +IN +ej +UA +MF +Jm +MA +Or +Ti +gN +gN +Kc +qK +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(57,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +mS +zq +rj +yg +FY +gR +jP +OE +ci +sX +za +oZ +oZ +ci +CO +hW +ci +Pq +od +od +od +ci +wU +cK +DG +IN +dg +dg +Ct +dg +IN +bV +VI +MF +Ro +Dy +Dy +kL +gN +gN +Kc +qK +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(58,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +dR +zq +dR +yg +ZC +gR +cR +EJ +ci +eB +Ur +eB +oZ +ci +MD +nS +Tt +wB +ez +wB +ur +ci +wU +cK +DG +IN +wF +ML +Ar +ic +IN +ej +UA +MF +Jm +Zs +md +Ti +gN +gN +Kc +qK +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(59,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +qo +zq +zq +yg +ZC +gR +wG +mp +ci +od +od +Px +vA +ci +MD +wB +nS +DQ +Xf +Ym +TO +ci +wU +cK +DG +dg +ML +tc +tc +tc +va +ej +HO +MF +Jm +bm +gN +Ti +gN +gN +Kc +qK +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(60,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +vk +zq +zq +gG +mI +An +Zi +QR +cU +he +YY +YY +YY +YY +yH +gA +Yo +ci +ci +ci +ci +ci +wU +jL +ne +RP +np +ZU +JB +dd +dg +ej +bf +MF +Jm +bm +gN +Ti +gN +gN +Kc +qK +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(61,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +nM +KG +zq +yg +ns +cE +TH +hz +gP +iH +iH +iH +iH +iH +bi +gA +oZ +Iz +iQ +mD +DN +ci +WS +uL +Qp +IN +aw +gy +kT +MF +MF +ej +UA +MF +Jm +MA +BL +Ti +MA +gN +FP +qK +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(62,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +zq +fG +zq +yg +uo +jX +dV +ZH +yg +oZ +EU +wN +OX +BY +Dn +gA +oZ +Sd +RI +Hj +tT +gX +BH +jL +DG +IN +il +bK +gy +MF +wF +ej +yr +Qv +ju +tB +tB +NQ +tB +tB +tB +Nx +rJ +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(63,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +zq +zq +zq +yg +yg +yg +zx +yg +yg +yg +yg +yg +im +Tt +Dn +ge +JG +od +DZ +Vt +Oe +ci +wU +cK +DG +IN +nz +me +nz +MF +wF +ej +aO +MF +Pm +GW +TT +fa +eU +fa +GW +fQ +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(64,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +zq +zq +zq +zq +yg +Xc +px +ZT +pe +Wj +Ic +yg +GL +Tt +Dn +ge +JG +od +FR +Hj +AQ +od +wU +cK +DG +IN +MF +MF +MF +MF +MF +bf +aO +MF +eq +zm +Fm +Ak +Jo +Fm +gJ +Fm +IN +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(65,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +ks +Aj +zq +yg +px +px +px +px +Tt +Zh +yg +tL +im +MD +ge +IY +ci +bP +ok +EV +ci +wU +cK +DG +IN +XD +DF +yU +yB +MF +bf +aO +MF +TI +zp +gN +gN +gN +Uv +gN +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(66,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +dR +dR +zq +yg +in +qN +pp +Ub +Wj +Ic +yg +yg +od +XI +NY +od +ci +ci +ci +ci +ci +wU +cK +DG +dg +XD +fO +TE +jp +dg +bf +gN +MF +aI +KJ +gN +gN +gN +gN +gN +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(67,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +zq +zq +zq +yg +dM +NR +Bo +px +so +Rh +UY +Pz +Xo +Hj +Hj +Hj +Jj +Jg +Ny +QK +ci +wU +cK +DG +dg +XD +xl +wF +XD +MF +bf +gN +MF +MF +MF +Eq +qT +qT +qT +nC +sU +sU +sU +sU +sU +sU +qp +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(68,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +hR +zq +zq +yg +mC +AF +Go +px +Cc +Vf +KB +cv +Hj +Hj +Tt +Hj +Hj +Hj +Tt +Hj +Lg +BH +jL +UN +va +XD +XD +XD +XD +SJ +bf +gN +gN +gN +gN +qT +sU +Mn +sU +qp +sU +sU +ux +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(69,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +hR +xL +zq +yg +px +px +Ub +Ub +RF +Rd +Sp +cv +Hj +Hj +Hj +Hj +Hj +Tt +Hj +Hj +uM +BH +jL +sw +IN +Vb +Vb +Vm +Ol +MF +nQ +wt +sU +sU +qT +Fk +sU +sU +sU +sU +sU +UI +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(70,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +dR +dR +dR +dR +zq +dR +dR +yg +Tt +px +ep +dB +CZ +Wp +Tt +Yk +FD +FD +FD +hP +Hj +Yk +ci +wU +jL +sw +IN +IN +IN +IN +IN +IN +qT +qT +sU +sU +sU +sU +Ad +ph +qp +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(71,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +dR +XQ +zq +zq +Bs +yg +od +Tx +yg +yg +yg +Xn +Hj +wa +ci +od +od +od +bo +ci +ci +wU +cK +sw +IN +iw +aJ +Pw +GH +IN +gN +qT +sU +sU +sU +qp +sU +sU +sU +sU +sU +Py +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(72,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +dR +XQ +zq +zq +MU +yg +JD +Ub +qW +Bw +yg +Xo +Hj +wa +ci +Ev +fw +fw +fw +jm +ci +wU +cK +sw +IN +gN +gN +gN +gN +Bb +gN +Fk +sU +sU +sU +sU +sU +qT +tS +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(73,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +dR +dR +zq +zq +zq +yg +Pa +Ub +Ub +Ub +EH +Hj +Hj +an +ci +Bx +Xh +Xh +cG +gq +ci +wU +cK +ZA +qT +sU +sU +sU +sU +qT +qT +qT +sU +sU +sU +sU +sU +qT +sU +Wm +sU +sU +gx +sU +qp +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(74,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +Et +Et +Et +zq +yg +ie +px +WE +Zh +yg +hP +Hj +an +ci +rw +Xh +As +As +eM +od +wU +tv +qT +qT +sU +sU +sU +sU +sU +Wm +sU +sU +sU +UI +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(75,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +zq +zq +wD +zq +yg +yg +yg +yg +yg +yg +Xn +Tt +Xr +ci +dy +Xh +Xh +sv +wo +od +aV +uF +qT +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +sU +sU +sU +sU +sU +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(76,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +zq +Et +Et +zq +zq +zq +zq +zq +zq +yg +Lh +Hj +Wh +ci +DM +RT +pd +rV +RD +ci +aV +uF +qT +sU +sU +sU +qp +qT +sU +sU +sU +sU +sU +sU +qT +oX +sy +qT +sy +sy +sy +sy +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(77,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +Et +zq +Et +Et +Et +Et +Et +ks +Mv +zq +yg +yg +yw +yg +ci +ci +ci +ci +ci +ci +ci +Sy +vm +qT +sU +sU +sU +sU +sU +bs +sU +sU +sU +sU +sU +sy +gV +gV +gV +sy +gV +gV +Uz +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(78,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +Et +Et +sU +sU +Et +Et +yQ +zq +dR +CH +aV +qT +qT +qT +sU +ME +qH +qH +qH +qH +Iv +qr +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sy +gV +Bv +qt +Bv +Bv +lo +Uz +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(79,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +wD +wD +sU +sU +sU +Et +LV +zq +Cj +aV +qT +qT +qT +sU +sU +sU +sU +sU +qT +aV +aV +qT +sU +qT +qT +sU +qT +sU +sU +sU +Fa +qT +qT +sy +gV +Bv +Bv +Bv +sy +sy +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(80,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +qT +sU +sU +sU +Et +dR +dR +dR +qT +qT +qT +qT +sU +sU +sU +sU +sU +sU +qT +qT +sU +sU +sU +sU +sU +qT +qT +CP +CP +CP +XV +sy +sy +gV +aH +Lz +sy +Zn +sy +sy +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(81,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +qT +sy +qT +CP +CP +Ld +Uz +sy +RX +gV +Bv +sy +sy +sy +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(82,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sy +XV +yF +CP +Ld +QZ +Uz +ib +Ep +gV +sy +sy +sy +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(83,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sy +Uz +qq +Ld +Ld +Zf +Uz +Uz +Uz +Uz +Uz +qT +qT +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(84,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sy +Uz +Uz +Uz +Uz +Uz +Uz +oh +sU +sU +sU +sU +sU +sU +sU +gx +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(85,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(86,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(87,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(88,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(89,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(90,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(91,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(92,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(93,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(94,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(95,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(96,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(97,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(98,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(99,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} +(100,1,1) = {" +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +sU +"} diff --git a/modular_ss220/maps220/code/RandomRuins/space/space_areas.dm b/modular_ss220/maps220/code/RandomRuins/space/space_areas.dm index 680923c0380c..53abd192166e 100644 --- a/modular_ss220/maps220/code/RandomRuins/space/space_areas.dm +++ b/modular_ss220/maps220/code/RandomRuins/space/space_areas.dm @@ -6,7 +6,7 @@ requires_power = TRUE report_alerts = FALSE -/* Twin-Nexus Space Hotel */ +//MARK: Twin-Nexus Space Hotel /area/ruin/space/spacehotelv1 report_alerts = FALSE requires_power = TRUE @@ -99,9 +99,34 @@ name = "Hotel Barber" icon_state = "awaycontent22" +//MARK:Vox base /area/vox_base name = "Vox Base" icon_state = "purple" requires_power = FALSE report_alerts = FALSE dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + +//MARK: Sierra +/area/ruin/space/sierra + report_alerts = FALSE + requires_power = TRUE + +/area/ruin/space/sierra/med + name = "Medical Department" + icon_state = "medbay" + +/area/ruin/space/sierra/rnd + name = "Research And Development" + icon_state = "scilab" + +/area/ruin/space/sierra/hall + name = "hall" + icon_state = "hallC" +/area/ruin/space/sierra/maint + name = "Port Maintenance" + icon_state = "pmaint" + +/area/ruin/space/sierra/shelter + name = "Shelter" + icon_state = "head_quarters" diff --git a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm index c9d1ace1919b..8fa92d27c6ab 100644 --- a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm +++ b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm @@ -63,9 +63,9 @@ prefix = "_maps/map_files220/RandomRuins/SpaceRuins/" suffix = "whiteship.dmm" description = "An old, abandoned NT medical ship. Its computer can navigate to other landmarks within space with ease." - allow_duplicates = FALSE - always_place = TRUE - cost = 0 + allow_duplicates = FALSE + always_place = TRUE + cost = 0 /datum/map_template/ruin/space/voxraiders_1 name = "Vox Raiders" @@ -85,3 +85,11 @@ cost = 10 allow_duplicates = FALSE +/datum/map_template/ruin/space/sierra_1_3 + name = "Sierra Wreckage" + id = "sierra_1_3" + description = "Wreckage of the Sierra after a terrible incident" + prefix = "_maps/map_files220/RandomRuins/SpaceRuins/" + suffix = "sierra_1_3.dmm" + cost = 20 // всвязи с "инвентовой картой". В будущем после доработки поменять. Так же имеется почти полноценный мед и РНД. + allow_duplicates = FALSE From f11aa2efea0260cd2bff43e7dfa6bb1f0f62bd3f Mon Sep 17 00:00:00 2001 From: Kar4es Date: Tue, 3 Dec 2024 14:47:47 +0700 Subject: [PATCH 109/152] =?UTF-8?q?=D1=8D=D1=8D=D1=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm index 9567cb4d5414..5ad6c557f751 100644 --- a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm +++ b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm @@ -94,5 +94,5 @@ description = "Wreckage of the Sierra after a terrible incident" prefix = "_maps/map_files220/RandomRuins/SpaceRuins/" suffix = "sierra_1_3.dmm" - cost = 20 // всвязи с "инвентовой картой". В будущем после доработки поменять. Так же имеется почти полноценный мед и РНД. + // cost = 20 я хуй знает как это тут сделать, так что похуй. allow_duplicates = FALSE From 20f27de149c85a6fd83185370e705b7a99c23343 Mon Sep 17 00:00:00 2001 From: Kar4es Date: Sat, 7 Dec 2024 19:42:09 +0700 Subject: [PATCH 110/152] :( --- .../RandomRuins/SpaceRuins/sierra_1_3.dmm | 1409 ++++++++--------- 1 file changed, 619 insertions(+), 790 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm index 39f729b8c2b8..eced7b466b79 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm @@ -1,7 +1,6 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ag" = ( /obj/machinery/optable, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -13,17 +12,13 @@ /obj/machinery/atmospherics/binary/pump{ dir = 8 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) -"an" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "whiteblue" +"ao" = ( +/obj/structure/window/reinforced{ + dir = 8 }, +/turf/simulated/floor/plating, /area/ruin/space/sierra/med) "aq" = ( /obj/structure/closet/secure_closet/medical3, @@ -47,12 +42,12 @@ }, /obj/effect/spawner/random/engineering/toolbox, /turf/simulated/floor/plasteel/dark, -/area/space) +/area/space/nearstation) "aI" = ( /obj/machinery/chem_master, -/turf/simulated/floor/plasteel{ - dir = 5; - icon_state = "whitepurple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "whitepurple"; + dir = 5 }, /area/ruin/space/sierra/rnd) "aJ" = ( @@ -60,7 +55,7 @@ /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) "aO" = ( -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purple" }, /area/ruin/space/sierra/rnd) @@ -91,19 +86,11 @@ /obj/structure/chair/office/dark{ dir = 4 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "purple" }, /area/ruin/space/sierra/rnd) -"bi" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "darkbluecorners" - }, -/area/ruin/space/sierra/med) "bm" = ( /obj/structure/railing{ color = "#8c911d"; @@ -142,10 +129,6 @@ /obj/effect/mapping_helpers/airlock/access/any/science, /turf/simulated/floor/plating, /area/ruin/space/sierra/rnd) -"bK" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel/dark, -/area/ruin/space/sierra/rnd) "bP" = ( /obj/structure/table/reinforced, /obj/item/storage/box/beakers{ @@ -188,12 +171,11 @@ icon_state = "purplefull" }, /area/ruin/space/sierra/rnd) -"cv" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "whiteblue" +"cx" = ( +/turf/simulated/floor/plasteel/airless{ + icon_state = "purplefull" }, -/area/ruin/space/sierra/med) +/area/ruin/space/sierra/rnd) "cE" = ( /obj/effect/turf_decal/siding/trimline/dark{ dir = 5 @@ -262,7 +244,7 @@ /obj/structure/disposalpipe/trunk{ dir = 1 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "dg" = ( /obj/effect/spawner/window/reinforced/grilled, @@ -273,10 +255,10 @@ /turf/space, /area/ruin/space/sierra/rnd) "dv" = ( -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "white" }, -/area/space) +/area/space/nearstation) "dy" = ( /obj/structure/closet/secure_closet/medical3, /turf/simulated/floor/plasteel{ @@ -299,14 +281,6 @@ icon_state = "darkred" }, /area/ruin/space/sierra/rnd) -"dM" = ( -/obj/structure/table, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "whiteblue" - }, -/area/ruin/space/sierra/med) "dN" = ( /obj/machinery/shieldwallgen, /turf/simulated/floor/engine, @@ -322,16 +296,9 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) -"eb" = ( -/obj/effect/turf_decal/siding/trimline/blue, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/ruin/space/sierra/med) "ee" = ( /obj/item/kirbyplants/dead, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) "ej" = ( /obj/structure/disposalpipe/segment{ @@ -356,15 +323,15 @@ /obj/structure/window/reinforced{ dir = 8 }, -/turf/simulated/floor/plasteel{ - dir = 9; - icon_state = "whitepurple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "whitepurple"; + dir = 9 }, /area/ruin/space/sierra/rnd) "er" = ( /obj/structure/table, /obj/machinery/kitchen_machine/microwave, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) "eu" = ( /obj/structure/closet/emcloset, @@ -378,7 +345,6 @@ }, /area/ruin/space/sierra/rnd) "ez" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "darkred" @@ -407,17 +373,17 @@ /obj/structure/table, /obj/item/tank/internals/plasma, /obj/item/weldingtool/largetank, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 4 }, /area/ruin/space/sierra/rnd) "eV" = ( /obj/structure/filingcabinet/chestdrawer, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purplefull" }, -/area/space) +/area/space/nearstation) "eW" = ( /obj/machinery/suit_storage_unit, /turf/simulated/floor/plasteel{ @@ -435,14 +401,16 @@ /area/ruin/space/sierra/rnd) "fa" = ( /obj/structure/table, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 4 }, /area/ruin/space/sierra/rnd) "fd" = ( /obj/machinery/door/airlock/vault, /obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, @@ -489,7 +457,7 @@ }, /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "fw" = ( /turf/simulated/floor/plasteel{ @@ -502,7 +470,7 @@ dir = 8; icon_state = "pipe-j2" }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "fG" = ( /obj/structure/rack, @@ -515,23 +483,23 @@ /area/ruin/space/sierra/hall) "fO" = ( /obj/structure/chair/office/dark, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "fQ" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ dir = 8 }, -/turf/simulated/floor/plasteel{ - dir = 6; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 6 }, /area/ruin/space/sierra/rnd) "fX" = ( /obj/machinery/door/airlock/highsecurity, /obj/effect/turf_decal/delivery, /turf/simulated/floor/plasteel/dark, -/area/space) +/area/space/nearstation) "gb" = ( /obj/machinery/atmospherics/unary/tank/air, /turf/simulated/floor/plasteel{ @@ -539,10 +507,10 @@ }, /area/ruin/space/sierra/shelter) "gc" = ( -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purplefull" }, -/area/space) +/area/space/nearstation) "ge" = ( /turf/simulated/floor/plasteel{ icon_state = "darkblue" @@ -560,6 +528,10 @@ icon_state = "darkred" }, /area/ruin/space/sierra/rnd) +"go" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/maint) "gp" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 @@ -597,16 +569,6 @@ "gy" = ( /turf/simulated/floor/plasteel/dark, /area/ruin/space/sierra/rnd) -"gA" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "darkblue" - }, -/area/ruin/space/sierra/med) -"gF" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor, -/area/ruin/space/sierra/rnd) "gG" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/medical, @@ -616,7 +578,7 @@ /area/ruin/space/sierra/maint) "gI" = ( /obj/item/kirbyplants/plant19, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "gJ" = ( /obj/machinery/door/window/reinforced{ @@ -661,6 +623,9 @@ icon_state = "purple" }, /area/ruin/space/sierra/rnd) +"hb" = ( +/turf/simulated/floor/catwalk/airless, +/area/ruin/space/sierra/maint) "he" = ( /turf/simulated/floor/plasteel{ dir = 8; @@ -704,7 +669,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purplefull" }, /area/ruin/space/sierra/rnd) @@ -719,7 +684,6 @@ }, /area/ruin/space/sierra/maint) "hP" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "whiteblue" @@ -756,12 +720,12 @@ dir = 5; icon_state = "purple" }, -/area/space) +/area/space/nearstation) "ic" = ( /obj/machinery/computer/operating{ dir = 1 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "ie" = ( /obj/machinery/economy/vending/snack, @@ -782,7 +746,6 @@ /obj/structure/chair/office/dark{ dir = 4 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "whiteblue" @@ -794,7 +757,7 @@ /obj/machinery/door/window/reinforced{ dir = 4 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "iG" = ( /obj/structure/railing{ @@ -811,8 +774,8 @@ /area/ruin/space/sierra/med) "iJ" = ( /obj/machinery/optable, -/turf/simulated/floor/plasteel/dark{ - icon_state = "dark_large" +/turf/simulated/floor/plasteel/airless{ + icon_state = "dark" }, /area/ruin/space/sierra/med) "iQ" = ( @@ -824,7 +787,7 @@ "iR" = ( /obj/machinery/power/terminal, /turf/simulated/floor/plasteel/dark, -/area/space) +/area/space/nearstation) "iS" = ( /obj/machinery/door/window{ dir = 4 @@ -854,10 +817,7 @@ /obj/structure/railing{ dir = 8 }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "darkblue" - }, +/turf/simulated/floor/plating, /area/ruin/space/sierra/med) "jm" = ( /obj/machinery/disposal, @@ -870,23 +830,16 @@ /obj/structure/chair/office/dark{ dir = 1 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "ju" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 }, /obj/structure/disposalpipe/segment, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "purple" - }, -/area/ruin/space/sierra/rnd) -"jv" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "purplefull" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 1 }, /area/ruin/space/sierra/rnd) "jx" = ( @@ -907,8 +860,12 @@ /area/ruin/space/sierra/rnd) "jC" = ( /obj/structure/reagent_dispensers/water_cooler, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) +"jG" = ( +/obj/machinery/suit_storage_unit/cmo/sec_storage/secure, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) "jL" = ( /obj/structure/cable/green{ d1 = 4; @@ -924,7 +881,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/hall) "jO" = ( /obj/structure/railing{ @@ -943,9 +900,7 @@ initialize_directions = 10 }, /obj/effect/turf_decal/siding/trimline/dark, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/plating, /area/ruin/space/sierra/med) "jX" = ( /obj/structure/engineeringcart, @@ -961,7 +916,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/hall) "ks" = ( /obj/structure/railing{ @@ -978,9 +933,7 @@ /area/ruin/space/sierra/med) "kB" = ( /obj/structure/rack, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/plating, /area/ruin/space/sierra/med) "kK" = ( /obj/structure/railing{ @@ -1001,15 +954,8 @@ /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) -"kN" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "darkblue" - }, -/area/ruin/space/sierra/med) "kP" = ( /obj/structure/closet/secure_closet/research_reagents, /obj/structure/window/reinforced, @@ -1017,7 +963,7 @@ pixel_x = 1; pixel_y = -1 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "kR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -1029,7 +975,7 @@ /obj/structure/cable/green{ icon_state = "0-4" }, -/turf/simulated/floor/catwalk, +/turf/simulated/floor/catwalk/airless, /area/ruin/space/sierra/hall) "kT" = ( /obj/structure/table, @@ -1037,10 +983,10 @@ /area/ruin/space/sierra/rnd) "lb" = ( /obj/machinery/photocopier, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purplefull" }, -/area/space) +/area/space/nearstation) "lh" = ( /obj/structure/railing, /turf/simulated/floor/plasteel/stairs/left{ @@ -1063,7 +1009,7 @@ "lo" = ( /obj/machinery/disposal, /turf/simulated/floor/plasteel/dark, -/area/space) +/area/space/nearstation) "lp" = ( /obj/structure/table, /turf/simulated/floor/plating, @@ -1099,7 +1045,7 @@ /obj/effect/turf_decal{ dir = 8 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "lY" = ( /obj/machinery/suit_storage_unit, @@ -1124,16 +1070,16 @@ /area/ruin/space/sierra/rnd) "mk" = ( /obj/effect/turf_decal/stripes/corner, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "white" }, -/area/space) +/area/space/nearstation) "mo" = ( /obj/machinery/papershredder, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purplefull" }, -/area/space) +/area/space/nearstation) "mp" = ( /obj/structure/closet/emcloset/anchored, /obj/effect/turf_decal/box, @@ -1143,20 +1089,18 @@ /area/ruin/space/sierra/med) "mw" = ( /obj/machinery/atmospherics/portable/pump, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "mC" = ( /obj/structure/chair/office/dark{ dir = 8 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "whiteblue" }, /area/ruin/space/sierra/med) "mD" = ( -/obj/machinery/constructable_frame/machine_frame, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whiteyellow" @@ -1167,7 +1111,7 @@ /obj/effect/turf_decal/delivery, /obj/effect/mapping_helpers/airlock/access/any/science, /turf/simulated/floor/plasteel/dark, -/area/space) +/area/space/nearstation) "mI" = ( /obj/effect/turf_decal/siding/trimline/dark/end{ dir = 1 @@ -1199,7 +1143,7 @@ "np" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/structure/disposalpipe/segment, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "ns" = ( /obj/machinery/iv_drip, @@ -1208,10 +1152,6 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) -"nz" = ( -/obj/machinery/constructable_frame/machine_frame, -/turf/simulated/floor/plasteel/dark, -/area/ruin/space/sierra/rnd) "nC" = ( /obj/item/stack/sheet/plasteel/fifteen, /turf/space, @@ -1247,7 +1187,7 @@ /area/ruin/space/sierra/med) "og" = ( /obj/machinery/atmospherics/portable/scrubber, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "oh" = ( /obj/structure/lattice, @@ -1256,7 +1196,6 @@ "ok" = ( /obj/machinery/chem_dispenser, /obj/item/reagent_containers/glass/beaker/large, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteyellow" @@ -1266,7 +1205,7 @@ /obj/machinery/door/airlock/maintenance_hatch, /obj/machinery/door/firedoor/closed, /obj/effect/mapping_helpers/airlock/access/all/medical, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/maint) "ox" = ( /obj/structure/table, @@ -1300,12 +1239,16 @@ "oX" = ( /obj/item/shard, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "oZ" = ( /turf/simulated/floor/plasteel{ icon_state = "darkbluefull" }, /area/ruin/space/sierra/med) +"pb" = ( +/obj/structure/table, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/rnd) "pd" = ( /obj/machinery/photocopier, /turf/simulated/floor/plasteel{ @@ -1328,7 +1271,6 @@ dir = 4 }, /obj/effect/turf_decal/siding/trimline/blue/corner, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1337,7 +1279,6 @@ /obj/structure/chair/office/dark{ dir = 4 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "whiteblue" @@ -1364,9 +1305,8 @@ /area/ruin/space/sierra/med) "pC" = ( /obj/structure/closet/secure_closet/research_reagents, -/obj/effect/spawner/random_spawners/dirt_maybe, /obj/effect/spawner/random/maintenance, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "pJ" = ( /obj/structure/closet/emcloset, @@ -1387,7 +1327,6 @@ /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 8 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "darkblue" }, @@ -1417,8 +1356,8 @@ /area/space) "qq" = ( /obj/structure/closet/secure_closet/scientist, -/turf/simulated/floor, -/area/space) +/turf/simulated/floor/plasteel/airless, +/area/space/nearstation) "qr" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -1432,7 +1371,7 @@ /obj/structure/railing, /obj/effect/spawner/random/engineering/materials, /turf/simulated/floor/plasteel/dark, -/area/space) +/area/space/nearstation) "qH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating/airless, @@ -1441,7 +1380,7 @@ /obj/effect/turf_decal{ dir = 1 }, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purple" }, /area/ruin/space/sierra/rnd) @@ -1449,7 +1388,6 @@ /obj/structure/chair/office/dark{ dir = 4 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whiteblue" @@ -1461,7 +1399,7 @@ dir = 4 }, /obj/machinery/door/firedoor, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "qT" = ( /obj/structure/lattice, @@ -1496,6 +1434,12 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"rv" = ( +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 8 + }, +/area/ruin/space/sierra/rnd) "rw" = ( /obj/machinery/papershredder, /turf/simulated/floor/plasteel{ @@ -1507,7 +1451,7 @@ /obj/effect/turf_decal/delivery, /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/any/science, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "rO" = ( /obj/structure/railing{ @@ -1547,7 +1491,6 @@ /obj/effect/turf_decal/siding/trimline/blue/corner{ dir = 4 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1586,7 +1529,7 @@ /area/ruin/space/sierra/hall) "sy" = ( /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "sz" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 @@ -1626,13 +1569,7 @@ "sY" = ( /obj/machinery/disposal, /obj/effect/spawner/random/maintenance, -/turf/simulated/floor, -/area/ruin/space/sierra/rnd) -"tc" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "purplefull" - }, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) "ti" = ( /turf/simulated/wall/mineral/titanium/nodiagonal, @@ -1661,14 +1598,8 @@ dir = 8 }, /obj/structure/disposalpipe/segment, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) -"tL" = ( -/obj/machinery/constructable_frame/machine_frame, -/turf/simulated/floor/plasteel/dark{ - icon_state = "white_large" - }, -/area/ruin/space/sierra/med) "tR" = ( /obj/machinery/door/airlock/multi_tile/glass, /obj/effect/mapping_helpers/airlock/access/all/medical, @@ -1684,7 +1615,6 @@ /turf/space, /area/space) "tT" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "whiteyellow" }, @@ -1739,7 +1669,6 @@ }, /area/ruin/space/sierra/med) "ur" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "darkred" }, @@ -1777,7 +1706,7 @@ }, /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor/closed, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "uM" = ( /obj/machinery/door/firedoor/closed, @@ -1800,7 +1729,7 @@ "va" = ( /obj/machinery/door/airlock/research, /obj/effect/mapping_helpers/airlock/access/any/science, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "ve" = ( /obj/machinery/atmospherics/pipe/simple/hidden, @@ -1869,9 +1798,9 @@ /obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 8 }, /area/ruin/space/sierra/rnd) "vI" = ( @@ -1895,13 +1824,6 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) -"vX" = ( -/obj/effect/turf_decal{ - dir = 8 - }, -/obj/machinery/constructable_frame/machine_frame, -/turf/simulated/floor, -/area/ruin/space/sierra/rnd) "wa" = ( /obj/structure/chair/office/dark{ dir = 1 @@ -1918,12 +1840,22 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"wh" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "wi" = ( /obj/machinery/optable, /turf/simulated/floor/plasteel/dark{ icon_state = "white_large" }, /area/ruin/space/sierra/med) +"wj" = ( +/obj/effect/turf_decal/siding/trimline/dark{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) "wm" = ( /obj/machinery/atmospherics/unary/vent_scrubber, /turf/simulated/floor/plasteel{ @@ -1950,12 +1882,6 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) -"wB" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/ruin/space/sierra/med) "wC" = ( /obj/machinery/atmospherics/portable/canister, /turf/space, @@ -1965,7 +1891,7 @@ /area/ruin/space/sierra/maint) "wF" = ( /obj/structure/table, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "wG" = ( /obj/machinery/atmospherics/unary/vent_pump{ @@ -1978,7 +1904,7 @@ /area/ruin/space/sierra/med) "wJ" = ( /obj/structure/shelf/science, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "wN" = ( /obj/effect/turf_decal/tile/neutral/full{ @@ -1988,9 +1914,7 @@ dir = 8 }, /obj/structure/window/reinforced, -/turf/simulated/floor/plasteel/stairs{ - color = "gray" - }, +/turf/simulated/wall/indestructible/rock, /area/ruin/space/sierra/med) "wR" = ( /obj/machinery/atmospherics/pipe/simple/hidden, @@ -2004,10 +1928,6 @@ icon_state = "blue" }, /area/ruin/space/sierra/hall) -"xl" = ( -/obj/effect/spawner/random_spawners/oil_maybe, -/turf/simulated/floor, -/area/ruin/space/sierra/rnd) "xm" = ( /obj/machinery/door/airlock/multi_tile{ dir = 2 @@ -2021,17 +1941,13 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) -"xs" = ( -/obj/machinery/constructable_frame/machine_frame, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, -/area/ruin/space/sierra/med) "xL" = ( /obj/structure/table, /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) +"xQ" = ( +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/rnd) "yc" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, @@ -2057,32 +1973,31 @@ dir = 2; icon_state = "pipe-c" }, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purple" }, /area/ruin/space/sierra/rnd) "yt" = ( /obj/effect/turf_decal, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "white" }, -/area/space) +/area/space/nearstation) "yw" = ( /obj/machinery/door/airlock/medical, /obj/machinery/door/firedoor/closed, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/med) "yx" = ( /obj/effect/turf_decal{ dir = 6 }, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "white" }, -/area/space) +/area/space/nearstation) "yz" = ( /obj/structure/chair/stool, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "purplefull" }, @@ -2091,18 +2006,15 @@ /obj/machinery/computer/nonfunctional{ dir = 4 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "yF" = ( /obj/machinery/computer/nonfunctional, -/turf/simulated/floor/plating, -/area/space) +/turf/simulated/floor/plating/airless, +/area/space/nearstation) "yH" = ( -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "darkbluecorners" - }, -/area/ruin/space/sierra/med) +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "yI" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 @@ -2138,13 +2050,11 @@ /obj/structure/railing{ dir = 6 }, -/turf/simulated/floor/plasteel/stairs{ - color = "gray" - }, +/turf/simulated/wall/indestructible/rock, /area/ruin/space/sierra/rnd) "yW" = ( /obj/structure/girder, -/turf/simulated/floor/plating, +/turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) "za" = ( /obj/machinery/atmospherics/unary/vent_pump, @@ -2160,13 +2070,13 @@ /obj/machinery/door/window/reinforced{ dir = 8 }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "whitepurple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "whitepurple"; + dir = 8 }, /area/ruin/space/sierra/rnd) "zp" = ( -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "white" }, /area/ruin/space/sierra/rnd) @@ -2194,7 +2104,7 @@ charge = 2e+006 }, /turf/simulated/floor/plasteel/dark, -/area/space) +/area/space/nearstation) "Ad" = ( /obj/item/reagent_containers/glass/bottle/phosphorus, /turf/space, @@ -2203,7 +2113,7 @@ /obj/effect/turf_decal{ dir = 9 }, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "white" }, /area/ruin/space/sierra/rnd) @@ -2220,9 +2130,9 @@ dir = 8 }, /obj/structure/window/reinforced, -/turf/simulated/floor/plasteel{ - dir = 10; - icon_state = "whitepurple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "whitepurple"; + dir = 10 }, /area/ruin/space/sierra/rnd) "An" = ( @@ -2254,7 +2164,7 @@ /obj/structure/chair/office/dark{ dir = 8 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "As" = ( /obj/structure/table, @@ -2264,14 +2174,12 @@ /area/ruin/space/sierra/med) "AE" = ( /obj/structure/closet/secure_closet/research_reagents, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "AF" = ( /obj/structure/chair/office/dark{ dir = 8 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -2304,7 +2212,7 @@ dir = 8 }, /obj/machinery/disposal, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Bb" = ( /obj/machinery/door/airlock/research, @@ -2312,12 +2220,6 @@ /obj/effect/mapping_helpers/airlock/access/any/science, /turf/simulated/floor/plating, /area/ruin/space/sierra/rnd) -"Bd" = ( -/obj/machinery/door/airlock/medical/glass, -/obj/effect/spawner/random_spawners/dirt_maybe, -/obj/effect/mapping_helpers/airlock/access/all/medical, -/turf/simulated/floor, -/area/ruin/space/sierra/med) "Bj" = ( /turf/simulated/floor/plasteel/airless{ icon_state = "darkblue"; @@ -2331,13 +2233,6 @@ icon_state = "white_large" }, /area/ruin/space/sierra/med) -"Bo" = ( -/obj/structure/table, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "whiteblue" - }, -/area/ruin/space/sierra/med) "Bs" = ( /obj/structure/shelf, /obj/structure/railing{ @@ -2347,7 +2242,7 @@ /area/ruin/space/sierra/maint) "Bv" = ( /turf/simulated/floor/plasteel/dark, -/area/space) +/area/space/nearstation) "Bw" = ( /obj/structure/chair/sofa/corp/right{ dir = 4 @@ -2378,9 +2273,9 @@ "BE" = ( /obj/machinery/r_n_d/server, /turf/simulated/floor/bluegrid/telecomms/server, -/area/space) +/area/space/nearstation) "BH" = ( -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "BK" = ( /obj/effect/turf_decal/delivery, @@ -2388,7 +2283,7 @@ dir = 4 }, /obj/machinery/door/firedoor/closed, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "BL" = ( /obj/structure/railing{ @@ -2445,7 +2340,7 @@ /obj/machinery/door/window{ dir = 4 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "CH" = ( /obj/structure/closet/emcloset, @@ -2471,7 +2366,7 @@ /area/ruin/space/sierra/med) "CP" = ( /turf/simulated/floor/plating, -/area/space) +/area/space/nearstation) "CU" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -2480,8 +2375,7 @@ /area/ruin/space/sierra/med) "CW" = ( /obj/structure/closet/secure_closet/scientist, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "CZ" = ( /obj/structure/table/reinforced, @@ -2497,13 +2391,14 @@ icon_state = "purple" }, /area/ruin/space/sierra/rnd) -"Dn" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "darkblue" +"Dj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/ruin/space/sierra/med) +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple" + }, +/area/ruin/space/sierra/hall) "Dq" = ( /obj/machinery/atmospherics/unary/vent_scrubber, /turf/simulated/floor/plasteel{ @@ -2515,7 +2410,7 @@ dir = 8 }, /obj/item/chair/stool, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Dy" = ( /obj/effect/turf_decal{ @@ -2524,16 +2419,14 @@ /obj/effect/turf_decal{ dir = 8 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) "DF" = ( /obj/structure/railing{ dir = 4; color = "#8c911d" }, -/turf/simulated/floor/plasteel/stairs{ - color = "gray" - }, +/turf/simulated/wall/indestructible/rock, /area/ruin/space/sierra/rnd) "DG" = ( /obj/structure/disposalpipe/segment{ @@ -2547,7 +2440,6 @@ /obj/structure/chair/office/dark{ dir = 8 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "purple" @@ -2583,13 +2475,6 @@ icon_state = "whiteyellow" }, /area/ruin/space/sierra/med) -"DQ" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/ruin/space/sierra/med) "DR" = ( /obj/machinery/disposal, /turf/simulated/floor/plating/airless, @@ -2612,7 +2497,7 @@ }, /obj/structure/table, /obj/effect/spawner/random/maintenance, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Ec" = ( /obj/machinery/sleeper/survival_pod, @@ -2627,19 +2512,20 @@ icon_state = "purple" }, /area/ruin/space/sierra/rnd) +"En" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) "Ep" = ( /obj/structure/table, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "purple" }, -/area/space) -"Eq" = ( -/obj/structure/lattice, -/obj/machinery/constructable_frame/machine_frame{ - anchored = 0 - }, -/turf/space, /area/space/nearstation) "Et" = ( /turf/simulated/wall/r_wall, @@ -2648,9 +2534,9 @@ /obj/effect/turf_decal{ dir = 4 }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 8 }, /area/ruin/space/sierra/rnd) "Ev" = ( @@ -2661,21 +2547,19 @@ }, /area/ruin/space/sierra/med) "EE" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - dir = 5; - icon_state = "darkblue" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/ruin/space/sierra/med) +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/hall) "EF" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "EH" = ( /obj/machinery/door/airlock/medical, -/obj/effect/spawner/random_spawners/dirt_maybe, /obj/effect/mapping_helpers/airlock/access/all/medical, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" @@ -2692,9 +2576,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/turf/simulated/floor/plasteel/stairs{ - color = "gray" - }, +/turf/simulated/wall/indestructible/rock, /area/ruin/space/sierra/med) "EV" = ( /obj/machinery/chem_master, @@ -2728,7 +2610,6 @@ /obj/effect/turf_decal/siding/trimline/blue{ dir = 8 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -2748,13 +2629,6 @@ icon_state = "white_large" }, /area/ruin/space/sierra/med) -"FD" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "whiteblue" - }, -/area/ruin/space/sierra/med) "FF" = ( /turf/simulated/wall/r_wall, /area/ruin/space/sierra/shelter) @@ -2822,9 +2696,7 @@ dir = 4; color = "#8c911d" }, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, +/turf/simulated/floor/plating, /area/ruin/space/sierra/med) "Ge" = ( /obj/structure/closet, @@ -2833,18 +2705,10 @@ icon_state = "green" }, /area/ruin/space/sierra/hall) -"Gk" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "whiteblue" - }, -/area/ruin/space/sierra/med) "Go" = ( /obj/structure/chair/office/dark{ dir = 8 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "whiteblue" @@ -2908,15 +2772,8 @@ icon_state = "green" }, /area/ruin/space/sierra/hall) -"Hj" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, -/area/ruin/space/sierra/med) "HA" = ( /obj/structure/curtain/medical, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "darkblue" @@ -2938,7 +2795,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purple" }, /area/ruin/space/sierra/rnd) @@ -2971,16 +2828,10 @@ /obj/effect/turf_decal{ dir = 10 }, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "white" }, -/area/space) -"Ij" = ( -/obj/machinery/constructable_frame/machine_frame, -/turf/simulated/floor/plasteel{ - icon_state = "darkblue" - }, -/area/ruin/space/sierra/med) +/area/space/nearstation) "Il" = ( /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -3003,14 +2854,10 @@ /area/ruin/space/sierra/hall) "Iz" = ( /obj/machinery/smartfridge/medbay, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/med) "IM" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - dir = 6; - icon_state = "darkblue" - }, +/turf/simulated/floor/plating, /area/ruin/space/sierra/med) "IN" = ( /turf/simulated/wall/r_wall, @@ -3035,7 +2882,6 @@ /area/ruin/space/sierra/med) "Jg" = ( /obj/structure/table, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -3043,7 +2889,6 @@ /area/ruin/space/sierra/med) "Jj" = ( /obj/structure/chair/office/dark, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "whiteblue" @@ -3051,18 +2896,18 @@ /area/ruin/space/sierra/med) "Jm" = ( /obj/effect/turf_decal, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 1 }, /area/ruin/space/sierra/rnd) "Jo" = ( /obj/structure/window/reinforced{ dir = 8 }, -/turf/simulated/floor/plasteel{ - dir = 9; - icon_state = "whitepurple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "whitepurple"; + dir = 9 }, /area/ruin/space/sierra/rnd) "Jq" = ( @@ -3080,14 +2925,8 @@ /area/ruin/space/sierra/rnd) "JB" = ( /obj/structure/disposalpipe/segment, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) -"JD" = ( -/obj/machinery/constructable_frame/machine_frame, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, -/area/ruin/space/sierra/med) "JG" = ( /obj/structure/table/reinforced, /turf/simulated/floor/plasteel{ @@ -3106,7 +2945,7 @@ /area/ruin/space/sierra/maint) "Ka" = ( /obj/machinery/door/airlock/maintenance_hatch, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Kc" = ( /obj/structure/railing{ @@ -3116,18 +2955,30 @@ /area/ruin/space/sierra/rnd) "Kv" = ( /obj/effect/turf_decal/delivery, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/hall) "Kw" = ( /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, -/area/ruin/space/sierra/maint) -"KA" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor, -/area/ruin/space/sierra/rnd) +/area/ruin/space/sierra/maint) +"Kx" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/catwalk/airless, +/area/ruin/space/sierra/hall) "KB" = ( /obj/structure/table/reinforced, /obj/machinery/door/window, @@ -3142,17 +2993,17 @@ "KJ" = ( /obj/machinery/chem_dispenser, /obj/effect/mapping_helpers/machinery/destroyed, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "whitepurple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "whitepurple"; + dir = 4 }, /area/ruin/space/sierra/rnd) "Lb" = ( /turf/simulated/floor/engine/airless, /area/ruin/space/sierra/rnd) "Ld" = ( -/turf/simulated/floor, -/area/space) +/turf/simulated/floor/plasteel/airless, +/area/space/nearstation) "Lg" = ( /obj/machinery/door/airlock/multi_tile/glass, /obj/machinery/door/firedoor/closed, @@ -3161,7 +3012,6 @@ }, /area/ruin/space/sierra/med) "Lh" = ( -/obj/machinery/constructable_frame/machine_frame, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whitebluecorner" @@ -3171,10 +3021,10 @@ /obj/machinery/computer/operating{ dir = 1 }, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purplefull" }, -/area/space) +/area/space/nearstation) "Lq" = ( /obj/machinery/door/airlock/medical/glass, /obj/effect/mapping_helpers/airlock/access/all/medical, @@ -3203,7 +3053,7 @@ }, /obj/effect/spawner/random/engineering/toolbox, /turf/simulated/floor/plasteel/dark, -/area/space) +/area/space/nearstation) "LG" = ( /turf/simulated/wall, /area/space/nearstation) @@ -3216,9 +3066,9 @@ /area/ruin/space/sierra/rnd) "LO" = ( /obj/effect/turf_decal/stripes/corner, -/turf/simulated/floor/plasteel{ - dir = 9; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 9 }, /area/ruin/space/sierra/rnd) "LP" = ( @@ -3241,7 +3091,7 @@ /area/ruin/space/sierra/rnd) "Md" = ( /obj/machinery/disposal, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Me" = ( /obj/structure/railing{ @@ -3254,6 +3104,10 @@ /obj/item/storage/box/beakers, /turf/space, /area/space) +"Mr" = ( +/obj/effect/turf_decal/siding/trimline/blue, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) "Mv" = ( /obj/structure/railing{ dir = 10 @@ -3300,7 +3154,7 @@ "ML" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "MO" = ( /obj/machinery/atmospherics/unary/vent_pump, @@ -3338,8 +3192,6 @@ /obj/structure/chair/office/dark{ dir = 8 }, -/obj/effect/spawner/random_spawners/dirt_maybe, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "purple" @@ -3348,7 +3200,7 @@ "Nv" = ( /obj/structure/closet/l3closet/scientist, /obj/structure/window/reinforced, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Nx" = ( /obj/effect/turf_decal/stripes/corner{ @@ -3358,7 +3210,7 @@ dir = 1; icon_state = "pipe-c" }, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "purple" }, /area/ruin/space/sierra/rnd) @@ -3366,7 +3218,6 @@ /obj/structure/chair/office/dark{ dir = 1 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -3385,7 +3236,7 @@ /obj/effect/turf_decal{ dir = 1 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "NE" = ( /turf/space, @@ -3413,15 +3264,8 @@ dir = 1 }, /obj/structure/disposalpipe/segment, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) -"NR" = ( -/obj/structure/table, -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "barber" - }, -/area/ruin/space/sierra/med) "NY" = ( /obj/machinery/door/airlock/multi_tile/glass{ dir = 2 @@ -3465,7 +3309,7 @@ "Ol" = ( /obj/structure/closet/wardrobe/robotics_black, /obj/item/stack/cable_coil, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Op" = ( /obj/machinery/door/airlock/external/glass, @@ -3482,7 +3326,7 @@ /area/ruin/space/sierra/rnd) "Oy" = ( /turf/simulated/floor/bluegrid/telecomms/server, -/area/space) +/area/space/nearstation) "OE" = ( /obj/machinery/atmospherics/unary/portables_connector{ dir = 1 @@ -3511,15 +3355,6 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plating, /area/ruin/space/sierra/hall) -"OX" = ( -/obj/machinery/constructable_frame/machine_frame, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plasteel/dark{ - icon_state = "white_large" - }, -/area/ruin/space/sierra/med) "Pa" = ( /obj/machinery/economy/vending/cigarette, /turf/simulated/floor/plasteel{ @@ -3539,16 +3374,15 @@ }, /area/ruin/space/sierra/med) "Pf" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "darkblue" }, /area/ruin/space/sierra/med) "Pm" = ( -/turf/simulated/floor/plasteel{ - dir = 5; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 5 }, /area/ruin/space/sierra/rnd) "Pq" = ( @@ -3572,7 +3406,6 @@ /area/space) "Pz" = ( /obj/structure/reagent_dispensers/water_cooler, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "whitebluecorner" }, @@ -3594,10 +3427,6 @@ /obj/structure/shelf, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) -"Qi" = ( -/obj/structure/lattice, -/turf/space, -/area/ruin/space/sierra/med) "Qp" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ @@ -3610,7 +3439,6 @@ /area/ruin/space/sierra/hall) "Qt" = ( /obj/machinery/door/window/reinforced, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "purplefull" }, @@ -3620,7 +3448,7 @@ /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/airlock/access/any/science, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "QG" = ( /obj/machinery/door/airlock/public, @@ -3629,7 +3457,7 @@ dir = 4 }, /obj/machinery/door/firedoor, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "QK" = ( /obj/machinery/economy/vending/coffee, @@ -3661,8 +3489,8 @@ /obj/machinery/computer/nonfunctional{ dir = 1 }, -/turf/simulated/floor, -/area/space) +/turf/simulated/floor/plasteel/airless, +/area/space/nearstation) "Rd" = ( /obj/structure/chair/office/dark{ dir = 4 @@ -3691,9 +3519,9 @@ /obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 1 }, /area/ruin/space/sierra/rnd) "Ru" = ( @@ -3707,7 +3535,7 @@ /obj/effect/turf_decal{ dir = 5 }, -/turf/simulated/floor/plasteel{ +/turf/simulated/floor/plasteel/airless{ icon_state = "white" }, /area/ruin/space/sierra/rnd) @@ -3736,12 +3564,17 @@ /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) "RI" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whiteyellow" }, /area/ruin/space/sierra/med) +"RL" = ( +/turf/simulated/floor/plasteel/airless{ + icon_state = "blue"; + dir = 1 + }, +/area/ruin/space/sierra/hall) "RP" = ( /obj/effect/spawner/window/reinforced/grilled, /obj/structure/disposalpipe/segment, @@ -3765,11 +3598,20 @@ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"RU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 1 + }, +/area/ruin/space/sierra/rnd) "RX" = ( /turf/simulated/floor/plasteel{ icon_state = "purple" }, -/area/space) +/area/space/nearstation) "Sa" = ( /obj/structure/chair/office/dark, /turf/space, @@ -3783,7 +3625,7 @@ "Sd" = ( /obj/machinery/door/airlock/medical/glass, /obj/effect/mapping_helpers/airlock/access/all/medical, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/med) "Se" = ( /obj/structure/table, @@ -3793,16 +3635,16 @@ /obj/structure/table{ anchored = 0 }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 8 }, /area/ruin/space/sierra/rnd) "So" = ( /obj/machinery/door/airlock/research, /obj/machinery/door/firedoor/closed, /obj/effect/mapping_helpers/airlock/access/any/science, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Sp" = ( /obj/structure/table/reinforced, @@ -3820,7 +3662,7 @@ /obj/machinery/door/airlock/research, /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/any/science, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "SO" = ( /obj/structure/table/tray, @@ -3839,12 +3681,12 @@ /obj/effect/turf_decal{ dir = 1 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) "Tn" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "Tt" = ( /turf/simulated/floor/plasteel{ @@ -3861,22 +3703,20 @@ "TE" = ( /obj/structure/table, /obj/effect/spawner/random/snacks, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "TH" = ( /obj/effect/turf_decal/siding/trimline/dark/corner{ dir = 4 }, /obj/effect/turf_decal/siding/trimline/dark/corner, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/plating, /area/ruin/space/sierra/med) "TI" = ( /obj/structure/table, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "whitepurple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "whitepurple"; + dir = 1 }, /area/ruin/space/sierra/rnd) "TN" = ( @@ -3903,17 +3743,11 @@ "TT" = ( /obj/structure/table, /obj/item/tank/internals/plasma, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 4 }, /area/ruin/space/sierra/rnd) -"Ub" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "whitebluefull" - }, -/area/ruin/space/sierra/med) "Ur" = ( /obj/item/storage/surgical_tray{ pixel_y = 8 @@ -3927,9 +3761,26 @@ /obj/item/shard, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) +"Uy" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/hall) "Uz" = ( /turf/simulated/wall/r_wall, -/area/space) +/area/space/nearstation) "UA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3954,7 +3805,7 @@ /obj/machinery/atmospherics/binary/pump{ dir = 4 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "UI" = ( /obj/effect/spawner/random/engineering/materials, @@ -3965,13 +3816,13 @@ /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "UN" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "UO" = ( /obj/structure/shelf, @@ -3983,20 +3834,18 @@ /area/ruin/space/sierra/maint) "UQ" = ( /obj/item/clipboard, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "purple" +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 4 }, /area/ruin/space/sierra/rnd) "UU" = ( /obj/structure/closet/secure_closet/scientist, -/obj/effect/spawner/random_spawners/dirt_maybe, /obj/effect/spawner/random/maintenance, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "UV" = ( /obj/effect/turf_decal/box, -/obj/machinery/constructable_frame/machine_frame, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -4013,7 +3862,7 @@ /area/ruin/space/sierra/med) "Vb" = ( /obj/structure/filingcabinet/chestdrawer, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Vf" = ( /obj/structure/chair/office/dark{ @@ -4025,24 +3874,17 @@ /area/ruin/space/sierra/med) "Vm" = ( /obj/structure/sink/directional/west, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Vr" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) "Vt" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "whiteyellowfull" }, /area/ruin/space/sierra/med) -"VA" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - icon_state = "darkbluefull" - }, -/area/ruin/space/sierra/med) "VI" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ @@ -4053,18 +3895,24 @@ icon_state = "purple" }, /area/ruin/space/sierra/rnd) +"VW" = ( +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 4 + }, +/area/ruin/space/sierra/rnd) "VX" = ( /obj/machinery/door/airlock/public, /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "VZ" = ( /obj/structure/disposalpipe/segment{ dir = 1; icon_state = "pipe-c" }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Wg" = ( /obj/structure/table, @@ -4073,7 +3921,6 @@ }, /area/ruin/space/sierra/shelter) "Wh" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitebluecorner" @@ -4100,7 +3947,7 @@ "Wn" = ( /obj/structure/table, /obj/item/paper_bin/nanotrasen, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Wp" = ( /obj/structure/table, @@ -4110,7 +3957,6 @@ /area/ruin/space/sierra/med) "WB" = ( /obj/structure/curtain/medical, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "darkblue" }, @@ -4132,7 +3978,7 @@ "WS" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor/closed, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "WW" = ( /obj/effect/turf_decal/box, @@ -4163,7 +4009,6 @@ /obj/structure/chair{ dir = 8 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "darkred" @@ -4180,7 +4025,6 @@ }, /area/ruin/space/sierra/med) "Xo" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "whiteblue" @@ -4198,7 +4042,6 @@ }, /area/ruin/space/sierra/med) "Xr" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whiteblue" @@ -4217,7 +4060,7 @@ }, /area/ruin/space/sierra/med) "XD" = ( -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "XI" = ( /obj/effect/turf_decal/delivery, @@ -4230,7 +4073,7 @@ /obj/machinery/atmospherics/unary/portables_connector{ dir = 8 }, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "XQ" = ( /obj/structure/shelf, @@ -4240,9 +4083,8 @@ "XV" = ( /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, -/area/space) +/area/space/nearstation) "Ya" = ( -/obj/machinery/constructable_frame/machine_frame, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkred" @@ -4256,7 +4098,6 @@ }, /area/ruin/space/sierra/hall) "Yk" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "whiteblue" @@ -4294,13 +4135,6 @@ icon_state = "darkred" }, /area/ruin/space/sierra/rnd) -"YY" = ( -/obj/effect/spawner/random_spawners/dirt_maybe, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "darkblue" - }, -/area/ruin/space/sierra/med) "Zb" = ( /obj/structure/rack, /obj/structure/curtain/open, @@ -4312,12 +4146,10 @@ /obj/machinery/computer/nonfunctional{ dir = 1 }, -/turf/simulated/floor, -/area/space) +/turf/simulated/floor/plasteel/airless, +/area/space/nearstation) "Zg" = ( -/turf/simulated/floor/plasteel{ - icon_state = "greenfull" - }, +/turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/hall) "Zh" = ( /obj/structure/table, @@ -4329,9 +4161,7 @@ /obj/effect/turf_decal/siding/trimline/dark/corner{ dir = 8 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, +/turf/simulated/floor/plating, /area/ruin/space/sierra/med) "Zn" = ( /obj/structure/shelf, @@ -4347,7 +4177,7 @@ }, /obj/effect/spawner/random/engineering/materials, /turf/simulated/floor/plating/airless, -/area/space) +/area/space/nearstation) "Zs" = ( /obj/structure/railing{ color = "#8c911d"; @@ -4374,7 +4204,6 @@ /obj/effect/turf_decal/siding/trimline/blue/corner{ dir = 8 }, -/obj/effect/spawner/random_spawners/dirt_maybe, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -4396,7 +4225,7 @@ /obj/machinery/door/airlock/research, /obj/effect/turf_decal/delivery, /obj/effect/mapping_helpers/airlock/access/any/science, -/turf/simulated/floor, +/turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "ZT" = ( /obj/machinery/papershredder, @@ -6721,7 +6550,7 @@ sU qT qT qT -zq +hb Cj Et Et @@ -6820,18 +6649,18 @@ sU sU qT qT -zq -zq -zq -zq -zq -zq -zq -zq -zq -zq -zq -zq +hb +hb +Cj +Cj +Cj +hb +hb +hb +Cj +hb +hb +go aV UG aV @@ -6926,7 +6755,7 @@ dR Cj Cj Cj -zq +hb dR Cj Cj @@ -6934,7 +6763,7 @@ Cj Cj Cj dR -BH +Zg UG sw qT @@ -7023,12 +6852,12 @@ Et dR dR dR -Cj +wh dR dR dR dR -zq +wh FF FF fd @@ -7037,7 +6866,7 @@ FF FF FF Kv -UG +kn sw gV sU @@ -7127,9 +6956,9 @@ eu zq zq zq +yH zq -zq -zq +yH zq FF Cn @@ -7138,9 +6967,9 @@ Cn Wg GU FF -BH +Zg kn -sw +EE gV IN IN @@ -7226,7 +7055,7 @@ hK Et pJ zq -zq +yH zq HK li @@ -7240,9 +7069,9 @@ Cn Wg GU FF -BH +Zg kR -He +EE Zg IN Lb @@ -7342,9 +7171,9 @@ Cn Wg GU FF -BH -cK -He +Zg +Kx +EE Zg IN Lb @@ -7431,7 +7260,7 @@ Et Kw Kw zq -zq +yH iG zq Kw @@ -7444,9 +7273,9 @@ Il Il Il fd -BH -cK -He +Zg +Kx +EE Zg IN Lb @@ -7533,7 +7362,7 @@ Et Bz Kw zq -zq +yH Et Kw Et @@ -7546,9 +7375,9 @@ oI Il oI FF -BH -cK -He +Zg +Kx +EE Zg IN IN @@ -7648,9 +7477,9 @@ FF Xp FF FF -BH +Zg jL -He +EE MF IN IN @@ -7838,7 +7667,7 @@ hK Et Kw Kw -zq +yH zq Kw zq @@ -7853,10 +7682,10 @@ Il Il FF BH -jL +Uy DG IN -vX +lV Dt Ea UH @@ -8144,8 +7973,8 @@ Op sA Kw Kw -zq -zq +yH +yH Et zq lp @@ -8159,7 +7988,7 @@ ci ci ci BH -jL +Uy DG IN IN @@ -8257,7 +8086,7 @@ bq aq aq fq -fq +jG kB ci BH @@ -8269,7 +8098,7 @@ yz AE pC kP -gF +XD GM Md IN @@ -8348,7 +8177,7 @@ Et Et dR eu -zq +yH zq Et zq @@ -8357,9 +8186,9 @@ ci tX oZ FJ -Pf -VA -VA +IM +IM +oZ oZ ci BH @@ -8368,12 +8197,12 @@ DG IN UU yz -tc -tc +ct +ct Qt -tc -tc -jv +ct +ct +ct Ka qT sU @@ -8450,7 +8279,7 @@ UO UO dR dR -zq +wh dR Et zq @@ -8458,23 +8287,23 @@ WP ci Zb bq -Dn -gA +MD +ge kB Tt eW ci BH -jL +Uy DG IN CW -tc -gF +ct +XD wF Nv wJ -tc +ct gI IN qT @@ -8548,10 +8377,10 @@ Et Et oS zq +yH zq -zq -zq -zq +wh +yH zq MU Et @@ -8559,8 +8388,8 @@ Kw Et ci aq -Hj -Dn +Tt +MD ge vw Gd @@ -8650,7 +8479,7 @@ Et Et Rj zq -zq +yH zq dR zq @@ -8658,18 +8487,18 @@ zq zq zq zq -zq +yH os oZ -VA -EE +oZ +IM IM ps -oZ +IM oZ ci BH -jL +Uy He IN IN @@ -8677,8 +8506,8 @@ IN IN IN IN -XD -ct +xQ +cx ee hA qT @@ -8693,7 +8522,7 @@ sU qp sU qT -gV +LG Uz mG Uz @@ -8758,12 +8587,12 @@ dR zq zq zq -zq +yH zq qo ci IY -VA +oZ bS iY db @@ -8779,8 +8608,8 @@ Ne Yi uh IN -XD -ct +xQ +cx Sn Af qT @@ -8865,7 +8694,7 @@ os ci ci od -Bd +Sd ci ci ci @@ -8881,8 +8710,8 @@ BH BH MZ IN -XD -ct +xQ +cx dk gN qT @@ -8955,7 +8784,7 @@ sU Et vg Qd -zq +yH yg gv hT @@ -8967,7 +8796,7 @@ oZ WW AH Lx -Gk +RT EW od Ch @@ -8983,8 +8812,8 @@ BH BH MZ IN -XD -ct +xQ +cx dk dk sU @@ -9065,19 +8894,19 @@ Bj ci Bl yI -YY he +IM +IM he -YY Pf Xr Lq -Hj +Tt Tt Tt ci BH -jL +Uy He fM Ge @@ -9086,8 +8915,8 @@ rn RS IN er -ct -Eh +cx +rv Xa gN sU @@ -9188,8 +9017,8 @@ MF MF IN jC -ct -GW +cx +VW Rz qT sU @@ -9269,7 +9098,7 @@ sb ci hp lw -eb +NM iW sk lh @@ -9281,7 +9110,7 @@ ci ci ci wU -jL +Uy DG MF YF @@ -9290,7 +9119,7 @@ Jv jx IN sY -ct +cx ee um sU @@ -9361,17 +9190,17 @@ Et Et Et Et -zq +wh yg yg yW -Qi +qT IP Ru ci pP wb -NM +Mr FU Xx Pd @@ -9466,9 +9295,9 @@ oS zq yg NE -Qi -Qi -Qi +qT +qT +qT DR ci DJ @@ -9478,7 +9307,7 @@ Fl Fl NL Qb -YY +he he he tR @@ -9497,8 +9326,8 @@ XD ct XD MF -wF -wF +pb +pb gN sU sU @@ -9565,7 +9394,7 @@ Et Et zq zq -zq +yH yg NE NE @@ -9577,11 +9406,11 @@ wR sz iH iH -kN -Wi -MY -iH iH +IM +MY +IM +IM iH iH iH @@ -9599,7 +9428,7 @@ qn Eh Eh bg -Eh +rv gN gN sO @@ -9680,7 +9509,7 @@ IS aP oZ TN -Dn +MD ge lz oZ @@ -9701,8 +9530,8 @@ Jq LW GW sr -GW -GW +VW +VW UQ gN gN @@ -9769,9 +9598,9 @@ Et Et dR dR -zq +wh yg -Qi +qT IP IP CU @@ -9791,7 +9620,7 @@ ci ci ci wU -jL +Uy DG dg eX @@ -9880,20 +9709,20 @@ xm ci ci eB -tL -tL +im +im oZ ci wm -gA +ge ci nS -Ij -xs +ge +IM mL ci wU -jL +Uy fC EF JB @@ -9977,7 +9806,7 @@ zq rj yg Og -gR +wj Gy oA ci @@ -9986,21 +9815,21 @@ Dq oZ oZ ci -MD -gA +IM +IM ci -nS -gA -Hj +IM +ge +IM SO ci wU -jL +Uy fC EF yc JB -KA +JB JB JB VZ @@ -10075,7 +9904,7 @@ Et Et GJ mS -zq +yH RH yg up @@ -10089,7 +9918,7 @@ im nS ci MO -gA +IM ci nS qb @@ -10181,7 +10010,7 @@ zq rj yg FY -gR +wj jP OE ci @@ -10279,7 +10108,7 @@ sU Et Et dR -zq +wh dR yg ZC @@ -10295,9 +10124,9 @@ ci MD nS Tt -wB +nS ez -wB +nS ur ci wU @@ -10309,8 +10138,8 @@ ML Ar ic IN -ej -UA +RU +En MF Jm Zs @@ -10395,9 +10224,9 @@ Px vA ci MD -wB nS -DQ +nS +nS Xf Ym TO @@ -10407,11 +10236,11 @@ cK DG dg ML -tc -tc -tc +ct +ct +ct va -ej +RU HO MF Jm @@ -10492,12 +10321,12 @@ Zi QR cU he -YY -YY -YY -YY -yH -gA +he +he +he +IM +IM +IM Yo ci ci @@ -10505,7 +10334,7 @@ ci ci ci wU -jL +Uy ne RP np @@ -10513,7 +10342,7 @@ ZU JB dd dg -ej +RU bf MF Jm @@ -10586,20 +10415,20 @@ Et Et nM KG -zq +yH yg ns cE TH hz gP +IM +IM iH iH iH -iH -iH -bi -gA +Wi +ge oZ Iz iQ @@ -10615,8 +10444,8 @@ gy kT MF MF -ej -UA +RU +En MF Jm MA @@ -10686,7 +10515,7 @@ sU sU Et Et -zq +yH fG zq yg @@ -10698,26 +10527,26 @@ yg oZ EU wN -OX BY -Dn -gA +ao +IM +ge oZ Sd RI -Hj +Tt tT gX -BH +Zg jL -DG +Dj IN il -bK +gy gy MF -wF -ej +pb +RU yr Qv ju @@ -10800,35 +10629,35 @@ yg yg yg yg -im +IM Tt -Dn -ge +MD +IM JG od DZ Vt Oe ci -wU -cK -DG +RL +Kx +Dj IN -nz +gy me -nz +gy MF -wF -ej +pb +RU aO MF Pm -GW +VW TT fa eU fa -GW +VW fQ IN sU @@ -10891,9 +10720,9 @@ sU Et Et zq -zq -zq -zq +yH +yH +yH yg Xc px @@ -10904,17 +10733,17 @@ Ic yg GL Tt -Dn +IM ge JG od FR -Hj +Tt AQ od -wU -cK -DG +RL +Kx +sw IN MF MF @@ -10995,7 +10824,7 @@ Et Et ks Aj -zq +yH yg px px @@ -11004,7 +10833,7 @@ px Tt Zh yg -tL +im im MD ge @@ -11014,9 +10843,9 @@ bP ok EV ci -wU -cK -DG +RL +Kx +Dj IN XD DF @@ -11097,12 +10926,12 @@ Et Et dR dR -zq +wh yg in qN pp -Ub +px Wj Ic yg @@ -11116,9 +10945,9 @@ ci ci ci ci -wU -cK -DG +RL +Kx +EE dg XD fO @@ -11201,29 +11030,29 @@ zq zq zq yg -dM -NR -Bo +Bx +As +Wp px so Rh UY Pz Xo -Hj -Hj -Hj +Tt +Tt +Tt Jj Jg Ny QK ci -wU -cK -DG +RL +Kx +EE dg XD -xl +XD wF XD MF @@ -11232,7 +11061,7 @@ gN MF MF MF -Eq +qT qT qT qT @@ -11301,7 +11130,7 @@ Et Et hR zq -zq +yH yg mC AF @@ -11310,19 +11139,19 @@ px Cc Vf KB -cv -Hj -Hj +Xn +Tt +Tt +Tt +Tt +Tt +Tt Tt -Hj -Hj -Hj Tt -Hj Lg -BH +Zg jL -UN +EE va XD XD @@ -11407,24 +11236,24 @@ zq yg px px -Ub -Ub +px +px RF Rd Sp -cv -Hj -Hj -Hj -Hj -Hj +Xn +Tt +Tt +Tt +Tt +Tt +Tt +Tt Tt -Hj -Hj uM -BH +Zg jL -sw +Dj IN Vb Vb @@ -11505,7 +11334,7 @@ dR dR dR dR -zq +wh dR dR yg @@ -11517,16 +11346,16 @@ CZ Wp Tt Yk -FD -FD -FD +fw +fw +fw hP -Hj +Tt Yk ci -wU +RL jL -sw +Dj IN IN IN @@ -11617,7 +11446,7 @@ yg yg yg Xn -Hj +Tt wa ci od @@ -11626,8 +11455,8 @@ od bo ci ci -wU -cK +RL +Kx sw IN iw @@ -11710,16 +11539,16 @@ sU dR XQ zq -zq +yH MU yg -JD -Ub +Tt +px qW Bw yg Xo -Hj +Tt wa ci Ev @@ -11728,8 +11557,8 @@ fw fw jm ci -wU -cK +RL +Kx sw IN gN @@ -11812,17 +11641,17 @@ sU dR dR zq -zq +yH zq yg Pa -Ub -Ub -Ub +px +px +px EH -Hj -Hj -an +Tt +Tt +wa ci Bx Xh @@ -11830,8 +11659,8 @@ Xh cG gq ci -wU -cK +RL +Kx ZA qT sU @@ -11923,8 +11752,8 @@ WE Zh yg hP -Hj -an +Tt +wa ci rw Xh @@ -11932,7 +11761,7 @@ As As eM od -wU +RL tv qT qT @@ -12034,7 +11863,7 @@ Xh sv wo od -aV +RL uF qT sU @@ -12120,14 +11949,14 @@ zq Et Et zq +yH +yH zq -zq -zq -zq +yH zq yg Lh -Hj +Tt Wh ci DM @@ -12226,7 +12055,7 @@ Et Et ks Mv -zq +yH yg yg yw @@ -12253,12 +12082,12 @@ sU sU sU sy -gV -gV -gV +LG +LG +LG sy -gV -gV +LG +LG Uz sU sU @@ -12355,7 +12184,7 @@ sU sU sU sy -gV +LG Bv qt Bv @@ -12431,7 +12260,7 @@ sU Et LV zq -Cj +go aV qT qT @@ -12457,7 +12286,7 @@ Fa qT qT sy -gV +LG Bv Bv Bv @@ -12553,13 +12382,13 @@ sU sU qT qT -CP -CP -CP +sy +sy +sy XV sy sy -gV +LG aH Lz sy @@ -12655,13 +12484,13 @@ sU qT sy qT -CP -CP +sy +sy Ld Uz sy RX -gV +LG Bv sy sy @@ -12757,13 +12586,13 @@ sU sy XV yF -CP +sy Ld QZ Uz ib Ep -gV +LG sy sy sy From 3b2d4709cac29ef30181339821e0f8b485ad3d5e Mon Sep 17 00:00:00 2001 From: Kar4es Date: Sun, 8 Dec 2024 15:07:28 +0700 Subject: [PATCH 111/152] braindamage --- .../{sierra_1_3.dmm => sierra_1_4.dmm} | 60 +++++++++---------- .../code/RandomRuins/space/space_ruins.dm | 6 +- 2 files changed, 33 insertions(+), 33 deletions(-) rename _maps/map_files220/RandomRuins/SpaceRuins/{sierra_1_3.dmm => sierra_1_4.dmm} (98%) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm similarity index 98% rename from _maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm rename to _maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index eced7b466b79..4d3870bbc5e5 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_3.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -126,7 +126,7 @@ "bt" = ( /obj/machinery/door/airlock/multi_tile, /obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plating, /area/ruin/space/sierra/rnd) "bP" = ( @@ -221,7 +221,7 @@ "cU" = ( /obj/machinery/door/airlock/multi_tile/glass, /obj/machinery/door/firedoor/closed, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -571,7 +571,7 @@ /area/ruin/space/sierra/rnd) "gG" = ( /obj/machinery/door/airlock/maintenance_hatch, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -709,7 +709,7 @@ dir = 2 }, /obj/effect/turf_decal/delivery, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "darkblue" }, @@ -1109,7 +1109,7 @@ "mG" = ( /obj/machinery/door/airlock/highsecurity, /obj/effect/turf_decal/delivery, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel/dark, /area/space/nearstation) "mI" = ( @@ -1204,7 +1204,7 @@ "os" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/machinery/door/firedoor/closed, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/maint) "ox" = ( @@ -1450,7 +1450,7 @@ "rJ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/airlock/maintenance_hatch, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "rO" = ( @@ -1602,7 +1602,7 @@ /area/ruin/space/sierra/rnd) "tR" = ( /obj/machinery/door/airlock/multi_tile/glass, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "darkblue" @@ -1728,7 +1728,7 @@ /area/ruin/space/sierra/med) "va" = ( /obj/machinery/door/airlock/research, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "ve" = ( @@ -1775,7 +1775,7 @@ /area/ruin/space/sierra/med) "vA" = ( /obj/machinery/door/airlock/medical/glass, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "darkbluefull" }, @@ -1805,7 +1805,7 @@ /area/ruin/space/sierra/rnd) "vI" = ( /obj/machinery/door/airlock/security, -/obj/effect/mapping_helpers/airlock/access/all/security, +/obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1936,7 +1936,7 @@ dir = 4 }, /obj/machinery/door/firedoor/closed, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -2086,7 +2086,7 @@ "zx" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/machinery/door/firedoor/closed, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -2217,7 +2217,7 @@ "Bb" = ( /obj/machinery/door/airlock/research, /obj/machinery/door/firedoor/closed, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plating, /area/ruin/space/sierra/rnd) "Bj" = ( @@ -2358,7 +2358,7 @@ /area/ruin/space/sierra/med) "CO" = ( /obj/effect/turf_decal/delivery, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "darkblue" @@ -2560,7 +2560,7 @@ /area/ruin/space/sierra/rnd) "EH" = ( /obj/machinery/door/airlock/medical, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" }, @@ -2819,7 +2819,7 @@ /area/ruin/space/sierra/med) "If" = ( /obj/machinery/door/firedoor/closed, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -3027,7 +3027,7 @@ /area/space/nearstation) "Lq" = ( /obj/machinery/door/airlock/medical/glass, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -3059,7 +3059,7 @@ /area/space/nearstation) "LH" = ( /obj/machinery/door/airlock/research, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel{ icon_state = "purplefull" }, @@ -3227,7 +3227,7 @@ /obj/machinery/door/airlock/medical, /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/door/firedoor/closed, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -3271,7 +3271,7 @@ dir = 2 }, /obj/effect/turf_decal/delivery, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -3301,7 +3301,7 @@ "Ok" = ( /obj/machinery/door/airlock/research, /obj/effect/turf_decal/delivery, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel{ icon_state = "purplefull" }, @@ -3387,7 +3387,7 @@ /area/ruin/space/sierra/rnd) "Pq" = ( /obj/machinery/door/airlock/medical/glass, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -3447,7 +3447,7 @@ /obj/machinery/door/airlock/research, /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "QG" = ( @@ -3624,7 +3624,7 @@ /area/ruin/space/sierra/shelter) "Sd" = ( /obj/machinery/door/airlock/medical/glass, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/med) "Se" = ( @@ -3643,7 +3643,7 @@ "So" = ( /obj/machinery/door/airlock/research, /obj/machinery/door/firedoor/closed, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Sp" = ( @@ -3661,7 +3661,7 @@ "SJ" = ( /obj/machinery/door/airlock/research, /obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "SO" = ( @@ -3695,7 +3695,7 @@ /area/ruin/space/sierra/med) "Tx" = ( /obj/machinery/door/airlock/medical/glass, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" }, @@ -4064,7 +4064,7 @@ /area/ruin/space/sierra/rnd) "XI" = ( /obj/effect/turf_decal/delivery, -/obj/effect/mapping_helpers/airlock/access/all/medical, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -4224,7 +4224,7 @@ "ZL" = ( /obj/machinery/door/airlock/research, /obj/effect/turf_decal/delivery, -/obj/effect/mapping_helpers/airlock/access/any/science, +/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "ZT" = ( diff --git a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm index 5ad6c557f751..01eeb35f2dd8 100644 --- a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm +++ b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm @@ -88,11 +88,11 @@ // cost = 10 allow_duplicates = FALSE -/datum/map_template/ruin/space/sierra_1_3 +/datum/map_template/ruin/space/sierra_1_4 name = "Sierra Wreckage" - id = "sierra_1_3" + id = "sierra_1_4" description = "Wreckage of the Sierra after a terrible incident" prefix = "_maps/map_files220/RandomRuins/SpaceRuins/" - suffix = "sierra_1_3.dmm" + suffix = "sierra_1_4.dmm" // cost = 20 я хуй знает как это тут сделать, так что похуй. allow_duplicates = FALSE From c423e800a4408cb2286f048698a022a6c6f8b893 Mon Sep 17 00:00:00 2001 From: Kar4es Date: Sun, 8 Dec 2024 15:10:26 +0700 Subject: [PATCH 112/152] =?UTF-8?q?=D0=A2=D0=AD=D0=AD=D0=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index 4d3870bbc5e5..8cd3df7a1af7 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -466,9 +466,8 @@ }, /area/ruin/space/sierra/med) "fC" = ( -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/reversed{ + dir = 8 }, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) @@ -844,6 +843,9 @@ /area/ruin/space/sierra/rnd) "jx" = ( /obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "darkred" @@ -1002,6 +1004,9 @@ /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) "lj" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 8 + }, /turf/simulated/floor/plasteel{ icon_state = "darkred" }, @@ -1132,9 +1137,8 @@ /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) "ne" = ( -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" +/obj/structure/disposalpipe/junction/reversed{ + dir = 8 }, /turf/simulated/floor/plasteel{ icon_state = "purple" @@ -1157,9 +1161,8 @@ /turf/space, /area/space) "nD" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" +/obj/structure/disposalpipe/segment/corner{ + dir = 1 }, /turf/simulated/floor/plasteel{ icon_state = "purple" @@ -1170,9 +1173,8 @@ /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) "nQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" +/obj/structure/disposalpipe/segment/corner{ + dir = 2 }, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) @@ -1806,6 +1808,7 @@ "vI" = ( /obj/machinery/door/airlock/security, /obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1969,9 +1972,8 @@ /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) "yr" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" +/obj/structure/disposalpipe/segment/corner{ + dir = 2 }, /turf/simulated/floor/plasteel/airless{ icon_state = "purple" @@ -2880,6 +2882,12 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"Jf" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/rnd) "Jg" = ( /obj/structure/table, /turf/simulated/floor/plasteel{ @@ -3206,9 +3214,8 @@ /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" +/obj/structure/disposalpipe/segment/corner{ + dir = 1 }, /turf/simulated/floor/plasteel/airless{ icon_state = "purple" @@ -3908,9 +3915,8 @@ /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "VZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" +/obj/structure/disposalpipe/segment/corner{ + dir = 1 }, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) @@ -9215,9 +9221,9 @@ ND cK fC vI -gh -gh -gh +Jf +Jf +Jf lj IN MF From 192098ff24affb2c5ba5fffe0110303a14dbadfc Mon Sep 17 00:00:00 2001 From: Kar4es Date: Mon, 9 Dec 2024 19:41:29 +0700 Subject: [PATCH 113/152] yew --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 2716 ++++++++++++++--- 1 file changed, 2365 insertions(+), 351 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index 8cd3df7a1af7..b696a837f10d 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -5,6 +5,16 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"ai" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) "am" = ( /obj/effect/turf_decal{ dir = 8 @@ -18,6 +28,7 @@ /obj/structure/window/reinforced{ dir = 8 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plating, /area/ruin/space/sierra/med) "aq" = ( @@ -26,11 +37,33 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"at" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dust, +/obj/machinery/alarm/directional/east, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "aw" = ( /obj/machinery/autolathe, /obj/effect/mapping_helpers/machinery/destroyed, /turf/simulated/floor/plasteel/dark, /area/ruin/space/sierra/rnd) +"aB" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dust, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "aH" = ( /obj/structure/shelf, /obj/structure/railing{ @@ -55,6 +88,11 @@ /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) "aO" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "purple" }, @@ -101,12 +139,16 @@ "bo" = ( /obj/machinery/door/airlock/medical, /obj/effect/mapping_helpers/airlock/access/all/medical/cmo, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, /area/ruin/space/sierra/med) "bp" = ( /obj/structure/table, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/plasteel{ icon_state = "darkred" }, @@ -127,8 +169,29 @@ /obj/machinery/door/airlock/multi_tile, /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/airlock/access/any/science/research, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, /turf/simulated/floor/plating, /area/ruin/space/sierra/rnd) +"bu" = ( +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/obj/machinery/power/smes, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"bL" = ( +/obj/machinery/light/small/directional/south, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "bP" = ( /obj/structure/table/reinforced, /obj/item/storage/box/beakers{ @@ -152,6 +215,21 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"bU" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) "bV" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ @@ -163,23 +241,66 @@ icon_state = "purple" }, /area/ruin/space/sierra/rnd) +"bZ" = ( +/obj/machinery/light/directional/south, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) "ci" = ( /turf/simulated/wall/r_wall, /area/ruin/space/sierra/med) +"cl" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable{ + d2 = 4; + icon_state = "0-4" + }, +/obj/machinery/power/terminal, +/obj/machinery/light/small/directional/north, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "ct" = ( /turf/simulated/floor/plasteel{ icon_state = "purplefull" }, /area/ruin/space/sierra/rnd) +"cw" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/hall) "cx" = ( /turf/simulated/floor/plasteel/airless{ icon_state = "purplefull" }, /area/ruin/space/sierra/rnd) +"cA" = ( +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/hall) "cE" = ( /obj/effect/turf_decal/siding/trimline/dark{ dir = 5 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -188,10 +309,19 @@ /obj/structure/chair/office/dark{ dir = 4 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "barber" }, /area/ruin/space/sierra/med) +"cH" = ( +/obj/machinery/alarm{ + dir = 4; + pixel_x = -24 + }, +/obj/structure/table, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "cK" = ( /obj/structure/cable/green{ d1 = 4; @@ -226,6 +356,26 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"cW" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"cX" = ( +/obj/structure/chair/office/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "db" = ( /obj/structure/rack, /obj/structure/window/reinforced{ @@ -250,6 +400,12 @@ /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, /area/ruin/space/sierra/rnd) +"dj" = ( +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) "dk" = ( /obj/structure/lattice, /turf/space, @@ -266,6 +422,15 @@ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"dA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "dB" = ( /obj/machinery/computer/nonfunctional{ dir = 8 @@ -276,11 +441,28 @@ /area/ruin/space/sierra/med) "dH" = ( /obj/structure/table, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "darkred" }, /area/ruin/space/sierra/rnd) +"dI" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"dL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/broken, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) "dN" = ( /obj/machinery/shieldwallgen, /turf/simulated/floor/engine, @@ -296,10 +478,29 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"dX" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window{ + dir = 8 + }, +/obj/machinery/door/window{ + dir = 4 + }, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "ee" = ( /obj/item/kirbyplants/dead, /turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) +"eg" = ( +/obj/structure/table, +/obj/effect/spawner/random/trash, +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 4 + }, +/area/ruin/space/sierra/rnd) "ej" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -309,6 +510,13 @@ icon_state = "purple" }, /area/ruin/space/sierra/rnd) +"eo" = ( +/obj/effect/spawner/random/trash, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) "ep" = ( /obj/structure/window/reinforced/tinted{ dir = 1 @@ -370,14 +578,18 @@ }, /area/ruin/space/sierra/med) "eU" = ( -/obj/structure/table, -/obj/item/tank/internals/plasma, -/obj/item/weldingtool/largetank, -/turf/simulated/floor/plasteel/airless{ - icon_state = "purple"; - dir = 4 +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" }, -/area/ruin/space/sierra/rnd) +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "eV" = ( /obj/structure/filingcabinet/chestdrawer, /turf/simulated/floor/plasteel/airless{ @@ -399,6 +611,22 @@ icon_state = "purple" }, /area/ruin/space/sierra/rnd) +"eZ" = ( +/obj/machinery/door/airlock/engineering{ + name = "Auxiliary Power Storage"; + req_access = newlist(); + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/maint) "fa" = ( /obj/structure/table, /turf/simulated/floor/plasteel/airless{ @@ -423,6 +651,8 @@ /area/ruin/space/sierra/rnd) "fo" = ( /obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -435,6 +665,11 @@ /area/ruin/space/sierra/med) "fr" = ( /obj/structure/closet/emcloset, +/obj/structure/cable/green{ + d2 = 4; + icon_state = "0-4" + }, +/obj/machinery/power/apc/off_station/empty_charge/directional/south, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "purple" @@ -459,21 +694,44 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) +"fv" = ( +/obj/structure/table, +/obj/effect/spawner/random/trash, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "fw" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"fB" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "fC" = ( /obj/structure/disposalpipe/junction/reversed{ dir = 8 }, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) +"fD" = ( +/obj/machinery/light/directional/south, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "fG" = ( /obj/structure/rack, /obj/structure/railing, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) "fM" = ( @@ -494,13 +752,20 @@ dir = 6 }, /area/ruin/space/sierra/rnd) +"fS" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/simulated/floor/engine, +/area/ruin/space/sierra/maint) "fX" = ( /obj/machinery/door/airlock/highsecurity, /obj/effect/turf_decal/delivery, /turf/simulated/floor/plasteel/dark, /area/space/nearstation) "gb" = ( -/obj/machinery/atmospherics/unary/tank/air, +/obj/machinery/atmospherics/unary/tank/air{ + dir = 8 + }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -527,6 +792,12 @@ icon_state = "darkred" }, /area/ruin/space/sierra/rnd) +"gn" = ( +/obj/effect/spawner/random/trash, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/rnd) "go" = ( /obj/machinery/door/airlock/maintenance_hatch, /turf/simulated/floor/plating/airless, @@ -535,6 +806,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "0-2" + }, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) "gq" = ( @@ -543,6 +819,14 @@ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"gr" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "barber" + }, +/area/ruin/space/sierra/med) "gu" = ( /obj/machinery/door/window{ dir = 8 @@ -568,9 +852,18 @@ "gy" = ( /turf/simulated/floor/plasteel/dark, /area/ruin/space/sierra/rnd) +"gF" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "gG" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -588,6 +881,9 @@ "gL" = ( /obj/effect/turf_decal/delivery, /obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -601,10 +897,31 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"gQ" = ( +/obj/machinery/power/terminal, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/light/small/directional/north, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "gR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, /obj/effect/turf_decal/siding/trimline/dark{ dir = 1 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -614,6 +931,17 @@ /area/space) "gX" = ( /obj/structure/table/reinforced, +/obj/item/shard{ + icon_state = "small"; + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/shard{ + icon_state = "small"; + pixel_x = 6; + pixel_y = 9 + }, +/obj/effect/spawner/random/trash, /turf/simulated/floor/plating, /area/ruin/space/sierra/med) "gY" = ( @@ -625,13 +953,31 @@ "hb" = ( /turf/simulated/floor/catwalk/airless, /area/ruin/space/sierra/maint) +"hd" = ( +/obj/effect/turf_decal/box, +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/machinery/light/directional/north, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) "he" = ( /turf/simulated/floor/plasteel{ dir = 8; icon_state = "darkblue" }, /area/ruin/space/sierra/med) -"hm" = ( +"hi" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"hm" = ( /obj/effect/turf_decal/stripes, /obj/item/shard{ icon_state = "small" @@ -660,6 +1006,9 @@ /obj/effect/turf_decal/siding/trimline/dark{ dir = 4 }, +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -690,6 +1039,8 @@ /area/ruin/space/sierra/med) "hQ" = ( /obj/structure/shelf, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -737,6 +1088,7 @@ /turf/simulated/floor/plasteel/dark, /area/ruin/space/sierra/rnd) "im" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel/dark{ icon_state = "white_large" }, @@ -763,9 +1115,18 @@ dir = 1 }, /obj/structure/closet, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) "iH" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/junction/reversed, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkblue" @@ -777,6 +1138,13 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"iO" = ( +/obj/effect/decal/cleanable/dust, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "iQ" = ( /turf/simulated/floor/plasteel{ dir = 9; @@ -811,11 +1179,42 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"jc" = ( +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/broken{ + dir = 2 + }, +/obj/structure/disposalpipe/broken{ + dir = 1 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"jd" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) "jl" = ( /obj/structure/rack, /obj/structure/railing{ dir = 8 }, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, /area/ruin/space/sierra/med) "jm" = ( @@ -831,6 +1230,15 @@ }, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"jr" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "ju" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -901,16 +1309,22 @@ dir = 10; initialize_directions = 10 }, -/obj/effect/turf_decal/siding/trimline/dark, /turf/simulated/floor/plating, /area/ruin/space/sierra/med) "jX" = ( /obj/structure/engineeringcart, /obj/effect/turf_decal/box, +/obj/machinery/light/small/directional/east, /turf/simulated/floor/plasteel{ icon_state = "dark" }, /area/ruin/space/sierra/med) +"kf" = ( +/obj/machinery/light/directional/south, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "kn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -933,6 +1347,15 @@ icon_state = "white_large" }, /area/ruin/space/sierra/med) +"kA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "kB" = ( /obj/structure/rack, /turf/simulated/floor/plating, @@ -981,14 +1404,30 @@ /area/ruin/space/sierra/hall) "kT" = ( /obj/structure/table, +/obj/effect/spawner/random/trash, /turf/simulated/floor/plasteel/dark, /area/ruin/space/sierra/rnd) +"kZ" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "lb" = ( /obj/machinery/photocopier, /turf/simulated/floor/plasteel/airless{ icon_state = "purplefull" }, /area/space/nearstation) +"le" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "lh" = ( /obj/structure/railing, /turf/simulated/floor/plasteel/stairs/left{ @@ -1011,14 +1450,40 @@ icon_state = "darkred" }, /area/ruin/space/sierra/rnd) +"lm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "lo" = ( /obj/machinery/disposal, /turf/simulated/floor/plasteel/dark, /area/space/nearstation) "lp" = ( +/obj/machinery/cell_charger, +/obj/random/powercell, /obj/structure/table, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) +"lq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/effect/turf_decal/siding/trimline/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) "lw" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1046,6 +1511,31 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"lH" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"lK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"lM" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/hall) "lV" = ( /obj/effect/turf_decal{ dir = 8 @@ -1058,6 +1548,12 @@ icon_state = "dark" }, /area/ruin/space/sierra/shelter) +"mc" = ( +/obj/structure/disposalpipe/broken{ + dir = 1 + }, +/turf/space, +/area/space) "md" = ( /obj/structure/railing{ dir = 8; @@ -1117,10 +1613,19 @@ /obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel/dark, /area/space/nearstation) +"mH" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) "mI" = ( /obj/effect/turf_decal/siding/trimline/dark/end{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1131,11 +1636,31 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"mO" = ( +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "blue" + }, +/area/ruin/space/sierra/hall) "mS" = ( /obj/structure/railing, /obj/structure/rack, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) +"mV" = ( +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "ne" = ( /obj/structure/disposalpipe/junction/reversed{ dir = 8 @@ -1144,6 +1669,26 @@ icon_state = "purple" }, /area/ruin/space/sierra/hall) +"ng" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "np" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/structure/disposalpipe/segment, @@ -1156,6 +1701,13 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"nB" = ( +/obj/machinery/light_construct/directional/north, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "blue" + }, +/area/ruin/space/sierra/hall) "nC" = ( /obj/item/stack/sheet/plasteel/fifteen, /turf/space, @@ -1172,17 +1724,64 @@ /obj/structure/closet/secure_closet/medical3, /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) +"nO" = ( +/obj/effect/spawner/random/trash, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) "nQ" = ( /obj/structure/disposalpipe/segment/corner{ dir = 2 }, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) +"nR" = ( +/obj/effect/decal/cleanable/dust, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "nS" = ( /turf/simulated/floor/plasteel{ icon_state = "dark" }, /area/ruin/space/sierra/med) +"nW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/siding/trimline/dark{ + dir = 1 + }, +/obj/effect/spawner/random/trash, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"nX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/hall) +"oa" = ( +/obj/structure/closet, +/obj/effect/decal/cleanable/dust, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "od" = ( /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, @@ -1203,12 +1802,25 @@ icon_state = "whiteyellow" }, /area/ruin/space/sierra/med) +"or" = ( +/obj/effect/spawner/random/trash, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "whitebluefull" + }, +/area/ruin/space/sierra/med) "os" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/machinery/door/firedoor/closed, /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/maint) +"ow" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "whitebluefull" + }, +/area/ruin/space/sierra/med) "ox" = ( /obj/structure/table, /turf/simulated/floor/plasteel/airless{ @@ -1238,6 +1850,20 @@ }, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) +"oU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"oW" = ( +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) "oX" = ( /obj/item/shard, /turf/simulated/floor/plating/airless, @@ -1273,6 +1899,7 @@ dir = 4 }, /obj/effect/turf_decal/siding/trimline/blue/corner, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1281,6 +1908,7 @@ /obj/structure/chair/office/dark{ dir = 4 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "whiteblue" @@ -1324,6 +1952,14 @@ icon_state = "white_large" }, /area/ruin/space/sierra/med) +"pU" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "qb" = ( /obj/machinery/iv_drip, /obj/machinery/atmospherics/unary/vent_scrubber{ @@ -1365,6 +2001,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/space, /area/space/nearstation) +"qs" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "qt" = ( /obj/structure/shelf, /obj/structure/railing{ @@ -1374,6 +2018,19 @@ /obj/effect/spawner/random/engineering/materials, /turf/simulated/floor/plasteel/dark, /area/space/nearstation) +"qu" = ( +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"qD" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "qH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating/airless, @@ -1415,6 +2072,23 @@ icon_state = "white_large" }, /area/ruin/space/sierra/med) +"qX" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"ra" = ( +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel/dark{ + icon_state = "white_large" + }, +/area/ruin/space/sierra/med) +"ri" = ( +/obj/effect/spawner/random/fungus/probably, +/turf/simulated/wall/r_wall, +/area/ruin/space/sierra/med) "rj" = ( /obj/structure/shelf, /obj/structure/railing{ @@ -1432,10 +2106,19 @@ /obj/effect/turf_decal/siding/trimline/blue/corner{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"ru" = ( +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) "rv" = ( /turf/simulated/floor/plasteel/airless{ icon_state = "purple"; @@ -1449,7 +2132,11 @@ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) -"rJ" = ( +"rx" = ( +/obj/effect/spawner/random/fungus/probably, +/turf/simulated/wall/r_wall, +/area/ruin/space/sierra/maint) +"rJ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/access/any/science/research, @@ -1471,6 +2158,10 @@ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"rX" = ( +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/hall) "sb" = ( /turf/simulated/floor/plasteel/airless{ icon_state = "darkblue"; @@ -1493,6 +2184,7 @@ /obj/effect/turf_decal/siding/trimline/blue/corner{ dir = 4 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1519,6 +2211,7 @@ /area/ruin/space/sierra/rnd) "sv" = ( /obj/structure/chair/office/dark, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "barber" }, @@ -1536,6 +2229,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "darkblue" @@ -1573,9 +2272,45 @@ /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) +"te" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "ti" = ( /turf/simulated/wall/mineral/titanium/nodiagonal, /area/ruin/space/sierra/maint) +"tl" = ( +/obj/effect/spawner/random/fungus/frequent, +/turf/simulated/wall, +/area/ruin/space/sierra/maint) +"to" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/hall) +"tt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/hall) +"tu" = ( +/obj/structure/cable/green{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) "tv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -1602,6 +2337,15 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) +"tC" = ( +/obj/structure/disposalpipe/broken{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) "tR" = ( /obj/machinery/door/airlock/multi_tile/glass, /obj/effect/mapping_helpers/airlock/access/all/medical/general, @@ -1621,17 +2365,67 @@ icon_state = "whiteyellow" }, /area/ruin/space/sierra/med) +"tU" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"tW" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/broken{ + dir = 8 + }, +/turf/space, +/area/space/nearstation) "tX" = ( /obj/structure/closet/secure_closet/paramedic, +/obj/effect/decal/cleanable/dust, +/obj/machinery/light/directional/north, /turf/simulated/floor/plasteel{ icon_state = "white" }, /area/ruin/space/sierra/med) +"ub" = ( +/obj/machinery/recharger, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/table, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"uc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/hall) "ud" = ( /obj/structure/railing{ dir = 6 }, /obj/structure/shelf, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) "uh" = ( @@ -1666,6 +2460,7 @@ "up" = ( /obj/structure/closet/wardrobe/coroner, /obj/effect/turf_decal/box, +/obj/machinery/light/small/directional/north, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1716,6 +2511,18 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"uO" = ( +/obj/machinery/light/directional/north, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"uS" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) "uX" = ( /obj/effect/spawner/random/maintenance, /turf/space, @@ -1735,6 +2542,12 @@ /area/ruin/space/sierra/rnd) "ve" = ( /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment/corner, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) "vg" = ( @@ -1758,10 +2571,58 @@ "vp" = ( /obj/effect/turf_decal/box, /obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/light/directional/north, /turf/simulated/floor/plasteel/dark{ icon_state = "white_large" }, /area/ruin/space/sierra/med) +"vr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-4" + }, +/obj/structure/disposalpipe/junction/reversed{ + dir = 4 + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/hall) +"vt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-4" + }, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/hall) "vw" = ( /obj/structure/rack, /obj/structure/window/reinforced{ @@ -1827,6 +2688,24 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"vR" = ( +/obj/structure/bed, +/obj/structure/curtain/open{ + level = 5; + layer = 5 + }, +/obj/item/bedsheet/green, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dust, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "wa" = ( /obj/structure/chair/office/dark{ dir = 1 @@ -1854,10 +2733,18 @@ }, /area/ruin/space/sierra/med) "wj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, /obj/effect/turf_decal/siding/trimline/dark{ dir = 1 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, /area/ruin/space/sierra/med) "wm" = ( /obj/machinery/atmospherics/unary/vent_scrubber, @@ -1866,6 +2753,13 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"wn" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) "wo" = ( /obj/structure/table, /obj/machinery/photocopier/faxmachine, @@ -1881,16 +2775,26 @@ /obj/effect/turf_decal/siding/trimline/blue{ dir = 4 }, +/obj/effect/spawner/random/blood/maybe, /turf/simulated/floor/plasteel{ icon_state = "dark" }, /area/ruin/space/sierra/med) +"wA" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "wC" = ( /obj/machinery/atmospherics/portable/canister, /turf/space, /area/space) "wD" = ( -/turf/simulated/floor/engine, +/turf/simulated/floor/engine/airless, /area/ruin/space/sierra/maint) "wF" = ( /obj/structure/table, @@ -1901,6 +2805,7 @@ dir = 1 }, /obj/effect/turf_decal/siding/trimline/dark, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1921,10 +2826,28 @@ /area/ruin/space/sierra/med) "wR" = ( /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/junction/reversed, /turf/simulated/floor/plasteel{ icon_state = "darkbluefull" }, /area/ruin/space/sierra/med) +"wT" = ( +/obj/machinery/light/directional/north, +/turf/simulated/floor/plasteel/airless{ + icon_state = "blue"; + dir = 1 + }, +/area/ruin/space/sierra/hall) "wU" = ( /turf/simulated/floor/plasteel{ dir = 1; @@ -1944,6 +2867,21 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"xq" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"xH" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "barber" + }, +/area/ruin/space/sierra/med) "xL" = ( /obj/structure/table, /turf/simulated/floor/catwalk, @@ -1951,6 +2889,10 @@ "xQ" = ( /turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) +"xS" = ( +/obj/effect/spawner/random/fungus/frequent, +/turf/simulated/wall/r_wall, +/area/ruin/space/sierra/maint) "yc" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, @@ -1975,6 +2917,11 @@ /obj/structure/disposalpipe/segment/corner{ dir = 2 }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "purple" }, @@ -2030,17 +2977,31 @@ /obj/effect/turf_decal/siding/trimline/blue{ dir = 1 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"yO" = ( +/obj/machinery/door/airlock/medical/glass, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/med) "yQ" = ( /obj/structure/railing, /obj/structure/rack, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) "yR" = ( /obj/structure/table, +/obj/effect/spawner/random/trash, +/obj/machinery/light/directional/south, /turf/simulated/floor/plasteel/dark{ icon_state = "white_large" }, @@ -2058,11 +3019,21 @@ /obj/structure/girder, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) +"yY" = ( +/obj/structure/disposalpipe/junction/reversed{ + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/hall) "za" = ( /obj/machinery/atmospherics/unary/vent_pump, -/turf/simulated/floor/plasteel{ - icon_state = "darkbluefull" - }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plating, /area/ruin/space/sierra/med) "zd" = ( /obj/effect/spawner/window/shuttle, @@ -2085,6 +3056,15 @@ "zq" = ( /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) +"zu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) "zx" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/machinery/door/firedoor/closed, @@ -2093,6 +3073,13 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"zI" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) "zP" = ( /obj/structure/chair/office/dark{ dir = 4 @@ -2101,21 +3088,45 @@ icon_state = "dark" }, /area/ruin/space/sierra/shelter) -"zU" = ( -/obj/machinery/power/smes{ - charge = 2e+006 +"zR" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"zU" = ( +/obj/machinery/power/smes, /turf/simulated/floor/plasteel/dark, /area/space/nearstation) -"Ad" = ( -/obj/item/reagent_containers/glass/bottle/phosphorus, -/turf/space, -/area/space) -"Af" = ( -/obj/effect/turf_decal{ - dir = 9 +"zX" = ( +/obj/structure/bed, +/obj/structure/curtain/open{ + level = 5; + layer = 5 }, -/turf/simulated/floor/plasteel/airless{ +/obj/item/bedsheet/green, +/obj/machinery/power/apc/off_station/directional/north, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"Ad" = ( +/obj/item/reagent_containers/glass/bottle/phosphorus, +/turf/space, +/area/space) +"Af" = ( +/obj/effect/turf_decal{ + dir = 9 + }, +/turf/simulated/floor/plasteel/airless{ icon_state = "white" }, /area/ruin/space/sierra/rnd) @@ -2138,12 +3149,19 @@ }, /area/ruin/space/sierra/rnd) "An" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, /obj/effect/turf_decal/siding/trimline/dark/corner{ dir = 1 }, /obj/effect/turf_decal/siding/trimline/dark/corner{ dir = 4 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -2174,6 +3192,14 @@ icon_state = "barber" }, /area/ruin/space/sierra/med) +"Au" = ( +/obj/effect/turf_decal{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/item/tank/internals/plasma, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/rnd) "AE" = ( /obj/structure/closet/secure_closet/research_reagents, /turf/simulated/floor/plasteel, @@ -2182,6 +3208,7 @@ /obj/structure/chair/office/dark{ dir = 8 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -2194,6 +3221,12 @@ icon_state = "white_large" }, /area/ruin/space/sierra/med) +"AI" = ( +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "AQ" = ( /obj/structure/table/reinforced, /turf/simulated/floor/plasteel{ @@ -2209,6 +3242,22 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"AX" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "AY" = ( /obj/effect/turf_decal{ dir = 8 @@ -2235,11 +3284,20 @@ icon_state = "white_large" }, /area/ruin/space/sierra/med) +"Bq" = ( +/obj/effect/turf_decal{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/item/weldingtool/largetank, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/rnd) "Bs" = ( /obj/structure/shelf, /obj/structure/railing{ dir = 1 }, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) "Bv" = ( @@ -2297,6 +3355,38 @@ }, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) +"BS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"BT" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/power/terminal, +/obj/structure/cable{ + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "BY" = ( /obj/structure/window/reinforced{ dir = 8 @@ -2316,6 +3406,7 @@ /area/ruin/space/sierra/med) "Ch" = ( /obj/structure/closet/secure_closet/medical1, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkblue" @@ -2348,12 +3439,28 @@ /obj/structure/closet/emcloset, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/hall) +"CJ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/trash, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/rnd) "CL" = ( /obj/structure/rack, /obj/structure/railing{ dir = 8 }, /obj/item/storage/firstaid/brute, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -2451,6 +3558,12 @@ /obj/effect/turf_decal/box, /obj/structure/bed/roller, /obj/machinery/iv_drip, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "0-4" + }, +/obj/machinery/power/apc/off_station/empty_charge/directional/north, /turf/simulated/floor/plasteel/dark{ icon_state = "white_large" }, @@ -2479,6 +3592,9 @@ /area/ruin/space/sierra/med) "DR" = ( /obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) "DZ" = ( @@ -2518,6 +3634,11 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "purple" }, @@ -2548,6 +3669,32 @@ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"Ez" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) +"EA" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/turf_decal/siding/trimline/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) "EE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -2560,6 +3707,15 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"EG" = ( +/obj/structure/disposalpipe/broken{ + dir = 8 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "EH" = ( /obj/machinery/door/airlock/medical, /obj/effect/mapping_helpers/airlock/access/all/medical/general, @@ -2601,6 +3757,29 @@ }, /turf/space, /area/space) +"Fb" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"Fe" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) "Fk" = ( /obj/structure/lattice, /obj/item/shard{ @@ -2612,6 +3791,7 @@ /obj/effect/turf_decal/siding/trimline/blue{ dir = 8 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -2631,6 +3811,33 @@ icon_state = "white_large" }, /area/ruin/space/sierra/med) +"Fr" = ( +/obj/structure/lattice, +/obj/structure/disposalpipe/broken{ + dir = 4 + }, +/turf/space, +/area/space/nearstation) +"Fw" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"FB" = ( +/obj/effect/spawner/random/trash, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) "FF" = ( /turf/simulated/wall/r_wall, /area/ruin/space/sierra/shelter) @@ -2649,6 +3856,7 @@ }, /area/ruin/space/sierra/med) "FJ" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "darkblue" @@ -2698,6 +3906,7 @@ dir = 4; color = "#8c911d" }, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, /area/ruin/space/sierra/med) "Ge" = ( @@ -2711,11 +3920,39 @@ /obj/structure/chair/office/dark{ dir = 8 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"Gp" = ( +/obj/structure/disposalpipe/broken{ + dir = 2 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"Gv" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) +"Gw" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) +"Gx" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) "Gy" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 @@ -2726,12 +3963,24 @@ }, /area/ruin/space/sierra/med) "GA" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/railing{ - dir = 9 +/obj/structure/cable/green{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/smes, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) +"GF" = ( +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) "GH" = ( /obj/machinery/disposal, /turf/simulated/floor/plating/airless, @@ -2742,12 +3991,14 @@ /area/ruin/space/sierra/maint) "GL" = ( /obj/structure/bed/roller, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel/dark{ icon_state = "white_large" }, /area/ruin/space/sierra/med) "GM" = ( /obj/structure/shelf/science, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "purplefull" }, @@ -2774,6 +4025,38 @@ icon_state = "green" }, /area/ruin/space/sierra/hall) +"Hj" = ( +/obj/structure/disposalpipe/broken{ + dir = 8 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) +"Hu" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Hw" = ( +/obj/structure/cable/green{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/apc/off_station/empty_charge/directional/north, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"Hz" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "HA" = ( /obj/structure/curtain/medical, /turf/simulated/floor/plasteel{ @@ -2785,6 +4068,32 @@ /obj/effect/spawner/random/snacks, /turf/space, /area/space) +"HG" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"HJ" = ( +/obj/machinery/door/airlock/vault, +/obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/command/general, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/shelter) "HK" = ( /obj/structure/railing{ dir = 9 @@ -2797,6 +4106,11 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "purple" }, @@ -2878,6 +4192,7 @@ /area/ruin/space/sierra/med) "IY" = ( /obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -2890,6 +4205,7 @@ /area/ruin/space/sierra/rnd) "Jg" = ( /obj/structure/table, +/obj/effect/spawner/random/trash, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -2925,7 +4241,9 @@ }, /area/ruin/space/sierra/rnd) "Jv" = ( -/obj/structure/closet/secure_closet/security/science, +/obj/structure/closet/secure_closet{ + name = "Security Equipment Locker" + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "darkred" @@ -2947,10 +4265,35 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"JQ" = ( +/obj/machinery/atmospherics/unary/portables_connector{ + dir = 1 + }, +/obj/machinery/atmospherics/portable/canister/oxygen, +/obj/machinery/light/small/directional/south, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) +"JR" = ( +/obj/effect/decal/cleanable/dust, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "JT" = ( /obj/machinery/door/poddoor, /turf/space, /area/ruin/space/sierra/maint) +"JU" = ( +/obj/structure/disposalpipe/broken{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "whitebluefull" + }, +/area/ruin/space/sierra/med) "Ka" = ( /obj/machinery/door/airlock/maintenance_hatch, /turf/simulated/floor/plasteel, @@ -2961,6 +4304,27 @@ }, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) +"Kd" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Kj" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) +"Kr" = ( +/obj/effect/spawner/random/trash, +/turf/simulated/floor/plasteel{ + icon_state = "whitebluefull" + }, +/area/ruin/space/sierra/med) "Kv" = ( /obj/effect/turf_decal/delivery, /turf/simulated/floor/plasteel/airless, @@ -3006,6 +4370,44 @@ dir = 4 }, /area/ruin/space/sierra/rnd) +"KK" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) +"KP" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"KS" = ( +/obj/machinery/door/airlock/engineering{ + name = "Auxiliary Power Storage"; + req_access = newlist() + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/maint) +"KX" = ( +/obj/structure/chair/office/dark, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "Lb" = ( /turf/simulated/floor/engine/airless, /area/ruin/space/sierra/rnd) @@ -3015,6 +4417,11 @@ "Lg" = ( /obj/machinery/door/airlock/multi_tile/glass, /obj/machinery/door/firedoor/closed, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -3062,6 +4469,25 @@ /obj/effect/spawner/random/engineering/toolbox, /turf/simulated/floor/plasteel/dark, /area/space/nearstation) +"LA" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "0-2" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"LC" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "LG" = ( /turf/simulated/wall, /area/space/nearstation) @@ -3097,21 +4523,57 @@ icon_state = "purplecorner" }, /area/ruin/space/sierra/rnd) +"LY" = ( +/obj/structure/shelf, +/obj/structure/railing, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"Mc" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) "Md" = ( -/obj/machinery/disposal, -/turf/simulated/floor/plasteel, -/area/ruin/space/sierra/rnd) +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plating/airless, +/area/space/nearstation) "Me" = ( -/obj/structure/railing{ - dir = 9 +/obj/structure/cable{ + d2 = 4; + icon_state = "0-4" }, -/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/smes, +/obj/machinery/light/small/directional/south, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) "Mn" = ( /obj/item/storage/box/beakers, /turf/space, /area/space) +"Mp" = ( +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "Mr" = ( /obj/effect/turf_decal/siding/trimline/blue, /turf/simulated/floor/plating, @@ -3176,9 +4638,30 @@ /obj/structure/railing{ dir = 5 }, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) +"MX" = ( +/obj/machinery/door/airlock/medical/glass, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) "MY" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "darkbluecorners" }, @@ -3235,6 +4718,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/door/firedoor/closed, /obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -3248,17 +4737,33 @@ "NE" = ( /turf/space, /area/ruin/space/sierra/med) +"NK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "NL" = ( /obj/effect/turf_decal/siding/trimline/blue{ dir = 8 }, /obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, /area/ruin/space/sierra/med) "NM" = ( /obj/effect/turf_decal/siding/trimline/blue, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -3273,6 +4778,10 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/rnd) +"NT" = ( +/obj/structure/disposalpipe/segment/corner, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "NY" = ( /obj/machinery/door/airlock/multi_tile/glass{ dir = 2 @@ -3289,6 +4798,14 @@ icon_state = "whiteyellow" }, /area/ruin/space/sierra/med) +"Of" = ( +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "Og" = ( /obj/machinery/atmospherics/portable/canister/sleeping_agent, /obj/structure/window/reinforced{ @@ -3343,6 +4860,10 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"ON" = ( +/obj/effect/spawner/random/fungus/probably, +/turf/simulated/wall/r_wall, +/area/ruin/space/sierra/shelter) "OO" = ( /obj/structure/cable/green{ d1 = 4; @@ -3362,6 +4883,13 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plating, /area/ruin/space/sierra/hall) +"OX" = ( +/obj/effect/spawner/random/trash, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) "Pa" = ( /obj/machinery/economy/vending/cigarette, /turf/simulated/floor/plasteel{ @@ -3381,6 +4909,9 @@ }, /area/ruin/space/sierra/med) "Pf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "darkblue" @@ -3399,20 +4930,39 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"Pr" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "whitebluefull" + }, +/area/ruin/space/sierra/med) +"Pt" = ( +/obj/structure/disposalpipe/broken{ + dir = 4 + }, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) "Pw" = ( /obj/machinery/photocopier, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) "Px" = ( -/obj/effect/spawner/window/reinforced/polarized/grilled, -/turf/simulated/floor/plating, -/area/ruin/space/sierra/med) +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "Py" = ( /obj/item/paper_bin, /turf/space, /area/space) "Pz" = ( /obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/box, /turf/simulated/floor/plasteel{ icon_state = "whitebluecorner" }, @@ -3420,10 +4970,28 @@ "PC" = ( /turf/simulated/floor/catwalk/airless, /area/space/nearstation) +"PF" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) +"PH" = ( +/obj/effect/turf_decal/siding/trimline/blue{ + dir = 8 + }, +/obj/effect/spawner/random/trash, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) "Qb" = ( /obj/effect/turf_decal/siding/trimline/blue/corner{ dir = 1 }, +/obj/structure/disposalpipe/segment/corner{ + dir = 2 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "darkbluecorners" @@ -3444,6 +5012,28 @@ icon_state = "purple" }, /area/ruin/space/sierra/hall) +"Qq" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/airlock/engineering{ + name = "First Deck Substation"; + req_access = newlist() + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/maint) +"Qs" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "Qt" = ( /obj/machinery/door/window/reinforced, /turf/simulated/floor/plasteel{ @@ -3457,6 +5047,12 @@ /obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"QE" = ( +/obj/structure/disposalpipe/broken{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "QG" = ( /obj/machinery/door/airlock/public, /obj/effect/turf_decal/delivery, @@ -3466,6 +5062,13 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) +"QJ" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "QK" = ( /obj/machinery/economy/vending/coffee, /turf/simulated/floor/plasteel{ @@ -3473,6 +5076,18 @@ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"QO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) "QR" = ( /obj/effect/turf_decal/siding/trimline/dark{ dir = 8 @@ -3489,6 +5104,14 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"QX" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "QZ" = ( /obj/machinery/computer/nonfunctional{ dir = 1 @@ -3498,6 +5121,17 @@ }, /turf/simulated/floor/plasteel/airless, /area/space/nearstation) +"Ra" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) "Rd" = ( /obj/structure/chair/office/dark{ dir = 4 @@ -3506,6 +5140,37 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"Re" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) +"Rg" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "Rh" = ( /obj/structure/window/reinforced/tinted{ dir = 8 @@ -3521,6 +5186,17 @@ /obj/machinery/floodlight/anchored, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) +"Rm" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "Ro" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ @@ -3538,6 +5214,37 @@ /obj/structure/bed/roller, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) +"Rv" = ( +/obj/machinery/door/airlock/engineering{ + name = "Auxiliary Power Storage"; + req_access = newlist(); + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/maint) +"Rw" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/engineering{ + name = "First Deck Substation"; + req_access = newlist() + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/maint) "Rz" = ( /obj/effect/turf_decal{ dir = 5 @@ -3576,6 +5283,10 @@ icon_state = "whiteyellow" }, /area/ruin/space/sierra/med) +"RK" = ( +/obj/effect/spawner/random/fungus/frequent, +/turf/simulated/wall/r_wall, +/area/ruin/space/sierra/med) "RL" = ( /turf/simulated/floor/plasteel/airless{ icon_state = "blue"; @@ -3625,6 +5336,7 @@ /area/space) "Sb" = ( /obj/structure/closet, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -3638,6 +5350,14 @@ /obj/structure/table, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) +"Sf" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "Sn" = ( /obj/structure/table{ anchored = 0 @@ -3662,9 +5382,23 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"Ss" = ( +/obj/structure/disposalpipe/broken{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) "Sy" = ( /turf/simulated/floor/plating, /area/ruin/space/sierra/hall) +"SG" = ( +/obj/machinery/hologram/holopad, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "SJ" = ( /obj/machinery/door/airlock/research, /obj/machinery/door/firedoor, @@ -3683,6 +5417,19 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"Tb" = ( +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "Ti" = ( /obj/effect/turf_decal, /obj/effect/turf_decal{ @@ -3695,6 +5442,18 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) +"To" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "Tt" = ( /turf/simulated/floor/plasteel{ icon_state = "white" @@ -3703,21 +5462,32 @@ "Tx" = ( /obj/machinery/door/airlock/medical/glass, /obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" }, /area/ruin/space/sierra/med) +"Ty" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) "TE" = ( /obj/structure/table, /obj/effect/spawner/random/snacks, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "TH" = ( -/obj/effect/turf_decal/siding/trimline/dark/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/trimline/dark/corner, -/turf/simulated/floor/plating, +/obj/effect/spawner/random/fungus/probably, +/turf/simulated/wall, /area/ruin/space/sierra/med) "TI" = ( /obj/structure/table, @@ -3726,6 +5496,14 @@ dir = 1 }, /area/ruin/space/sierra/rnd) +"TL" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) "TN" = ( /obj/effect/turf_decal/delivery/red, /obj/machinery/atmospherics/unary/vent_scrubber{ @@ -3742,19 +5520,37 @@ /obj/structure/chair{ dir = 8 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "darkred" }, /area/ruin/space/sierra/med) -"TT" = ( -/obj/structure/table, -/obj/item/tank/internals/plasma, -/turf/simulated/floor/plasteel/airless{ - icon_state = "purple"; - dir = 4 +"TT" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) +"Ua" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" }, -/area/ruin/space/sierra/rnd) +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) +"Ug" = ( +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) "Ur" = ( /obj/item/storage/surgical_tray{ pixel_y = 8 @@ -3792,6 +5588,11 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "purple" }, @@ -3825,6 +5626,12 @@ }, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"UL" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "UN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3846,6 +5653,18 @@ dir = 4 }, /area/ruin/space/sierra/rnd) +"US" = ( +/obj/machinery/door/airlock/research, +/obj/machinery/door/firedoor/closed, +/obj/effect/mapping_helpers/airlock/access/any/science/research, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/broken{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "UU" = ( /obj/structure/closet/secure_closet/scientist, /obj/effect/spawner/random/maintenance, @@ -3867,10 +5686,26 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"Va" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "Vb" = ( /obj/structure/filingcabinet/chestdrawer, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"Vd" = ( +/obj/effect/turf_decal, +/obj/effect/turf_decal{ + dir = 1 + }, +/obj/item/tank/internals/plasma, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/rnd) "Vf" = ( /obj/structure/chair/office/dark{ dir = 8 @@ -3883,8 +5718,16 @@ /obj/structure/sink/directional/west, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"Vn" = ( +/obj/structure/curtain/open, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) "Vr" = ( /obj/structure/disposalpipe/segment, +/obj/structure/cable/green, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) "Vt" = ( @@ -3892,16 +5735,40 @@ icon_state = "whiteyellowfull" }, /area/ruin/space/sierra/med) +"VF" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/maint) "VI" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/door/firedoor/closed, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "purple" }, /area/ruin/space/sierra/rnd) +"VU" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "barber" + }, +/area/ruin/space/sierra/med) "VW" = ( /turf/simulated/floor/plasteel/airless{ icon_state = "purple"; @@ -3920,6 +5787,12 @@ }, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"Wd" = ( +/obj/structure/railing, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "Wg" = ( /obj/structure/table, /turf/simulated/floor/plasteel{ @@ -3933,6 +5806,7 @@ }, /area/ruin/space/sierra/med) "Wi" = ( +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkbluecorners" @@ -3957,10 +5831,16 @@ /area/ruin/space/sierra/rnd) "Wp" = ( /obj/structure/table, +/obj/effect/turf_decal/box, /turf/simulated/floor/plasteel{ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"Ww" = ( +/obj/structure/closet, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) "WB" = ( /obj/structure/curtain/medical, /turf/simulated/floor/plasteel{ @@ -3975,12 +5855,19 @@ }, /area/ruin/space/sierra/med) "WP" = ( -/obj/structure/railing{ - dir = 1 +/obj/machinery/power/smes, +/obj/structure/cable/green{ + d2 = 8; + icon_state = "0-8" }, -/obj/machinery/power/smes/engineering, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) +"WQ" = ( +/obj/effect/spawner/random/blood/maybe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) "WS" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor/closed, @@ -3992,6 +5879,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 4 }, +/obj/effect/spawner/random/maintenance, /turf/simulated/floor/plasteel/dark{ icon_state = "white_large" }, @@ -4008,6 +5896,17 @@ icon_state = "white_large" }, /area/ruin/space/sierra/med) +"Xd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/ruin/space/sierra/med) "Xf" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 8 @@ -4025,6 +5924,27 @@ icon_state = "barber" }, /area/ruin/space/sierra/med) +"Xk" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/broken{ + dir = 2 + }, +/obj/structure/disposalpipe/broken{ + dir = 1 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/med) +"Xl" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/ruin/space/sierra/med) "Xn" = ( /turf/simulated/floor/plasteel{ icon_state = "whiteblue" @@ -4037,12 +5957,18 @@ }, /area/ruin/space/sierra/med) "Xp" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, /area/ruin/space/sierra/shelter) "Xq" = ( /obj/effect/turf_decal/box, +/obj/effect/spawner/random/blood/maybe, /turf/simulated/floor/plasteel/dark{ icon_state = "white_large" }, @@ -4053,6 +5979,18 @@ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"Xu" = ( +/obj/effect/turf_decal{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/hall) "Xx" = ( /obj/effect/turf_decal/tile/neutral/full{ color = "#000000" @@ -4065,6 +6003,15 @@ color = "gray" }, /area/ruin/space/sierra/med) +"XB" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/rnd) "XD" = ( /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) @@ -4130,10 +6077,21 @@ level = 5; layer = 5 }, +/obj/item/bedsheet/green, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, /area/ruin/space/sierra/shelter) +"Yv" = ( +/obj/machinery/light/directional/north, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/hall) "YF" = ( /obj/structure/closet/secure_closet/security/science, /turf/simulated/floor/plasteel{ @@ -4141,6 +6099,20 @@ icon_state = "darkred" }, /area/ruin/space/sierra/rnd) +"YX" = ( +/obj/structure/shelf, +/obj/structure/railing{ + dir = 4; + color = "#8c911d" + }, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plating, +/area/ruin/space/sierra/maint) +"YY" = ( +/obj/structure/table, +/obj/effect/spawner/random/trash, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "Zb" = ( /obj/structure/rack, /obj/structure/curtain/open, @@ -4164,9 +6136,7 @@ }, /area/ruin/space/sierra/med) "Zi" = ( -/obj/effect/turf_decal/siding/trimline/dark/corner{ - dir = 8 - }, +/obj/effect/spawner/random/trash, /turf/simulated/floor/plating, /area/ruin/space/sierra/med) "Zn" = ( @@ -4199,6 +6169,38 @@ }, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) +"Zt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-4" + }, +/turf/simulated/floor/catwalk/airless, +/area/ruin/space/sierra/hall) +"Zy" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/shelter) "ZA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4210,6 +6212,7 @@ /obj/effect/turf_decal/siding/trimline/blue/corner{ dir = 8 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -4223,6 +6226,10 @@ /area/ruin/space/sierra/med) "ZH" = ( /obj/effect/turf_decal/delivery, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -4245,6 +6252,13 @@ icon_state = "purplefull" }, /area/ruin/space/sierra/rnd) +"ZV" = ( +/obj/effect/decal/cleanable/dust, +/obj/machinery/light/directional/south, +/turf/simulated/floor/plasteel{ + icon_state = "darkbluefull" + }, +/area/ruin/space/sierra/med) "ZW" = ( /obj/structure/rack, /obj/item/vending_refill/medical{ @@ -6566,7 +8580,7 @@ Et Et Et aV -qT +Fr qT qT sU @@ -6669,7 +8683,7 @@ hb go aV UG -aV +Pt qT sU sU @@ -6968,8 +8982,8 @@ yH zq FF Cn -Il -Cn +kZ +KX Wg GU FF @@ -7069,13 +9083,13 @@ sB FF FF FF -Wg -Il -Cn -Wg -GU +fv +iO +KX +QJ +le FF -Zg +Yv kR EE Zg @@ -7163,24 +9177,24 @@ Op sA Kw Kw -zq -zq -zq -zq +Tb +Va +Va +qs Kw FF zP -zP -Wg -Il -Cn +Gv +QJ +iO +KX Wg GU FF -Zg +cA Kx EE -Zg +cA IN Lb Lb @@ -7265,22 +9279,22 @@ hK Et Kw Kw -zq +Px yH iG -zq +Px Kw fd +kZ +kZ Il -Il -Il -Il -Il -Il -Il -fd -Zg -Kx +kZ +kZ +Mp +Zy +HJ +lM +Zt EE Zg IN @@ -7367,18 +9381,18 @@ Et Et Bz Kw -zq +Px yH Et -Kw -Et +eZ +rx FF +cX +cX +at oI oI -oI -oI -oI -Il +Rm oI FF Zg @@ -7469,16 +9483,16 @@ hK Et Kw Kw -zq +Px zq Et -zq +Hw lp FF FF FF FF -FF +ON FF Xp FF @@ -7571,19 +9585,19 @@ Op sA Kw Kw -zq +Px zq Et -zq -lp +Sf +ub FF +zX +vR Yp Yp -Yp -Yp -Il -Il -Il +aB +cW +kZ FF WS uL @@ -7673,19 +9687,19 @@ hK Et Kw Kw -yH -zq -Kw +gF zq +KS +BT Me FF -Il -Il -Il -Il -Il -Il -Il +kZ +kZ +kZ +kZ +kZ +kZ +kZ FF BH Uy @@ -7775,23 +9789,23 @@ Et Et Bz Kw -zq +Px zq Et -zq -WP +cl +bu FF -Il -Il -Il -Il -Il -Il -Sb +nR +fB +JR +JR +kZ +kZ +oa FF BH cK -UN +tt So mw XD @@ -7877,10 +9891,10 @@ hK Et Kw Kw +Px zq -zq -Et -Kw +rx +Rv Et FF gb @@ -7888,7 +9902,7 @@ Sb hQ Sb fo -Sb +oa lY FF BH @@ -7900,7 +9914,7 @@ XD XD XK XK -XD +QE XD IN qT @@ -7979,11 +9993,11 @@ Op sA Kw Kw -yH +gF yH Et -zq -lp +zR +cH ci ci ci @@ -8002,7 +10016,7 @@ IN IN IN IN -So +US IN IN IN @@ -8081,32 +10095,32 @@ hK Et pJ zq -zq -zq -Kw -zq -zq +Px +Of +Rw +VF +qs ci Zb -bq -aq -aq +Vn +Qs +Qs fq jG -kB +PF ci BH cK -DG +to IN CW yz AE pC kP -XD +NT GM -Md +dd IN qT sU @@ -8183,19 +10197,19 @@ Et Et dR eu -yH -zq +mV +Ua Et -zq +gQ GA ci tX oZ FJ +Gx IM -IM -oZ -oZ +Gw +bZ ci BH cK @@ -8280,25 +10294,25 @@ Et Et Et Iu +YX UO -UO -UO +YX dR dR -wh +te dR Et -zq +eU WP ci Zb bq -MD -ge +FB +Xl kB Tt eW -ci +ri BH Uy DG @@ -8306,7 +10320,7 @@ IN CW ct XD -wF +YY Nv wJ ct @@ -8381,22 +10395,22 @@ sU sU Et Et -oS +QX zq yH zq wh yH -zq +Px MU Et -Kw +Qq Et ci aq Tt -MD -ge +zI +Xl vw Gd Ao @@ -8488,8 +10502,8 @@ zq yH zq dR -zq -zq +LA +Ua zq zq zq @@ -8500,11 +10514,11 @@ oZ IM IM ps -IM -oZ +Gx +ZV ci BH -Uy +cw He IN IN @@ -8598,7 +10612,7 @@ zq qo ci IY -oZ +lH bS iY db @@ -8700,10 +10714,10 @@ os ci ci od -Sd -ci +yO ci ci +ri ci ci ci @@ -8796,20 +10810,20 @@ gv hT uY ci -DJ -Tt +hd +AI oZ WW AH Lx -RT +lK EW od Ch ZW vB -ci -BH +ri +rX cK UN BH @@ -8900,16 +10914,16 @@ Bj ci Bl yI -he -IM +nO IM -he +Gx +jd Pf Xr Lq Tt Tt -Tt +kf ci BH Uy @@ -9309,12 +11323,12 @@ ci DJ lw ZB -Fl +PH Fl NL Qb -he -he +tC +jd he tR he @@ -9324,7 +11338,7 @@ cK DG MF fk -gh +gn gh bp IN @@ -9401,7 +11415,7 @@ Et zq zq yH -yg +TH NE NE NE @@ -9410,20 +11424,20 @@ ve NA wR sz -iH -iH -iH -IM +Mc +bU +Mc +Xk MY -IM -IM -iH -iH -iH +TT +Ra iH -ND -cK -DG +Fb +Fb +HG +Xu +vr +to dg ew Ya @@ -9431,7 +11445,7 @@ jz dH IN qn -Eh +OX Eh bg rv @@ -9500,7 +11514,7 @@ sU sU Et Et -yh +Ww hD zq yg @@ -9513,7 +11527,7 @@ ci vp IS aP -oZ +ai TN MD ge @@ -9525,11 +11539,11 @@ AS AS ND cK -DG +to IN dg dg -Ct +dX IN IN Jq @@ -9600,7 +11614,7 @@ sU sU sU sU -Et +xS Et dR dR @@ -9611,17 +11625,17 @@ IP IP CU JJ +ri ci ci -ci -Px -vA +od +MX ci HA WB ci Pq -Px +od ci ci ci @@ -9716,25 +11730,25 @@ ci ci eB im -im -oZ +oW +Ty ci wm ge ci nS -ge -IM +GF +Gx mL ci -wU -Uy -fC -EF -JB -yc -yc -yc +nB +uc +yY +LC +wA +XB +XB +CJ bt Vr nD @@ -9809,7 +11823,7 @@ Et zq zq zq -rj +pU yg Og wj @@ -9818,15 +11832,15 @@ oA ci eK Dq -oZ -oZ +Ug +Fe ci IM -IM +Gx ci IM -ge -IM +Xl +Ug SO ci wU @@ -9839,7 +11853,7 @@ JB JB JB VZ -UA +QO MF Jm jO @@ -9909,14 +11923,14 @@ sU Et Et GJ -mS +Wd yH RH yg up gR Gy -OE +JQ ci ku wi @@ -9924,9 +11938,9 @@ im nS ci MO -IM +Gx ci -nS +WQ qb ag QW @@ -10014,16 +12028,16 @@ Et mS zq rj -yg +TH FY -wj +nW jP OE ci sX za -oZ -oZ +IM +ru ci CO hW @@ -10116,26 +12130,26 @@ Et dR wh dR -yg +TH ZC -gR +lq cR EJ ci eB Ur -eB +ra oZ ci -MD -nS -Tt +zI nS +UL +qX ez -nS +qX ur ci -wU +mO cK DG IN @@ -10150,7 +12164,7 @@ MF Jm Zs md -Ti +Vd gN gN Kc @@ -10220,29 +12234,29 @@ zq zq yg ZC -gR +EA wG mp ci od od -Px +od vA ci MD -nS +qX nS nS Xf Ym TO ci -wU +nB cK DG dg ML -ct +dj ct ct va @@ -10332,7 +12346,7 @@ he he IM IM -IM +Gx Yo ci ci @@ -10349,7 +12363,7 @@ JB dd dg RU -bf +Ez MF Jm bm @@ -10425,16 +12439,16 @@ yH yg ns cE -TH +IM hz gP -IM -IM -iH -iH -iH +uS +uS +mH +mH +mH Wi -ge +KK oZ Iz iQ @@ -10520,10 +12534,10 @@ sU sU sU Et -Et +xS yH fG -zq +bL yg uo jX @@ -10536,7 +12550,7 @@ wN BY ao IM -ge +zu oZ Sd RI @@ -10560,8 +12574,8 @@ tB tB NQ tB -tB -tB +Bq +Au Nx rJ sU @@ -10638,8 +12652,8 @@ yg IM Tt MD -IM -JG +Ss +tU od DZ Vt @@ -10659,9 +12673,9 @@ aO MF Pm VW -TT fa -eU +eg +fa fa VW fQ @@ -10738,7 +12752,7 @@ Wj Ic yg GL -Tt +UL IM ge JG @@ -10832,18 +12846,18 @@ ks Aj yH yg +ow px -px -px -px +ow +or Tt -Zh +Hu yg im im MD -ge -IY +Gp +jr ci bP ok @@ -10937,7 +12951,7 @@ yg in qN pp -px +or Wj Ic yg @@ -10961,7 +12975,7 @@ TE jp dg bf -gN +xq MF aI KJ @@ -11038,15 +13052,15 @@ zq yg Bx As -Wp -px +Kd +ow so Rh UY Pz Xo Tt -Tt +Xd Tt Jj Jg @@ -11055,15 +13069,15 @@ QK ci RL Kx -EE +nX dg XD XD -wF +YY XD MF bf -gN +tu MF MF MF @@ -11136,27 +13150,27 @@ Et Et hR zq -yH +fD yg mC AF Go -px +or Cc Vf KB -Xn -Tt -Tt -Tt -Tt -Tt -Tt -Tt -Tt +qu +KP +SG +jc +Fw +Fw +dI +AX +To Lg -Zg -jL +lM +vt EE va XD @@ -11241,21 +13255,21 @@ xL zq yg px -px -px -px +Kr +ow +ow RF Rd Sp -Xn -Tt -Tt -Tt -Tt -Tt -Tt -Tt -Tt +qu +NK +oU +Rg +kA +lm +oU +Re +qD uM Zg jL @@ -11268,7 +13282,7 @@ Ol MF nQ wt -sU +mc sU qT Fk @@ -11337,26 +13351,26 @@ sU sU sU dR -dR +tl dR dR wh dR dR yg -Tt -px +uO +Pr ep dB CZ Wp -Tt +BS Yk +eo fw -fw -fw +hi hP -Tt +ng Yk ci RL @@ -11441,7 +13455,7 @@ sU sU sU dR -XQ +LY zq zq Bs @@ -11452,7 +13466,7 @@ yg yg yg Xn -Tt +Hz wa ci od @@ -11461,7 +13475,7 @@ od bo ci ci -RL +wT Kx sw IN @@ -11549,18 +13563,18 @@ yH MU yg Tt -px +JU qW Bw yg -Xo -Tt +wn +dA wa ci Ev -fw -fw -fw +Kj +Kj +Kj jm ci RL @@ -11651,17 +13665,17 @@ yH zq yg Pa -px -px +ow +ow px EH Tt -Tt +EG wa ci -Bx -Xh -Xh +TL +VU +VU cG gq ci @@ -11758,18 +13772,18 @@ WE Zh yg hP -Tt +UL wa ci rw -Xh -As -As +VU +gr +xH eM od RL tv -qT +tW qT sU sU @@ -11849,9 +13863,9 @@ sU sU sU Et -zq -zq -wD +hb +hb +fS zq yg yg @@ -11950,8 +13964,8 @@ sU sU sU sU -Et -zq +xS +hb Et Et zq @@ -11989,8 +14003,8 @@ qT oX sy qT -sy -sy +Md +Md sy sy sU @@ -12053,7 +14067,7 @@ sU sU sU Et -zq +hb Et Et Et @@ -12069,7 +14083,7 @@ yg ci ci ci -ci +RK ci ci ci @@ -12160,7 +14174,7 @@ Et Et sU sU -Et +xS Et yQ zq @@ -12175,7 +14189,7 @@ ME qH qH qH -qH +dL Iv qr sU @@ -12278,7 +14292,7 @@ sU sU qT aV -aV +Hj qT sU qT From 216c4a09b6854d64c409a782c4bb3b61bf53860e Mon Sep 17 00:00:00 2001 From: Kar4es Date: Mon, 9 Dec 2024 19:43:37 +0700 Subject: [PATCH 114/152] Update config.toml --- config/example/config.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/example/config.toml b/config/example/config.toml index 0968ca0a6e49..4ac9b71d110d 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -724,6 +724,7 @@ active_space_ruins = [ "_maps/map_files220/RandomRuins/SpaceRuins/convoy_ambush.dmm", "_maps/map_files220/RandomRuins/SpaceRuins/voxraiders_1.dmm", "_maps/map_files220/RandomRuins/SpaceRuins/spacehotel.dmm", + "_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm", ### The following ruins are based from past pre-spawned Zlevel content ### "_maps/map_files/RandomRuins/SpaceRuins/abandonedtele.dmm", From 8f2b76958f08a1ca09c3eb6ed788b692a3880d18 Mon Sep 17 00:00:00 2001 From: Kar4es Date: Mon, 9 Dec 2024 20:18:29 +0700 Subject: [PATCH 115/152] =?UTF-8?q?=D1=83=D0=B2=D1=8B=D1=80=D0=B3=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 573 ++++++++++++------ .../code/RandomRuins/space/space_areas.dm | 10 +- 2 files changed, 408 insertions(+), 175 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index b696a837f10d..37c406dd4516 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -54,8 +54,8 @@ /area/ruin/space/sierra/rnd) "aB" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dust, @@ -170,8 +170,8 @@ /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/airlock/access/any/science/research, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /turf/simulated/floor/plating, @@ -217,13 +217,13 @@ /area/ruin/space/sierra/med) "bU" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 2; + d2 = 4; icon_state = "2-4" }, /obj/structure/disposalpipe/segment, @@ -505,6 +505,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/light/directional/north, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "purple" @@ -612,17 +613,13 @@ }, /area/ruin/space/sierra/rnd) "eZ" = ( -/obj/machinery/door/airlock/engineering{ - name = "Auxiliary Power Storage"; - req_access = newlist(); - dir = 8 - }, /obj/machinery/door/firedoor, /obj/structure/cable/green{ d1 = 4; d2 = 8; icon_state = "4-8" }, +/obj/machinery/door/airlock/engineering, /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, @@ -665,11 +662,13 @@ /area/ruin/space/sierra/med) "fr" = ( /obj/structure/closet/emcloset, +/obj/machinery/power/apc/off_station/empty_charge/directional/south, +/obj/machinery/light/directional/south, /obj/structure/cable/green{ - d2 = 4; + d1 = 4; + d2 = 8; icon_state = "0-4" }, -/obj/machinery/power/apc/off_station/empty_charge/directional/south, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "purple" @@ -811,6 +810,7 @@ d2 = 8; icon_state = "0-2" }, +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) "gq" = ( @@ -1064,6 +1064,13 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"hZ" = ( +/obj/structure/chair/stool, +/obj/machinery/light/directional/west, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) "ib" = ( /obj/machinery/recharge_station, /turf/simulated/floor/plasteel{ @@ -1120,8 +1127,8 @@ /area/ruin/space/sierra/maint) "iH" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -1153,6 +1160,7 @@ /area/ruin/space/sierra/med) "iR" = ( /obj/machinery/power/terminal, +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plasteel/dark, /area/space/nearstation) "iS" = ( @@ -1181,7 +1189,7 @@ /area/ruin/space/sierra/med) "jc" = ( /obj/structure/cable/green{ - d1 = 2; + d1 = 4; d2 = 8; icon_state = "2-8" }, @@ -1191,9 +1199,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/structure/disposalpipe/broken{ - dir = 2 - }, +/obj/structure/disposalpipe/broken, /obj/structure/disposalpipe/broken{ dir = 1 }, @@ -1209,6 +1215,13 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"jh" = ( +/obj/machinery/atmospherics/unary/portables_connector{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "jl" = ( /obj/structure/rack, /obj/structure/railing{ @@ -1293,6 +1306,10 @@ }, /turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/hall) +"jM" = ( +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/engine/airless, +/area/ruin/space/sierra/rnd) "jO" = ( /obj/structure/railing{ color = "#8c911d"; @@ -1360,6 +1377,20 @@ /obj/structure/rack, /turf/simulated/floor/plating, /area/ruin/space/sierra/med) +"kI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/light/directional/south, +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) "kK" = ( /obj/structure/railing{ dir = 8; @@ -1398,6 +1429,8 @@ dir = 4 }, /obj/structure/cable/green{ + d1 = 4; + d2 = 8; icon_state = "0-4" }, /turf/simulated/floor/catwalk/airless, @@ -1484,6 +1517,28 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"lr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) +"lu" = ( +/obj/effect/turf_decal{ + dir = 10 + }, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plasteel/airless{ + icon_state = "white" + }, +/area/space/nearstation) "lw" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1511,6 +1566,10 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"lE" = ( +/obj/machinery/light_construct/directional/west, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) "lH" = ( /obj/structure/disposalpipe/segment/corner{ dir = 1 @@ -1530,12 +1589,16 @@ /area/ruin/space/sierra/med) "lM" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /turf/simulated/floor/plasteel/airless, /area/ruin/space/sierra/hall) +"lN" = ( +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plasteel/dark, +/area/space/nearstation) "lV" = ( /obj/effect/turf_decal{ dir = 8 @@ -1571,12 +1634,14 @@ /area/ruin/space/sierra/rnd) "mk" = ( /obj/effect/turf_decal/stripes/corner, +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plasteel/airless{ icon_state = "white" }, /area/space/nearstation) "mo" = ( /obj/machinery/papershredder, +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plasteel/airless{ icon_state = "purplefull" }, @@ -1969,6 +2034,23 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"qj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/hall) "qk" = ( /obj/structure/railing{ dir = 8; @@ -1976,6 +2058,10 @@ }, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) +"qm" = ( +/obj/machinery/light/directional/south, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) "qn" = ( /turf/simulated/floor/plasteel{ dir = 9; @@ -2003,8 +2089,8 @@ /area/space/nearstation) "qs" = ( /obj/structure/cable/green{ - d1 = 1; - d2 = 4; + d1 = 4; + d2 = 8; icon_state = "1-4" }, /turf/simulated/floor/catwalk, @@ -2024,6 +2110,11 @@ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"qv" = ( +/obj/effect/spawner/random/blood/maybe, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plating/airless, +/area/space/nearstation) "qD" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dust, @@ -2163,11 +2254,21 @@ /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "sb" = ( +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plasteel/airless{ icon_state = "darkblue"; dir = 4 }, /area/ruin/space/sierra/med) +"sj" = ( +/obj/effect/turf_decal{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple" + }, +/area/ruin/space/sierra/rnd) "sk" = ( /obj/structure/railing{ dir = 1 @@ -2201,6 +2302,13 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"sq" = ( +/obj/structure/closet, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plasteel/airless{ + icon_state = "dark" + }, +/area/ruin/space/sierra/med) "sr" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor/closed, @@ -2230,8 +2338,8 @@ dir = 9 }, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -2306,7 +2414,6 @@ /area/ruin/space/sierra/hall) "tu" = ( /obj/structure/cable/green{ - d2 = 8; icon_state = "0-8" }, /turf/simulated/floor/plating/airless, @@ -2328,6 +2435,7 @@ /area/ruin/space/sierra/hall) "ty" = ( /obj/machinery/status_display/directional/east, +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/maint) "tB" = ( @@ -2474,6 +2582,16 @@ /obj/item/shard, /turf/space, /area/space) +"uz" = ( +/obj/structure/chair/comfy/shuttle/dark{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/ruin/space/sierra/maint) "uF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2543,8 +2661,8 @@ "ve" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment/corner, @@ -2601,6 +2719,11 @@ }, /turf/simulated/floor/catwalk, /area/ruin/space/sierra/hall) +"vs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) "vt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2651,6 +2774,7 @@ }, /area/ruin/space/sierra/med) "vC" = ( +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plasteel/airless{ icon_state = "darkblue"; dir = 1 @@ -2696,8 +2820,8 @@ }, /obj/item/bedsheet/green, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dust, @@ -2783,8 +2907,8 @@ "wA" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /turf/simulated/floor/plasteel, @@ -2794,6 +2918,7 @@ /turf/space, /area/space) "wD" = ( +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/engine/airless, /area/ruin/space/sierra/maint) "wF" = ( @@ -2832,8 +2957,8 @@ icon_state = "2-8" }, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/junction/reversed, @@ -2928,6 +3053,7 @@ /area/ruin/space/sierra/rnd) "yt" = ( /obj/effect/turf_decal, +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plasteel/airless{ icon_state = "white" }, @@ -2984,6 +3110,12 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"yN" = ( +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plasteel/airless{ + icon_state = "purplefull" + }, +/area/space/nearstation) "yO" = ( /obj/machinery/door/airlock/medical/glass, /obj/effect/mapping_helpers/airlock/access/all/medical/general, @@ -3024,8 +3156,8 @@ dir = 8 }, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /turf/simulated/floor/plasteel, @@ -3443,12 +3575,12 @@ /obj/structure/disposalpipe/segment, /obj/effect/spawner/random/trash, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/structure/cable/green{ - d1 = 2; + d1 = 4; d2 = 8; icon_state = "2-8" }, @@ -3495,6 +3627,7 @@ /area/ruin/space/sierra/med) "Dc" = ( /obj/structure/closet/emcloset, +/obj/machinery/light/directional/south, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "purple" @@ -3508,6 +3641,14 @@ icon_state = "purple" }, /area/ruin/space/sierra/hall) +"Dl" = ( +/obj/effect/turf_decal, +/obj/machinery/light/directional/north, +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 1 + }, +/area/ruin/space/sierra/rnd) "Dq" = ( /obj/machinery/atmospherics/unary/vent_scrubber, /turf/simulated/floor/plasteel{ @@ -3730,6 +3871,13 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"EM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/med) "EU" = ( /obj/structure/window/reinforced{ dir = 8 @@ -3759,8 +3907,8 @@ /area/space) "Fb" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -3927,9 +4075,7 @@ }, /area/ruin/space/sierra/med) "Gp" = ( -/obj/structure/disposalpipe/broken{ - dir = 2 - }, +/obj/structure/disposalpipe/broken, /turf/simulated/floor/plasteel{ icon_state = "darkblue" }, @@ -3963,16 +4109,15 @@ }, /area/ruin/space/sierra/med) "GA" = ( -/obj/structure/cable/green{ - d2 = 8; - icon_state = "0-8" - }, /obj/machinery/power/smes, /obj/structure/cable/green{ d1 = 4; d2 = 8; icon_state = "4-8" }, +/obj/structure/cable/green{ + icon_state = "0-8" + }, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) "GF" = ( @@ -4029,6 +4174,7 @@ /obj/structure/disposalpipe/broken{ dir = 8 }, +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/hall) "Hu" = ( @@ -4039,11 +4185,10 @@ }, /area/ruin/space/sierra/med) "Hw" = ( +/obj/machinery/power/apc/off_station/empty_charge/directional/north, /obj/structure/cable/green{ - d2 = 8; icon_state = "0-8" }, -/obj/machinery/power/apc/off_station/empty_charge/directional/north, /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) "Hz" = ( @@ -4070,8 +4215,8 @@ /area/space) "HG" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -4086,8 +4231,8 @@ /obj/effect/mapping_helpers/airlock/locked, /obj/effect/mapping_helpers/airlock/access/all/command/general, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /turf/simulated/floor/plasteel/dark{ @@ -4162,10 +4307,16 @@ /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) "Iv" = ( -/obj/structure/disposalpipe/sortjunction/reversed{ +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/disposalpipe/broken{ + dir = 1 + }, +/obj/structure/disposalpipe/broken{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/disposalpipe/broken{ + dir = 8 + }, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/hall) "Iz" = ( @@ -4179,6 +4330,7 @@ /turf/simulated/wall/r_wall, /area/ruin/space/sierra/rnd) "IP" = ( +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) "IS" = ( @@ -4253,6 +4405,13 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"JE" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plasteel/airless{ + icon_state = "purplefull" + }, +/area/space/nearstation) "JG" = ( /obj/structure/table/reinforced, /turf/simulated/floor/plasteel{ @@ -4265,6 +4424,16 @@ icon_state = "dark" }, /area/ruin/space/sierra/med) +"JN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/power/apc/off_station/empty_charge/directional/south, +/obj/structure/cable/green, +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple" + }, +/area/ruin/space/sierra/hall) "JQ" = ( /obj/machinery/atmospherics/unary/portables_connector{ dir = 1 @@ -4365,6 +4534,7 @@ "KJ" = ( /obj/machinery/chem_dispenser, /obj/effect/mapping_helpers/machinery/destroyed, +/obj/machinery/light_construct/directional/east, /turf/simulated/floor/plasteel/airless{ icon_state = "whitepurple"; dir = 4 @@ -4388,15 +4558,12 @@ }, /area/ruin/space/sierra/med) "KS" = ( -/obj/machinery/door/airlock/engineering{ - name = "Auxiliary Power Storage"; - req_access = newlist() - }, /obj/structure/cable{ d1 = 1; d2 = 2; icon_state = "1-2" }, +/obj/machinery/door/airlock/engineering, /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, @@ -4418,8 +4585,8 @@ /obj/machinery/door/airlock/multi_tile/glass, /obj/machinery/door/firedoor/closed, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /turf/simulated/floor/plasteel{ @@ -4482,8 +4649,8 @@ /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /turf/simulated/floor/plasteel, @@ -4498,6 +4665,10 @@ icon_state = "purplefull" }, /area/ruin/space/sierra/rnd) +"LJ" = ( +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/maint) "LO" = ( /obj/effect/turf_decal/stripes/corner, /turf/simulated/floor/plasteel/airless{ @@ -4531,8 +4702,8 @@ /area/ruin/space/sierra/maint) "Mc" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -4655,8 +4826,8 @@ /area/ruin/space/sierra/med) "MY" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -4719,8 +4890,8 @@ /obj/machinery/door/firedoor/closed, /obj/effect/mapping_helpers/airlock/access/all/medical/general, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, @@ -4942,6 +5113,7 @@ /obj/structure/disposalpipe/broken{ dir = 4 }, +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/hall) "Pw" = ( @@ -5002,6 +5174,13 @@ /obj/structure/shelf, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) +"Qh" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) "Qp" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ @@ -5018,11 +5197,8 @@ d2 = 8; icon_state = "4-8" }, -/obj/machinery/door/airlock/engineering{ - name = "First Deck Substation"; - req_access = newlist() - }, /obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering, /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, @@ -5047,12 +5223,23 @@ /obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"Qy" = ( +/obj/machinery/light/directional/east, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "QE" = ( /obj/structure/disposalpipe/broken{ dir = 4 }, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"QF" = ( +/obj/structure/chair/stool, +/obj/machinery/light/directional/east, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) "QG" = ( /obj/machinery/door/airlock/public, /obj/effect/turf_decal/delivery, @@ -5081,7 +5268,8 @@ dir = 4 }, /obj/structure/cable/green{ - d2 = 4; + d1 = 4; + d2 = 8; icon_state = "0-4" }, /turf/simulated/floor/plasteel{ @@ -5123,8 +5311,8 @@ /area/space/nearstation) "Ra" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -5212,6 +5400,7 @@ dir = 4 }, /obj/structure/bed/roller, +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) "Rv" = ( @@ -5236,11 +5425,8 @@ d2 = 2; icon_state = "1-2" }, -/obj/machinery/door/airlock/engineering{ - name = "First Deck Substation"; - req_access = newlist() - }, /obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering, /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, @@ -5358,6 +5544,16 @@ }, /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) +"Si" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) "Sn" = ( /obj/structure/table{ anchored = 0 @@ -5389,6 +5585,7 @@ /turf/simulated/floor/plating, /area/ruin/space/sierra/med) "Sy" = ( +/obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plating, /area/ruin/space/sierra/hall) "SG" = ( @@ -5528,8 +5725,8 @@ /area/ruin/space/sierra/med) "TT" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -5541,7 +5738,7 @@ /area/ruin/space/sierra/med) "Ua" = ( /obj/structure/cable/green{ - d1 = 1; + d1 = 4; d2 = 8; icon_state = "1-8" }, @@ -5551,6 +5748,10 @@ /obj/effect/spawner/random/blood/maybe, /turf/simulated/floor/plating, /area/ruin/space/sierra/med) +"Un" = ( +/obj/machinery/light/directional/north, +/turf/simulated/floor/plasteel/airless, +/area/ruin/space/sierra/rnd) "Ur" = ( /obj/item/storage/surgical_tray{ pixel_y = 8 @@ -5688,8 +5889,8 @@ /area/ruin/space/sierra/med) "Va" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /turf/simulated/floor/catwalk, @@ -5730,11 +5931,22 @@ /obj/structure/cable/green, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) +"Vs" = ( +/obj/machinery/light/directional/east, +/turf/simulated/floor/plasteel/airless{ + icon_state = "purple"; + dir = 4 + }, +/area/ruin/space/sierra/rnd) "Vt" = ( /turf/simulated/floor/plasteel{ icon_state = "whiteyellowfull" }, /area/ruin/space/sierra/med) +"Vv" = ( +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plasteel/airless, +/area/space/nearstation) "VF" = ( /obj/structure/cable/green{ d1 = 1; @@ -5769,6 +5981,10 @@ icon_state = "barber" }, /area/ruin/space/sierra/med) +"VV" = ( +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/hall) "VW" = ( /turf/simulated/floor/plasteel/airless{ icon_state = "purple"; @@ -5857,7 +6073,6 @@ "WP" = ( /obj/machinery/power/smes, /obj/structure/cable/green{ - d2 = 8; icon_state = "0-8" }, /turf/simulated/floor/plating, @@ -5901,6 +6116,8 @@ dir = 4 }, /obj/structure/cable/green{ + d1 = 4; + d2 = 8; icon_state = "0-4" }, /turf/simulated/floor/plasteel{ @@ -5926,13 +6143,11 @@ /area/ruin/space/sierra/med) "Xk" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, -/obj/structure/disposalpipe/broken{ - dir = 2 - }, +/obj/structure/disposalpipe/broken, /obj/structure/disposalpipe/broken{ dir = 1 }, @@ -5984,13 +6199,17 @@ dir = 1 }, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) +"Xw" = ( +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plating/airless, +/area/space/nearstation) "Xx" = ( /obj/effect/turf_decal/tile/neutral/full{ color = "#000000" @@ -6006,8 +6225,8 @@ "XB" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /turf/simulated/floor/plating, @@ -6045,6 +6264,7 @@ /area/ruin/space/sierra/rnd) "Yi" = ( /obj/structure/table, +/obj/machinery/light/directional/west, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "green" @@ -6079,8 +6299,8 @@ }, /obj/item/bedsheet/green, /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /obj/effect/decal/cleanable/dust, @@ -6099,6 +6319,19 @@ icon_state = "darkred" }, /area/ruin/space/sierra/rnd) +"YJ" = ( +/obj/effect/turf_decal{ + dir = 6 + }, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plasteel/airless{ + icon_state = "white" + }, +/area/space/nearstation) +"YV" = ( +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/plating/airless, +/area/ruin/space/sierra/rnd) "YX" = ( /obj/structure/shelf, /obj/structure/railing{ @@ -6193,8 +6426,8 @@ /area/ruin/space/sierra/hall) "Zy" = ( /obj/structure/cable/green{ - d1 = 4; - d2 = 8; + d1 = 1; + d2 = 2; icon_state = "1-2" }, /turf/simulated/floor/plasteel{ @@ -8571,7 +8804,7 @@ qT qT qT hb -Cj +LJ Et Et Et @@ -8579,7 +8812,7 @@ Et Et Et Et -aV +VV Fr qT qT @@ -8671,8 +8904,8 @@ qT qT hb hb -Cj -Cj +LJ +LJ Cj hb hb @@ -8681,8 +8914,8 @@ Cj hb hb go -aV -UG +VV +Si Pt qT sU @@ -8770,7 +9003,7 @@ sU sU sU qT -Cj +LJ dR Cj Cj @@ -9096,8 +9329,8 @@ Zg IN Lb Lb -Lb -Lb +jM +jM qT qT qT @@ -9172,7 +9405,7 @@ sU qT qT ty -yf +uz Op sA Kw @@ -9200,8 +9433,8 @@ Lb Lb Lb Lb -gN -gN +YV +YV qT wC sU @@ -9303,7 +9536,7 @@ Lb Lb Lb Lb -Lb +jM qT sU sU @@ -9828,7 +10061,7 @@ sU uX mo lb -eV +JE Uz PC sU @@ -9910,10 +10143,10 @@ cK DG IN wF +Qy XD -XD -XK XK +jh QE XD IN @@ -9929,7 +10162,7 @@ sU sU sU qT -Ih +lu gc Uz PC @@ -10114,7 +10347,7 @@ cK to IN CW -yz +hZ AE pC kP @@ -10337,12 +10570,12 @@ sU sU sU sU -yx +YJ gc Uz +lN Bv -Bv -Bv +lN qT PC sU @@ -10420,7 +10653,7 @@ ft qS IN UU -yz +QF fO Wn MF @@ -10644,10 +10877,10 @@ sU sU sU sU -Ld +Vv CP -gc -Ld +yN +Vv qT qT sU @@ -10832,7 +11065,7 @@ BH BH MZ IN -xQ +Un cx dk dk @@ -11522,7 +11755,7 @@ NE NE NE CU -JJ +sq ci vp IS @@ -11550,7 +11783,7 @@ Jq LW GW sr -VW +Vs VW UQ gN @@ -11623,7 +11856,7 @@ yg qT IP IP -CU +EM JJ ri ci @@ -11855,14 +12088,14 @@ JB VZ QO MF -Jm +Dl jO qk Ti kK qk Kc -gN +qm IN sU sU @@ -12365,14 +12598,14 @@ dg RU Ez MF -Jm +Dl bm gN Ti gN gN Kc -qK +sj IN sU sU @@ -12465,7 +12698,7 @@ kT MF MF RU -En +kI MF Jm MA @@ -12780,7 +13013,7 @@ Ak Jo Fm gJ -Fm +Qh IN sU sU @@ -12879,9 +13112,9 @@ TI zp gN gN -gN +YV Uv -gN +YV qT qT sU @@ -12979,11 +13212,11 @@ xq MF aI KJ +YV gN +YV gN -gN -gN -gN +YV qT sU sU @@ -13182,7 +13415,7 @@ bf gN gN gN -gN +lE qT sU Mn @@ -13374,8 +13607,8 @@ ng Yk ci RL -jL -Dj +qj +JN IN IN IN @@ -13884,7 +14117,7 @@ sv wo od RL -uF +lr qT sU sU @@ -14001,12 +14234,12 @@ sU sU qT oX -sy +Xw qT +qv Md -Md -sy -sy +Xw +Xw sU sU sU @@ -14101,11 +14334,11 @@ sU sU sU sU -sy +Xw LG LG LG -sy +Xw LG LG Uz @@ -14180,14 +14413,14 @@ yQ zq dR CH -aV +VV qT qT qT sU ME qH -qH +vs qH dL Iv @@ -14203,7 +14436,7 @@ sU sU sU sU -sy +Xw LG Bv qt @@ -14281,7 +14514,7 @@ Et LV zq go -aV +VV qT qT qT @@ -14291,7 +14524,7 @@ sU sU sU qT -aV +VV Hj qT sU @@ -14305,7 +14538,7 @@ sU Fa qT qT -sy +Xw LG Bv Bv @@ -14402,11 +14635,11 @@ sU sU qT qT -sy +Xw sy sy XV -sy +Xw sy LG aH @@ -14414,7 +14647,7 @@ Lz sy Zn sy -sy +Xw sU sU sU @@ -14502,10 +14735,10 @@ sU sU sU qT -sy +Xw qT sy -sy +Xw Ld Uz sy @@ -14514,7 +14747,7 @@ LG Bv sy sy -sy +Xw qT qT sU @@ -14603,19 +14836,19 @@ sU sU sU sU -sy +Xw XV yF -sy +Xw Ld QZ Uz ib Ep LG +Xw sy -sy -sy +Xw qT qT sU @@ -14705,7 +14938,7 @@ sU sU sU sU -sy +Xw Uz qq Ld @@ -14807,7 +15040,7 @@ sU sU sU sU -sy +Xw Uz Uz Uz diff --git a/modular_ss220/maps220/code/RandomRuins/space/space_areas.dm b/modular_ss220/maps220/code/RandomRuins/space/space_areas.dm index 53abd192166e..8321f9d600c6 100644 --- a/modular_ss220/maps220/code/RandomRuins/space/space_areas.dm +++ b/modular_ss220/maps220/code/RandomRuins/space/space_areas.dm @@ -113,20 +113,20 @@ requires_power = TRUE /area/ruin/space/sierra/med - name = "Medical Department" + name = "Sierra Medical Department" icon_state = "medbay" /area/ruin/space/sierra/rnd - name = "Research And Development" + name = "Sierra Research And Development" icon_state = "scilab" /area/ruin/space/sierra/hall - name = "hall" + name = "Sierra hall" icon_state = "hallC" /area/ruin/space/sierra/maint - name = "Port Maintenance" + name = "Sierra Port Maintenance" icon_state = "pmaint" /area/ruin/space/sierra/shelter - name = "Shelter" + name = "Sierra Shelter" icon_state = "head_quarters" From e1ce9d6c055b41ca2a124dc75df36a8caf85d5ef Mon Sep 17 00:00:00 2001 From: Kar4es Date: Mon, 9 Dec 2024 20:42:26 +0700 Subject: [PATCH 116/152] suka --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index 37c406dd4516..ed68ec67b425 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -5403,22 +5403,6 @@ /obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/med) -"Rv" = ( -/obj/machinery/door/airlock/engineering{ - name = "Auxiliary Power Storage"; - req_access = newlist(); - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor, -/turf/simulated/floor/plasteel/dark{ - icon_state = "dark_large" - }, -/area/ruin/space/sierra/maint) "Rw" = ( /obj/structure/cable/green{ d1 = 1; @@ -10127,7 +10111,7 @@ Kw Px zq rx -Rv +Qq Et FF gb From 1d60aeea99c49028eb58e37e78321cf277750b3c Mon Sep 17 00:00:00 2001 From: Kar4es Date: Mon, 9 Dec 2024 20:48:46 +0700 Subject: [PATCH 117/152] =?UTF-8?q?=D1=87=D1=82=D0=BE=D0=B1=20=D1=82=D1=8B?= =?UTF-8?q?=20=D1=81=D1=83=D0=BA=D0=B0=20=D0=B7=D0=B0=20=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=20=D0=B2=D1=81=D0=B5=20=D0=B2=D1=8B=D1=81=D1=80=D0=B0=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index ed68ec67b425..cb7c2378f7d2 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -181,11 +181,8 @@ d2 = 8; icon_state = "0-8" }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, /obj/machinery/power/smes, +/obj/machinery/firealarm/directional/east, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) "bL" = ( @@ -315,11 +312,8 @@ }, /area/ruin/space/sierra/med) "cH" = ( -/obj/machinery/alarm{ - dir = 4; - pixel_x = -24 - }, /obj/structure/table, +/obj/machinery/alarm/directional/west, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) "cK" = ( @@ -620,6 +614,7 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/engineering, +/obj/machinery/door/firedoor, /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, @@ -4564,6 +4559,7 @@ icon_state = "1-2" }, /obj/machinery/door/airlock/engineering, +/obj/machinery/door/firedoor, /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, @@ -5199,6 +5195,7 @@ }, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering, +/obj/machinery/door/firedoor, /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, @@ -5411,6 +5408,7 @@ }, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering, +/obj/machinery/door/firedoor, /turf/simulated/floor/plasteel/dark{ icon_state = "dark_large" }, From 81e31d64ea30b8be28b6cfc441ea86248e2c535c Mon Sep 17 00:00:00 2001 From: Kar4es Date: Mon, 9 Dec 2024 20:52:44 +0700 Subject: [PATCH 118/152] =?UTF-8?q?=D0=B4=D0=B0=20=D0=B9=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm | 3 --- 1 file changed, 3 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index cb7c2378f7d2..10cd5f09eb9c 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -607,7 +607,6 @@ }, /area/ruin/space/sierra/rnd) "eZ" = ( -/obj/machinery/door/firedoor, /obj/structure/cable/green{ d1 = 4; d2 = 8; @@ -5193,7 +5192,6 @@ d2 = 8; icon_state = "4-8" }, -/obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering, /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel/dark{ @@ -5406,7 +5404,6 @@ d2 = 2; icon_state = "1-2" }, -/obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering, /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel/dark{ From 9181d1bcde9b13bd11fc092459af00cccc9c84dd Mon Sep 17 00:00:00 2001 From: Kar4es Date: Mon, 9 Dec 2024 21:06:46 +0700 Subject: [PATCH 119/152] final? --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 61 ++++++++++++++++--- 1 file changed, 52 insertions(+), 9 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index 10cd5f09eb9c..41ad1b9e1cee 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -640,6 +640,11 @@ icon_state = "darkred" }, /area/ruin/space/sierra/rnd) +"fm" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/light/directional/east, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "fo" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -971,6 +976,11 @@ icon_state = "whiteblue" }, /area/ruin/space/sierra/med) +"hk" = ( +/obj/structure/table, +/obj/machinery/light/directional/north, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "hm" = ( /obj/effect/turf_decal/stripes, /obj/item/shard{ @@ -1261,6 +1271,7 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, +/obj/machinery/light/directional/west, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "darkred" @@ -2198,6 +2209,12 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"rr" = ( +/obj/machinery/light/directional/north, +/turf/simulated/floor/plasteel{ + icon_state = "whiteblue" + }, +/area/ruin/space/sierra/med) "ru" = ( /obj/effect/spawner/random/blood/maybe, /turf/simulated/floor/plasteel{ @@ -2238,6 +2255,7 @@ /obj/machinery/computer/nonfunctional{ dir = 8 }, +/obj/machinery/light/directional/east, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -2582,6 +2600,7 @@ }, /obj/item/radio/intercom/directional/east, /obj/effect/mapping_helpers/turfs/damage, +/obj/effect/mob_spawn/human/corpse/doctor, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -2846,6 +2865,7 @@ /area/ruin/space/sierra/maint) "wi" = ( /obj/machinery/optable, +/obj/effect/mob_spawn/human/corpse/doctor, /turf/simulated/floor/plasteel/dark{ icon_state = "white_large" }, @@ -4352,6 +4372,7 @@ "Jg" = ( /obj/structure/table, /obj/effect/spawner/random/trash, +/obj/machinery/light/directional/west, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -5049,6 +5070,14 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plating, /area/ruin/space/sierra/hall) +"OQ" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/light/directional/east, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "OX" = ( /obj/effect/spawner/random/trash, /turf/simulated/floor/plasteel{ @@ -5134,6 +5163,11 @@ icon_state = "whitebluecorner" }, /area/ruin/space/sierra/med) +"PB" = ( +/obj/structure/lattice, +/obj/effect/mob_spawn/human/corpse/scientist, +/turf/space, +/area/ruin/space/sierra/rnd) "PC" = ( /turf/simulated/floor/catwalk/airless, /area/space/nearstation) @@ -5236,12 +5270,12 @@ }, /area/ruin/space/sierra/rnd) "QG" = ( -/obj/machinery/door/airlock/public, /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "QJ" = ( @@ -5926,6 +5960,10 @@ /obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plasteel/airless, /area/space/nearstation) +"VA" = ( +/obj/effect/mob_spawn/human/corpse/scientist, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "VF" = ( /obj/structure/cable/green{ d1 = 1; @@ -5971,9 +6009,9 @@ }, /area/ruin/space/sierra/rnd) "VX" = ( -/obj/machinery/door/airlock/public, /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "VZ" = ( @@ -6045,6 +6083,7 @@ "WE" = ( /obj/structure/table, /obj/machinery/kitchen_machine/microwave, +/obj/machinery/light/directional/east, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -6103,6 +6142,10 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"Xe" = ( +/obj/machinery/light/directional/north, +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/sierra/rnd) "Xf" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 8 @@ -11046,7 +11089,7 @@ MZ IN Un cx -dk +PB dk sU sU @@ -12365,7 +12408,7 @@ mO cK DG IN -wF +hk ML Ar ic @@ -12572,7 +12615,7 @@ RP np ZU JB -dd +OQ dg RU Ez @@ -12875,7 +12918,7 @@ RL Kx Dj IN -gy +Xe me gy MF @@ -13284,7 +13327,7 @@ Kx nX dg XD -XD +VA YY XD MF @@ -13488,7 +13531,7 @@ jL Dj IN Vb -Vb +fm Vm Ol MF @@ -13677,7 +13720,7 @@ Tx yg yg yg -Xn +rr Hz wa ci From 052f55c453f5f665ce0b8ac5a3a8b10c5b184cc1 Mon Sep 17 00:00:00 2001 From: Kar4es Date: Mon, 9 Dec 2024 21:08:02 +0700 Subject: [PATCH 120/152] vse --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 255 ++++++++++++++---- 1 file changed, 201 insertions(+), 54 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index 41ad1b9e1cee..a28e2ab33667 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -483,6 +483,24 @@ /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"ea" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/hall) "ee" = ( /obj/item/kirbyplants/dead, /turf/simulated/floor/plasteel/airless, @@ -634,6 +652,12 @@ icon_state = "dark_large" }, /area/ruin/space/sierra/shelter) +"fg" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel/dark{ + icon_state = "dark_large" + }, +/area/ruin/space/sierra/maint) "fk" = ( /turf/simulated/floor/plasteel{ dir = 1; @@ -779,6 +803,7 @@ }, /area/ruin/space/sierra/med) "gh" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -792,6 +817,7 @@ /area/ruin/space/sierra/rnd) "gn" = ( /obj/effect/spawner/random/trash, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -1071,6 +1097,7 @@ "hZ" = ( /obj/structure/chair/stool, /obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "purplefull" }, @@ -1157,6 +1184,7 @@ }, /area/ruin/space/sierra/shelter) "iQ" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "whiteyellow" @@ -1281,6 +1309,7 @@ /obj/structure/chair/office/dark{ dir = 4 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkred" @@ -1445,6 +1474,15 @@ /obj/effect/spawner/random/trash, /turf/simulated/floor/plasteel/dark, /area/ruin/space/sierra/rnd) +"kW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/ruin/space/sierra/hall) "kZ" = ( /obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ @@ -1497,6 +1535,12 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"ln" = ( +/obj/structure/table, +/obj/effect/spawner/random/trash, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "lo" = ( /obj/machinery/disposal, /turf/simulated/floor/plasteel/dark, @@ -1672,6 +1716,7 @@ }, /area/ruin/space/sierra/med) "mD" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whiteyellow" @@ -2039,6 +2084,10 @@ icon_state = "darkblue" }, /area/ruin/space/sierra/med) +"qc" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel/dark, +/area/ruin/space/sierra/rnd) "qj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2068,6 +2117,7 @@ /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) "qn" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "purple" @@ -2238,6 +2288,24 @@ /obj/effect/spawner/random/fungus/probably, /turf/simulated/wall/r_wall, /area/ruin/space/sierra/maint) +"rz" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/catwalk, +/area/ruin/space/sierra/hall) "rJ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/airlock/maintenance_hatch, @@ -2404,6 +2472,13 @@ "ti" = ( /turf/simulated/wall/mineral/titanium/nodiagonal, /area/ruin/space/sierra/maint) +"tk" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "blue" + }, +/area/ruin/space/sierra/hall) "tl" = ( /obj/effect/spawner/random/fungus/frequent, /turf/simulated/wall, @@ -2538,6 +2613,7 @@ icon_state = "2-4" }, /obj/effect/spawner/random/blood/maybe, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "ud" = ( @@ -2671,6 +2747,10 @@ /obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"vc" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/hall) "ve" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable/green{ @@ -2951,6 +3031,7 @@ /area/ruin/space/sierra/med) "wJ" = ( /obj/structure/shelf/science, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "wN" = ( @@ -2980,6 +3061,10 @@ icon_state = "darkbluefull" }, /area/ruin/space/sierra/med) +"wS" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "wT" = ( /obj/machinery/light/directional/north, /turf/simulated/floor/plasteel/airless{ @@ -3087,6 +3172,7 @@ /area/space/nearstation) "yz" = ( /obj/structure/chair/stool, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "purplefull" }, @@ -3373,6 +3459,14 @@ icon_state = "white" }, /area/ruin/space/sierra/med) +"AN" = ( +/obj/machinery/light_construct/directional/north, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "blue" + }, +/area/ruin/space/sierra/hall) "AQ" = ( /obj/structure/table/reinforced, /turf/simulated/floor/plasteel{ @@ -3655,6 +3749,12 @@ icon_state = "purple" }, /area/ruin/space/sierra/hall) +"Dk" = ( +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/ruin/space/sierra/rnd) "Dl" = ( /obj/effect/turf_decal, /obj/machinery/light/directional/north, @@ -3780,6 +3880,7 @@ }, /area/ruin/space/sierra/med) "Eh" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "purple" @@ -4402,6 +4503,7 @@ }, /area/ruin/space/sierra/rnd) "Jq" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "purple" @@ -4449,6 +4551,11 @@ icon_state = "purple" }, /area/ruin/space/sierra/hall) +"JO" = ( +/obj/structure/chair/office/dark, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "JQ" = ( /obj/machinery/atmospherics/unary/portables_connector{ dir = 1 @@ -4478,6 +4585,12 @@ icon_state = "whitebluefull" }, /area/ruin/space/sierra/med) +"JV" = ( +/obj/structure/closet/secure_closet/scientist, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "Ka" = ( /obj/machinery/door/airlock/maintenance_hatch, /turf/simulated/floor/plasteel, @@ -4509,6 +4622,13 @@ icon_state = "whitebluefull" }, /area/ruin/space/sierra/med) +"Ks" = ( +/obj/effect/turf_decal{ + dir = 1 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/hall) "Kv" = ( /obj/effect/turf_decal/delivery, /turf/simulated/floor/plasteel/airless, @@ -4615,6 +4735,15 @@ icon_state = "whitebluecorner" }, /area/ruin/space/sierra/med) +"Li" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel{ + icon_state = "green" + }, +/area/ruin/space/sierra/hall) "Lp" = ( /obj/machinery/computer/operating{ dir = 1 @@ -4924,6 +5053,11 @@ "NE" = ( /turf/space, /area/ruin/space/sierra/med) +"NI" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dust, +/turf/simulated/floor/plasteel, +/area/ruin/space/sierra/rnd) "NK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -5241,6 +5375,7 @@ /area/ruin/space/sierra/med) "Qt" = ( /obj/machinery/door/window/reinforced, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "purplefull" }, @@ -5254,6 +5389,7 @@ /area/ruin/space/sierra/rnd) "Qy" = ( /obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "QE" = ( @@ -5650,6 +5786,7 @@ "Tn" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "To" = ( @@ -5827,6 +5964,7 @@ /obj/machinery/atmospherics/binary/pump{ dir = 4 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "UI" = ( @@ -5838,6 +5976,7 @@ /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "UL" = ( @@ -5850,6 +5989,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "UO" = ( @@ -5942,6 +6082,7 @@ "Vr" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/green, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) "Vs" = ( @@ -5952,6 +6093,7 @@ }, /area/ruin/space/sierra/rnd) "Vt" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ icon_state = "whiteyellowfull" }, @@ -5962,6 +6104,7 @@ /area/space/nearstation) "VA" = ( /obj/effect/mob_spawn/human/corpse/scientist, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "VF" = ( @@ -6018,6 +6161,7 @@ /obj/structure/disposalpipe/segment/corner{ dir = 1 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) "Wd" = ( @@ -6226,6 +6370,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/hall) "Xw" = ( @@ -6251,6 +6396,7 @@ d2 = 2; icon_state = "1-2" }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plating, /area/ruin/space/sierra/rnd) "XD" = ( @@ -6279,6 +6425,7 @@ /turf/simulated/floor/plating, /area/space/nearstation) "Ya" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkred" @@ -9431,7 +9578,7 @@ uz Op sA Kw -Kw +fg Tb Va Va @@ -9532,7 +9679,7 @@ ti ti hK Et -Kw +fg Kw Px yH @@ -9736,8 +9883,8 @@ ti ti hK Et -Kw -Kw +fg +fg Px zq Et @@ -9839,7 +9986,7 @@ yf Op sA Kw -Kw +fg Px zq Et @@ -9941,7 +10088,7 @@ ti hK Et Kw -Kw +fg gF zq KS @@ -10043,7 +10190,7 @@ Et Et Et Bz -Kw +fg Px zq Et @@ -10064,10 +10211,10 @@ tt So mw XD -XD +wS UK UK -XD +wS og IN qT @@ -10145,7 +10292,7 @@ ti hK Et Kw -Kw +fg Px zq rx @@ -10160,13 +10307,13 @@ fo oa lY FF -BH +vc cK DG IN wF Qy -XD +wS XK jh QE @@ -10246,8 +10393,8 @@ ZZ yf Op sA -Kw -Kw +fg +fg gF yH Et @@ -10262,7 +10409,7 @@ ci ci ci ci -BH +vc Uy DG IN @@ -10364,7 +10511,7 @@ fq jG PF ci -BH +vc cK to IN @@ -10466,17 +10613,17 @@ IM Gw bZ ci -BH +vc cK DG IN -UU +JV yz -ct -ct +Dk +Dk Qt -ct -ct +Dk +Dk ct Ka qT @@ -10568,13 +10715,13 @@ kB Tt eW ri -BH +vc Uy DG IN CW -ct -XD +Dk +wS YY Nv wJ @@ -10676,7 +10823,7 @@ qS IN UU QF -fO +JO Wn MF MF @@ -10876,7 +11023,7 @@ lD ci BH cK -He +Li fM Mw Ne @@ -11792,7 +11939,7 @@ gL ci AS AS -ND +Ks cK to IN @@ -11894,7 +12041,7 @@ od ci ci ci -wU +tk Uy DG dg @@ -11996,7 +12143,7 @@ GF Gx mL ci -nB +AN uc yY LC @@ -12098,13 +12245,13 @@ Xl Ug SO ci -wU -Uy +tk +ea fC EF yc -JB -JB +NI +NI JB JB VZ @@ -12200,8 +12347,8 @@ qb ag QW ci -wU -cK +tk +rz DG dg DI @@ -12302,9 +12449,9 @@ od od od ci -wU -cK -DG +tk +rz +kW IN dg dg @@ -12406,7 +12553,7 @@ ur ci mO cK -DG +kW IN hk ML @@ -12512,8 +12659,8 @@ DG dg ML dj -ct -ct +Dk +Dk va RU HO @@ -12715,7 +12862,7 @@ uL Qp IN aw -gy +qc kT MF MF @@ -12809,7 +12956,7 @@ zu oZ Sd RI -Tt +UL tT gX Zg @@ -12817,7 +12964,7 @@ jL Dj IN il -gy +qc gy MF pb @@ -13013,7 +13160,7 @@ ge JG od FR -Tt +UL AQ od RL @@ -13122,7 +13269,7 @@ RL Kx Dj IN -XD +wS DF yU yB @@ -13224,7 +13371,7 @@ RL Kx EE dg -XD +wS fO TE jp @@ -13328,8 +13475,8 @@ nX dg XD VA -YY -XD +ln +wS MF bf tu @@ -13428,10 +13575,10 @@ lM vt EE va -XD -XD -XD -XD +wS +wS +wS +wS SJ bf gN From fb0b44bdfe5766c8e5be65a0d5ee3f83f895da66 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 15 Dec 2024 23:00:11 +0300 Subject: [PATCH 121/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=BC=D0=B5=D1=80=D0=B4=D0=B6?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/modular_ss220.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/modular_ss220.dme b/modular_ss220/modular_ss220.dme index e80023eb857f..2297176d9333 100644 --- a/modular_ss220/modular_ss220.dme +++ b/modular_ss220/modular_ss220.dme @@ -80,11 +80,11 @@ #include "shuttles/_shuttles.dme" #include "sm_space_drop/sm_space_drop.dme" #include "smart_equip_targeted/_smart_equip_targeted.dme" +#include "text_to_speech/_tts.dme" #include "species_whitelist/_species_whitelist.dme" #include "species/_species.dme" #include "speech_filter/_speech_filter.dme" #include "station_traits/_station_traits.dme" -#include "text_to_speech/_tts.dme" #include "title_screen/_title_screen.dme" #include "translations/_translations.dme" #include "uplink_items/_uplink_items.dme" From 89a1cbae3dcd75fe8c7d57618e52e195b61ac086 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 15 Dec 2024 23:23:00 +0300 Subject: [PATCH 122/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80=20?= =?UTF-8?q?V2=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/_defines220/code/species.dm | 3 +++ modular_ss220/modular_ss220.dme | 2 +- .../code/organs/internal/implants/serpentid_mantis_blades.dm | 1 + modular_ss220/text_to_speech/code/_defines.dm | 2 -- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modular_ss220/_defines220/code/species.dm b/modular_ss220/_defines220/code/species.dm index f5e38d010ed5..be12bdc6b91a 100644 --- a/modular_ss220/_defines220/code/species.dm +++ b/modular_ss220/_defines220/code/species.dm @@ -12,3 +12,6 @@ #define GADOM_BASIC_LOAD_TIMER 2 SECONDS #define isserpentid(A) (is_species(A, /datum/species/serpentid)) + +/// Трейт ТТСа для робо рас +#define TTS_TRAIT_ROBOTIZE "tts_trait_robotize" diff --git a/modular_ss220/modular_ss220.dme b/modular_ss220/modular_ss220.dme index 2297176d9333..e80023eb857f 100644 --- a/modular_ss220/modular_ss220.dme +++ b/modular_ss220/modular_ss220.dme @@ -80,11 +80,11 @@ #include "shuttles/_shuttles.dme" #include "sm_space_drop/sm_space_drop.dme" #include "smart_equip_targeted/_smart_equip_targeted.dme" -#include "text_to_speech/_tts.dme" #include "species_whitelist/_species_whitelist.dme" #include "species/_species.dme" #include "speech_filter/_speech_filter.dme" #include "station_traits/_station_traits.dme" +#include "text_to_speech/_tts.dme" #include "title_screen/_title_screen.dme" #include "translations/_translations.dme" #include "uplink_items/_uplink_items.dme" diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm index 34bf0e87759b..53d87cb04f5d 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm @@ -10,6 +10,7 @@ force = 11 armour_penetration_flat = 30 tool_behaviour = TOOL_SAW + new_attack_chain = TRUE /obj/item/kitchen/knife/combat/serpentblade/Initialize(mapload) . = ..() diff --git a/modular_ss220/text_to_speech/code/_defines.dm b/modular_ss220/text_to_speech/code/_defines.dm index 0b79803da0d2..2db08e05eaa1 100644 --- a/modular_ss220/text_to_speech/code/_defines.dm +++ b/modular_ss220/text_to_speech/code/_defines.dm @@ -9,8 +9,6 @@ #define TTS_TRAIT_RATE_FASTER (1<<2) #define TTS_TRAIT_RATE_MEDIUM (1<<3) -#define TTS_TRAIT_ROBOTIZE "tts_trait_robotize" - #define TTS_CATEGORY_OTHER "Другое" #define TTS_CATEGORY_WARCRAFT3 "WarCraft 3" #define TTS_CATEGORY_HALFLIFE2 "Half-Life 2" From 4952d0c659ba934a280d3f04dceb64478bcb507a Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 19 Dec 2024 09:11:29 +0300 Subject: [PATCH 123/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D1=81=D0=B8?= =?UTF-8?q?=D0=B5=D1=80=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 55 ++++--------------- 1 file changed, 11 insertions(+), 44 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index a28e2ab33667..af90e052e8d6 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -159,12 +159,6 @@ icon_state = "darkbluefull" }, /area/ruin/space/sierra/med) -"bs" = ( -/obj/structure/chair/office/dark{ - dir = 4 - }, -/turf/space, -/area/space) "bt" = ( /obj/machinery/door/airlock/multi_tile, /obj/structure/disposalpipe/segment, @@ -778,11 +772,6 @@ /obj/machinery/door/airlock/maintenance_hatch, /turf/simulated/floor/engine, /area/ruin/space/sierra/maint) -"fX" = ( -/obj/machinery/door/airlock/highsecurity, -/obj/effect/turf_decal/delivery, -/turf/simulated/floor/plasteel/dark, -/area/space/nearstation) "gb" = ( /obj/machinery/atmospherics/unary/tank/air{ dir = 8 @@ -1723,9 +1712,7 @@ }, /area/ruin/space/sierra/med) "mG" = ( -/obj/machinery/door/airlock/highsecurity, /obj/effect/turf_decal/delivery, -/obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plasteel/dark, /area/space/nearstation) "mH" = ( @@ -1905,10 +1892,6 @@ /obj/machinery/atmospherics/portable/scrubber, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) -"oh" = ( -/obj/structure/lattice, -/turf/space, -/area/space) "ok" = ( /obj/machinery/chem_dispenser, /obj/item/reagent_containers/glass/beaker/large, @@ -2037,12 +2020,6 @@ icon_state = "darkbluefull" }, /area/ruin/space/sierra/med) -"pw" = ( -/obj/structure/chair/office/dark{ - dir = 1 - }, -/turf/space, -/area/space) "px" = ( /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" @@ -2778,7 +2755,7 @@ }, /obj/structure/lattice, /turf/space, -/area/space) +/area/ruin/space/sierra/hall) "vp" = ( /obj/effect/turf_decal/box, /obj/machinery/disposal, @@ -2988,7 +2965,7 @@ "wt" = ( /obj/structure/disposalpipe/segment, /turf/space, -/area/space) +/area/ruin/space/sierra/rnd) "ww" = ( /obj/effect/turf_decal/siding/trimline/blue{ dir = 4 @@ -4014,12 +3991,6 @@ icon_state = "white_large" }, /area/ruin/space/sierra/med) -"Fa" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, -/turf/space, -/area/space) "Fb" = ( /obj/structure/cable/green{ d1 = 1; @@ -5665,10 +5636,6 @@ icon_state = "purple" }, /area/space/nearstation) -"Sa" = ( -/obj/structure/chair/office/dark, -/turf/space, -/area/space) "Sb" = ( /obj/structure/closet, /obj/effect/decal/cleanable/dust, @@ -10326,7 +10293,7 @@ sU sU sU sU -qp +sU sU sU sU @@ -10531,7 +10498,7 @@ sU sU sU sU -Sa +sU sU sU yt @@ -10641,7 +10608,7 @@ Ih Lp Uz XV -fX +mG XV Uz qT @@ -11038,7 +11005,7 @@ qT sU sU sU -Sa +sU sU HD sU @@ -11245,7 +11212,7 @@ sU sU sU sU -Fa +sU sU sU sU @@ -11444,7 +11411,7 @@ VW Rz qT sU -pw +sU qp sU sU @@ -14497,7 +14464,7 @@ sU sU sU sU -bs +sU sU sU sU @@ -14704,7 +14671,7 @@ qT sU sU sU -Fa +sU qT qT Xw @@ -15216,7 +15183,7 @@ Uz Uz Uz Uz -oh +qT sU sU sU From 480c0736cdc9f20abc3a2807e365b45e8db614d4 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 19 Dec 2024 09:17:37 +0300 Subject: [PATCH 124/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=A1=D0=B8?= =?UTF-8?q?=D0=B5=D1=80=D1=80=D1=8B=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 100 ++++++++++++------ 1 file changed, 66 insertions(+), 34 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index af90e052e8d6..afc2e9ee541c 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -159,6 +159,13 @@ icon_state = "darkbluefull" }, /area/ruin/space/sierra/med) +"bs" = ( +/obj/structure/lattice, +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/space, +/area/space/nearstation) "bt" = ( /obj/machinery/door/airlock/multi_tile, /obj/structure/disposalpipe/segment, @@ -399,6 +406,9 @@ /turf/space, /area/ruin/space/sierra/rnd) "dv" = ( +/obj/structure/table{ + anchored = 0 + }, /turf/simulated/floor/plasteel/airless{ icon_state = "white" }, @@ -772,6 +782,10 @@ /obj/machinery/door/airlock/maintenance_hatch, /turf/simulated/floor/engine, /area/ruin/space/sierra/maint) +"fX" = ( +/obj/effect/turf_decal/delivery, +/turf/simulated/floor/plasteel/dark, +/area/space/nearstation) "gb" = ( /obj/machinery/atmospherics/unary/tank/air{ dir = 8 @@ -890,6 +904,9 @@ /obj/machinery/door/window/reinforced{ dir = 8 }, +/obj/structure/table{ + anchored = 0 + }, /turf/simulated/floor/plating/airless, /area/ruin/space/sierra/rnd) "gL" = ( @@ -1654,7 +1671,7 @@ dir = 1 }, /turf/space, -/area/space) +/area/ruin/space/sierra/rnd) "md" = ( /obj/structure/railing{ dir = 8; @@ -1712,8 +1729,11 @@ }, /area/ruin/space/sierra/med) "mG" = ( -/obj/effect/turf_decal/delivery, -/turf/simulated/floor/plasteel/dark, +/obj/structure/lattice, +/obj/structure/table{ + anchored = 0 + }, +/turf/space, /area/space/nearstation) "mH" = ( /obj/structure/disposalpipe/segment, @@ -1892,6 +1912,12 @@ /obj/machinery/atmospherics/portable/scrubber, /turf/simulated/floor/plasteel, /area/ruin/space/sierra/rnd) +"oh" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/plating/airless, +/area/space/nearstation) "ok" = ( /obj/machinery/chem_dispenser, /obj/item/reagent_containers/glass/beaker/large, @@ -2020,6 +2046,13 @@ icon_state = "darkbluefull" }, /area/ruin/space/sierra/med) +"pw" = ( +/obj/structure/lattice, +/obj/structure/chair/office/dark{ + dir = 1 + }, +/turf/space, +/area/space/nearstation) "px" = ( /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" @@ -2105,11 +2138,10 @@ /turf/simulated/floor/catwalk, /area/ruin/space/sierra/maint) "qp" = ( -/obj/structure/table{ - anchored = 0 - }, -/turf/space, -/area/space) +/obj/effect/mapping_helpers/turfs/damage, +/obj/structure/chair/office/dark, +/turf/simulated/floor/plasteel/airless, +/area/space/nearstation) "qq" = ( /obj/structure/closet/secure_closet/scientist, /turf/simulated/floor/plasteel/airless, @@ -10608,7 +10640,7 @@ Ih Lp Uz XV -mG +fX XV Uz qT @@ -10699,8 +10731,8 @@ qT sU sU sU -qp -qp +sU +sU qT sU sU @@ -10798,12 +10830,12 @@ LH MF IN qT -qT +mG sU sU sU sU -qT +mG sU sU sU @@ -10901,19 +10933,19 @@ ee hA qT sU -qp sU sU sU sU sU sU -qp +sU +sU sU qT LG Uz -mG +fX Uz Uz qT @@ -11013,7 +11045,7 @@ sU sU sU sU -Vv +qp CP yN Vv @@ -11412,10 +11444,10 @@ Rz qT sU sU -qp sU sU -qT +sU +bs sU sU sU @@ -11723,9 +11755,9 @@ sU sU sU sU -qT +mG +sU sU -qp sU sU sU @@ -13252,7 +13284,7 @@ YV Uv YV qT -qT +mG sU sU sU @@ -13452,7 +13484,7 @@ MF MF qT qT -qT +mG qT nC sU @@ -13461,7 +13493,7 @@ sU sU sU sU -qp +sU sU sU sU @@ -13556,7 +13588,7 @@ qT sU Mn sU -qp +sU sU sU ux @@ -13759,7 +13791,7 @@ sU sU Ad ph -qp +sU sU sU sU @@ -13858,7 +13890,7 @@ qT sU sU sU -qp +sU sU sU sU @@ -14064,14 +14096,14 @@ sU sU sU sU -qT +pw sU Wm sU sU gx sU -qp +sU sU sU sU @@ -14263,7 +14295,7 @@ sU sU sU sU -qT +mG qT sU sU @@ -14271,7 +14303,7 @@ sU sU sU qT -qT +mG sU sU sU @@ -14360,8 +14392,8 @@ qT sU sU sU -qp -qT +sU +mG sU sU sU @@ -14873,7 +14905,7 @@ sU qT Xw qT -sy +oh Xw Ld Uz From 51f02df1c46c84e599943c28f7418f0568b21ed6 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 25 Dec 2024 19:03:58 +0300 Subject: [PATCH 125/152] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/signals_mob/signals_mob_main.dm | 2 +- .../_components/carapace/carapace_shell.dm | 8 +++---- .../implants/serpentid_mantis_chest.dm | 24 +++++++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm b/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm index ce52326dcd67..58a02abc67c2 100644 --- a/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm +++ b/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm @@ -24,7 +24,7 @@ if(!Adjacent(usr)) return if(IsFrozen(src) && !is_admin(usr)) - to_chat(usr, "Interacting with admin-frozen players is not permitted.") + to_chat(usr, span_boldannounce("Interacting with admin-frozen players is not permitted.")) return if((SEND_SIGNAL(usr, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB)) SEND_SIGNAL(usr, COMSIG_GADOM_LOAD, usr, src) diff --git a/modular_ss220/species/_components/carapace/carapace_shell.dm b/modular_ss220/species/_components/carapace/carapace_shell.dm index b8a0072b521c..fdf588bd6dc0 100644 --- a/modular_ss220/species/_components/carapace/carapace_shell.dm +++ b/modular_ss220/species/_components/carapace/carapace_shell.dm @@ -203,8 +203,8 @@ /datum/surgery_step/finish_carapace/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] has mended the damaged carapace in [target]'s [affected.name] with \the [tool].", - "You have mended the damaged carapace in [target]'s [affected.name] with \the [tool].", + span_notice("[user] has mended the damaged carapace in [target]'s [affected.name] with \the [tool]."), + span_notice("You have mended the damaged carapace in [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) SEND_SIGNAL(target, COMSIG_SURGERY_REPAIR) @@ -213,8 +213,8 @@ /datum/surgery_step/finish_carapace/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!", - "Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!", + span_notice("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!"), + span_notice("Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_RETRY diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 9f35084626ab..0f0edb059db7 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -88,13 +88,13 @@ if(arm_item) if(istype(arm_item, /obj/item/offhand)) var/obj/item/offhand_arm_item = owner.get_active_hand() - to_chat(owner, "Your hands are too encumbered wielding [offhand_arm_item] to deploy [src]!") + to_chat(owner, span_warning("Your hands are too encumbered wielding [offhand_arm_item] to deploy [src]!")) return else if(!owner.unEquip(arm_item)) - to_chat(owner, "Your [arm_item] interferes with [src]!") + to_chat(owner, span_warning("Your [arm_item] interferes with [src]!")) return else - to_chat(owner, "You drop [arm_item] to activate [src]!") + to_chat(owner, span_notice("You drop [arm_item] to activate [src]!")) if(!owner.put_in_l_hand(holder_l)) return @@ -128,7 +128,7 @@ if(blades_implant.blades_active) if((M != H) && M.a_intent != INTENT_HELP && H.check_shields(M, 0, M.name, attack_type = UNARMED_ATTACK)) add_attack_logs(M, H, "Melee attacked with blades (miss/block)") - H.visible_message("[M] attempted to touch [H]!") + H.visible_message(span_warning("[M] attempted to touch [H]!")) return FALSE switch(M.a_intent) @@ -152,7 +152,7 @@ //Модификация усиленного граба /datum/species/proc/blades_grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(target.check_block()) - target.visible_message("[target] blocks [user]'s grab attempt!") + target.visible_message(span_warning("[target] blocks [user]'s grab attempt!")) return FALSE if(!attacker_style && target.buckled) target.buckled.user_unbuckle_mob(target, user) @@ -169,12 +169,12 @@ if(user == target) return FALSE if(target.check_block()) - target.visible_message("[target] blocks [user]'s disarm attempt!") + target.visible_message(span_warning("[target] blocks [user]'s disarm attempt!")) return FALSE if(SEND_SIGNAL(target, COMSIG_HUMAN_ATTACKED, user) & COMPONENT_CANCEL_ATTACK_CHAIN) return FALSE if(target.absorb_stun(0)) - target.visible_message("[target] is not affected by [user]'s disarm attempt!") + target.visible_message(span_warning("[target] is not affected by [user]'s disarm attempt!")) user.do_attack_animation(target, ATTACK_EFFECT_DISARM) playsound(target.loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) return FALSE @@ -227,8 +227,8 @@ var/moved = target.Move(shove_to, shove_dir) if(!moved) //they got pushed into a dense object add_attack_logs(user, target, "Disarmed into a dense object", ATKLOG_ALL) - target.visible_message("[user] slams [target] into an obstacle!", \ - "You get slammed into the obstacle by [user]!", \ + target.visible_message(span_warning("[user] slams [target] into an obstacle!"), \ + span_userdanger("You get slammed into the obstacle by [user]!"), \ "You hear a loud thud.") if(!HAS_TRAIT(target, TRAIT_FLOORED)) target.KnockDown(3 SECONDS) @@ -244,19 +244,19 @@ target.Slowed(2.5 SECONDS, 0.5) var/obj/item/I = target.get_active_hand() if(I) - to_chat(target, "Your grip on [I] loosens!") + to_chat(target, span_warning("Your grip on [I] loosens!")) add_attack_logs(user, target, "Disarmed, shoved back", ATKLOG_ALL) target.stop_pulling() //Модификация усиленного дизарма /datum/species/proc/blades_harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm [target]!") + to_chat(user, span_warning("You don't want to harm [target]!")) return FALSE if(target != user && handle_harm_antag(user, target)) return FALSE if(target.check_block()) - target.visible_message("[target] blocks [user]'s attack!") + target.visible_message(span_warning("[target] blocks [user]'s attack!")) return FALSE if(SEND_SIGNAL(target, COMSIG_HUMAN_ATTACKED, user) & COMPONENT_CANCEL_ATTACK_CHAIN) return FALSE From c367d4145a756be8371a2ac1a75ac4d2c0680de7 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 25 Dec 2024 19:08:39 +0300 Subject: [PATCH 126/152] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=20=D0=B4=D0=B5=D1=84=D0=B0=D0=B9=D0=BD=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/modular_ss220.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/modular_ss220.dme b/modular_ss220/modular_ss220.dme index e80023eb857f..df1e6af6e667 100644 --- a/modular_ss220/modular_ss220.dme +++ b/modular_ss220/modular_ss220.dme @@ -7,9 +7,9 @@ #include "_rust_utils/_rust_utils.dme" #include "_components/_components.dme" #include "_defines220/_defines220.dme" +#include "_span/_span.dme" #include "_signals220/_signals220.dme" #include "_misc/_misc.dme" -#include "_span/_span.dme" #include "maps220/_maps220.dme" // --- ICONS --- // From 6ae4c896604749b1c949c3cd2a06d0e26bff1b95 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 25 Dec 2024 21:38:39 +0300 Subject: [PATCH 127/152] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=88=D0=BE=D0=B5=20=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F=20=D0=B8=D0=B2=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=20(=D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D1=8B=20?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D1=85=D0=B8=D0=BC-=D1=80?= =?UTF-8?q?=D0=B5=D0=B0=D0=BA=D1=86=D0=B8=D1=8E)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_code/reagents.dm | 76 ++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 2 deletions(-) diff --git a/modular_ss220/species/_code/reagents.dm b/modular_ss220/species/_code/reagents.dm index b7a254b2b059..268d76155f16 100644 --- a/modular_ss220/species/_code/reagents.dm +++ b/modular_ss220/species/_code/reagents.dm @@ -1,6 +1,6 @@ /obj/item/seeds/cabbage/Initialize(mapload) . = ..() - reagents_add += list("cabbagilium" = 0.01) + reagents_add += list("cabbagilium" = 0.1) /datum/reagent/cabbagilium name = "Cabbagilium" @@ -146,7 +146,6 @@ mix_message = "The mixture fizzes into a vibrant red solution that doesn't stay still." mix_sound = 'sound/goonstation/misc/fuse.ogg' - //Пара помощников - получить количество и путь химиката по его ID в теле куклы /mob/living/carbon/human/proc/get_chemical_value(id) for(var/datum/reagent/R in src.reagents.reagent_list) @@ -160,3 +159,76 @@ if(R.id == id) return R return null + +//Ивентовые рецепты (Удалить?) +/datum/chemical_reaction/serpentid_eyes + name = "Serpeye" + id = "serpeye" + result = null + required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "oculine" = 20) + result_amount = 1 + +/datum/chemical_reaction/serpentid_eyes/on_reaction(datum/reagents/holder, created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/organ/internal/eyes/serpentid(location) + +/datum/chemical_reaction/serpentid_ears + name = "Serpears" + id = "serpears" + result = null + required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "sonic_powder" = 20) + result_amount = 1 + +/datum/chemical_reaction/serpentid_ears/on_reaction(datum/reagents/holder, created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/organ/internal/ears/serpentid(location) + +/datum/chemical_reaction/serpentid_lungs + name = "Serplungs" + id = "serplungs" + result = null + required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "perfluorodecalin" = 20) + result_amount = 1 + +/datum/chemical_reaction/serpentid_lungs/on_reaction(datum/reagents/holder, created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/organ/internal/lungs/serpentid(location) + +/datum/chemical_reaction/serpentid_liver + name = "Serpliver" + id = "serpliver" + result = null + required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "nutriment" = 20) + result_amount = 1 + +/datum/chemical_reaction/serpentid_liver/on_reaction(datum/reagents/holder, created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/organ/internal/liver/serpentid(location) + +/datum/chemical_reaction/serpentid_heart + name = "Serpheart" + id = "serpheart" + result = null + required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "teslium" = 20) + result_amount = 1 + +/datum/chemical_reaction/serpentid_heart/on_reaction(datum/reagents/holder, created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/organ/internal/heart/serpentid(location) + +/datum/chemical_reaction/serpentid_kidneys + name = "Serpkidneys" + id = "serpkidneys" + result = null + required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "synaptizine" = 20) + result_amount = 1 + +/datum/chemical_reaction/serpentid_kidneys/on_reaction(datum/reagents/holder, created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/organ/internal/kidneys/serpentid(location) From fe61919abf8fcc0dd6878196aa149eec7ae76fb6 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 26 Dec 2024 12:33:08 +0300 Subject: [PATCH 128/152] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=BD=D0=B0=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B0=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=B8=D0=B2=D0=B5=D0=BD=D1=82=D0=B0.=20=D0=A0=D0=B5=D0=B2?= =?UTF-8?q?=D0=BE=D1=80=D0=BA=20=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D1=8B?= =?UTF-8?q?=20=D0=BB=D0=B5=D0=B3=D0=BA=D0=B8=D1=85.=20=D0=9A=D0=BE=D1=80?= =?UTF-8?q?=D1=80=D0=B5=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=86=D0=B2=D0=B5=D1=82=D0=B0=20=D0=BA=D0=BB=D0=B8=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=BF=D1=80=D0=B8=20=D1=81=D0=BF=D0=B0=D0=B2?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=BA=D1=83=D0=BA=D0=BB=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/RandomRuins/space/space_ruins.dm | 1 + .../implants/serpentid_mantis_chest.dm | 4 + .../organs/serpentids_organs_lungs.dm | 101 ++++++++++-------- 3 files changed, 60 insertions(+), 46 deletions(-) diff --git a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm index 01eeb35f2dd8..9db502f5d101 100644 --- a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm +++ b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm @@ -96,3 +96,4 @@ suffix = "sierra_1_4.dmm" // cost = 20 я хуй знает как это тут сделать, так что похуй. allow_duplicates = FALSE + always_place = TRUE diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 0f0edb059db7..a65afda4c800 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -18,6 +18,7 @@ var/activation_in_progress = FALSE unremovable = TRUE emp_proof = TRUE + var/first_recollor = TRUE /datum/action/item_action/organ_action/toggle/switch_blades name = "Switch Threat Mode" @@ -27,6 +28,9 @@ /obj/item/organ/internal/cyberimp/chest/serpentid_blades/on_life() . = ..() + if(first_recollor) + update_overlays() + first_recollor = FALSE if(blades_active) var/isleft = owner.hand var/obj/item/item = (isleft ? owner.get_inactive_hand() : owner.get_active_hand()) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index f52903589fef..2c20fcb54094 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -3,6 +3,7 @@ #define SERPENTID_COLD_THRESHOLD_LEVEL_DOWN 40 #define SERPENTID_HEAT_THRESHOLD_LEVEL_BASE 350 #define SERPENTID_HEAT_THRESHOLD_LEVEL_UP 60 +#define SERPENTID_LUNGS_SAFE_TIMER 10 SECONDS /obj/item/organ/internal/lungs/serpentid name = "thacheal bag" @@ -16,10 +17,11 @@ var/chemical_consuption = SERPENTID_ORGAN_HUNGER_LUNGS var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank var/chem_to_oxy_mult = 0.1 - var/danger_air = FALSE var/hand_active = FALSE var/active_secretion = FALSE var/salbutamol_production = 0.5 + var/last_safe_zone_check = 0 + var/last_danger_air_check = 0 radial_action_state = "ballon" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' @@ -50,59 +52,75 @@ heat_level_2_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + SERPENTID_HEAT_THRESHOLD_LEVEL_UP heat_level_3_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + 2*SERPENTID_HEAT_THRESHOLD_LEVEL_UP +/obj/item/organ/internal/lungs/serpentid/proc/switch_mode_on() + if(owner?.nutrition >= NUTRITION_LEVEL_HYPOGLYCEMIA) + active_secretion = TRUE + chemical_consuption = initial(chemical_consuption) + last_safe_zone_check = world.time + else + switch_mode_off() + +/obj/item/organ/internal/lungs/serpentid/proc/switch_mode_off() + active_secretion = FALSE + chemical_consuption = 0 + /obj/item/organ/internal/lungs/serpentid/switch_mode(force_off = FALSE) . = ..() - if(!hand_active) - owner.internal = serpentid_vault - hand_active = TRUE + if(!force_off && !(status & ORGAN_DEAD)) + switch_mode_on() else - owner.internal = null - hand_active = FALSE + switch_mode_off() + SEND_SIGNAL(src, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, chemical_consuption) /obj/item/organ/internal/lungs/serpentid/on_life() . = ..() if(!owner) return - var/datum/gas_mixture/breath var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] - var/breath_moles = 0 var/turf/T = get_turf(owner) var/datum/gas_mixture/environment = get_turf_air(T) + var/danger_air = lung_data.in_danger_zone(environment) - if(environment) - breath_moles = environment.total_moles()*BREATH_PERCENTAGE - breath = environment.get_by_amount(breath_moles) - danger_air = lung_data.in_danger_zone(breath) + if(last_danger_air_check) + last_safe_zone_check = world.time - if(owner.getOxyLoss()) - if(!active_secretion) - switch_mode(FALSE) - else + last_danger_air_check = danger_air + + if(active_secretion) + // Если Серпентид выделяет вещества и задыхается - подать сальбутамол + if(owner.getOxyLoss()) owner.reagents.add_reagent("salbutamol", salbutamol_production) - else - if(active_secretion) - switch_mode(TRUE) - if(!hand_active) - if(danger_air && (owner.stat == UNCONSCIOUS)) - if(!owner.internal) - owner.internal = serpentid_vault - else if(!danger_air && owner.internal == serpentid_vault) - owner.internal = null + // Если Серпентид выделяет вещества, но среда опасна и не активен "болон" - дышать через мешок + if(danger_air && !owner.internal) + owner.internal = serpentid_vault + + // Если Серпентид выделяет вещества, но среда не опасна и с момента последней проверки на безопасность дыхание прошло более 10 секунд - прекращение выделения + var/safe_zone_timer = world.time - last_safe_zone_check + if(safe_zone_timer > SERPENTID_LUNGS_SAFE_TIMER && !danger_air) + switch_mode_off() + + // Если Серпентид не выделяет вещества, и среда опасна и он без сознания - начать выделять вещества + if(danger_air && (owner.stat == UNCONSCIOUS) && !active_secretion) + if(!owner.internal) + switch_mode_on() + + // Если среда не опасна и Серпентид дышит через мешок - дышать нормально + if(!danger_air && owner.internal == serpentid_vault) + owner.internal = null var/datum/gas_mixture/int_tank_air = serpentid_vault.air_contents var/pressure_value = int_tank_air.return_pressure() + // Если давление в мешке ниже нормы (50 КПа) if(pressure_value < 50) var/replenish_value = 0 + // Если среда опасна, вырабатывать кислород химические, иначе наполнять его через среду if(danger_air) - if(!active_secretion) - switch_mode(FALSE) - else + if(active_secretion) replenish_value = chemical_consuption * chem_to_oxy_mult else - if(active_secretion) - switch_mode(TRUE) + var/breath_moles = 0 if(environment) breath_moles = environment.total_moles()*BREATH_PERCENTAGE var/datum/gas_mixture/replenish_gas = environment.get_by_amount(breath_moles) @@ -115,15 +133,15 @@ //Без этого псевдо-баллон не работает (отрубается так как не проходит проверки основы) /mob/living/carbon/breathe(datum/gas_mixture/environment) - var/obj/item/organ/internal/lungs/lugns = null + var/obj/item/organ/internal/lungs/lungs = null for(var/obj/item/organ/internal/O in src.internal_organs) if(istype(O, /obj/item/organ/internal/lungs)) - lugns = O - if(istype(lugns, /obj/item/organ/internal/lungs/serpentid)) - var/obj/item/organ/internal/lungs/serpentid/serpentid_lungs = lugns + lungs = O + if(istype(lungs, /obj/item/organ/internal/lungs/serpentid)) + var/obj/item/organ/internal/lungs/serpentid/serpentid_lungs = lungs if(src.internal == serpentid_lungs.serpentid_vault) var/mob/living/carbon/human/puppet = src - var/breath = puppet.serpen_lugns(BREATH_VOLUME) + var/breath = puppet.serpen_lungs(BREATH_VOLUME) check_breath(breath) if(breath) environment.merge(breath) @@ -133,7 +151,7 @@ return . = ..() -/mob/living/carbon/human/proc/serpen_lugns(volume_needed) +/mob/living/carbon/human/proc/serpen_lungs(volume_needed) if(internal) return internal.remove_air_volume(volume_needed) return null @@ -212,16 +230,7 @@ return danger_zone -/obj/item/organ/internal/lungs/serpentid/switch_mode(force_off = FALSE) - . = ..() - if(!force_off && owner?.nutrition >= NUTRITION_LEVEL_HYPOGLYCEMIA && !(status & ORGAN_DEAD)) - active_secretion = TRUE - chemical_consuption = initial(chemical_consuption) - else - active_secretion = FALSE - chemical_consuption = 0 - SEND_SIGNAL(src, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, chemical_consuption) - +#undef SERPENTID_LUNGS_SAFE_TIMER #undef SERPENTID_COLD_THRESHOLD_LEVEL_BASE #undef SERPENTID_COLD_THRESHOLD_LEVEL_DOWN #undef SERPENTID_HEAT_THRESHOLD_LEVEL_BASE From 8b9fd91500c8eef86435907f4f6aff6975ca730c Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 26 Dec 2024 14:16:05 +0300 Subject: [PATCH 129/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/implants/serpentid_mantis_chest.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index a65afda4c800..fa3e72dda1b2 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -29,7 +29,7 @@ /obj/item/organ/internal/cyberimp/chest/serpentid_blades/on_life() . = ..() if(first_recollor) - update_overlays() + update_icon(UPDATE_OVERLAYS) first_recollor = FALSE if(blades_active) var/isleft = owner.hand From 76a9156902489a5c34744927fe9f5e30a5ddd10d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 26 Dec 2024 17:47:33 +0300 Subject: [PATCH 130/152] =?UTF-8?q?=D0=9B=D0=B5=D0=B3=D0=BA=D0=B8=D0=B9=20?= =?UTF-8?q?=D1=82=D0=B2=D0=B8=D0=BA=20=D1=81=D0=B5=D1=80=D0=B4=D1=86=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/_components/organs/heart_defib_hunger.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_ss220/species/_components/organs/heart_defib_hunger.dm b/modular_ss220/species/_components/organs/heart_defib_hunger.dm index f258ce592ba8..bdc8b0ce55e4 100644 --- a/modular_ss220/species/_components/organs/heart_defib_hunger.dm +++ b/modular_ss220/species/_components/organs/heart_defib_hunger.dm @@ -22,9 +22,9 @@ owner = limb.owner if(!owner) qdel(src) - if(owner?.nutrition < NUTRITION_LEVEL_FED || owner.stat != DEAD || owner.get_damage_amount() > AUTO_DEFIBRILATION_THRESHOLD) + if(owner?.nutrition < NUTRITION_LEVEL_HUNGRY || owner.stat != DEAD || owner.get_damage_amount() > AUTO_DEFIBRILATION_THRESHOLD) return - var/defib_chance = owner.nutrition - NUTRITION_LEVEL_FED + var/defib_chance = owner.nutrition - NUTRITION_LEVEL_HUNGRY owner.adjust_nutrition(-defib_chance) if(prob(defib_chance)) owner.setOxyLoss(0) From 1fc24c39be2aa199fa69d718166b3a3947bb6552 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 28 Dec 2024 08:11:45 +0300 Subject: [PATCH 131/152] =?UTF-8?q?=D0=9F=D0=BE=D0=BC=D0=B5=D1=82=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D1=81=D0=BD=D0=BE=D1=81=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=B8=D0=B2=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm index 9db502f5d101..07597d032353 100644 --- a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm +++ b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm @@ -96,4 +96,4 @@ suffix = "sierra_1_4.dmm" // cost = 20 я хуй знает как это тут сделать, так что похуй. allow_duplicates = FALSE - always_place = TRUE + always_place = TRUE // Ивент - убрать после From 81ba9b2ecd1c1539bb0c2e3e039a2741259f207d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 28 Dec 2024 09:01:07 +0300 Subject: [PATCH 132/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80,?= =?UTF-8?q?=20=D0=BC=D0=B5=D1=82=D0=B0=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _maps/map_files220/stations/metastation.dmm | 1 - 1 file changed, 1 deletion(-) diff --git a/_maps/map_files220/stations/metastation.dmm b/_maps/map_files220/stations/metastation.dmm index 10ebb45b2d76..39851a8b89fd 100644 --- a/_maps/map_files220/stations/metastation.dmm +++ b/_maps/map_files220/stations/metastation.dmm @@ -75577,7 +75577,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "redcorner" From af33a7f966afa5392875b25e4f4f9a6f9d12b433 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 28 Dec 2024 09:06:43 +0300 Subject: [PATCH 133/152] =?UTF-8?q?=D0=9D=D0=B5=20=D0=BC=D0=B5=D1=82=D0=B0?= =?UTF-8?q?,=20=D0=BD=D0=BE=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=D0=B9=D0=B4=D0=B5=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _maps/map_files220/stations/metastation.dmm | 1 + 1 file changed, 1 insertion(+) diff --git a/_maps/map_files220/stations/metastation.dmm b/_maps/map_files220/stations/metastation.dmm index 39851a8b89fd..10ebb45b2d76 100644 --- a/_maps/map_files220/stations/metastation.dmm +++ b/_maps/map_files220/stations/metastation.dmm @@ -75577,6 +75577,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "redcorner" From 2445c20e29b5e22f7441a2dbf91322b77fde0280 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 28 Dec 2024 09:41:57 +0300 Subject: [PATCH 134/152] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=88=D0=BE=D0=B5=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=BC=D0=B5=D1=82=D0=BE=D0=BA?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=B8=D0=B2=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_code/reagents.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/_code/reagents.dm b/modular_ss220/species/_code/reagents.dm index 268d76155f16..e68a31b91d49 100644 --- a/modular_ss220/species/_code/reagents.dm +++ b/modular_ss220/species/_code/reagents.dm @@ -160,7 +160,7 @@ return R return null -//Ивентовые рецепты (Удалить?) +//Ивентовые рецепты (Удалить после) /datum/chemical_reaction/serpentid_eyes name = "Serpeye" id = "serpeye" From 5370aa2ba54c9ef8d2777986598f662c0526b7f6 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 30 Dec 2024 10:05:39 +0300 Subject: [PATCH 135/152] =?UTF-8?q?=D0=94=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20=D0=93=D0=91=D0=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/_defines220/code/species.dm | 4 ++++ .../carrying/grab_and_drag_on_mob_crates.dm | 14 +++++++++++--- .../carrying/grab_and_drag_on_mob_mobs.dm | 13 ++++++++----- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/modular_ss220/_defines220/code/species.dm b/modular_ss220/_defines220/code/species.dm index be12bdc6b91a..aa25bfb03f7f 100644 --- a/modular_ss220/_defines220/code/species.dm +++ b/modular_ss220/_defines220/code/species.dm @@ -15,3 +15,7 @@ /// Трейт ТТСа для робо рас #define TTS_TRAIT_ROBOTIZE "tts_trait_robotize" + +/mob/living/carbon/human + var/atom/movable/loaded = null + var/mob/living/passenger = null diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm index 49140e23cfe1..c65bac3ff47e 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm @@ -19,6 +19,7 @@ /datum/component/gadom_cargo/Initialize() ..() carrier = parent + START_PROCESSING(SSprojectiles, src) /datum/component/gadom_cargo/RegisterWithParent() RegisterSignal(parent, COMSIG_GADOM_LOAD, PROC_REF(try_load_cargo)) @@ -39,12 +40,15 @@ INVOKE_ASYNC(src, PROC_REF(pre_load), component_holder, user, AM) /datum/component/gadom_cargo/proc/pre_load(datum/component_holder, mob/user, mob/AM) - if(user.a_intent == "grab") - if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, AM) > 1) + var/mob/living/carbon/human/check_one = user + if(check_one.a_intent == "grab") + if(check_one.loaded || check_one.passenger || AM.anchored || get_dist(check_one, AM) > 1 || check_one.incapacitated() || HAS_TRAIT(check_one, TRAIT_HANDS_BLOCKED)) return + if(!istype(AM, /obj/structure/closet/crate/)) return - if(!do_after(user, GADOM_BASIC_LOAD_TIMER * user.dna.species.action_mult, FALSE, AM)) + + if(!do_after(check_one, GADOM_BASIC_LOAD_TIMER * check_one.dna.species.action_mult, FALSE, AM)) return load(AM) @@ -76,6 +80,10 @@ carrier.update_icon() carrier.throw_alert("serpentid_holding", /atom/movable/screen/alert/carrying) +/datum/component/gadom_cargo/process() + if(carrier.incapacitated() || HAS_TRAIT(carrier, TRAIT_HANDS_BLOCKED)) + try_unload_cargo() + /datum/component/gadom_cargo/proc/try_unload_cargo() SIGNAL_HANDLER var/dirn = carrier.dir diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm index 9244183c6a83..de24896b6772 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm @@ -3,15 +3,12 @@ Компонент для переноса мобов на мобах. Срабатывает в случае граб-интента, драг-энд-дропа моба на модель (аля стул) */ -/mob/living/carbon/human - var/atom/movable/loaded = null - var/mob/living/passenger = null - /datum/component/gadom_living var/mob/living/carbon/human/carrier = null /datum/component/gadom_living/Initialize() carrier = parent + START_PROCESSING(SSprojectiles, src) /datum/component/gadom_living/RegisterWithParent() RegisterSignal(parent, COMSIG_GADOM_LOAD, PROC_REF(try_load_mob)) @@ -41,11 +38,12 @@ load(puppet, target) /datum/component/gadom_living/proc/load(mob/living/carbon/human/puppet, atom/movable/AM) - if(puppet.loaded || puppet.passenger || AM.anchored || get_dist(puppet, AM) > 1) + if(puppet.loaded || puppet.passenger || AM.anchored || get_dist(puppet, AM) > 1 || puppet.incapacitated() || HAS_TRAIT(puppet, TRAIT_HANDS_BLOCKED)) return if(!isitem(AM) && !ismachinery(AM) && !isstructure(AM) && !ismob(AM)) return + if(!isturf(AM.loc)) return @@ -66,6 +64,11 @@ return TRUE return FALSE +/datum/component/gadom_living/process() + . = ..() + if(carrier.incapacitated() || HAS_TRAIT(carrier, TRAIT_HANDS_BLOCKED)) + try_unload_mob() + /datum/component/gadom_living/proc/try_unload_mob(mob/user) SIGNAL_HANDLER if(!carrier.passenger) From 6af3940a487ab9f942bf491cffdc3c2c3d35f984 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 3 Jan 2025 01:17:40 +0300 Subject: [PATCH 136/152] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B0=20=D1=8D=D0=BC=D0=BE?= =?UTF-8?q?=D1=83=D1=82=D0=BE=D0=B2,=20=D0=BA=D0=BE=D1=80=D1=80=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=B3=D0=BE?= =?UTF-8?q?=D0=BB=D0=BE=D0=B4=D0=B0=20=D1=83=20=D0=BB=D0=B5=D0=B3=D0=BA?= =?UTF-8?q?=D0=B8=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_code/common.dm | 2 +- modular_ss220/species/serpentids/code/mob/emotes.dm | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/modular_ss220/species/_code/common.dm b/modular_ss220/species/_code/common.dm index b36a7fba0281..cc3710debe5d 100644 --- a/modular_ss220/species/_code/common.dm +++ b/modular_ss220/species/_code/common.dm @@ -11,7 +11,7 @@ //Обычный, здоровый ГБС без дополнительных химикатов и болезней потребляет 0.1 единицы голода в тик (2 секунды), считаем от хорошо насыщенного до истощения //Сколько голода потребляют легкие (сальбутамол и подвыработка кислорода) -#define SERPENTID_ORGAN_HUNGER_LUNGS 1 //11 минут +#define SERPENTID_ORGAN_HUNGER_LUNGS 0.75 //15 минут //Сколько голода потребляют почки (скрытность) #define SERPENTID_ORGAN_HUNGER_KIDNEYS 0.5 //19 минут //Сколько голода потребляют глаза (ПНВ) diff --git a/modular_ss220/species/serpentids/code/mob/emotes.dm b/modular_ss220/species/serpentids/code/mob/emotes.dm index a8665b5274dd..a7aaef7e64e1 100644 --- a/modular_ss220/species/serpentids/code/mob/emotes.dm +++ b/modular_ss220/species/serpentids/code/mob/emotes.dm @@ -45,8 +45,9 @@ message = "шипит." message_param = "шипит на %t." species_type_whitelist_typecache = list(/datum/species/serpentid) - emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_MOUTH age_based = TRUE + muzzled_noises = list("слабо") sound = "modular_ss220/species/serpentids/sounds/serpentid_hiss.ogg" muzzled_noises = list("weak hissing") @@ -57,11 +58,12 @@ message_param = "шевелит усиками в сторону %t." cooldown = 5 SECONDS species_type_whitelist_typecache = list(/datum/species/serpentid) - emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_MOUTH + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE age_based = TRUE - volume = 80 - muzzled_noises = list("слабо") sound = 'modular_ss220/species/serpentids/sounds/serpentid_tendrils.ogg' + hands_use_check = FALSE + target_behavior = EMOTE_TARGET_BHVR_USE_PARAMS_ANYWAY + emote_target_type = EMOTE_TARGET_ANY /datum/keybinding/emote/carbon/human/serpentidroar linked_emote = /datum/emote/living/carbon/human/serpentidroar From d39a73213dc1b6026261ffa1be4a4fe5cf4ca2f2 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 4 Jan 2025 02:51:46 +0300 Subject: [PATCH 137/152] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BC=D0=B0=D1=82=D1=80=D0=B8=D1=86=D1=8B?= =?UTF-8?q?=20=D0=B7=D1=80=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organs/internal/organs/serpentids_organs_eyes.dm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index b578a45fa315..427016c0cc02 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -11,7 +11,7 @@ flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE var/chemical_consuption = SERPENTID_ORGAN_HUNGER_EYES - var/vision_ajust_coefficient = 0.7 + var/vision_ajust_coefficient = 0.75 var/update_time_client_colour = 10 var/active = FALSE radial_action_state = "serpentid_nvg" @@ -42,13 +42,10 @@ /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() if(!owner) return - var/chem_value = (owner.nutrition - NUTRITION_LEVEL_STARVING)/NUTRITION_LEVEL_HUNGRY - var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) - var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE/2)*SERPENTID_EYES_LOW_VISIBLE_VALUE - - vision_concentration = SERPENTID_EYES_LOW_VISIBLE_VALUE * (1 - chem_value ** vision_ajust_coefficient) - var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE) + var/chem_value = clamp((owner.nutrition - NUTRITION_LEVEL_STARVING)/NUTRITION_LEVEL_STARVING, 0, 1) + var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) + var/vision_adjust= clamp((1 - vision_chem)/2, 0, 1) var/vision_matrix = list(vision_chem, vision_adjust, vision_adjust,\ vision_adjust, vision_chem, vision_adjust,\ vision_adjust, vision_adjust, vision_chem) From efdb1d24085ab703506f1ed34237405cb8fdd435 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 4 Jan 2025 02:52:21 +0300 Subject: [PATCH 138/152] =?UTF-8?q?=D0=A7=D0=B8=D1=81=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/organs/serpentids_organs_eyes.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 427016c0cc02..2364923b1c73 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -11,7 +11,6 @@ flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE var/chemical_consuption = SERPENTID_ORGAN_HUNGER_EYES - var/vision_ajust_coefficient = 0.75 var/update_time_client_colour = 10 var/active = FALSE radial_action_state = "serpentid_nvg" From eec1e11e7c721c15e72aa1c79f8df747f35cd3ae Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 5 Jan 2025 12:28:31 +0300 Subject: [PATCH 139/152] =?UTF-8?q?=D0=A1=D0=BF=D1=80=D0=B0=D0=B9=D1=82?= =?UTF-8?q?=D1=8B=20=D1=83=D1=80=D0=BE=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/mob/serpentids.dm | 4 ++++ .../serpentids/icons/mob/r_serpentid.dmi | Bin 3072 -> 3070 bytes .../icons/mob/r_serpentid_blood.dmi | Bin 0 -> 5884 bytes .../serpentids/icons/mob/r_serpentid_dam.dmi | Bin 0 -> 6177 bytes .../icons/mob/r_serpentid_dam_mask.dmi | Bin 0 -> 1398 bytes 5 files changed, 4 insertions(+) create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_blood.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_dam.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_dam_mask.dmi diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index b67eb392748e..e51cd3f59181 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -41,6 +41,10 @@ exotic_blood = "facid" blood_color = "#b0fc22" + damage_overlays = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_dam.dmi' + damage_mask = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_dam_mask.dmi' + blood_mask = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_blood.dmi' + reagent_tag = PROCESS_ORG punchdamagehigh = 10 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi index 4ff3cf92d4770e8e0d07ad8599a2ef79dfd24de5..a4e0c793a1dcc0a3e2c9d770bd8a0af7afd56cf2 100644 GIT binary patch delta 2751 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 delta 2753 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 aU%}7^WWH*C*9d55gDzjRK@j1$|NJ+#yR(k~ literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_dam.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_dam.dmi new file mode 100644 index 0000000000000000000000000000000000000000..35b6c23c792bb65b603a14969d4549ba860bebff GIT binary patch literal 6177 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 M&90f2U2>284`?zF1^@s6 literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_dam_mask.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_dam_mask.dmi new file mode 100644 index 0000000000000000000000000000000000000000..95a91ea4ef017f7f5da1aef0e8ba32c582e129f5 GIT binary patch literal 1398 zcmV-+1&R8JP)hkEiE%OH8l(j3?CmKQ&UrXe0fFDZ*Bkpc$|&V%?iRW3RS& zvAyL_ek72z;yjGgEc(mDZw8ZxRh&e(*>ZOGnp_TtJ!j5%>*(1z@BTH7ZD_*79NT zFKfjx_pjeS02=?17-eTEE&u=oP)S5VRCt{2o!f2QFbsyR08L({4GLs|ymW#N(bt0x z(T zrHNwJkvP`ekLJ_*L~nHLo}2(7h$-fW&leQPlnGrY&@i^2)WFk|1YbU^!pkf6x*(Dh zLsI`MVKr;6xY8DN>(90~b`UaFF%aGguEb2y%4Dq+DJhOUlz#``CFg zLcB<*T)9P`F@bhLgWq*sX%M81@v&%&;&y_vtDxtlwMCFvWe~&!@kxKZAkU6pDTv=} zHr#wV2x5;fHxT3t$qNLrG3q{Ije^MY)GY-0OyVLzdmr#ViJ+Lefgt*(+xfM3$UU-3 zL20VHpv*)4#e(XuRoByf)>^rppv-I3#oVle#G5ey000000000000000!QyK^!RPFT z2FLBP#Yf%hbA%w@uro45LEXE^1r{#KmYIe04@iy?J+;+KWb}jxXeX(kP-c&|PF-b5Snu)mOPz08$*{Z7kReKF}C!g8YlB!Wi$T?M7fEMNZlSG1UCwNX&4vR=^hn@8bh{D`NX z^cz2PWm%N;x~n>(`hQ8zdha&hS*@5q#6~Xc2gk3b3bq?mI=A=0W;r~5wU?Io)v2_^ zuTJHLg6i?DbJYy;pTo5s>WCIjI$O{E1gY_@)6wEv=cC290000000000006+J=aB!g zW$#H+d#h(JTle1W+hp^Gs(^iGD_1uaWcSY11 Date: Sun, 5 Jan 2025 14:07:40 +0300 Subject: [PATCH 140/152] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=A1=D1=8C=D0=B5=D1=80=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm | 1 - 1 file changed, 1 deletion(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index afc2e9ee541c..b5e0832226d0 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -1553,7 +1553,6 @@ /area/space/nearstation) "lp" = ( /obj/machinery/cell_charger, -/obj/random/powercell, /obj/structure/table, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) From b15172a86c25f58dce9463120c87dd1f1d352320 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 5 Jan 2025 15:15:07 +0300 Subject: [PATCH 141/152] =?UTF-8?q?=D0=9D=D0=B0=D0=BA=D1=80=D1=83=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=D0=B5=D1=81=D0=B0=20=D0=BF=D0=BE=D1=8F?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81=D1=8C=D0=B5=D1=80?= =?UTF-8?q?=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm index 07597d032353..f7b4f8a66756 100644 --- a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm +++ b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm @@ -97,3 +97,7 @@ // cost = 20 я хуй знает как это тут сделать, так что похуй. allow_duplicates = FALSE always_place = TRUE // Ивент - убрать после + placement_weight = 100 // Ивент - убрать после + +/datum/map_template/ruin/space/sierra_1_4/get_cost() // Ивент - убрать после + return 0 // Ивент - убрать после From 8a0ff6166f66e31ecaabfdf9a0a3d4bc76969517 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 5 Jan 2025 16:26:50 +0300 Subject: [PATCH 142/152] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=B8=D0=B2=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 13 ++++++++++++- .../RandomRuins/SpaceRuins/whiteship.dmm | 8 -------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index b5e0832226d0..75c925303ba3 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -2632,6 +2632,17 @@ /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) +"ug" = ( +/obj/docking_port/stationary/whiteship{ + dir = 8; + id = "whiteship_away"; + name = "Deep Space"; + dwidth = 8; + height = 31; + width = 21 + }, +/turf/space, +/area/space) "uh" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, @@ -15060,7 +15071,7 @@ sU sU sU sU -sU +ug sU sU sU diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm index 6dea3a509a25..91dc3e590bed 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm @@ -907,14 +907,6 @@ layer = 3; name = "Medical Ship Bridge Shutters" }, -/obj/docking_port/stationary/whiteship{ - dir = 8; - id = "whiteship_away"; - name = "Deep Space"; - dwidth = 8; - height = 31; - width = 21 - }, /obj/docking_port/mobile{ dir = 8; dwidth = 8; From 9c5ec4dec9762a92603697ceb862a410427f8216 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 6 Jan 2025 12:33:35 +0300 Subject: [PATCH 143/152] =?UTF-8?q?=D0=9E=D1=82=D0=BA=D0=B0=D1=82=20=D0=B8?= =?UTF-8?q?=D0=B2=D0=B5=D0=BD=D1=82=D0=B0,=20=D1=84=D0=B8=D0=BA=D1=81=20?= =?UTF-8?q?=D0=B1=D0=B0=D0=B3=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RandomRuins/SpaceRuins/sierra_1_4.dmm | 13 +--- .../RandomRuins/SpaceRuins/whiteship.dmm | 8 ++ .../code/RandomRuins/space/space_ruins.dm | 5 -- modular_ss220/species/_code/reagents.dm | 73 ------------------ .../species/_components/carapace/carapace.dm | 2 +- .../organs/serpentids_organs_heart.dm | 4 +- .../icons/mob/r_serpentid_blood.dmi | Bin 5884 -> 5884 bytes .../species/serpentids/icons/organs.dmi | Bin 10871 -> 12421 bytes 8 files changed, 13 insertions(+), 92 deletions(-) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm index 75c925303ba3..b5e0832226d0 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/sierra_1_4.dmm @@ -2632,17 +2632,6 @@ /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, /area/ruin/space/sierra/maint) -"ug" = ( -/obj/docking_port/stationary/whiteship{ - dir = 8; - id = "whiteship_away"; - name = "Deep Space"; - dwidth = 8; - height = 31; - width = 21 - }, -/turf/space, -/area/space) "uh" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, @@ -15071,7 +15060,7 @@ sU sU sU sU -ug +sU sU sU sU diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm index 91dc3e590bed..6dea3a509a25 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm @@ -907,6 +907,14 @@ layer = 3; name = "Medical Ship Bridge Shutters" }, +/obj/docking_port/stationary/whiteship{ + dir = 8; + id = "whiteship_away"; + name = "Deep Space"; + dwidth = 8; + height = 31; + width = 21 + }, /obj/docking_port/mobile{ dir = 8; dwidth = 8; diff --git a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm index f7b4f8a66756..01eeb35f2dd8 100644 --- a/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm +++ b/modular_ss220/maps220/code/RandomRuins/space/space_ruins.dm @@ -96,8 +96,3 @@ suffix = "sierra_1_4.dmm" // cost = 20 я хуй знает как это тут сделать, так что похуй. allow_duplicates = FALSE - always_place = TRUE // Ивент - убрать после - placement_weight = 100 // Ивент - убрать после - -/datum/map_template/ruin/space/sierra_1_4/get_cost() // Ивент - убрать после - return 0 // Ивент - убрать после diff --git a/modular_ss220/species/_code/reagents.dm b/modular_ss220/species/_code/reagents.dm index e68a31b91d49..1614105d5718 100644 --- a/modular_ss220/species/_code/reagents.dm +++ b/modular_ss220/species/_code/reagents.dm @@ -159,76 +159,3 @@ if(R.id == id) return R return null - -//Ивентовые рецепты (Удалить после) -/datum/chemical_reaction/serpentid_eyes - name = "Serpeye" - id = "serpeye" - result = null - required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "oculine" = 20) - result_amount = 1 - -/datum/chemical_reaction/serpentid_eyes/on_reaction(datum/reagents/holder, created_volume) - var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/organ/internal/eyes/serpentid(location) - -/datum/chemical_reaction/serpentid_ears - name = "Serpears" - id = "serpears" - result = null - required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "sonic_powder" = 20) - result_amount = 1 - -/datum/chemical_reaction/serpentid_ears/on_reaction(datum/reagents/holder, created_volume) - var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/organ/internal/ears/serpentid(location) - -/datum/chemical_reaction/serpentid_lungs - name = "Serplungs" - id = "serplungs" - result = null - required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "perfluorodecalin" = 20) - result_amount = 1 - -/datum/chemical_reaction/serpentid_lungs/on_reaction(datum/reagents/holder, created_volume) - var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/organ/internal/lungs/serpentid(location) - -/datum/chemical_reaction/serpentid_liver - name = "Serpliver" - id = "serpliver" - result = null - required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "nutriment" = 20) - result_amount = 1 - -/datum/chemical_reaction/serpentid_liver/on_reaction(datum/reagents/holder, created_volume) - var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/organ/internal/liver/serpentid(location) - -/datum/chemical_reaction/serpentid_heart - name = "Serpheart" - id = "serpheart" - result = null - required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "teslium" = 20) - result_amount = 1 - -/datum/chemical_reaction/serpentid_heart/on_reaction(datum/reagents/holder, created_volume) - var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/organ/internal/heart/serpentid(location) - -/datum/chemical_reaction/serpentid_kidneys - name = "Serpkidneys" - id = "serpkidneys" - result = null - required_reagents = list("blood" = 100, "facid" = 50, "mitocholide" = 50, "sanguine_reagent" = 50, "plasma_dust" = 20, "cabbagilium" = 10, "synaptizine" = 20) - result_amount = 1 - -/datum/chemical_reaction/serpentid_kidneys/on_reaction(datum/reagents/holder, created_volume) - var/location = get_turf(holder.my_atom) - for(var/i = 1, i <= created_volume, i++) - new /obj/item/organ/internal/kidneys/serpentid(location) diff --git a/modular_ss220/species/_components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm index 28f165c1b3ba..6a6b5c1d30dc 100644 --- a/modular_ss220/species/_components/carapace/carapace.dm +++ b/modular_ss220/species/_components/carapace/carapace.dm @@ -21,7 +21,7 @@ //Вероятность восстановления конечности при достижении 0 урона #define CARAPACE_HEAL_BROKEN_PROB 50 //Список операций, которые будут заблокированы пока панцирь не будет сломан -#define CARAPACE_BLOCK_OPERATION list(/datum/surgery/bone_repair,/datum/surgery/bone_repair/skull,/datum/surgery/organ_manipulation) +#define CARAPACE_BLOCK_OPERATION list(/datum/surgery/bone_repair,/datum/surgery/bone_repair/skull,/datum/surgery/organ_manipulation,/datum/surgery/organ_manipulation/soft) #define CARAPACE_ENCASE_WORD "chitin" /datum/component/carapace diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm index b38d726460a5..a7feb5821e48 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm @@ -1,7 +1,9 @@ /obj/item/organ/internal/heart/serpentid name = "double heart" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' - icon_state = "heart" + icon_state = "heart-on" + dead_icon = "heart" + base_icon_state = "heart" desc = "A pair of hearts." /obj/item/organ/internal/heart/serpentid/Initialize(mapload) diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_blood.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_blood.dmi index 5d016c843728e72306253deaef3ae2c28e59a850..3de76cd5019aecd7c957a2c91a66dd5509395aa1 100644 GIT binary patch literal 5884 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 aU%}7^WWH*C*9d55gDzjRK@j1$|NJ+#yR(k~ diff --git a/modular_ss220/species/serpentids/icons/organs.dmi b/modular_ss220/species/serpentids/icons/organs.dmi index 673861b784e94d90cfc4afd043c6f6af3c12cfbc..86520e31b911b5e499c028433b2ce834969ebc87 100644 GIT binary patch literal 12421 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 Wxy*WI2>yEk@IvvmLY16($o~UDVmCej literal 10871 zcmZX4byO74)AlaiOC!C=0@6sMba!_nEJ!Pz%OW5sAWNs9(v3*Rf`GDwf^>&;!%8jr z^1i?Cyx%$B_s6|={<(9{oSA!O=6U9wzOEW65d#qb03g*+S2lb&yC2pk0=$Ra@`YP0Qsde7UmOb|=(i*i3xotB15#{02TE1+uim=Rt zY$liz@r_xr`^*xO+t&n``CpobvtpW-ckQ;0p_SVD>O(@AREwiOG z6(JZ!lqx@RdBub^0`HGrNu{DE#m1$W^mkG%@)#lz$p$n2_5PgB|7an-_{mWMA1&t(2VR0|+pef%#IzQ43KpbC4!(09qf{soJ(>^14&<2W!%;EixuRZqv=-cr}r zLe3#F{QA7p*QMkRbG4VhyZfxU{oZ%i*kro=iXm zc5=I9wg-YpMXmxp~W!%pSWOuhsLw#CqMD}i�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 efBE%$(62qlN# Date: Mon, 6 Jan 2025 16:23:16 +0300 Subject: [PATCH 144/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BB=D0=BE?= =?UTF-8?q?=D0=B3=D0=B8=D0=BA=D0=B8=20=D1=81=D0=B5=D1=80=D0=B4=D1=86=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/organs/heart_defib_hunger.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modular_ss220/species/_components/organs/heart_defib_hunger.dm b/modular_ss220/species/_components/organs/heart_defib_hunger.dm index bdc8b0ce55e4..406a5166cb18 100644 --- a/modular_ss220/species/_components/organs/heart_defib_hunger.dm +++ b/modular_ss220/species/_components/organs/heart_defib_hunger.dm @@ -22,7 +22,8 @@ owner = limb.owner if(!owner) qdel(src) - if(owner?.nutrition < NUTRITION_LEVEL_HUNGRY || owner.stat != DEAD || owner.get_damage_amount() > AUTO_DEFIBRILATION_THRESHOLD) + var/damage_amount = owner.getBruteLoss() + owner.getFireLoss() + getCloneLoss() + if(owner?.nutrition < NUTRITION_LEVEL_HUNGRY || owner.stat != DEAD || damage_amount > AUTO_DEFIBRILATION_THRESHOLD) return var/defib_chance = owner.nutrition - NUTRITION_LEVEL_HUNGRY owner.adjust_nutrition(-defib_chance) From 9aa89d92018ce822328e9a5a41055ee1369e0592 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 6 Jan 2025 19:57:40 +0300 Subject: [PATCH 145/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BB=D0=B8?= =?UTF-8?q?=D0=BD=D1=82=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/organs/heart_defib_hunger.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/_components/organs/heart_defib_hunger.dm b/modular_ss220/species/_components/organs/heart_defib_hunger.dm index 406a5166cb18..dbaac045bb71 100644 --- a/modular_ss220/species/_components/organs/heart_defib_hunger.dm +++ b/modular_ss220/species/_components/organs/heart_defib_hunger.dm @@ -22,7 +22,7 @@ owner = limb.owner if(!owner) qdel(src) - var/damage_amount = owner.getBruteLoss() + owner.getFireLoss() + getCloneLoss() + var/damage_amount = owner.getBruteLoss() + owner.getFireLoss() + owner.getCloneLoss() if(owner?.nutrition < NUTRITION_LEVEL_HUNGRY || owner.stat != DEAD || damage_amount > AUTO_DEFIBRILATION_THRESHOLD) return var/defib_chance = owner.nutrition - NUTRITION_LEVEL_HUNGRY From 7f094c4751f93cebbd75ccda243d13ca71b0eebd Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 6 Jan 2025 22:04:43 +0300 Subject: [PATCH 146/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BB=D0=B5=D0=B3=D0=BA=D0=B8=D1=85=20=D0=B2=20=D1=80=D1=83?= =?UTF-8?q?=D1=87=D0=BD=D0=BE=D0=BC=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/organs/serpentids_organs_lungs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 2c20fcb54094..fe3cdec42ede 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -66,7 +66,7 @@ /obj/item/organ/internal/lungs/serpentid/switch_mode(force_off = FALSE) . = ..() - if(!force_off && !(status & ORGAN_DEAD)) + if(!force_off && !(status & ORGAN_DEAD) && !active_secretion) switch_mode_on() else switch_mode_off() From 6b8c282364b9a6b5d3f6a7b5640dcbad47ba6d63 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 6 Jan 2025 22:46:21 +0300 Subject: [PATCH 147/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BA=D0=B0?= =?UTF-8?q?=D0=BF=D1=83=D1=81=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_code/reagents.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/_code/reagents.dm b/modular_ss220/species/_code/reagents.dm index 1614105d5718..602e59f17069 100644 --- a/modular_ss220/species/_code/reagents.dm +++ b/modular_ss220/species/_code/reagents.dm @@ -1,6 +1,6 @@ /obj/item/seeds/cabbage/Initialize(mapload) . = ..() - reagents_add += list("cabbagilium" = 0.1) + reagents_add += list("cabbagilium" = 0.05) /datum/reagent/cabbagilium name = "Cabbagilium" From ad9c084e7c19f1a006af23822ca1fb186e6c3aed Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 6 Jan 2025 23:25:09 +0300 Subject: [PATCH 148/152] =?UTF-8?q?=D0=9C=D0=B8=D0=BA=D1=80=D0=BE=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=D1=81=D1=8B=20=D0=B8=20=D1=80=D0=B0=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D0=B9=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../carrying/grab_and_drag_on_mob_crates.dm | 2 +- .../species/_components/organs/heart_defib_hunger.dm | 2 ++ .../species/_components/organs/organ_decay.dm | 11 ++++++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm index c65bac3ff47e..7109bdef9e51 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm @@ -10,7 +10,7 @@ /mob/living/carbon/human/Move(NewLoc, direct) . = .. () var/mob/living/carbon/human/puppet = src - if(puppet.loaded) + if(puppet.loaded && isserpentid(puppet)) puppet.loaded.forceMove(puppet.loc) /datum/component/gadom_cargo diff --git a/modular_ss220/species/_components/organs/heart_defib_hunger.dm b/modular_ss220/species/_components/organs/heart_defib_hunger.dm index dbaac045bb71..1f88cc58e2d8 100644 --- a/modular_ss220/species/_components/organs/heart_defib_hunger.dm +++ b/modular_ss220/species/_components/organs/heart_defib_hunger.dm @@ -38,6 +38,8 @@ owner.med_hud_set_health() owner.med_hud_set_status() add_attack_logs(owner, owner, "Revived by heart") + owner.reagents.add_reagent("mannitol", 2) + owner.reagents.add_reagent("epinephrine", 2) SSblackbox.record_feedback("tally", "players_revived", 1, "self_revived") #undef AUTO_DEFIBRILATION_THRESHOLD diff --git a/modular_ss220/species/_components/organs/organ_decay.dm b/modular_ss220/species/_components/organs/organ_decay.dm index 558f1efc27de..d061cde5c602 100644 --- a/modular_ss220/species/_components/organs/organ_decay.dm +++ b/modular_ss220/species/_components/organs/organ_decay.dm @@ -8,11 +8,14 @@ #define BASIC_RECOVER_VALUE 0.02 #define BASIC_DECAY_VALUE 0.5 #define ORGAN_RECOVERY_THRESHOLD 4 //25% +#define ORGAN_DEATH_TIMER 60 SECONDS //1 минута /datum/component/organ_decay var/obj/item/organ/internal/organ = null var/recover_rate var/decay_rate + var/death_state_timer + var/dead_last_state = FALSE /datum/component/organ_decay/Initialize(income_decay_rate = BASIC_RECOVER_VALUE, income_recover_rate = BASIC_DECAY_VALUE) organ = parent @@ -29,10 +32,12 @@ return var/is_no_owner = isnull(organ.owner) - var/is_dead = (is_no_owner ? FALSE : organ.owner.stat == DEAD) + if(!dead_last_state) + death_state_timer = world.time + dead_last_state = organ?.owner.stat == DEAD var/formaldehyde_found = organ.owner?.get_chemical_value("formaldehyde") > 0 - var/is_destroying = (is_dead || (is_no_owner && !organ.is_in_freezer)) - if(is_destroying && !formaldehyde_found) + var/is_destroying = (dead_last_state || (is_no_owner && !organ.is_in_freezer)) + if(is_destroying && !formaldehyde_found && ((world.time - death_state_timer) >= ORGAN_DEATH_TIMER)) organ.receive_damage(decay_rate, 1) if((organ.damage <= (organ.max_damage / ORGAN_RECOVERY_THRESHOLD)) && (organ.damage > 0) && !is_destroying) organ.heal_internal_damage(recover_rate, FALSE) From b2bac48e313922b3fe1b781a7d96a9fcf33a048d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 7 Jan 2025 13:04:36 +0300 Subject: [PATCH 149/152] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=B0?= =?UTF-8?q?=20=D0=BA=20=D1=81=D0=BF=D0=BE=D1=81=D0=BE=D0=B1=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8F=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/_components/carrying/grab_and_drag_on_mob_crates.dm | 1 + .../species/_components/carrying/grab_and_drag_on_mob_mobs.dm | 1 + modular_ss220/species/_components/organs/heart_defib_hunger.dm | 1 + .../code/organs/internal/organs/serpentids_organs_ears.dm | 2 ++ .../code/organs/internal/organs/serpentids_organs_eyes.dm | 2 ++ .../code/organs/internal/organs/serpentids_organs_kidneys.dm | 2 ++ .../code/organs/internal/organs/serpentids_organs_lungs.dm | 2 ++ 7 files changed, 11 insertions(+) diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm index 7109bdef9e51..d7503c89e504 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm @@ -79,6 +79,7 @@ carrier.loaded = AM carrier.update_icon() carrier.throw_alert("serpentid_holding", /atom/movable/screen/alert/carrying) + carrier.visible_message(span_warning("[carrier] обвивает хвостом [AM]!")) /datum/component/gadom_cargo/process() if(carrier.incapacitated() || HAS_TRAIT(carrier, TRAIT_HANDS_BLOCKED)) diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm index de24896b6772..fa7a34893d61 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm @@ -53,6 +53,7 @@ puppet.loaded = AM puppet.update_icon() puppet.throw_alert("serpentid_holding", /atom/movable/screen/alert/carrying) + puppet.visible_message(span_warning("[carrier] водружает на себя [AM]!")) /datum/component/gadom_living/proc/load_mob(mob/living/carbon/human/puppet, mob/living/M) puppet.can_buckle = TRUE diff --git a/modular_ss220/species/_components/organs/heart_defib_hunger.dm b/modular_ss220/species/_components/organs/heart_defib_hunger.dm index 1f88cc58e2d8..c5cbff21c237 100644 --- a/modular_ss220/species/_components/organs/heart_defib_hunger.dm +++ b/modular_ss220/species/_components/organs/heart_defib_hunger.dm @@ -41,5 +41,6 @@ owner.reagents.add_reagent("mannitol", 2) owner.reagents.add_reagent("epinephrine", 2) SSblackbox.record_feedback("tally", "players_revived", 1, "self_revived") + owner.visible_message(span_warning("Тело [owner] содрагают судороги!")) #undef AUTO_DEFIBRILATION_THRESHOLD diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 34c81f41e22a..7bbc3db1bc9a 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -32,9 +32,11 @@ if(!force_off && owner?.nutrition >= NUTRITION_LEVEL_HYPOGLYCEMIA && !(status & ORGAN_DEAD) && !active) active = TRUE chemical_consuption = initial(chemical_consuption) + owner.visible_message(span_warning("Тело [owner] слегка колышется.")) else active = FALSE chemical_consuption = 0 + owner.visible_message(span_notice("Тело [owner] перестает колыхаться.")) SEND_SIGNAL(src, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, chemical_consuption) /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 2364923b1c73..6d4e0330acd5 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -56,9 +56,11 @@ see_in_dark = 8 chemical_consuption = initial(chemical_consuption) active = TRUE + owner.visible_message(span_warning("Зрачки [owner] расширяются!")) else see_in_dark = initial(see_in_dark) chemical_consuption = 0 active = FALSE + owner.visible_message(span_notice("Зрачки [owner] сужаются.")) owner?.update_sight() SEND_SIGNAL(src, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, chemical_consuption) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index 0c102f0f084b..cee80221cc3d 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -36,7 +36,9 @@ if(!force_off && owner?.nutrition >= NUTRITION_LEVEL_HYPOGLYCEMIA && !cloak_engaged && !(status & ORGAN_DEAD)) cloak_engaged = TRUE chemical_consuption = initial(chemical_consuption) + owner.visible_message(span_warning("Тело [owner] начинает покрываться пятнами и преломлять свет!")) else cloak_engaged = FALSE chemical_consuption = 0 + owner.visible_message(span_notice("Тело [owner] перестает преломлять свет.")) SEND_SIGNAL(src, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, chemical_consuption) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index fe3cdec42ede..b9a1f8e4a64f 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -57,12 +57,14 @@ active_secretion = TRUE chemical_consuption = initial(chemical_consuption) last_safe_zone_check = world.time + owner.visible_message(span_warning("Рот [owner] замирает, переставая выдыхать воздух!")) else switch_mode_off() /obj/item/organ/internal/lungs/serpentid/proc/switch_mode_off() active_secretion = FALSE chemical_consuption = 0 + owner.visible_message(span_notice("Из рта [owner] снова начинает исходить воздух.")) /obj/item/organ/internal/lungs/serpentid/switch_mode(force_off = FALSE) . = ..() From 8f22b3a6fae9ab80d173622a876e294460c053f7 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 8 Jan 2025 00:35:23 +0300 Subject: [PATCH 150/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=B8=D0=BA?= =?UTF-8?q?=D0=BE=D0=BD=D0=BA=D0=B8=20=D1=81=D0=B5=D1=80=D0=B4=D1=86=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/organs/serpentids_organs_heart.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm index a7feb5821e48..f5054489ae04 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm @@ -1,7 +1,7 @@ /obj/item/organ/internal/heart/serpentid name = "double heart" icon = 'modular_ss220/species/serpentids/icons/organs.dmi' - icon_state = "heart-on" + icon_state = "heart_on" dead_icon = "heart" base_icon_state = "heart" desc = "A pair of hearts." From 09000922b0e017d23e01aa9db34f03c510820f01 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 12 Jan 2025 01:48:54 +0300 Subject: [PATCH 151/152] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D0=B5=D1=80=D0=B4=D1=86=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/organs/heart_defib_hunger.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/_components/organs/heart_defib_hunger.dm b/modular_ss220/species/_components/organs/heart_defib_hunger.dm index c5cbff21c237..b6dfd47bfb22 100644 --- a/modular_ss220/species/_components/organs/heart_defib_hunger.dm +++ b/modular_ss220/species/_components/organs/heart_defib_hunger.dm @@ -21,7 +21,7 @@ var/obj/item/organ/internal/limb = parent owner = limb.owner if(!owner) - qdel(src) + return var/damage_amount = owner.getBruteLoss() + owner.getFireLoss() + owner.getCloneLoss() if(owner?.nutrition < NUTRITION_LEVEL_HUNGRY || owner.stat != DEAD || damage_amount > AUTO_DEFIBRILATION_THRESHOLD) return From c32186d3f49599d31abb670c499a7693cc3b1028 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 12 Jan 2025 02:06:58 +0300 Subject: [PATCH 152/152] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BB=D0=B8=D0=BD=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=BF=D0=BE=D0=B4=20=D0=BE=D1=84=D1=84=D1=8B=20(?= =?UTF-8?q?=D0=9B=D0=98=D0=9D=D0=A2=D0=95=D0=A0!!!)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/implants/serpentid_mantis_chest.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index fa3e72dda1b2..7ec2b5818b1f 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -94,7 +94,7 @@ var/obj/item/offhand_arm_item = owner.get_active_hand() to_chat(owner, span_warning("Your hands are too encumbered wielding [offhand_arm_item] to deploy [src]!")) return - else if(!owner.unEquip(arm_item)) + else if(!owner.drop_item_to_ground(arm_item)) to_chat(owner, span_warning("Your [arm_item] interferes with [src]!")) return else @@ -113,8 +113,7 @@ if(status & ORGAN_DEAD) return - owner.unEquip(holder_l, 1) - holder_l.forceMove(src) + owner.transfer_item_to(holder_l, src, force = TRUE) holder_l = null blades_active = FALSE playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1)

|1z=;Dy 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 UCtbDweqnt2 Date: Sun, 27 Oct 2024 12:15:16 +0300 Subject: [PATCH 084/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../living/carbon/human/human_update_icons.dm | 18 +++++++++--------- .../_components/carapace/carapace_shell.dm | 6 +++--- .../implants/serpentid_mantis_chest.dm | 8 ++++---- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index dc7c7f93abf3..200d54a46869 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -728,7 +728,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) . = list() //SS220 EDIT SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if (.) + if(.) new_glasses.pixel_x = .["shift_x"] new_glasses.pixel_y = .["shift_y"] @@ -775,7 +775,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) //SS220 EDIT . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if (.) + if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] overlays_standing[LEFT_EAR_LAYER] = standing @@ -794,7 +794,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) //SS220 EDIT . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if (.) + if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] overlays_standing[RIGHT_EAR_LAYER] = standing @@ -903,7 +903,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) . = list() //SS220 EDIT SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if (.) + if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] overlays_standing[HEAD_LAYER] = standing @@ -963,7 +963,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) . = list() //SS220 EDIT SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "belt", .) - if (.) + if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] overlays_standing[overlay_layer] = standing @@ -1086,7 +1086,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) . = list() //SS220 EDIT SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if (.) + if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] overlays_standing[FACEMASK_LAYER] = standing @@ -1116,7 +1116,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) . = list() //SS220 EDIT SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "back", .) - if (.) + if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] overlays_standing[BACK_LAYER] = standing @@ -1155,7 +1155,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) . = list() //SS220 EDIT SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "inhand", .) - if (.) + if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] overlays_standing[R_HAND_LAYER] = standing @@ -1181,7 +1181,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) . = list() //SS220 EDIT SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "inhand", .) - if (.) + if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] overlays_standing[L_HAND_LAYER] = standing diff --git a/modular_ss220/species/_components/carapace/carapace_shell.dm b/modular_ss220/species/_components/carapace/carapace_shell.dm index 22eee0200ada..5afd8fa54c2c 100644 --- a/modular_ss220/species/_components/carapace/carapace_shell.dm +++ b/modular_ss220/species/_components/carapace/carapace_shell.dm @@ -124,7 +124,7 @@ if(character_damage >= state_1_threshold) if(broken_stage < 1) stage_1_break() - else if (can_self_repair && broken_stage < 2) + else if(can_self_repair && broken_stage < 2) stage_1_repair() last_time_action = world.time @@ -132,7 +132,7 @@ if(character_damage >= state_2_threshold) if(broken_stage < 2) stage_2_break() - else if (can_self_repair && broken_stage < 3) + else if(can_self_repair && broken_stage < 3) stage_2_repair() last_time_action = world.time @@ -140,7 +140,7 @@ if(character_damage >= state_3_threshold) if(broken_stage < 3) stage_3_break() - else if (can_self_repair && broken_stage > 2) + else if(can_self_repair && broken_stage > 2) stage_3_repair() last_time_action = world.time diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 50b7ff161d15..19648a05c44f 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -41,7 +41,7 @@ addtimer(CALLBACK(src, PROC_REF(update_overlays_blades)), 1 SECONDS) /obj/item/organ/internal/cyberimp/chest/serpentid_blades/remove(mob/living/carbon/M, special, dont_remove_slot) - update_overlays() + update_icon(UPDATE_OVERLAYS) . = .. () /obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() @@ -56,7 +56,7 @@ Extend() /obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/update_overlays_blades() - update_overlays() + update_icon(UPDATE_OVERLAYS) /obj/item/organ/internal/cyberimp/chest/serpentid_blades/update_overlays() . = .. () @@ -105,7 +105,7 @@ blades_active = TRUE playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) new_icon_state = "blades_1" - update_overlays() + update_icon(UPDATE_OVERLAYS) return TRUE /obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Retract() @@ -118,7 +118,7 @@ blades_active = FALSE playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) new_icon_state = "blades_0" - update_overlays() + update_icon(UPDATE_OVERLAYS) //Проки на обработку при поднятом клинке /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) //Handles any species-specific attackhand events. From 8369116fd28aac56306a006248f8ef87e2819c39 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 27 Oct 2024 12:28:28 +0300 Subject: [PATCH 085/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80=20?= =?UTF-8?q?2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/__DEFINES/dcs/mob_signals.dm | 2 ++ code/modules/mob/living/carbon/human/human_update_icons.dm | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/dcs/mob_signals.dm b/code/__DEFINES/dcs/mob_signals.dm index 286daac792f5..d5420a996b62 100644 --- a/code/__DEFINES/dcs/mob_signals.dm +++ b/code/__DEFINES/dcs/mob_signals.dm @@ -206,3 +206,5 @@ /// called when a living mob's stun status is cleared: () #define COMSIG_LIVING_CLEAR_STUNS "living_clear_stuns" + +#define COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST "get_list" //SS220 EDIT diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 200d54a46869..78f222e067d2 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -103,8 +103,6 @@ If you have any questions/constructive-comments/bugs-to-report/or have a massivl Please contact me on #coderbus IRC. ~Carn x */ -#define COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST "get_list" //SS220 EDIT - /mob/living/carbon/human/proc/apply_overlay(cache_index) . = overlays_standing[cache_index] if(.) @@ -1631,3 +1629,4 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) . += "[part.s_tone]" . = "[.][!!husk][!!hulk][!!skeleton]" + From 54291596f3f9ce06e474ca970d87241adfdde5df Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 27 Oct 2024 22:40:35 +0300 Subject: [PATCH 086/152] =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=83-=D0=BE=D1=82?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B2=D1=8C=D1=8E,=20=D0=BD=D1=83=D0=B6=D0=BD?= =?UTF-8?q?=D1=8B=20=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=8B=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=B2=D0=BE=D0=BF=D1=80=D0=BE=D1=81=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/__DEFINES/dcs/mob_signals.dm | 2 +- code/datums/chatmessage.dm | 2 +- .../living/carbon/human/human_update_icons.dm | 44 +++++++++++---- code/modules/paperwork/photocopier.dm | 2 +- .../_defines220/code/signals_atom.dm | 5 +- .../code/signals_mob/signals_mob_carbon.dm | 27 ++-------- .../code/signals_mob/signals_mob_main.dm | 15 ------ modular_ss220/_defines220/code/signals_obj.dm | 54 ++++--------------- modular_ss220/_defines220/code/species.dm | 7 +-- modular_ss220/_signals220/_signals220.dme | 1 + .../code/signals_mob/signals_mob_carbon.dm | 5 ++ .../code/signals_mob/signals_mob_main.dm | 31 +++++++++++ modular_ss220/_signals220/code/signals_obj.dm | 38 +++++++++++++ modular_ss220/_signals220/code/species.dm | 5 ++ modular_ss220/species/_code/reagents.dm | 35 ++---------- .../appearance/mob_overlay_shift.dm | 2 +- .../_components/attacking/pair_attack.dm | 5 +- .../carrying/grab_and_drag_on_mob_mobs.dm | 2 +- .../serpentids/code/_defines/alerts.dm | 6 +-- .../species/serpentids/code/mob/emotes.dm | 5 +- .../species/serpentids/code/mob/serpentids.dm | 2 +- .../organs/external/serpentids_organs_head.dm | 9 ++-- .../external/serpentids_organs_torso.dm | 2 +- .../implants/serpentid_mantis_blades.dm | 4 +- .../internal/organs/serpentids_organs_ears.dm | 9 ++-- .../internal/organs/serpentids_organs_eyes.dm | 7 ++- .../organs/serpentids_organs_kidneys.dm | 2 +- .../organs/serpentids_organs_liver.dm | 6 ++- .../organs/serpentids_organs_lungs.dm | 13 +++-- 29 files changed, 177 insertions(+), 170 deletions(-) create mode 100644 modular_ss220/_signals220/code/species.dm diff --git a/code/__DEFINES/dcs/mob_signals.dm b/code/__DEFINES/dcs/mob_signals.dm index d5420a996b62..39f444bc19fc 100644 --- a/code/__DEFINES/dcs/mob_signals.dm +++ b/code/__DEFINES/dcs/mob_signals.dm @@ -206,5 +206,5 @@ /// called when a living mob's stun status is cleared: () #define COMSIG_LIVING_CLEAR_STUNS "living_clear_stuns" - +/// вызывается через /datum/component/mob_overlay_shift/proc/get_list(mob/component_holder, overlay, list/info_data) : (/datum/component/mob_overlay_shift) #define COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST "get_list" //SS220 EDIT diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm index 4025941fdd0f..a7000829eb2b 100644 --- a/code/datums/chatmessage.dm +++ b/code/datums/chatmessage.dm @@ -200,7 +200,7 @@ message.plane = GAME_PLANE message.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | KEEP_APART message.alpha = 0 - message.pixel_y = owner.bound_height * 0.95 + owner.chat_message_y_offset //SS 220 EDIT + message.pixel_y = owner.bound_height * 0.95 + owner.chat_message_y_offset // SS220 EDIT message.maptext_width = CHAT_MESSAGE_WIDTH message.maptext_height = mheight message.maptext_x = (CHAT_MESSAGE_WIDTH - owner.bound_width) * -0.5 diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 78f222e067d2..59b098112fdc 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -724,11 +724,13 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) else new_glasses = mutable_appearance('icons/mob/clothing/eyes.dmi', "[glasses.icon_state]", layer = -GLASSES_LAYER) - . = list() //SS220 EDIT + // SS220 EDIT START - Species overlay shift + . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) if(.) new_glasses.pixel_x = .["shift_x"] new_glasses.pixel_y = .["shift_y"] + // SS220 EDIT END var/datum/sprite_accessory/hair/hair_style = GLOB.hair_styles_full_list[head_organ.h_style] var/obj/item/clothing/glasses/G = glasses @@ -769,14 +771,15 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) left_ear_item_state = "[left_ear_item_state]_l" left_ear_icon = l_ear.icon_override - - var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) //SS220 EDIT + // SS220 EDIT START - Species overlay shift + var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] overlays_standing[LEFT_EAR_LAYER] = standing + // SS220 EDIT END if(r_ear) update_hud_r_ear(r_ear) @@ -789,13 +792,15 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) right_ear_icon = "[right_ear_item_state]_l" right_ear_icon = r_ear.icon_override - var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) //SS220 EDIT + // SS220 EDIT START - Species overlay shift + var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] overlays_standing[RIGHT_EAR_LAYER] = standing + // SS220 EDIT END apply_overlay(LEFT_EAR_LAYER) apply_overlay(RIGHT_EAR_LAYER) @@ -899,12 +904,16 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) standing.alpha = head.alpha standing.color = head.color - . = list() //SS220 EDIT + // SS220 EDIT START - Species overlay shift + . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] + // SS220 EDIT END + overlays_standing[HEAD_LAYER] = standing + apply_overlay(HEAD_LAYER) /mob/living/carbon/human/update_inv_belt() @@ -959,11 +968,14 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) else standing = mutable_appearance('icons/mob/clothing/belt.dmi', "[t_state]", layer = -overlay_layer) - . = list() //SS220 EDIT + // SS220 EDIT START - Species overlay shift + . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "belt", .) if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] + // SS220 EDIT END + overlays_standing[overlay_layer] = standing apply_overlay(BELT_LAYER) @@ -1082,11 +1094,14 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) standing.alpha = wear_mask.alpha standing.color = wear_mask.color - . = list() //SS220 EDIT + // SS220 EDIT START - Species overlay shift + . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] + // SS220 EDIT END + overlays_standing[FACEMASK_LAYER] = standing apply_overlay(FACEMASK_LAYER) @@ -1112,11 +1127,14 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) standing.alpha = back.alpha standing.color = back.color - . = list() //SS220 EDIT + // SS220 EDIT START - Species overlay shift + . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "back", .) if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] + // SS220 EDIT END + overlays_standing[BACK_LAYER] = standing apply_overlay(BACK_LAYER) @@ -1151,11 +1169,14 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) standing = mutable_appearance(r_hand.righthand_file, "[t_state]", layer = -R_HAND_LAYER, color = r_hand.color) standing = center_image(standing, r_hand.inhand_x_dimension, r_hand.inhand_y_dimension) - . = list() //SS220 EDIT + // SS220 EDIT START - Species overlay shift + . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "inhand", .) if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] + // SS220 EDIT END + overlays_standing[R_HAND_LAYER] = standing apply_overlay(R_HAND_LAYER) @@ -1177,11 +1198,14 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) standing = mutable_appearance(l_hand.lefthand_file, "[t_state]", layer = -L_HAND_LAYER, color = l_hand.color) standing = center_image(standing, l_hand.inhand_x_dimension, l_hand.inhand_y_dimension) - . = list() //SS220 EDIT + // SS220 EDIT START - Species overlay shift + . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "inhand", .) if(.) standing.pixel_x = .["shift_x"] standing.pixel_y = .["shift_y"] + // SS220 EDIT END + overlays_standing[L_HAND_LAYER] = standing apply_overlay(L_HAND_LAYER) diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 23d2f8085889..ea68428f1391 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -155,7 +155,7 @@ to_chat(copymob, "Something smells toasty...") if(ishuman(copymob)) //Suit checks are in check_mob var/mob/living/carbon/human/H = copymob - temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) //SS220 EDIT + temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) //SS220 EDIT. Original: temp_img = icon('icons/obj/butts.dmi', H.dna.species.butt_sprite) else if(isdrone(copymob)) temp_img = icon('icons/obj/butts.dmi', "drone") else if(isnymph(copymob)) diff --git a/modular_ss220/_defines220/code/signals_atom.dm b/modular_ss220/_defines220/code/signals_atom.dm index 568c27282dfe..9b1559eee196 100644 --- a/modular_ss220/_defines220/code/signals_atom.dm +++ b/modular_ss220/_defines220/code/signals_atom.dm @@ -2,10 +2,11 @@ #define COMSIG_CLIMBED_ON "climb_on" /// called by /datum/emote/living/dance/run_emote() : (/datum/component/clumsy_climb) #define COMSIG_DANCED_ON "dance_on" - +/// called by /datum/emote/living/dance/run_emote() : (/datum/component/gadom_cargo) (/datum/component/gadom_living) #define COMSIG_GADOM_UNLOAD "try_unload" - +/// called by /datum/component/carapace_shell/proc/surgery_carapace_shell_repair() : (/datum/component/carapace_shell) #define COMSIG_SURGERY_REPAIR "surgery_carapace_shell_repair" +/// called by /datum/component/carapace_shell/proc/check_surgery_perform() : (/datum/component/carapace_shell) #define COMSIG_SURGERY_STOP "check_surgery_perform" #define SURGERY_STOP (1<<0) diff --git a/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm b/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm index 14e9ef23997a..60be69be8982 100644 --- a/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm +++ b/modular_ss220/_defines220/code/signals_mob/signals_mob_carbon.dm @@ -1,31 +1,12 @@ // Signals for /mob/living/carbon +/// вызывается через /datum/component/mob_overlay_shift/proc/shift_call(mob/living/carbon/human/mob) : (/datum/component/mob_overlay_shift) #define COMSIG_MOB_ON_EQUIP "on_equip" #define COMSIG_MOB_ON_CLICK "on_click" +/// вызывается через /datum/component/gadom_cargo/proc/block_operation() : (/datum/component/gadom_cargo) (/datum/component/gadom_living) #define COMSIG_GADOM_CAN_GRAB "block_operation" #define GADOM_CAN_GRAB (1 << 0) +/// вызывается через datum/component/gadom_living/proc/try_load_mob() : (/datum/component/gadom_cargo) +/// вызывается через datum/component/gadom_cargo/proc/try_load_cargo() : (/datum/component/gadom_living) #define COMSIG_GADOM_LOAD "try_load" - -//Расширение прока для переноса ящика на моба -/mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) - if(SEND_SIGNAL(usr, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB) - SEND_SIGNAL(usr, COMSIG_GADOM_LOAD, usr, AM) - . = .. () - -//Расширение для пристегивания моба -/mob/MouseDrop(mob/M as mob, src_location, over_location, src_control, over_control, params) - if((M != usr) || !istype(M)) - ..() - return - if(usr == src) - return - if(!Adjacent(usr)) - return - if(IsFrozen(src) && !is_admin(usr)) - to_chat(usr, "Interacting with admin-frozen players is not permitted.") - return - if((SEND_SIGNAL(usr, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB)) - SEND_SIGNAL(usr, COMSIG_GADOM_LOAD, usr, src) - return - . = .. () diff --git a/modular_ss220/_defines220/code/signals_mob/signals_mob_main.dm b/modular_ss220/_defines220/code/signals_mob/signals_mob_main.dm index 6b10c9cf18ee..1908d846992d 100644 --- a/modular_ss220/_defines220/code/signals_mob/signals_mob_main.dm +++ b/modular_ss220/_defines220/code/signals_mob/signals_mob_main.dm @@ -3,18 +3,3 @@ /// from mob/living/Process_Spacemove(): (movement_dir) #define COMSIG_LIVING_PROCESS_SPACEMOVE "mob_client_pre_living_move" #define COMPONENT_BLOCK_SPACEMOVE (1<<0) - -//Вызов сигнала при экипировке любой вещи -/mob/equip_to_slot(obj/item/W, slot, initial = FALSE) - . = .. () - SEND_SIGNAL(src, COMSIG_MOB_ON_EQUIP) - -//Вызов сигнала при повоторе через ctrl+wasd -/mob/facedir(ndir) - . = .. () - SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) - -//Вызов сигнала при повороте через ЛКМы -/mob/ClickOn(atom/A, params) - . = .. () - SEND_SIGNAL(src, COMSIG_MOB_ON_CLICK) diff --git a/modular_ss220/_defines220/code/signals_obj.dm b/modular_ss220/_defines220/code/signals_obj.dm index 878682d92baf..e3296fa3dbd3 100644 --- a/modular_ss220/_defines220/code/signals_obj.dm +++ b/modular_ss220/_defines220/code/signals_obj.dm @@ -1,56 +1,20 @@ /// from base of [/obj/proc/atom_destruction]: (damage_flag) #define COMSIG_OBJ_DESTRUCTION "atom_destruction" - +/// called by datum/component/carapace/proc/receive_damage() : (/datum/component/carapace) #define COMSIG_LIMB_RECEIVE_DAMAGE "receive_damage" +/// called by datum/component/carapace/proc/heal_damage() : (/datum/component/carapace) #define COMSIG_LIMB_HEAL_DAMAGE "heal_damage" - +/// called by datum/element/paired_implants/proc/synchonize_implants() : (/datum/element/paired_implants) #define COMSIG_DOUBLEIMP_SYNCHONIZE "synchonize_implants" +/// called by datum/element/paired_implants/proc/action_rebuild() : (/datum/element/paired_implants) #define COMSIG_DOUBLEIMP_ACTION_REBUILD "action_rebuild" - +/// called by datum/component/organ_action/proc/call_actions() : (/datum/component/organ_action) #define COMSIG_ORGAN_GROUP_ACTION_CALL "open_actions" +/// called by datum/component/organ_action/proc/resort_buttons() : (/datum/component/organ_action) #define COMSIG_ORGAN_GROUP_ACTION_RESORT "resort_buttons" - +/// called by datum/component/organ_toxin_damage/proc/tox_handle_organ() : (/datum/component/organ_toxin_damage) #define COMSIG_ORGAN_TOX_HANDLE "tox_handle_organ" - +/// called by datum/component/chemistry_organ/proc/chems_process() : (/datum/component/chemistry_organ) #define COMSIG_ORGAN_ON_LIFE "chems_process" +/// called by datum/component/chemistry_organ/proc/chems_change_consuption() : (/datum/component/chemistry_organ) #define COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION "chems_change_consuption" - -//Расширение базового прока атаки для запуска сигнала атаки -/obj/item/attack(mob/living/M, mob/living/user, def_zone) - . = .. () - SEND_SIGNAL(src, COMSIG_MOB_ITEM_ATTACK, M, user, def_zone) - -//Расширение проков урона и лечения для обращения к компоненту -/obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) - . = ..() - SEND_SIGNAL(src, COMSIG_LIMB_RECEIVE_DAMAGE, brute, burn, sharp, used_weapon, forbidden_limbs, ignore_resists, updating_health) - -/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) - . = ..() - SEND_SIGNAL(src, COMSIG_LIMB_HEAL_DAMAGE, brute, burn, internal, robo_repair, updating_health) - -/obj/item/organ/internal/cyberimp/arm/Retract() - . = .. () - SEND_SIGNAL(src, COMSIG_DOUBLEIMP_SYNCHONIZE) - -/obj/item/organ/internal/cyberimp/arm/Extend() - . = .. () - SEND_SIGNAL(src, COMSIG_DOUBLEIMP_SYNCHONIZE) - -/obj/item/organ/internal/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) - . = .. () - SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) - SEND_SIGNAL(src, COMSIG_DOUBLEIMP_ACTION_REBUILD) - -/obj/item/organ/internal/remove(mob/living/carbon/M, special = 0) - . = .. () - SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) - SEND_SIGNAL(src, COMSIG_DOUBLEIMP_ACTION_REBUILD) - -/obj/item/organ/internal/ui_action_click() - SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_CALL, user = owner) - -/obj/item/organ/internal/process() - SEND_SIGNAL(src, COMSIG_ORGAN_TOX_HANDLE) - SEND_SIGNAL(src, COMSIG_ORGAN_ON_LIFE) - . = .. () diff --git a/modular_ss220/_defines220/code/species.dm b/modular_ss220/_defines220/code/species.dm index 67a3e78c2a1e..5f11c2897083 100644 --- a/modular_ss220/_defines220/code/species.dm +++ b/modular_ss220/_defines220/code/species.dm @@ -8,10 +8,7 @@ #define MATERIAL_CLASS_RAD 4 #define MATERIAL_CLASS_PLASMA 5 +///Базовое время погрузки ящиков/мобов на куклу #define GADOM_BASIC_LOAD_TIMER 2 SECONDS -//Расширение прока на отстегивание ящика -/datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - if((SEND_SIGNAL(H, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB) && H.loaded) - SEND_SIGNAL(H, COMSIG_GADOM_UNLOAD) - . = .. () +#define isserpentid(A) (is_species(A, /datum/species/serpentid)) diff --git a/modular_ss220/_signals220/_signals220.dme b/modular_ss220/_signals220/_signals220.dme index 27a2ea16a4c1..e5282585d6c2 100644 --- a/modular_ss220/_signals220/_signals220.dme +++ b/modular_ss220/_signals220/_signals220.dme @@ -7,3 +7,4 @@ #include "code/signals_mob/signals_mob_silicon.dm" #include "code/signals_mob/signals_mob_simple.dm" #include "code/signals_obj.dm" +#include "code/species.dm" diff --git a/modular_ss220/_signals220/code/signals_mob/signals_mob_carbon.dm b/modular_ss220/_signals220/code/signals_mob/signals_mob_carbon.dm index ef6039c440fc..58eac7fdff32 100644 --- a/modular_ss220/_signals220/code/signals_mob/signals_mob_carbon.dm +++ b/modular_ss220/_signals220/code/signals_mob/signals_mob_carbon.dm @@ -1 +1,6 @@ // Signals for /mob/living/carbon +//Расширение прока для переноса ящика на моба +/mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) + if(SEND_SIGNAL(usr, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB) + SEND_SIGNAL(usr, COMSIG_GADOM_LOAD, user, AM) + . = .. () diff --git a/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm b/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm index 7aa41cead07d..e2235ee254b4 100644 --- a/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm +++ b/modular_ss220/_signals220/code/signals_mob/signals_mob_main.dm @@ -1 +1,32 @@ // Signals for /mob +//Вызов сигнала при экипировке любой вещи +/mob/equip_to_slot(obj/item/W, slot, initial = FALSE) + . = .. () + SEND_SIGNAL(src, COMSIG_MOB_ON_EQUIP) + +//Вызов сигнала при повоторе через ctrl+wasd +/mob/facedir(ndir) + . = .. () + SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE) + +//Вызов сигнала при повороте через ЛКМы +/mob/ClickOn(atom/A, params) + . = .. () + SEND_SIGNAL(src, COMSIG_MOB_ON_CLICK) + +//Расширение для пристегивания моба +/mob/MouseDrop(mob/M as mob, src_location, over_location, src_control, over_control, params) + if((M != usr) || !istype(M)) + ..() + return + if(usr == src) + return + if(!Adjacent(usr)) + return + if(IsFrozen(src) && !is_admin(usr)) + to_chat(usr, "Interacting with admin-frozen players is not permitted.") + return + if((SEND_SIGNAL(usr, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB)) + SEND_SIGNAL(usr, COMSIG_GADOM_LOAD, usr, src) + return + . = .. () diff --git a/modular_ss220/_signals220/code/signals_obj.dm b/modular_ss220/_signals220/code/signals_obj.dm index 607bfe008de1..457a2bdaa3cd 100644 --- a/modular_ss220/_signals220/code/signals_obj.dm +++ b/modular_ss220/_signals220/code/signals_obj.dm @@ -1,3 +1,41 @@ /obj/obj_destruction(damage_flag) SEND_SIGNAL(src, COMSIG_OBJ_DESTRUCTION, damage_flag) . = ..() + +/obj/item/attack(mob/living/M, mob/living/user, def_zone) + . = .. () + SEND_SIGNAL(src, COMSIG_MOB_ITEM_ATTACK, M, user, def_zone) + +/obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) + . = ..() + SEND_SIGNAL(src, COMSIG_LIMB_RECEIVE_DAMAGE, brute, burn, sharp, used_weapon, forbidden_limbs, ignore_resists, updating_health) + +/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) + . = ..() + SEND_SIGNAL(src, COMSIG_LIMB_HEAL_DAMAGE, brute, burn, internal, robo_repair, updating_health) + +/obj/item/organ/internal/cyberimp/arm/Retract() + . = .. () + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_SYNCHONIZE) + +/obj/item/organ/internal/cyberimp/arm/Extend() + . = .. () + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_SYNCHONIZE) + +/obj/item/organ/internal/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) + . = .. () + SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_ACTION_REBUILD) + +/obj/item/organ/internal/remove(mob/living/carbon/M, special = 0) + . = .. () + SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) + SEND_SIGNAL(src, COMSIG_DOUBLEIMP_ACTION_REBUILD) + +/obj/item/organ/internal/ui_action_click() + SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_CALL, user = owner) + +/obj/item/organ/internal/process() + SEND_SIGNAL(src, COMSIG_ORGAN_TOX_HANDLE) + SEND_SIGNAL(src, COMSIG_ORGAN_ON_LIFE) + . = .. () diff --git a/modular_ss220/_signals220/code/species.dm b/modular_ss220/_signals220/code/species.dm new file mode 100644 index 000000000000..9dc3120333f9 --- /dev/null +++ b/modular_ss220/_signals220/code/species.dm @@ -0,0 +1,5 @@ +//Расширение прока на отстегивание ящика +/datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) + if((SEND_SIGNAL(H, COMSIG_GADOM_CAN_GRAB) & GADOM_CAN_GRAB) && H.loaded) + SEND_SIGNAL(H, COMSIG_GADOM_UNLOAD) + . = .. () diff --git a/modular_ss220/species/_code/reagents.dm b/modular_ss220/species/_code/reagents.dm index 76f205dcb701..1592058ddca8 100644 --- a/modular_ss220/species/_code/reagents.dm +++ b/modular_ss220/species/_code/reagents.dm @@ -35,19 +35,16 @@ taste_description = "television static" metabolization_rate = 0.1 process_flags = ORGANIC - goal_department = "Science" - goal_difficulty = REAGENT_GOAL_SKIP var/last_move_count = 0 var/last_move = null /datum/reagent/serpadrone/on_mob_add(mob/living/carbon/L) - L.next_move_modifier = initial(L.next_move_modifier) RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(on_movement)) RegisterSignal(L, COMSIG_HUMAN_CREATE_MOB_HUD, PROC_REF(no_hud_cheese)) var/mob/living/carbon/human/H = L - if(istype(H.dna.species, /datum/species/serpentid)) + if(isserpentid(H)) var/datum/species/spicie = H.dna.species - spicie.action_mult = 0.5 + spicie.action_mult = spicie.action_mult / 2 if(!L.hud_used) return var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] @@ -59,20 +56,15 @@ game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) last_move_count = 0 last_move = null - if(!IS_CHANGELING(L)) - return - var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) - cling.chem_recharge_slowdown += 1 /datum/reagent/serpadrone/on_mob_delete(mob/living/carbon/L) UnregisterSignal(L, COMSIG_MOVABLE_MOVED) REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) - L.next_move_modifier = initial(L.next_move_modifier) var/mob/living/carbon/human/H = L - if(istype(H.dna.species, /datum/species/serpentid)) + if(isserpentid(H)) var/datum/species/spicie = H.dna.species - spicie.action_mult = initial(spicie.action_mult) + spicie.action_mult = spicie.action_mult * 2 if(!L.hud_used) return var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] @@ -81,10 +73,6 @@ last_move_count = 0 last_move = null - if(IS_CHANGELING(L)) - var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) - cling.chem_recharge_slowdown -= 1 - /// Leaves an afterimage behind the mob when they move /datum/reagent/serpadrone/proc/on_movement(mob/living/carbon/L, atom/old_loc) SIGNAL_HANDLER @@ -107,21 +95,6 @@ REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) new /obj/effect/temp_visual/decoy/serpadrone_afterimage(old_loc, L, 0.75 SECONDS) last_move = L.last_movement_dir -/* -Временное отключение урона сердцу (временное, ибо для баланса) - -/datum/reagent/serpadrone/on_mob_life(mob/living/carbon/L) - . = ..() - - if(ishuman(L)) - var/heart_damage = 0.5 - var/mob/living/carbon/human/H = L - if(istype(H.dna.species, /datum/species/serpentid)) - var/datum/organ/heart/datum_heart = H.get_int_organ_datum(ORGAN_DATUM_HEART) - if(datum_heart) - var/obj/item/organ/internal/our_heart = datum_heart.linked_organ - our_heart.receive_damage(heart_damage, TRUE) - */ /// So. If a person changes up their hud settings (Changing their ui theme), the visual effects for this reagent will break, and they will be able to see easily. This 3 part proc waits for the plane controlers to be setup, and over 2 other procs, rengages the visuals /datum/reagent/serpadrone/proc/no_hud_cheese(mob/living/carbon/L) diff --git a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm index 5bb15ae4abbe..849e8536b821 100644 --- a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm +++ b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm @@ -39,7 +39,7 @@ RegisterSignal(parent, list(COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST), PROC_REF(get_list)) /datum/component/mob_overlay_shift/UnregisterFromParent() - UnregisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_MOB_ON_EQUIP, COMSIG_MOB_ON_CLICK)) + UnregisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_MOB_ON_EQUIP, COMSIG_MOB_ON_CLICK, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST)) /datum/component/mob_overlay_shift/proc/shift_call(mob/living/carbon/human/mob) SIGNAL_HANDLER diff --git a/modular_ss220/species/_components/attacking/pair_attack.dm b/modular_ss220/species/_components/attacking/pair_attack.dm index 29780d1fe7b0..b265ac5bb44d 100644 --- a/modular_ss220/species/_components/attacking/pair_attack.dm +++ b/modular_ss220/species/_components/attacking/pair_attack.dm @@ -55,13 +55,14 @@ addtimer(CALLBACK(src, PROC_REF(offhand_post_attack)), attack_recoil SECONDS) /datum/component/pair_attack/proc/offhand_attack(mob/living/target, mob/living/user, def_zone) - if(QDELETED(src) || QDELETED(target) || user != offhand_item.loc || !user.Adjacent(target)) + if(QDELETED(src) || QDELETED(target) || user != offhand_item.loc || !user.Adjacent(target) || !offhand_item) return offhand_item.attack(target, user, def_zone) /datum/component/pair_attack/proc/offhand_post_attack() state_attack = FALSE - SEND_SIGNAL(offhand_item, COMSIG_PAIRATTACK_SYNC, state_attack) + if(offhand_item) + SEND_SIGNAL(offhand_item, COMSIG_PAIRATTACK_SYNC, state_attack) #undef PAIRATTACK_RECOIL_MULT #undef COMSIG_PAIRATTACK_SYNC diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm index ae9e407b5007..9244183c6a83 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm @@ -80,7 +80,7 @@ //Обновление при отстегивании для восстановления слоя моба /mob/living/carbon/human/post_unbuckle_mob(mob/living/M) - .=..() + . = ..() loaded = null passenger = null M.layer = initial(M.layer) diff --git a/modular_ss220/species/serpentids/code/_defines/alerts.dm b/modular_ss220/species/serpentids/code/_defines/alerts.dm index f1e45359e243..27c1e7f46e52 100644 --- a/modular_ss220/species/serpentids/code/_defines/alerts.dm +++ b/modular_ss220/species/serpentids/code/_defines/alerts.dm @@ -19,15 +19,15 @@ /atom/movable/screen/alert/carapace/break_armor/Click() if(isliving(usr) && ..()) - to_chat(usr, span_notice("Вы понесли значительный урон. Обратитесь в мед, чтобы восстановить свою защиту тела.")) + to_chat(usr, span_notice("Вы понесли значительный урон. Обратитесь в мед, чтобы восстановить свою защиту тела при помощи операции 'Восстановление целостности панциря'. Без этого ваша броня снижена, и вы не получаете преимуществ при получении урона, а так-же поверхность тела можно проткнуть иглами.")) /atom/movable/screen/alert/carapace/break_cloak/Click() if(isliving(usr) && ..()) - to_chat(usr, span_notice("Вы понесли крупный урон. Обратитесь в мед, чтобы восстановить свою возможность маскировки.")) + to_chat(usr, span_notice("Вы понесли крупный урон. Обратитесь в мед, чтобы восстановить свою возможность маскировки при помощи операции 'Восстановление целостности панциря'. Без этого вы не сможете использовать продвинутую маскировку своего секретирующего органа.")) /atom/movable/screen/alert/carapace/break_rig/Click() if(isliving(usr) && ..()) - to_chat(usr, span_notice("Вы понесли критический урон. Обратитесь в мед, чтобы восстановить герметичность панциря.")) + to_chat(usr, span_notice("Вы понесли критический урон. Обратитесь в мед, чтобы восстановить герметичность панциря при помощи операции 'Восстановление целостности панциря'. Без этого ваш панцирь не дает устойчивости к температурам и разгерметизации.")) /atom/movable/screen/alert/carrying name = "Перенос" diff --git a/modular_ss220/species/serpentids/code/mob/emotes.dm b/modular_ss220/species/serpentids/code/mob/emotes.dm index 353b7dc98821..4268203ccff2 100644 --- a/modular_ss220/species/serpentids/code/mob/emotes.dm +++ b/modular_ss220/species/serpentids/code/mob/emotes.dm @@ -36,12 +36,9 @@ volume = 50 muzzled_noises = list("раздражённый") emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE + sound = "modular_ss220/species/serpentids/sounds/serpentid_roar.ogg" age_based = TRUE -/datum/emote/living/carbon/human/serpentidroar/get_sound(mob/living/user) - return pick( - 'modular_ss220/species/serpentids/sounds/serpentid_roar.ogg') - /datum/emote/living/carbon/human/serpentidhiss key = "serpentidhiss" key_third_person = "serpentidhisses" diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 8d8f4f58110c..9a1a8ccfdaba 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -223,5 +223,5 @@ /datum/action/item_action/organ_action/toggle/serpentid /datum/action/item_action/organ_action/toggle/serpentid/New(Target) - ..() + . = ..() name = "serpentid organ selection" diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm index ce2eec22d822..26aeebcb01ef 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm @@ -1,12 +1,11 @@ //Может и на оффы, но пока увы. Я не против, если этот код отправит на оффы КТО угодно. /obj/item/organ/external/head/carapace/replaced() - .=..() - for(var/X in actions) - var/datum/action/A = X - A.Grant(owner) + . = ..() + for(var/datum/action/action as anything in actions) + action.Grant(owner) /obj/item/organ/external/head/carapace/droplimb() - .=..() + . = ..() for(var/X in actions) var/datum/action/A = X A.Remove(owner) diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm index d3b2d8b24941..e8025e4ae5d9 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm @@ -15,7 +15,7 @@ AddComponent(/datum/component/carapace, FALSE, min_broken_damage) /obj/item/organ/external/chest/carapace/replaced() - .=..() + . = ..() AddComponent(/datum/component/carapace_shell, owner, treshold_1 = SERPENTID_ARMOR_THRESHOLD_1, treshold_2 = SERPENTID_ARMOR_THRESHOLD_2, treshold_3 = SERPENTID_ARMOR_THRESHOLD_3, threshold_cold = SERPENTID_ARMORED_LOW_TEMP, threshold_heat = SERPENTID_ARMORED_HIGH_TEMP, temp_progression = SERPENTID_ARMORED_STEP_TEMP) #undef SERPENTID_ARMOR_THRESHOLD_1 diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm index 2949e48ce530..34bf0e87759b 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm @@ -10,12 +10,10 @@ force = 11 armour_penetration_flat = 30 tool_behaviour = TOOL_SAW - var/stamina_constant = 2 - var/stamina_coefficient = 0.5 /obj/item/kitchen/knife/combat/serpentblade/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_ADVANCED_SURGICAL, ROUNDSTART_TRAIT) ADD_TRAIT(src, TRAIT_FORCES_OPEN_DOORS_ITEM, ROUNDSTART_TRAIT) - AddComponent(/datum/component/parry, _stamina_constant = stamina_constant, _stamina_coefficient = stamina_coefficient, _parryable_attack_types = NON_PROJECTILE_ATTACKS) + AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS) AddComponent(/datum/component/double_attack) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 4f5cc0c6105b..63b55367c911 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -1,3 +1,5 @@ +#define SERPENTID_EARS_SENSE_TIME 5 SECONDS + //Уши серпентидов позволяют постоянно сканировать окружение в поисках существ в зависимости от их состояния /obj/item/organ/internal/ears/serpentid name = "acoustic sensor" @@ -26,7 +28,7 @@ sense_creatures() /obj/item/organ/internal/ears/serpentid/switch_mode(force_off = FALSE) - .=..() + . = ..() if(!force_off && owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= chemical_consuption && !(status & ORGAN_DEAD) && !active) active = TRUE chemical_consuption = initial(chemical_consuption) @@ -36,9 +38,10 @@ SEND_SIGNAL(src, COMSIG_ORGAN_CHANGE_CHEM_CONSUPTION, chemical_consuption) /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() - var/last_movement_threshold = 5 SECONDS for(var/mob/living/creature in range(9, owner)) var/last_movement_timer = world.time - creature.l_move_time - if(creature == owner || creature.stat == DEAD || last_movement_timer > last_movement_threshold) + if(creature == owner || creature.stat == DEAD || last_movement_timer > SERPENTID_EARS_SENSE_TIME) continue new /obj/effect/temp_visual/sonar_ping(owner.loc, owner, creature) + +#undef SERPENTID_EARS_SENSE_TIME diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 07a49926183f..77dd343d7ca5 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -26,10 +26,9 @@ //Прок на получение цвета глаз /obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) - var/mob/living/carbon/human/H = HA - if(!istype(H)) - H = owner - var/icon/eyes_icon = new /icon(H.dna.species.eyes_icon, H.dna.species.eyes) + if(!HA) + return + var/icon/eyes_icon = new /icon(HA.dna.species.eyes_icon, HA.dna.species.eyes) eyes_icon.Blend(eye_color, ICON_ADD) return eyes_icon diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index 7f2ab07bab0d..31bcd859d315 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -31,7 +31,7 @@ owner.make_invisible() /obj/item/organ/internal/kidneys/serpentid/switch_mode(force_off = FALSE) - .=..() + . = ..() if(!force_off && owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) >= chemical_consuption && !cloak_engaged && !(status & ORGAN_DEAD)) cloak_engaged = TRUE chemical_consuption = SERPENTID_ORGAN_CHEMISTRY_KIDNEYS diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm index 92532d083126..59b463ba3499 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm @@ -15,14 +15,16 @@ /obj/item/organ/internal/liver/serpentid/on_life() . = ..() max_value = clamp((((max_damage - damage)/max_damage)*100), 0, SERPENTID_ORGAN_CHEMISTRY_MAX) - if(owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) < max_value) + if(!owner) + return + if(owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) < max_value) for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) if(!isnull(chemical)) if(chemical.nutriment_factor > 0) chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) owner.reagents.add_reagent(SERPENTID_CHEM_REAGENT_ID, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) else - var/excess_value = owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - max_value + var/excess_value = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) - max_value var/datum/reagent/chem = owner?.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) chem?.holder.remove_reagent(SERPENTID_CHEM_REAGENT_ID, excess_value) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 559ffe587d31..eda0d3f5aa12 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -37,7 +37,7 @@ distribute_pressure = 22 /datum/organ/lungs/serpentid - safe_oxygen_min = 21 + safe_oxygen_min = 16 safe_toxins_max = 5 cold_level_1_threshold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE @@ -49,7 +49,7 @@ heat_level_3_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + 2*SERPENTID_HEAT_THRESHOLD_LEVEL_UP /obj/item/organ/internal/lungs/serpentid/switch_mode(force_off = FALSE) - .=..() + . = ..() if(!hand_active) owner.internal = serpentid_vault hand_active = TRUE @@ -58,10 +58,13 @@ hand_active = FALSE /obj/item/organ/internal/lungs/serpentid/on_life() - .=..() - var/can_secretion = owner?.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > chemical_consuption + . = ..() + if(!owner) + return + + var/can_secretion = owner.get_chemical_value(SERPENTID_CHEM_REAGENT_ID) > chemical_consuption var/danger_state = owner.getOxyLoss() > 0 - var/datum/reagent/chemical = owner?.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) + var/datum/reagent/chemical = owner.get_chemical_path(SERPENTID_CHEM_REAGENT_ID) var/datum/gas_mixture/breath var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] var/breath_moles = 0 From 8e085d0969ab295d1fbe1f80ce5d490f5b4e5acf Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 28 Oct 2024 10:37:15 +0300 Subject: [PATCH 087/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D1=8F=D0=B7?= =?UTF-8?q?=D1=8B=D0=BA=D0=B0=20=D0=BA=D0=B8=D0=B4=D0=B0=D0=BD=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/serpentids/code/mob/language.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/mob/language.dm b/modular_ss220/species/serpentids/code/mob/language.dm index ccf21b5704e6..d896be0e46ab 100644 --- a/modular_ss220/species/serpentids/code/mob/language.dm +++ b/modular_ss220/species/serpentids/code/mob/language.dm @@ -5,7 +5,7 @@ ask_verb = "стучит жвалами и жестикулирует конечностями" exclaim_verbs = list("издает гремящие щелчки") colour = "serpentid" - key = "4" + key = "nab" flags = RESTRICTED | WHITELISTED syllables = list("click","clack","cling","clang","cland","clog") From 62cd576de6edcac2387f56f1abd831fa010fdc74 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 28 Oct 2024 16:16:09 +0300 Subject: [PATCH 088/152] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B4=D0=B5=D1=87?= =?UTF-8?q?=D0=BA=D0=BE=20=D1=87=D0=B8=D0=BD=D0=B8=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/organs/heart_defib.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/_components/organs/heart_defib.dm b/modular_ss220/species/_components/organs/heart_defib.dm index edd7b66139e1..e06b632aa6fe 100644 --- a/modular_ss220/species/_components/organs/heart_defib.dm +++ b/modular_ss220/species/_components/organs/heart_defib.dm @@ -22,7 +22,7 @@ owner = limb.owner if(!owner) qdel(src) - if(owner?.get_chemical_value(chemical_id) < 0 || owner.stat == DEAD || owner.get_damage_amount() > AUTO_DEFIBRILATION_THRESHOLD) + if(owner?.get_chemical_value(chemical_id) < 0 || owner.stat != DEAD || owner.get_damage_amount() > AUTO_DEFIBRILATION_THRESHOLD) return var/defib_chance = owner?.get_chemical_value(chemical_id) var/datum/reagent/chem = owner?.get_chemical_path(chemical_id) From 1cf5f704dbad4745a909a31189f8a31e1475351b Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 28 Oct 2024 17:05:41 +0300 Subject: [PATCH 089/152] =?UTF-8?q?=D0=A1=D0=BE=D0=B2=D0=BC=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D1=81=20=D0=B0?= =?UTF-8?q?=D0=B4=D0=BC=D0=B8=D0=BD-=D0=B8=D0=BD=D0=B2=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/implants/serpentid_mantis_chest.dm | 3 ++- .../code/organs/internal/organs/serpentids_organs_kidneys.dm | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 19648a05c44f..f8fae111dffd 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -126,7 +126,8 @@ return var/obj/item/organ/internal/cyberimp/chest/serpentid_blades/blades_implant = M.get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades) if(blades_implant) - blades_implant.owner.reset_visibility() + if(blades_implant.owner.invisibility != INVISIBILITY_OBSERVER) + blades_implant.owner.reset_visibility() if(blades_implant.blades_active) if((M != H) && M.a_intent != INTENT_HELP && H.check_shields(M, 0, M.name, attack_type = UNARMED_ATTACK)) add_attack_logs(M, H, "Melee attacked with blades (miss/block)") diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index 31bcd859d315..540da40ffd10 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -25,8 +25,9 @@ if(owner.invisibility != INVISIBILITY_LEVEL_TWO) owner.alpha -= 51 else - owner.reset_visibility() - owner.alpha = 255 + if(owner.invisibility != INVISIBILITY_OBSERVER) + owner.reset_visibility() + owner.alpha = 255 if(owner.alpha == 0) owner.make_invisible() From b2fe914b48a072d976c34c3486a31c5fa00e61e2 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 28 Oct 2024 17:55:32 +0300 Subject: [PATCH 090/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B5=D0=B4=D0=BC=D0=B5=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../living/carbon/human/human_update_icons.dm | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 59b098112fdc..1f1a82435113 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -727,9 +727,9 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) // SS220 EDIT START - Species overlay shift . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if(.) - new_glasses.pixel_x = .["shift_x"] - new_glasses.pixel_y = .["shift_y"] + if(length(.) > 0) + new_glasses.pixel_x += .["shift_x"] + new_glasses.pixel_y += .["shift_y"] // SS220 EDIT END var/datum/sprite_accessory/hair/hair_style = GLOB.hair_styles_full_list[head_organ.h_style] @@ -775,9 +775,9 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if(.) - standing.pixel_x = .["shift_x"] - standing.pixel_y = .["shift_y"] + if(length(.) > 0) + standing.pixel_x += .["shift_x"] + standing.pixel_y += .["shift_y"] overlays_standing[LEFT_EAR_LAYER] = standing // SS220 EDIT END @@ -796,9 +796,9 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if(.) - standing.pixel_x = .["shift_x"] - standing.pixel_y = .["shift_y"] + if(length(.) > 0) + standing.pixel_x += .["shift_x"] + standing.pixel_y += .["shift_y"] overlays_standing[RIGHT_EAR_LAYER] = standing // SS220 EDIT END @@ -907,9 +907,9 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) // SS220 EDIT START - Species overlay shift . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if(.) - standing.pixel_x = .["shift_x"] - standing.pixel_y = .["shift_y"] + if(length(.) > 0) + standing.pixel_x += .["shift_x"] + standing.pixel_y += .["shift_y"] // SS220 EDIT END overlays_standing[HEAD_LAYER] = standing @@ -971,9 +971,9 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) // SS220 EDIT START - Species overlay shift . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "belt", .) - if(.) - standing.pixel_x = .["shift_x"] - standing.pixel_y = .["shift_y"] + if(length(.) > 0) + standing.pixel_x += .["shift_x"] + standing.pixel_y += .["shift_y"] // SS220 EDIT END overlays_standing[overlay_layer] = standing @@ -1097,9 +1097,9 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) // SS220 EDIT START - Species overlay shift . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "head", .) - if(.) - standing.pixel_x = .["shift_x"] - standing.pixel_y = .["shift_y"] + if(length(.) > 0) + standing.pixel_x += .["shift_x"] + standing.pixel_y += .["shift_y"] // SS220 EDIT END overlays_standing[FACEMASK_LAYER] = standing @@ -1130,9 +1130,9 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) // SS220 EDIT START - Species overlay shift . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "back", .) - if(.) - standing.pixel_x = .["shift_x"] - standing.pixel_y = .["shift_y"] + if(length(.) > 0) + standing.pixel_x += .["shift_x"] + standing.pixel_y += .["shift_y"] // SS220 EDIT END overlays_standing[BACK_LAYER] = standing @@ -1172,9 +1172,9 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) // SS220 EDIT START - Species overlay shift . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "inhand", .) - if(.) - standing.pixel_x = .["shift_x"] - standing.pixel_y = .["shift_y"] + if(length(.) > 0) + standing.pixel_x += .["shift_x"] + standing.pixel_y += .["shift_y"] // SS220 EDIT END overlays_standing[R_HAND_LAYER] = standing @@ -1201,9 +1201,9 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) // SS220 EDIT START - Species overlay shift . = list() SEND_SIGNAL(src, COMSIG_MOB_GET_OVERLAY_SHIFTS_LIST, "inhand", .) - if(.) - standing.pixel_x = .["shift_x"] - standing.pixel_y = .["shift_y"] + if(length(.) > 0) + standing.pixel_x += .["shift_x"] + standing.pixel_y += .["shift_y"] // SS220 EDIT END overlays_standing[L_HAND_LAYER] = standing From 12c425c28c82cf13239c3579e9f55ca1df131e3e Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 28 Oct 2024 19:56:32 +0300 Subject: [PATCH 091/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=B0=D0=BB?= =?UTF-8?q?=D0=B5=D1=80=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/_defines220/code/signals_atom.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/modular_ss220/_defines220/code/signals_atom.dm b/modular_ss220/_defines220/code/signals_atom.dm index 9b1559eee196..bdfcc6eb2625 100644 --- a/modular_ss220/_defines220/code/signals_atom.dm +++ b/modular_ss220/_defines220/code/signals_atom.dm @@ -14,3 +14,4 @@ /atom/movable/screen/alert/Click() if(isliving(usr) && ..()) SEND_SIGNAL(usr, COMSIG_GADOM_UNLOAD) + . = ..() From 81bb676020491c0498bcf9cacef4b639eee63bd8 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 28 Oct 2024 23:27:48 +0300 Subject: [PATCH 092/152] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B2=D1=83=D0=BA=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=B8=20=D1=8D=D0=BC=D0=BE=D1=83=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/mob/emotes.dm | 2 +- .../species/serpentids/code/mob/serpentids.dm | 33 +++++++----------- .../serpentids/sounds/serpentid_chuckle.ogg | Bin 0 -> 27004 bytes .../serpentids/sounds/serpentid_cough.ogg | Bin 161349 -> 0 bytes .../serpentids/sounds/serpentid_death.ogg | Bin 51650 -> 45695 bytes .../serpentids/sounds/serpentid_dying.ogg | Bin 78784 -> 0 bytes .../serpentids/sounds/serpentid_hiss.ogg | Bin 102546 -> 29581 bytes .../serpentids/sounds/serpentid_laugh.ogg | Bin 21949 -> 78944 bytes .../serpentids/sounds/serpentid_moan.ogg | Bin 28129 -> 30832 bytes .../serpentids/sounds/serpentid_roar.ogg | Bin 25250 -> 35241 bytes .../serpentids/sounds/serpentid_scream.ogg | Bin 0 -> 36562 bytes .../serpentids/sounds/serpentid_shreak.ogg | Bin 26986 -> 0 bytes .../serpentids/sounds/serpentid_sigh.ogg | Bin 86367 -> 0 bytes .../serpentids/sounds/serpentid_sneeze.ogg | Bin 43313 -> 0 bytes .../serpentids/sounds/serpentid_talk1.ogg | Bin 0 -> 48004 bytes .../serpentids/sounds/serpentid_talk2.ogg | Bin 0 -> 62390 bytes .../serpentids/sounds/serpentid_talk3.ogg | Bin 0 -> 76914 bytes .../serpentids/sounds/serpentid_talk_1.ogg | Bin 83060 -> 0 bytes .../serpentids/sounds/serpentid_talk_2.ogg | Bin 159834 -> 0 bytes .../serpentids/sounds/serpentid_tendrils.ogg | Bin 0 -> 22467 bytes .../serpentids/sounds/serpentid_wiggle.ogg | Bin 107740 -> 0 bytes 21 files changed, 13 insertions(+), 22 deletions(-) create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_chuckle.ogg delete mode 100644 modular_ss220/species/serpentids/sounds/serpentid_cough.ogg delete mode 100644 modular_ss220/species/serpentids/sounds/serpentid_dying.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_scream.ogg delete mode 100644 modular_ss220/species/serpentids/sounds/serpentid_shreak.ogg delete mode 100644 modular_ss220/species/serpentids/sounds/serpentid_sigh.ogg delete mode 100644 modular_ss220/species/serpentids/sounds/serpentid_sneeze.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_talk1.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_talk2.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_talk3.ogg delete mode 100644 modular_ss220/species/serpentids/sounds/serpentid_talk_1.ogg delete mode 100644 modular_ss220/species/serpentids/sounds/serpentid_talk_2.ogg create mode 100644 modular_ss220/species/serpentids/sounds/serpentid_tendrils.ogg delete mode 100644 modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg diff --git a/modular_ss220/species/serpentids/code/mob/emotes.dm b/modular_ss220/species/serpentids/code/mob/emotes.dm index 4268203ccff2..7a974c385b10 100644 --- a/modular_ss220/species/serpentids/code/mob/emotes.dm +++ b/modular_ss220/species/serpentids/code/mob/emotes.dm @@ -61,7 +61,7 @@ age_based = TRUE volume = 80 muzzled_noises = list("слабо") - sound = 'modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg' + sound = 'modular_ss220/species/serpentids/sounds/serpentid_tendrils.ogg' /datum/keybinding/emote/carbon/human/serpentidroar linked_emote = /datum/emote/living/carbon/human/serpentidroar diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 9a1a8ccfdaba..8fe57f9931ac 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -70,38 +70,25 @@ scream_verb = "утробно ревёт" speech_sounds = list( 'modular_ss220/species/serpentids/sounds/serpentid_talk_1.ogg', - 'modular_ss220/species/serpentids/sounds/serpentid_talk_2.ogg') + 'modular_ss220/species/serpentids/sounds/serpentid_talk_2.ogg', + 'modular_ss220/species/serpentids/sounds/serpentid_talk_3.ogg') speech_chance = 20 - male_scream_sound = 'modular_ss220/species/serpentids/sounds/serpentid_shreak.ogg' - female_scream_sound = 'modular_ss220/species/serpentids/sounds/serpentid_shreak.ogg' - male_cry_sound = list( - 'modular_ss220/emotes/audio/kidan/cry_kidan_1.ogg') - female_cry_sound = list( - 'modular_ss220/emotes/audio/kidan/cry_kidan_1.ogg') + male_scream_sound = 'modular_ss220/species/serpentids/sounds/serpentid_scream.ogg' + female_scream_sound = 'modular_ss220/species/serpentids/sounds/serpentid_scream.ogg' male_giggle_sound = list( - 'modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg') + 'modular_ss220/species/serpentids/sounds/serpentid_chuckle.ogg') female_giggle_sound = list( - 'modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg') + 'modular_ss220/species/serpentids/sounds/serpentid_chuckle.ogg') male_laugh_sound = list( 'modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg') female_laugh_sound = list( 'modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg') - male_sigh_sound = list( - 'modular_ss220/species/serpentids/sounds/serpentid_sigh.ogg') - female_sigh_sound = list( - 'modular_ss220/species/serpentids/sounds/serpentid_sigh.ogg') male_moan_sound = list('modular_ss220/species/serpentids/sounds/serpentid_moan.ogg') female_moan_sound = list('modular_ss220/species/serpentids/sounds/serpentid_moan.ogg') - male_cough_sounds = list('modular_ss220/species/serpentids/sounds/serpentid_cough.ogg') - female_cough_sounds = list('modular_ss220/species/serpentids/sounds/serpentid_cough.ogg') - male_sneeze_sound = list( - 'modular_ss220/species/serpentids/sounds/serpentid_sneeze.ogg') - female_sneeze_sound = list( - 'modular_ss220/species/serpentids/sounds/serpentid_sneeze.ogg') male_dying_gasp_sounds = list( - 'modular_ss220/species/serpentids/sounds/serpentid_dying.ogg') + 'modular_ss220/species/serpentids/sounds/serpentid_death.ogg') female_dying_gasp_sounds = list( - 'modular_ss220/species/serpentids/sounds/serpentid_dying.ogg') + 'modular_ss220/species/serpentids/sounds/serpentid_death.ogg') death_sounds = 'modular_ss220/species/serpentids/sounds/serpentid_death.ogg' suicide_messages = list( "пытается откусить себе усики!", @@ -173,10 +160,12 @@ H.verbs |= /mob/living/carbon/human/proc/emote_serpentidroar H.verbs |= /mob/living/carbon/human/proc/emote_serpentidhiss H.verbs |= /mob/living/carbon/human/proc/emote_serpentidwiggles + H.verbs -= /mob/living/carbon/human/verb/emote_cry H.verbs -= /mob/living/carbon/human/verb/emote_cough H.verbs -= /mob/living/carbon/human/verb/emote_sneeze H.verbs -= /mob/living/carbon/human/verb/emote_sniff H.verbs -= /mob/living/carbon/human/verb/emote_snore + H.verbs -= /mob/living/carbon/human/verb/emote_sigh H.verbs -= /mob/living/carbon/human/verb/emote_blink H.verbs -= /mob/living/carbon/human/verb/emote_blink_r H.chat_message_y_offset = 11 @@ -187,9 +176,11 @@ H.verbs -= /mob/living/carbon/human/proc/emote_serpentidhiss H.verbs -= /mob/living/carbon/human/proc/emote_serpentidwiggles H.verbs |= /mob/living/carbon/human/verb/emote_cough + H.verbs |= /mob/living/carbon/human/verb/emote_cry H.verbs |= /mob/living/carbon/human/verb/emote_sneeze H.verbs |= /mob/living/carbon/human/verb/emote_sniff H.verbs |= /mob/living/carbon/human/verb/emote_snore + H.verbs |= /mob/living/carbon/human/verb/emote_sigh H.verbs |= /mob/living/carbon/human/verb/emote_blink H.verbs |= /mob/living/carbon/human/verb/emote_blink_r diff --git a/modular_ss220/species/serpentids/sounds/serpentid_chuckle.ogg b/modular_ss220/species/serpentids/sounds/serpentid_chuckle.ogg new file mode 100644 index 0000000000000000000000000000000000000000..feb6dcf28c818a0843eb51583bc0d9be6124635c GIT binary patch literal 27004 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�JWoPGTZ8JXZ}|2k?Kq4Xkg^Q9-@Lt?^!d`}6h~ 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�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 diff --git a/modular_ss220/species/serpentids/sounds/serpentid_death.ogg b/modular_ss220/species/serpentids/sounds/serpentid_death.ogg index d7bffe8abf64c758b29dc8a49889deb2cfba7ec4..da8f34dada25669dc67a71ee419ec1d87eb98848 100644 GIT binary patch literal 45695 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 literal 51650 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 z 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 a)i1yd33kHd0g5!I@nm+YPuMgA+&B*6B{d!Z diff --git a/modular_ss220/species/serpentids/sounds/serpentid_dying.ogg b/modular_ss220/species/serpentids/sounds/serpentid_dying.ogg deleted file mode 100644 index 017b240d29a08829c41918b49452980fbdaf236e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78784 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 z 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 z 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 RZ2A8E`*KwK+7EBs{|20DbEyCT diff --git a/modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg b/modular_ss220/species/serpentids/sounds/serpentid_laugh.ogg index 83486e436f25913dd53bf24bedc82cdc1816a332..0ff0346db185092b413e0eb79de77ffee4320116 100644 GIT binary patch literal 78944 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

FcfD-*O>TS)%DPKIH4^Lo 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 JwOXxKD*%}NnR5UD literal 0 HcmV?d00001 From c9c593a35b6e4bef61f1b186edb780f8e14f3192 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 9 Oct 2024 13:27:18 +0300 Subject: [PATCH 021/152] =?UTF-8?q?=D0=9B=D0=B5=D0=B3=D0=BA=D0=BE=D0=B5=20?= =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D1=80=D0=B5=D0=B4=D0=B2=D0=B5=D1=80=D0=B8=D0=B8?= =?UTF-8?q?=20=D1=81=D0=BF=D1=80=D0=B0=D0=B9=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/_serpentids.dme | 19 ++- .../serpentids/code/components/carapace.dm | 14 +- .../code/components/carapace_shell.dm | 85 ++++++++++++ .../code/components/organ_toxins.dm | 11 +- .../species/serpentids/code/defines.dm | 4 +- .../species/serpentids/code/language.dm | 2 +- .../external/serpentids_organs_external.dm | 121 ------------------ .../external/serpentids_organs_hands.dm | 27 ++++ .../organs/external/serpentids_organs_head.dm | 40 ++++++ .../external/serpentids_organs_other.dm | 56 ++++++++ .../external/serpentids_organs_torso.dm | 11 ++ .../organs/internal/serpentid_mantis_chest.dm | 4 +- .../organs/internal/serpentids_organs_ears.dm | 4 +- .../organs/internal/serpentids_organs_eyes.dm | 13 +- .../internal/serpentids_organs_kidneys.dm | 6 +- .../internal/serpentids_organs_liver.dm | 6 +- .../species/serpentids/code/serpentids.dm | 66 +--------- .../serpentids/icons/mob/r_serpentid copy.dmi | Bin 8671 -> 0 bytes .../serpentids/icons/mob/r_serpentid.dmi | Bin 2808 -> 2713 bytes .../serpentids/icons/mob/r_serpentid_.dmi | Bin 0 -> 2808 bytes .../icons/mob/r_serpentid_bad_hands.dmi | Bin 2792 -> 0 bytes .../icons/mob/r_serpentid_remake.dmi | Bin 0 -> 2496 bytes .../serpentids/icons/mob/r_serpentid_tau.dmi | Bin 0 -> 2356 bytes 23 files changed, 262 insertions(+), 227 deletions(-) create mode 100644 modular_ss220/species/serpentids/code/components/carapace_shell.dm delete mode 100644 modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm create mode 100644 modular_ss220/species/serpentids/code/organs/external/serpentids_organs_hands.dm create mode 100644 modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm create mode 100644 modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm create mode 100644 modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid copy.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_.dmi delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_bad_hands.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_remake.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_tau.dmi diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 4fda2dda0cee..b0d77a87187c 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -1,19 +1,25 @@ #include "code/defines.dm" +#include "code/language.dm" #include "code/components/reagents.dm" #include "code/components/organ_decay.dm" #include "code/components/organ_chemistry.dm" #include "code/components/organ_toxins.dm" //#include "code/components/organ_actions_expansion.dm" - не используется (органы через расширение) -//#include "code/components/organ_actions_component.dm" - не используется (пойдет в ТГ) +//#include "code/components/organ_actions_component.dm" - не используется #include "code/components/heart_defib.dm" #include "code/components/carapace.dm" +#include "code/components/carapace_shell.dm" #include "code/components/paired_implants.dm" #include "code/components/double_attack.dm" #include "code/components/grab_and_drag_on_mob_mobs.dm" #include "code/components/grab_and_drag_on_mob_crates.dm" -#include "code/organs/external/serpentids_organs_external.dm" +#include "code/organs/external/serpentids_organs_other.dm" +#include "code/organs/external/serpentids_organs_hands.dm" +#include "code/organs/external/serpentids_organs_head.dm" +#include "code/organs/external/serpentids_organs_torso.dm" + #include "code/organs/internal/serpentid_mantis_blades.dm" #include "code/organs/internal/serpentid_mantis_chest.dm" #include "code/organs/internal/serpentid_mantis_hand.dm" @@ -26,12 +32,3 @@ #include "code/organs/internal/serpentids_organs_additionals.dm" #include "code/serpentids.dm" -// BEGIN_INTERNALS -// END_INTERNALS -// BEGIN_FILE_DIR -#define FILE_DIR . -// END_FILE_DIR -// BEGIN_PREFERENCES -// END_PREFERENCES -// BEGIN_INCLUDE -// END_INCLUDE diff --git a/modular_ss220/species/serpentids/code/components/carapace.dm b/modular_ss220/species/serpentids/code/components/carapace.dm index 6a6378091053..16078aa280cd 100644 --- a/modular_ss220/species/serpentids/code/components/carapace.dm +++ b/modular_ss220/species/serpentids/code/components/carapace.dm @@ -33,14 +33,12 @@ var/obj/item/organ/external/limb var/self_medning = FALSE var/broken_treshold = CARAPACE_BROKEN_STATE - var/brute_resistance = CARAPACE_BASIC_BRUTE_VULNERABILITY -/datum/component/carapace/Initialize(var/caller_limb, var/allow_self_medning, var/break_threshold) +/datum/component/carapace/Initialize(var/caller_limb, var/allow_self_medning, var/break_threshold, var/control_node = FALSE) ..() limb = parent self_medning = allow_self_medning broken_treshold = break_threshold - update_resistance(limb) /datum/component/carapace/RegisterWithParent() RegisterSignal(parent, COMSIG_CARAPACE_RECEIVE_DAMAGE, PROC_REF(receive_damage)) @@ -56,14 +54,6 @@ SIGNAL_HANDLER return ((limb.status & ORGAN_BROKEN) ? FALSE : CARAPACE_STOP_SURGERY_STEP) -//Прок на обновление сопротивления урона -/datum/component/carapace/proc/update_resistance(var/affected_limb) - if (limb.status & ORGAN_BROKEN) - limb.brute_mod = (100 + limb.get_damage()) / 100 - else - limb.brute_mod = brute_resistance - limb.burn_mod = limb.brute_mod + CARAPACE_ADDITIVE_BURN_VULNERABILITY - //Проки, срабатываемые при получении или исцелении урона /datum/component/carapace/proc/receive_damage(var/affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) if (limb.get_damage() > broken_treshold) @@ -71,7 +61,6 @@ if (limb.internal_organs.len > 0) var/obj/item/organ/internal/O = pick(limb.internal_organs) O.receive_damage(burn * limb.burn_dam) - update_resistance() /datum/component/carapace/proc/heal_damage(var/affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) if ((limb.status & ORGAN_BROKEN) && limb.get_damage() == 0) @@ -79,7 +68,6 @@ limb.mend_fracture() else if(prob(CARAPACE_HEAL_BROKEN_PROB)) limb.mend_fracture() - update_resistance() //Расширение проков урона и лечения для обращения к компоненту /obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) diff --git a/modular_ss220/species/serpentids/code/components/carapace_shell.dm b/modular_ss220/species/serpentids/code/components/carapace_shell.dm new file mode 100644 index 000000000000..a7c39e596280 --- /dev/null +++ b/modular_ss220/species/serpentids/code/components/carapace_shell.dm @@ -0,0 +1,85 @@ +/* +===Модуль хитина (карапаса) +Цепляется на конечность (в идеале торс).area +Опреедляет возможности тела серпентида, которые зависят от общего состояния хитина всех конечностей +*/ +#define COMSIG_CARAPACE_SHELL_PROCESS "process_shell" + +/datum/component/carapace_shell + var/mob/living/carbon/human/H + +/datum/component/carapace_shell/Initialize(var/caller) + ..() + H = caller + +/datum/component/carapace_shell/RegisterWithParent() + RegisterSignal(H, COMSIG_CARAPACE_SHELL_PROCESS, PROC_REF(process_shell)) + +/datum/component/carapace_shell/UnregisterFromParent() + UnregisterSignal(H, COMSIG_CARAPACE_SHELL_PROCESS) + +//Прок на обновление сопротивления урона +/datum/component/carapace_shell/proc/process_shell() + var/character_damage = H.get_damage_amount(BRUTE) + H.get_damage_amount(BURN) + var/datum/species/specie = H.dna.species + + //Потеря брони при первом трешхолде + if (character_damage <= SERPENTID_CARAPACE_NOARMOR_STATE) + specie.brute_mod = 0.6 + specie.burn_mod = 1.1 + ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") + H.clear_alert("carapace_break_armor") + else + specie.brute_mod = 1.3 + specie.burn_mod = 1.5 + REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") + H.throw_alert("carapace_break_armor", /atom/movable/screen/alert/carapace_break_armor) + + //Потеря стелса при втором трешхолде + var/obj/item/organ/internal/kidneys/serpentid/organ = H.get_int_organ("kidneys") + if (character_damage <= SERPENTID_CARAPACE_NOCHAMELION_STATE) + H.clear_alert("carapace_break_cloak") + else + H.throw_alert("carapace_break_cloak", /atom/movable/screen/alert/carapace_break_cloak) + H.clear_alert("carapace_break_armor") + if (istype(organ, /obj/item/organ/internal/kidneys/serpentid)) + organ.switch_mode(force_off = TRUE) + + //Потеря рига при третьем трешхолде + var/cold = SERPENTID_ARMORED_COLD_THRESHOLD + var/heat = SERPENTID_ARMORED_HEAT_THRESHOLD + + if (character_damage <= SERPENTID_CARAPACE_NOPRESSURE_STATE) + specie.hazard_high_pressure = INFINITY + specie.warning_high_pressure = INFINITY + specie.warning_low_pressure = -INFINITY + specie.hazard_low_pressure = -INFINITY + cold = SERPENTID_ARMORED_COLD_THRESHOLD + heat = SERPENTID_ARMORED_HEAT_THRESHOLD + H.clear_alert("carapace_break_rig") + else + specie.hazard_high_pressure = HAZARD_HIGH_PRESSURE + specie.warning_high_pressure = WARNING_HIGH_PRESSURE + specie.warning_low_pressure = WARNING_LOW_PRESSURE + specie.hazard_low_pressure = HAZARD_LOW_PRESSURE + H.throw_alert("carapace_break_rig", /atom/movable/screen/alert/carapace_break_rig) + H.clear_alert("carapace_break_armor") + H.clear_alert("carapace_break_cloak") + cold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE + heat = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + + var/up = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + var/down = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + specie.cold_level_1 = cold + specie.cold_level_2 = specie.cold_level_1 - down + specie.cold_level_3 = specie.cold_level_2 - down + specie.heat_level_1 = heat + specie.heat_level_2 = specie.heat_level_1 + up + specie.heat_level_3 = specie.heat_level_2 + up + +//Расширение проков урона и лечения для обращения к компоненту +/datum/species/handle_life(mob/living/carbon/human/H) + . = ..() + SEND_SIGNAL(H, COMSIG_CARAPACE_SHELL_PROCESS) + return + diff --git a/modular_ss220/species/serpentids/code/components/organ_toxins.dm b/modular_ss220/species/serpentids/code/components/organ_toxins.dm index df33343e56b5..5f9ba8fed715 100644 --- a/modular_ss220/species/serpentids/code/components/organ_toxins.dm +++ b/modular_ss220/species/serpentids/code/components/organ_toxins.dm @@ -26,14 +26,9 @@ if(organ.status & ORGAN_DEAD) return if(organ.owner.get_damage_amount(TOX) > 0) - var/list/organs = organ.owner.internal_organs - var/obj/item/organ/internal/liver/target_liver = null - var/obj/item/organ/internal/kidneys/target_kidney = null - for(var/obj/item/organ/internal/O in organs) - if (istype(O, /obj/item/organ/internal/liver)) - target_liver = O - if (istype(O, /obj/item/organ/internal/kidneys)) - target_kidney = O + var/obj/item/organ/internal/liver/target_liver = organ.owner.get_int_organ(/obj/item/organ/internal/liver) + var/obj/item/organ/internal/kidneys/target_kidney = organ.owner.get_int_organ(/obj/item/organ/internal/kidneys) + if (organ == target_kidney) organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) organ.owner.adjustToxLoss(-1 * organ.owner.get_damage_amount(TOX) * toxin_damage_rate) diff --git a/modular_ss220/species/serpentids/code/defines.dm b/modular_ss220/species/serpentids/code/defines.dm index 5b2f5b14aa5e..d49c0dfd6766 100644 --- a/modular_ss220/species/serpentids/code/defines.dm +++ b/modular_ss220/species/serpentids/code/defines.dm @@ -16,7 +16,9 @@ #define SERPENTID_ARMORED_COLD_THRESHOLD 0 #define GAS_ORGAN_CHEMISTRY_LUNGS 1 -#define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.6 +#define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.5 +#define GAS_ORGAN_CHEMISTRY_EYES 0.01 +#define GAS_ORGAN_CHEMISTRY_EARS 0.01 #define SERPENTID_CHEM_MULT_CONSUPTION 0.75 #define SERPENTID_CHEM_MULT_PRODUCTION 0.6 diff --git a/modular_ss220/species/serpentids/code/language.dm b/modular_ss220/species/serpentids/code/language.dm index 035f5d6ace22..0371e1783edb 100644 --- a/modular_ss220/species/serpentids/code/language.dm +++ b/modular_ss220/species/serpentids/code/language.dm @@ -9,7 +9,7 @@ flags = RESTRICTED | WHITELISTED syllables = list("click","clack","cling","clang","cland","clog") -/datum/language/serpentid/get_random_name() +/datum/language/serpentid/get_random_name(gender) var/new_name = "" if(gender == FEMALE) new_name = capitalize(pick(GLOB.first_names_female)) diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm deleted file mode 100644 index 4867c95d6ee3..000000000000 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_external.dm +++ /dev/null @@ -1,121 +0,0 @@ -///Хитиновые конечности -/obj/item/organ/external/replaced() - .=..() - for(var/X in actions) - var/datum/action/A = X - A.Grant(owner) - -/obj/item/organ/external/droplimb() - .=..() - for(var/X in actions) - var/datum/action/A = X - A.Remove(owner) - -/obj/item/organ/external/head/carapace - encased = "chitin" - min_broken_damage = 30 - actions_types = list(/datum/action/item_action/organ_action/toggle) - action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_eyes_0") - var/eye_shielded = FALSE - -/obj/item/organ/external/head/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) - -/obj/item/organ/external/head/carapace/ui_action_click() - var/obj/item/organ/internal/eyes/E = owner.get_int_organ(/obj/item/organ/internal/eyes) - if(eye_shielded) - E.flash_protect = initial(E.flash_protect) - E.tint = initial(E.tint) - owner.update_sight() - eye_shielded = FALSE - else - E.flash_protect = FLASH_PROTECTION_WELDER //Adjust the user's eyes' flash protection - E.tint = FLASH_PROTECTION_WELDER - owner.update_sight() - eye_shielded = TRUE - - for(var/datum/action/item_action/T in actions) - T.button_overlay_icon_state ="gas_eyes_[eye_shielded]" - T.UpdateButtons() - -/obj/item/organ/external/chest/carapace - encased = "chitin" - min_broken_damage = 40 - -/obj/item/organ/external/chest/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) - -/obj/item/organ/external/groin/carapace - encased = "chitin" - min_broken_damage = 40 - -/obj/item/organ/external/groin/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) - -/obj/item/organ/external/arm/carapace - encased = "chitin" - min_broken_damage = 20 - -/obj/item/organ/external/arm/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) - -/obj/item/organ/external/arm/right/carapace - encased = "chitin" - min_broken_damage = 20 - -/obj/item/organ/external/arm/right/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) - -/obj/item/organ/external/leg/carapace - encased = "chitin" - min_broken_damage = 20 - -/obj/item/organ/external/leg/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) - -/obj/item/organ/external/leg/right/carapace - encased = "chitin" - min_broken_damage = 20 - -/obj/item/organ/external/leg/right/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) - -/obj/item/organ/external/hand/carapace - encased = "chitin" - min_broken_damage = 20 - -/obj/item/organ/external/hand/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) - -/obj/item/organ/external/hand/right/carapace - encased = "chitin" - min_broken_damage = 20 - -/obj/item/organ/external/hand/right/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) - -/obj/item/organ/external/foot/carapace - encased = "chitin" - min_broken_damage = 20 - -/obj/item/organ/external/foot/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) - -/obj/item/organ/external/foot/right/carapace - encased = "chitin" - min_broken_damage = 20 - -/obj/item/organ/external/foot/right/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_hands.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_hands.dm new file mode 100644 index 000000000000..72689cbd47a3 --- /dev/null +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_hands.dm @@ -0,0 +1,27 @@ +/obj/item/organ/external/hand/carapace + encased = "chitin" + min_broken_damage = 20 + +/obj/item/organ/external/hand/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + +/obj/item/organ/external/hand/right/carapace + encased = "chitin" + min_broken_damage = 20 + +/obj/item/organ/external/hand/right/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + +//Модификация граба для хвата из стелса +/datum/species/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + . = .. () + var/obj/item/grab/grab_item = user.get_active_hand() + var/limb_name = (user.l_hand == grab_item ? "l_hand" : "r_hand") + var/obj/item/organ/external/hand/active_hand = user.get_limb_by_name(limb_name) + if (istype(active_hand, /obj/item/organ/external/hand/carapace) || istype(active_hand, /obj/item/organ/external/hand/right/carapace)) + if (user.invisibility == INVISIBILITY_LEVEL_TWO) + grab_item.state = GRAB_AGGRESSIVE + grab_item.icon_state = "grabbed1" + user.reset_visibility() diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm new file mode 100644 index 000000000000..567d6e90d9de --- /dev/null +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm @@ -0,0 +1,40 @@ +/obj/item/organ/external/head/carapace/replaced() + .=..() + for(var/X in actions) + var/datum/action/A = X + A.Grant(owner) + +/obj/item/organ/external/head/carapace/droplimb() + .=..() + for(var/X in actions) + var/datum/action/A = X + A.Remove(owner) + +/obj/item/organ/external/head/carapace + encased = "chitin" + min_broken_damage = 30 + actions_types = list(/datum/action/item_action/organ_action/toggle) + action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_eyes_0") + var/eye_shielded = FALSE + +/obj/item/organ/external/head/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) + +/obj/item/organ/external/head/carapace/ui_action_click() + var/obj/item/organ/internal/eyes/E = owner.get_int_organ(/obj/item/organ/internal/eyes) + if(eye_shielded) + E.flash_protect = initial(E.flash_protect) + E.tint = initial(E.tint) + owner.update_sight() + eye_shielded = FALSE + else + E.flash_protect = FLASH_PROTECTION_WELDER //Adjust the user's eyes' flash protection + E.tint = FLASH_PROTECTION_WELDER + owner.update_sight() + eye_shielded = TRUE + + for(var/datum/action/item_action/T in actions) + T.button_overlay_icon_state ="gas_eyes_[eye_shielded]" + T.UpdateButtons() diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm new file mode 100644 index 000000000000..98de1c3a9df5 --- /dev/null +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm @@ -0,0 +1,56 @@ +///Хитиновые конечности = прочее +/obj/item/organ/external/groin/carapace + encased = "chitin" + min_broken_damage = 40 + +/obj/item/organ/external/groin/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) + +/obj/item/organ/external/arm/carapace + encased = "chitin" + min_broken_damage = 20 + +/obj/item/organ/external/arm/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + +/obj/item/organ/external/arm/right/carapace + encased = "chitin" + min_broken_damage = 20 + +/obj/item/organ/external/arm/right/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + +/obj/item/organ/external/leg/carapace + encased = "chitin" + min_broken_damage = 20 + +/obj/item/organ/external/leg/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + +/obj/item/organ/external/leg/right/carapace + encased = "chitin" + min_broken_damage = 20 + +/obj/item/organ/external/leg/right/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + +/obj/item/organ/external/foot/carapace + encased = "chitin" + min_broken_damage = 20 + +/obj/item/organ/external/foot/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + +/obj/item/organ/external/foot/right/carapace + encased = "chitin" + min_broken_damage = 20 + +/obj/item/organ/external/foot/right/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm new file mode 100644 index 000000000000..977afb33abf3 --- /dev/null +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm @@ -0,0 +1,11 @@ +/obj/item/organ/external/chest/carapace + encased = "chitin" + min_broken_damage = 40 + +/obj/item/organ/external/chest/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) + +/obj/item/organ/external/chest/carapace/replaced() + .=..() + AddComponent(/datum/component/carapace_shell, owner) diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm index 12e281e20b46..9b6bbd6fc70b 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm @@ -1,7 +1,7 @@ //===Клинки через грудной имплант=== /obj/item/organ/internal/cyberimp/chest/serpentid_blades - name = "serpentid blade implant" - desc = "implants for the organs in your torso." + name = "neuronodule of blades" + desc = "control organ of upper blades" icon_state = "chest_implant" parent_organ = "chest" actions_types = list(/datum/action/item_action/organ_action/toggle/switch_blades) diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm index affba7584673..8eae2d96a0a9 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm @@ -7,6 +7,8 @@ var/decay_rate = 2 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.25 + var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EARS + var/chemical_id = SERPENTID_CHEM_REAGENT_ID /obj/item/organ/internal/ears/serpentid/Initialize(mapload) . = ..() @@ -15,7 +17,7 @@ /obj/item/organ/internal/ears/serpentid/on_life() .=..() - if (prob(((max_damage - damage)/max_damage) * 100)) + if (prob(((max_damage - damage)/max_damage) * 100) && chemical_consuption > owner.get_chemical_value(chemical_id)) sense_creatures() /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm index e1a304cc00ee..d0b70421a4b5 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm @@ -4,13 +4,14 @@ icon = 'modular_ss220/species/serpentids/icons/organs.dmi' desc = "A large looking eyes with some chemical enchanments." icon_state = "eyes01" - see_in_dark = 8 + see_in_dark = 0 flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/decay_rate = 1 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.35 + var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES /obj/item/organ/internal/eyes/serpentid/Initialize(mapload) @@ -33,6 +34,7 @@ if(!isnull(owner)) var/mob/mob = owner mob.update_client_colour(time = 10) + switch_mode() /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() var/chem_value = (owner.get_chemical_value(chemical_id) + GAS_ORGAN_CHEMISTRY_MAX/2)/GAS_ORGAN_CHEMISTRY_MAX @@ -47,3 +49,12 @@ vision_adjust, vision_chem, vision_adjust,\ vision_adjust, vision_adjust, vision_chem) return vision_matrix + +/obj/item/organ/internal/eyes/serpentid/switch_mode(var/force_off = FALSE) + .=..() + if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) + see_in_dark = 8 + chemical_consuption = chemical_consuption + chemical_consuption * (max_damage - damage / max_damage) + else + see_in_dark = 0 + chemical_consuption = 0 diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm index 3c745fb29871..4d672be92fcf 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm @@ -26,7 +26,7 @@ /obj/item/organ/internal/kidneys/serpentid/on_life() . = .. () SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) - if((owner.m_intent != MOVE_INTENT_RUN || owner.body_position == LYING_DOWN || (world.time - owner.last_movement) >= 10) && (!owner.stat && (owner.mobility_flags & MOBILITY_STAND) && !owner.restrained() && cloak_engaged)) + if((owner.m_intent != MOVE_INTENT_RUN || owner.body_position == LYING_DOWN || (world.time - owner.last_movement) >= 5) && (!owner.stat && (owner.mobility_flags & MOBILITY_STAND) && !owner.restrained() && cloak_engaged)) if(owner.invisibility != INVISIBILITY_LEVEL_TWO) owner.alpha -= 51 else @@ -37,9 +37,9 @@ /obj/item/organ/internal/kidneys/serpentid/switch_mode(var/force_off = FALSE) .=..() - if(!force_off && owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_KIDNEYS && !cloak_engaged && !(status & ORGAN_DEAD)) + if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !cloak_engaged && !(status & ORGAN_DEAD)) cloak_engaged = TRUE - chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS + GAS_ORGAN_CHEMISTRY_KIDNEYS * (max_damage - damage / max_damage) + chemical_consuption = chemical_consuption + chemical_consuption * (max_damage - damage / max_damage) else cloak_engaged = FALSE chemical_consuption = 0 diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm index 1447ebd7a1f1..7b96b1d3c0b8 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm @@ -22,9 +22,11 @@ if (owner.get_chemical_value(chemical_id) < max_value) for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) if(!isnull(chemical)) - chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) - owner.reagents.add_reagent(chemical_id, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) + if (chemical.nutriment_factor > 0) + chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) + owner.reagents.add_reagent(chemical_id, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) else var/excess_value = owner.get_chemical_value(chemical_id) - max_value var/datum/reagent/chem = owner.get_chemical_path(chemical_id) chem.holder.remove_reagent(chemical_id, excess_value) + diff --git a/modular_ss220/species/serpentids/code/serpentids.dm b/modular_ss220/species/serpentids/code/serpentids.dm index ebb98338d2cb..2c89add018f9 100644 --- a/modular_ss220/species/serpentids/code/serpentids.dm +++ b/modular_ss220/species/serpentids/code/serpentids.dm @@ -20,7 +20,7 @@ inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_REPTILE dies_at_threshold = TRUE - dietflags = DIET_CARN + dietflags = DIET_OMNI taste_sensitivity = TASTE_SENSITIVITY_SHARP allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, /mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/poison/bees) @@ -131,6 +131,7 @@ else return TRUE +//Перенести на карапас/грудь /datum/species/serpentid/handle_life(mob/living/carbon/human/H) var/armor_count = 0 @@ -147,69 +148,8 @@ else gene_lastcall += 1 - //Потеря брони при первом трешхолде - if (armor_count <= SERPENTID_CARAPACE_NOARMOR_STATE) - brute_mod = 0.6 - burn_mod = 0.8 - ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") - H.clear_alert("carapace_break_armor") - else - brute_mod = 1.3 - burn_mod = 1.5 - REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") - H.throw_alert("carapace_break_armor", /atom/movable/screen/alert/carapace_break_armor) - - //Потеря стелса при втором трешхолде - if (armor_count <= SERPENTID_CARAPACE_NOCHAMELION_STATE) - can_stealth = TRUE - H.clear_alert("carapace_break_cloak") - else - H.throw_alert("carapace_break_cloak", /atom/movable/screen/alert/carapace_break_cloak) - can_stealth = FALSE - - //Потеря рига при третьем трешхолде - var/cold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE - var/heat = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE - hazard_high_pressure = HAZARD_HIGH_PRESSURE - warning_high_pressure = WARNING_HIGH_PRESSURE - warning_low_pressure = WARNING_LOW_PRESSURE - hazard_low_pressure = HAZARD_LOW_PRESSURE - cold = SERPENTID_ARMORED_COLD_THRESHOLD - heat = SERPENTID_ARMORED_HEAT_THRESHOLD - if (armor_count <= SERPENTID_CARAPACE_NOPRESSURE_STATE) - hazard_high_pressure = 1000 - warning_high_pressure = 1000 - warning_low_pressure = -1 - hazard_low_pressure = -1 - cold = SERPENTID_ARMORED_COLD_THRESHOLD - heat = SERPENTID_ARMORED_HEAT_THRESHOLD - H.clear_alert("carapace_break_rig") - else - H.throw_alert("carapace_break_rig", /atom/movable/screen/alert/carapace_break_rig) - var/up = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN - var/down = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN - cold_level_1 = cold - cold_level_2 = cold_level_1 - down - cold_level_3 = cold_level_2 - down - heat_level_1 = heat - heat_level_2 = heat_level_1 + up - heat_level_3 = heat_level_2 + up - . = ..() -//Модификация граба для хвата из стелса -/datum/species/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) - . = .. () - var/datum/species/serpentid/active_spieces = user.dna.species - if (istype(active_spieces, /datum/species/serpentid)) - if (user.invisibility == INVISIBILITY_LEVEL_TWO) - for(var/X in target.grabbed_by) - var/obj/item/grab/G = X - G.state = GRAB_AGGRESSIVE - G.icon_state = "grabbed1" - user.reset_visibility() - - /datum/species/serpentid/on_species_gain(mob/living/carbon/human/H) ..() H.resize = 1 @@ -235,7 +175,7 @@ H.verbs -= /mob/living/carbon/human/proc/emote_gbswhips H.verbs -= /mob/living/carbon/human/proc/emote_gbswiggles -//Блокировка ботинок +//Блокировка ботинок - перенести на ноги/ступни /datum/species/serpentid/can_equip(obj/item/I, slot, disable_warning = FALSE, mob/living/carbon/human/H) switch(slot) if(SLOT_HUD_SHOES) diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid copy.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid copy.dmi deleted file mode 100644 index 9519e7c886c41fdb248c41edc0647f7fd7332636..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8671 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 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi index a3e73ccca0621e1f248edb867ee9c9b5e37835c2..8bb1417631e06c2f8b569bc851186c2641c05a5b 100644 GIT binary patch literal 2713 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 KMNUMnLSTZ13Rgh@ diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_.dmi new file mode 100644 index 0000000000000000000000000000000000000000..a3e73ccca0621e1f248edb867ee9c9b5e37835c2 GIT binary patch literal 2808 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 KMNUMnLSTZ13Rgh@ literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_bad_hands.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_bad_hands.dmi deleted file mode 100644 index f62e571465d43781efc865de712da4d6fb5d0836..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2792 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 a{psI}$NaBCnaN!M0000 Date: Wed, 9 Oct 2024 20:13:35 +0300 Subject: [PATCH 022/152] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BF=D1=80=D0=B0=D0=B9=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=93=D0=91=D0=A1=20=D1=871.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/_serpentids.dme | 9 +++++++++ .../serpentids/icons/mob/r_serpentid.dmi | Bin 2713 -> 3370 bytes .../serpentids/icons/mob/r_serpentid_.dmi | Bin 2808 -> 0 bytes .../serpentids/icons/mob/r_serpentid_KIOZ.dmi | Bin 0 -> 3114 bytes .../serpentids/icons/mob/r_serpentid_eyes.dmi | Bin 385 -> 404 bytes .../icons/mob/r_serpentid_remake.dmi | Bin 2496 -> 0 bytes .../serpentids/icons/mob/r_serpentid_tau.dmi | Bin 2356 -> 0 bytes 7 files changed, 9 insertions(+) delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_KIOZ.dmi delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_remake.dmi delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_tau.dmi diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index b0d77a87187c..3abe17846b1a 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -32,3 +32,12 @@ #include "code/organs/internal/serpentids_organs_additionals.dm" #include "code/serpentids.dm" +// BEGIN_INTERNALS +// END_INTERNALS +// BEGIN_FILE_DIR +#define FILE_DIR . +// END_FILE_DIR +// BEGIN_PREFERENCES +// END_PREFERENCES +// BEGIN_INCLUDE +// END_INCLUDE diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi index 8bb1417631e06c2f8b569bc851186c2641c05a5b..158ac04b25bac3c827866286fb908a1047c9fc71 100644 GIT binary patch literal 3370 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 literal 2713 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 KMNUMnLSTZ13Rgh@ diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_KIOZ.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_KIOZ.dmi new file mode 100644 index 0000000000000000000000000000000000000000..4021c14d1672b19331daec2b6cc85006584c0670 GIT binary patch literal 3114 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 literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi index 0bca364714416575e13bf2d5fed198fe7fc95cb5..7547b3993d8ee99d0d576d3bdbe04aae9103049a 100644 GIT binary patch delta 245 zcmZoum((G4k+TVvhsRY&%o#8J~d;Bf}rMX<}$Ip z*Ap-FNKOvfzp6nb_x8M9>#Wyae`Iyde(Q4GK284P-q%WF&wj4iDtCS3ylRf^ZTl;} z3&hDeh`j&(@8aJz&Jk_@J+3)-96D@pXYQxXzpKCOFaOp3#{Ot}-qHH6^$alZ??z&F zW2s(-%<;2dy}tXL;=Fgu!{xG)-E|Y+i4#J;bi`dO?vJ>m7k|KNzqxPlHvNSu>s6); qq)yzCb284;EAPeYI60_MKeEzKBu75>{QZRkB;x7n=d#Wzp$P!SPjHX` delta 226 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 a{psI}$NaBCnaN!M0000 Date: Thu, 10 Oct 2024 22:15:51 +0300 Subject: [PATCH 023/152] =?UTF-8?q?=D0=9F=D1=80=D0=B5=D0=B4=D0=BE=D1=82?= =?UTF-8?q?=D0=B3=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9=20=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/_serpentids.dme | 1 + .../components/grab_and_drag_on_mob_crates.dm | 4 +- .../components/grab_and_drag_on_mob_mobs.dm | 13 +- .../code/components/mob_overlay_shift.dm | 232 ++++++++++++++++++ .../species/serpentids/code/defines.dm | 31 +-- .../species/serpentids/code/language.dm | 2 +- .../organs/internal/serpentid_mantis_chest.dm | 22 +- .../species/serpentids/code/serpentids.dm | 8 +- .../icons/mob/bodypart_overlays.dmi | Bin 0 -> 558 bytes .../serpentids/icons/mob/r_serpentid.dmi | Bin 3370 -> 3072 bytes .../serpentids/icons/mob/r_serpentid_eyes.dmi | Bin 404 -> 417 bytes .../icons/mob/r_serpentid_eyes_old.dmi | Bin 563 -> 0 bytes .../icons/mob/r_serpentid_monkey.dmi | Bin 0 -> 2271 bytes .../serpentids/icons/mob/r_serpentid_new.dmi | Bin 0 -> 3480 bytes .../serpentids/icons/mob/r_serpentid_old.dmi | Bin 5025 -> 0 bytes .../icons/mob/r_serpentid_para_light.dmi | Bin 0 -> 3098 bytes .../icons/mob/r_serpentid_rejected.dmi | Bin 0 -> 3276 bytes 17 files changed, 264 insertions(+), 49 deletions(-) create mode 100644 modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm create mode 100644 modular_ss220/species/serpentids/icons/mob/bodypart_overlays.dmi delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes_old.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_monkey.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_new.dmi delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_old.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_para_light.dmi create mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_rejected.dmi diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 3abe17846b1a..f99c32d70bac 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -14,6 +14,7 @@ #include "code/components/double_attack.dm" #include "code/components/grab_and_drag_on_mob_mobs.dm" #include "code/components/grab_and_drag_on_mob_crates.dm" +#include "code/components/mob_overlay_shift.dm" #include "code/organs/external/serpentids_organs_other.dm" #include "code/organs/external/serpentids_organs_hands.dm" diff --git a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm index 694e5bcd3be6..e8acf7ea2876 100644 --- a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm @@ -134,12 +134,12 @@ //Расширение прока для переноса ящика на моба /mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) - if (SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) && GADOM_UNMOB_ALLOW_TO_GRAB) + if (SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) & GADOM_UNMOB_ALLOW_TO_GRAB) SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_LOAD, usr, AM) . = .. () //Расширение прока на отстегивание ящика /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - if (SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_CAN_GRAB) && GADOM_UNMOB_ALLOW_TO_GRAB && H.loaded) + if (SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_CAN_GRAB) & GADOM_UNMOB_ALLOW_TO_GRAB && H.loaded) SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_UNLOAD, M) . = .. () diff --git a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm index 2c0a225e84a4..314d4d15b0d4 100644 --- a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm @@ -31,8 +31,9 @@ UnregisterSignal(parent, COMSIG_GADOM_MOB_UNLOAD) UnregisterSignal(parent, COMSIG_GADOM_MOB_CAN_GRAB) -/datum/component/gadom_living/proc/block_operation() +/datum/component/gadom_living/proc/block_operation(datum/component_holder, var/signal_result) SIGNAL_HANDLER + signal_result = carrier.a_intent == "grab" return GADOM_MOB_ALLOW_TO_GRAB /datum/component/gadom_living/proc/try_load_mob(datum/component_holder, mob/user, mob/target) @@ -107,11 +108,17 @@ if(IsFrozen(src) && !is_admin(usr)) to_chat(usr, "Interacting with admin-frozen players is not permitted.") return - if (SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB) && GADOM_MOB_ALLOW_TO_GRAB) + var/signal_result + var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB, signal_result) + if ((signal_call & GADOM_MOB_ALLOW_TO_GRAB) && signal_result) SEND_SIGNAL(usr, COMSIG_GADOM_MOB_LOAD, usr, src) + return + . = .. () /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - if (SEND_SIGNAL(H, COMSIG_GADOM_MOB_CAN_GRAB) && GADOM_MOB_ALLOW_TO_GRAB && H.loaded) + var/signal_result + var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB, signal_result) + if ((signal_call & GADOM_MOB_ALLOW_TO_GRAB) && signal_result && H.loaded) SEND_SIGNAL(H, COMSIG_GADOM_MOB_UNLOAD, M) . = .. () diff --git a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm new file mode 100644 index 000000000000..7b57dece82c2 --- /dev/null +++ b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm @@ -0,0 +1,232 @@ +/* +===Модуль сдвига оверлея +Компонент должен цепляться на моба. +При инициализации предаются сдвиги. +*/ +//Базовый трешхолд урона, при достижение или выше которого будет слом. +#define COMSIG_MOB_OVERLAY_SHIFT_CALL "shift_call" +#define COMSIG_MOB_OVERLAY_SHIFT_UPDATE "update_call" +#define COMSIG_MOB_OVERLAY_SHIFT_CHECK "module_available" + #define MOB_OVERLAY_SHIFT_CHECK (1<<0) + +/datum/component/mob_overlay_shift + var/mob/living/carbon/human/mob + var/shift_x_inhand = 0 + var/shift_x_center_inhand = 0 + var/shift_y_inhand = 0 + var/shift_y_center_inhand = 0 + var/shift_x_side_inhand = 0 + var/shift_y_side_inhand = 0 + var/shift_x_front_inhand = 0 + var/shift_y_front_inhand = 0 + + var/shift_x_belt = 0 + var/shift_x_center_belt = 0 + var/shift_y_belt = 0 + var/shift_y_center_belt = 0 + var/shift_x_side_belt = 0 + var/shift_y_side_belt = 0 + var/shift_x_front_belt = 0 + var/shift_y_front_belt = 0 + + var/shift_x_back = 0 + var/shift_x_center_back = 0 + var/shift_y_back = 0 + var/shift_y_center_back = 0 + var/shift_x_side_back = 0 + var/shift_y_side_back = 0 + var/shift_x_front_back = 0 + var/shift_y_front_back = 0 + +/datum/component/mob_overlay_shift/Initialize(var/caller_mob, var/shift_xs_hand = 0, var/shift_ys_hand = 0, var/shift_xf_hand = 0, var/shift_yf_hand = 0, var/shift_x_hand = 0, var/shift_y_hand = 0, var/shift_xs_belt = 0, var/shift_ys_belt = 0, var/shift_xf_belt = 0, var/shift_yf_belt = 0, var/shift_x_belt = 0, var/shift_y_belt = 0, var/shift_xs_back = 0, var/shift_ys_back = 0, var/shift_xf_back = 0, var/shift_yf_back = 0, var/shift_x_back = 0, var/shift_y_back = 0) + ..() + mob = parent + + shift_x_center_inhand = shift_x_hand + shift_y_center_inhand = shift_y_hand + shift_x_side_inhand = shift_xs_hand + shift_y_side_inhand = shift_ys_hand + shift_x_front_inhand = shift_xf_hand + shift_y_front_inhand = shift_yf_hand + + shift_x_center_belt = shift_x_belt + shift_y_center_belt = shift_y_belt + shift_x_side_belt = shift_xs_belt + shift_y_side_belt = shift_ys_belt + shift_x_front_belt = shift_xf_belt + shift_y_front_belt = shift_yf_belt + + shift_x_center_back = shift_x_back + shift_y_center_back = shift_y_back + shift_x_side_back = shift_xs_back + shift_y_side_back = shift_ys_back + shift_x_front_back = shift_xf_back + shift_y_front_back = shift_yf_back + +/datum/component/mob_overlay_shift/RegisterWithParent() + RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CALL, PROC_REF(shift_call)) + RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CHECK, PROC_REF(module_available)) + RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_UPDATE, PROC_REF(update_call)) + +/datum/component/mob_overlay_shift/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CALL) + UnregisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CHECK) + UnregisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_UPDATE) + +/datum/component/mob_overlay_shift/proc/module_available() + SIGNAL_HANDLER + return MOB_OVERLAY_SHIFT_CHECK + +//Проки, срабатываемые при получении или исцелении урона +/datum/component/mob_overlay_shift/proc/shift_call(mob, new_dir) + switch(new_dir) + if(EAST) + shift_x_inhand = shift_x_side_inhand + shift_x_center_inhand + shift_y_inhand = shift_y_side_inhand + shift_y_center_inhand + shift_x_belt = shift_x_side_belt + shift_x_center_belt + shift_y_belt = shift_y_side_belt + shift_y_center_belt + shift_x_back = shift_x_side_back + shift_x_center_back + shift_y_back = shift_y_side_back + shift_y_center_back + if(WEST) + shift_x_inhand = -shift_x_side_inhand + shift_x_center_inhand + shift_y_inhand = -shift_y_side_inhand + shift_y_center_inhand + shift_x_belt = -shift_x_side_belt + shift_x_center_belt + shift_y_belt = -shift_y_side_belt + shift_y_center_belt + shift_x_back = -shift_x_side_back + shift_x_center_back + shift_y_back = -shift_y_side_back + shift_y_center_back + if(NORTH) + shift_x_inhand = shift_x_front_inhand + shift_x_center_inhand + shift_y_inhand = shift_y_front_inhand + shift_y_center_inhand + shift_x_belt = shift_x_front_belt + shift_x_center_belt + shift_y_belt = shift_y_front_belt + shift_y_center_belt + shift_x_back = shift_x_front_back + shift_x_center_back + shift_y_back = shift_y_front_back + shift_y_center_back + if(SOUTH) + shift_x_inhand = -shift_x_front_inhand + shift_x_center_inhand + shift_y_inhand = -shift_y_front_inhand + shift_y_center_inhand + shift_x_belt = -shift_x_front_belt + shift_x_center_belt + shift_y_belt = -shift_y_front_belt + shift_y_center_belt + shift_x_back = -shift_x_front_back + shift_x_center_back + shift_y_back = -shift_y_front_back + shift_y_center_back + update_call() + +/datum/component/mob_overlay_shift/proc/update_call() + update_inv_r_hand() + update_inv_l_hand() + update_inv_belt() + update_inv_back() + +/datum/component/mob_overlay_shift/proc/update_inv_belt() + mob.remove_overlay(BELT_LAYER) + mob.remove_overlay(SPECIAL_BELT_LAYER) + var/overlay_layer = BELT_LAYER + + if(mob.client && mob.hud_used) + var/atom/movable/screen/inventory/inv = mob.hud_used.inv_slots[SLOT_HUD_BELT] + if(inv) + inv.update_icon() + + if(mob.hud_used.hud_version == HUD_STYLE_STANDARD && mob.belt) + mob.client.screen += mob.belt + mob.belt.screen_loc = ui_belt + + if(mob.belt) + // Manual checks for outliers (Claymores, null rods, defibs, judobelt, etc.) - Items that are belts but not storages. + var/list/special_belts = list( + /obj/item/defibrillator/compact, + /obj/item/nullrod, + /obj/item/storage/belt/judobelt, + /obj/item/claymore) + overlay_layer = is_type_in_list(mob.belt, special_belts) ? SPECIAL_BELT_LAYER : BELT_LAYER + if(istype(mob.belt, /obj/item/storage/belt)) + var/obj/item/storage/belt/B = mob.belt + overlay_layer = B.layer_over_suit ? SPECIAL_BELT_LAYER : BELT_LAYER + + var/t_state = mob.belt.item_state + mob.update_observer_view(mob.belt) + if(!t_state) + t_state = mob.belt.icon_state + + var/mutable_appearance/standing + if(mob.belt.icon_override) + t_state = "[t_state]_be" + standing = mutable_appearance(mob.belt.icon_override, "[t_state]", layer = -overlay_layer) + else if(mob.belt.sprite_sheets && mob.belt.sprite_sheets[mob.dna.species.sprite_sheet_name]) + standing = mutable_appearance(mob.belt.sprite_sheets[mob.dna.species.sprite_sheet_name], "[t_state]", layer = -overlay_layer) + else + standing = mutable_appearance('icons/mob/clothing/belt.dmi', "[t_state]", layer = -overlay_layer) + standing.pixel_x = shift_x_belt + standing.pixel_y = shift_y_belt + mob.overlays_standing[overlay_layer] = standing + mob.apply_overlay(BELT_LAYER) + mob.apply_overlay(SPECIAL_BELT_LAYER) + +/datum/component/mob_overlay_shift/proc/update_inv_back() + mob.remove_overlay(BACK_LAYER) + if(mob.back) + mob.update_hud_back(mob.back) + //determine the icon to use + var/t_state = mob.back.item_state + if(!t_state) + t_state = mob.back.icon_state + var/mutable_appearance/standing + if(mob.back.icon_override) + standing = mutable_appearance(mob.back.icon_override, "[mob.back.icon_state]", layer = -BACK_LAYER) + else if(mob.back.sprite_sheets && mob.back.sprite_sheets[mob.dna.species.sprite_sheet_name]) + standing = mutable_appearance(mob.back.sprite_sheets[mob.dna.species.sprite_sheet_name], "[t_state]", layer = -BACK_LAYER) + else + standing = mutable_appearance('icons/mob/clothing/back.dmi', "[t_state]", layer = -BACK_LAYER) + + //create the image + standing.alpha = mob.back.alpha + standing.color = mob.back.color + standing.pixel_x = shift_x_back + standing.pixel_y = shift_y_back + mob.overlays_standing[BACK_LAYER] = standing + mob.apply_overlay(BACK_LAYER) + +/datum/component/mob_overlay_shift/proc/update_inv_r_hand() + mob.remove_overlay(R_HAND_LAYER) + if(mob.r_hand) + mob.show_hand_to_observers(mob.r_hand, left = FALSE) + var/t_state = mob.r_hand.item_state + if(!t_state) + t_state = mob.r_hand.icon_state + + var/mutable_appearance/standing + if(mob.r_hand.sprite_sheets_inhand && mob.r_hand.sprite_sheets_inhand[mob.dna.species.sprite_sheet_name]) + t_state = "[t_state]_r" + standing = mutable_appearance(mob.r_hand.sprite_sheets_inhand[mob.dna.species.sprite_sheet_name], "[t_state]", layer = -R_HAND_LAYER, color = mob.r_hand.color) + else + standing = mutable_appearance(mob.r_hand.righthand_file, "[t_state]", layer = -R_HAND_LAYER, color = mob.r_hand.color) + standing = center_image(standing, (mob.r_hand.inhand_x_dimension), (mob.r_hand.inhand_y_dimension)) + standing.pixel_x = shift_x_inhand + standing.pixel_y = shift_y_inhand + mob.overlays_standing[R_HAND_LAYER] = standing + mob.apply_overlay(R_HAND_LAYER) + + +/datum/component/mob_overlay_shift/proc/update_inv_l_hand() + mob.remove_overlay(L_HAND_LAYER) + if(mob.l_hand) + mob.show_hand_to_observers(mob.l_hand, left = TRUE) + var/t_state = mob.l_hand.item_state + if(!t_state) + t_state = mob.l_hand.icon_state + + var/mutable_appearance/standing + if(mob.l_hand.sprite_sheets_inhand && mob.l_hand.sprite_sheets_inhand[mob.dna.species.sprite_sheet_name]) + t_state = "[t_state]_l" + standing = mutable_appearance(mob.l_hand.sprite_sheets_inhand[mob.dna.species.sprite_sheet_name], "[t_state]", layer = -L_HAND_LAYER, color = mob.l_hand.color) + else + standing = mutable_appearance(mob.l_hand.lefthand_file, "[t_state]", layer = -L_HAND_LAYER, color = mob.l_hand.color) + standing = center_image(standing, mob.l_hand.inhand_x_dimension, mob.l_hand.inhand_y_dimension) + standing.pixel_x = shift_x_inhand + standing.pixel_y = shift_y_inhand + mob.overlays_standing[L_HAND_LAYER] = standing + mob.apply_overlay(L_HAND_LAYER) + +/mob/living/carbon/human/setDir(new_dir) + . = ..() + if (SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CHECK) & MOB_OVERLAY_SHIFT_CHECK) + SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CALL, new_dir) diff --git a/modular_ss220/species/serpentids/code/defines.dm b/modular_ss220/species/serpentids/code/defines.dm index d49c0dfd6766..26f4db745cba 100644 --- a/modular_ss220/species/serpentids/code/defines.dm +++ b/modular_ss220/species/serpentids/code/defines.dm @@ -115,7 +115,7 @@ /datum/emote/living/carbon/human/roar/gbs key = "gbsroar" - key_third_person = "roar" + key_third_person = "gbsroar" message = "утробно рычит." message_mime = "бесшумно рычит." message_param = "утробно рычит на %t." @@ -129,9 +129,9 @@ return pick( 'modular_ss220/species/serpentids/sounds/serpentid_roar.ogg') -/datum/emote/living/carbon/human/hiss/gbs/ +/datum/emote/living/carbon/human/hiss/gbs key = "gbshiss" - key_third_person = "hisses" + key_third_person = "gbshisses" message = "шипит." message_param = "шипит на %t." species_type_whitelist_typecache = list(/datum/species/serpentid) @@ -141,30 +141,9 @@ sound = "modular_ss220/species/serpentids/sounds/serpentid_hiss.ogg" muzzled_noises = list("weak hissing") -/datum/emote/living/carbon/human/whip/gbs - key = "gbswhip" - key_third_person = "whip" - message = "гремит хвостом." - message_mime = "взмахивает хвостом и трясет кончиком в воздухе." - message_postfix = ", грозно смотря на %t." - message_param = EMOTE_PARAM_USE_POSTFIX - species_type_whitelist_typecache = list(/datum/species/serpentid) - emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE - volume = 75 - audio_cooldown = 3 SECONDS - sound = 'modular_ss220/emotes/audio/unathi/whip_short_unathi.ogg' - -/datum/emote/living/carbon/human/whip/whip_l/gbs - key = "gbswhips" - key_third_person = "whips" - message = "хлестает хвостом." - species_type_whitelist_typecache = list(/datum/species/serpentid) - audio_cooldown = 6 SECONDS - sound = 'modular_ss220/emotes/audio/unathi/whip_unathi.ogg' - /datum/emote/living/carbon/human/wiggles/gbs - key = "wiggles" - key_third_person = "wiggles" + key = "gbswiggles" + key_third_person = "gbswiggles" message = "шевелит усиками." message_param = "шевелит усиками в сторону %t." cooldown = 5 SECONDS diff --git a/modular_ss220/species/serpentids/code/language.dm b/modular_ss220/species/serpentids/code/language.dm index 0371e1783edb..ca666792d4da 100644 --- a/modular_ss220/species/serpentids/code/language.dm +++ b/modular_ss220/species/serpentids/code/language.dm @@ -16,5 +16,5 @@ else new_name = capitalize(pick(GLOB.first_names_male)) new_name += "[pick("элус ", "лис ", "нен ", "виг ", "шт ")]" - new_name += rand(10000) + new_name += "[rand(10000)]" return new_name diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm index 9b6bbd6fc70b..ce651a9c5308 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm @@ -23,24 +23,22 @@ button_overlay_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' button_overlay_icon_state = "gas_hand_act" -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/New(mapload) - . = .. () - if (owner) - owner.update_body() - -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/Initialize(mapload) - . = .. () - if (owner) - owner.update_body() - /obj/item/organ/internal/cyberimp/chest/serpentid_blades/insert(mob/living/carbon/M, special, dont_remove_slot) . = .. () - if (owner) + if (owner && owner.real_name != "unknown") owner.update_body() + else + spawn(1) + if (owner && owner.real_name != "unknown") + owner.update_body() /obj/item/organ/internal/cyberimp/chest/serpentid_blades/remove(mob/living/carbon/M, special, dont_remove_slot) - if (owner) + if (owner && owner.real_name != "unknown") owner.update_body() + else + spawn(1) + if (owner && owner.real_name != "unknown") + owner.update_body() . = .. () /mob/living/carbon/human/proc/update_blades_overlays() diff --git a/modular_ss220/species/serpentids/code/serpentids.dm b/modular_ss220/species/serpentids/code/serpentids.dm index 2c89add018f9..e1125d959538 100644 --- a/modular_ss220/species/serpentids/code/serpentids.dm +++ b/modular_ss220/species/serpentids/code/serpentids.dm @@ -157,13 +157,13 @@ H.buckle_lying = buckle_lying H.update_transform() H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) + H.AddComponent(/datum/component/mob_overlay_shift, shift_y_hand = 3, shift_y_belt = 7, shift_y_back = 7) //shift_xs_hand = 12 H.AddComponent(/datum/component/gadom_living) H.AddComponent(/datum/component/gadom_cargo) H.verbs += /mob/living/carbon/human/proc/emote_gbsroar H.verbs += /mob/living/carbon/human/proc/emote_gbshiss - H.verbs += /mob/living/carbon/human/proc/emote_gbswhip - H.verbs += /mob/living/carbon/human/proc/emote_gbswhips H.verbs += /mob/living/carbon/human/proc/emote_gbswiggles + SEND_SIGNAL(H, COMSIG_MOB_OVERLAY_SHIFT_UPDATE) for (var/limb_name in has_limbs) valid_limbs += has_limbs[limb_name]["path"] @@ -171,11 +171,9 @@ ..() H.verbs -= /mob/living/carbon/human/proc/emote_gbsroar H.verbs -= /mob/living/carbon/human/proc/emote_gbshiss - H.verbs -= /mob/living/carbon/human/proc/emote_gbswhip - H.verbs -= /mob/living/carbon/human/proc/emote_gbswhips H.verbs -= /mob/living/carbon/human/proc/emote_gbswiggles -//Блокировка ботинок - перенести на ноги/ступни +//Работа с инвентарем /datum/species/serpentid/can_equip(obj/item/I, slot, disable_warning = FALSE, mob/living/carbon/human/H) switch(slot) if(SLOT_HUD_SHOES) diff --git a/modular_ss220/species/serpentids/icons/mob/bodypart_overlays.dmi b/modular_ss220/species/serpentids/icons/mob/bodypart_overlays.dmi new file mode 100644 index 0000000000000000000000000000000000000000..b1a812c93327e686aaafca5caa1c56c3dfef3252 GIT binary patch literal 558 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 literal 3370 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 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi index 7547b3993d8ee99d0d576d3bdbe04aae9103049a..7eb1bc0ad3a05860ffcbc22ca0983869c2ba49f4 100644 GIT binary patch delta 318 zcmbQjypY+qGr-TCmrII^fq{Y7)59eQNH+j+1q(BfJaO@P50K&y@Ck7R(pp+t78Vvs zNl6Y44ieYXPXL7&OM?7@862M7NCR>jC#vSwcU)iy3v-#XNhaph6w#Q!F$dnUGQ4mw z<*8WaQ3X`9+0(@_B%<~0joZA<20X0~TR0D;GD?ayV@SoEx3?_$nhgY4112#C6meKtdA+M=;B#`Hnz2MdP;)kO znb_Xzi5Ge#Cx`4`)gY34d)}^f)@!dnvbtu!b-8YzCjW8oYo)PgKi6!PyS{N=HOKb0 z{T1H@;^Z7e-v9o0@$VYvh_?S8_1By`4jneQGxyWx-_>9Cm;dU1V}CULX#LlEpfe!g z-;KoV#!|fund4`_dVTjf#d+_Rhs$LpyXz*t6DNdx>4>{n+#hjAFaChleska8ZTbsS v)~iexNS(MN=VY9xSKf=)adJ?Teq^PeNRE8$`TGk8NW|0C&xK{3Q$iB}Gwpz` diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes_old.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes_old.dmi deleted file mode 100644 index 89e8fc5e8a0cfbff0098cb8d5fc4427cb658230a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 zcmeAS@N?(olHy`uVBq!ia0vp^4nQ2h!3HE(?k{!)Qsq@45hX6E#mPmP1tppJc?=8{ zbArPPib}tK2`>2f^@*0ZuGYCT=Yuzd8eBAf@JQ#pkLF2+qMqIz7REuwmyNv~jM!q1 zs&=ZbbXXQtm=)-l73Z1eRg;yPRamo8NIcyuEzrlH!bpnKN2AXS7e^)R1gq75eKj zEr5xo`K0TkSoXdTKT|Z%`rq1C8ve|U`vMF5idC-!KmEJU$(7K4X49L;8@%5qe}4PB z`rCb(19oxKo<6Dy6nS@s!|sz*^*8=qjE4<&6w1V2HaYoauWfnk^GhbYKVu9^W7XZS zJ>QZ4ccJX1SNr7aUjN!Z=|%pBM;Z*e4vQJKF!VBAU^3xy;J!eHK#bjiXOas|mragL zKhJUW-s=y%A0B6$IZc25bLHlyx{&kVx=kmQ|6u#^a>Ks&@#o`ozWIJ=-yUe2oEMYN ze{tE7KfWER-&Wf$>O1*2${<7mzA2>oj`>(~&t1 VbM}XwdIn4d44$rjF6*2UngEaq=i&eW diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_monkey.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_monkey.dmi new file mode 100644 index 0000000000000000000000000000000000000000..7913ff4c40c1f8193bdbfc1d5e624fa3d0c36011 GIT binary patch literal 2271 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 literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_new.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_new.dmi new file mode 100644 index 0000000000000000000000000000000000000000..5df6a928697fc4560ca0fe86974a6e6fe1b51465 GIT binary patch literal 3480 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 C^ANlM diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_para_light.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_para_light.dmi new file mode 100644 index 0000000000000000000000000000000000000000..781c863041c5eda704145053614c0579f69da4b2 GIT binary patch literal 3098 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 NAz)kcPi7u*{{q&j`WOHJ literal 0 HcmV?d00001 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_rejected.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_rejected.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8cb3b2bea7b15e2139c7467e2c02599bfa10486a GIT binary patch literal 3276 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 Date: Fri, 11 Oct 2024 08:29:50 +0300 Subject: [PATCH 024/152] =?UTF-8?q?=D0=A0=D0=B0=D0=B7=D0=BD=D0=BE=D1=81=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=D0=BC=20=D0=B8=20?= =?UTF-8?q?=D1=87=D0=B0=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/_serpentids.dme | 14 +- .../species/serpentids/code/alerts.dm | 18 ++ .../species/serpentids/code/chat_offset.dm | 90 ++++++++++ .../species/serpentids/code/copy_butt.dm | 44 +++++ .../species/serpentids/code/defines.dm | 160 ------------------ .../species/serpentids/code/emotes.dm | 65 +++++++ .../species/serpentids/code/serpentids.dm | 1 + .../species/serpentids/code/update_icons.dm | 28 +++ 8 files changed, 251 insertions(+), 169 deletions(-) create mode 100644 modular_ss220/species/serpentids/code/alerts.dm create mode 100644 modular_ss220/species/serpentids/code/chat_offset.dm create mode 100644 modular_ss220/species/serpentids/code/copy_butt.dm create mode 100644 modular_ss220/species/serpentids/code/emotes.dm create mode 100644 modular_ss220/species/serpentids/code/update_icons.dm diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index f99c32d70bac..42b584ebf1e1 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -1,5 +1,10 @@ #include "code/defines.dm" #include "code/language.dm" +#include "code/alerts.dm" +#include "code/emotes.dm" +#include "code/copy_butt.dm" +#include "code/chat_offset.dm" +#include "code/update_icons.dm" #include "code/components/reagents.dm" #include "code/components/organ_decay.dm" @@ -33,12 +38,3 @@ #include "code/organs/internal/serpentids_organs_additionals.dm" #include "code/serpentids.dm" -// BEGIN_INTERNALS -// END_INTERNALS -// BEGIN_FILE_DIR -#define FILE_DIR . -// END_FILE_DIR -// BEGIN_PREFERENCES -// END_PREFERENCES -// BEGIN_INCLUDE -// END_INCLUDE diff --git a/modular_ss220/species/serpentids/code/alerts.dm b/modular_ss220/species/serpentids/code/alerts.dm new file mode 100644 index 000000000000..afc643820bc8 --- /dev/null +++ b/modular_ss220/species/serpentids/code/alerts.dm @@ -0,0 +1,18 @@ +//Добавление новых алертов +/atom/movable/screen/alert/carapace_break_armor + name = "Слабые повреждения панциря." + desc = "Ваш панцирь поврежден. Нарушение целостности снизило сопротивление урону." + icon_state = "carapace_break_armor" + icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' + +/atom/movable/screen/alert/carapace_break_cloak + name = "Средние повреждения панциря" + desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас возможность скрывать себя." + icon_state = "carapace_break_cloak" + icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' + +/atom/movable/screen/alert/carapace_break_rig + name = "Сильные повреждения панциря" + desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас сопротивлению окружающей среде." + icon_state = "carapace_break_rig" + icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' diff --git a/modular_ss220/species/serpentids/code/chat_offset.dm b/modular_ss220/species/serpentids/code/chat_offset.dm new file mode 100644 index 000000000000..a9019eba8e39 --- /dev/null +++ b/modular_ss220/species/serpentids/code/chat_offset.dm @@ -0,0 +1,90 @@ +#define CHAT_MESSAGE_APPROX_LHEIGHT 11 +#define CHAT_MESSAGE_EOL_FADE (0.7 SECONDS) +#define CHAT_MESSAGE_SPAWN_TIME (0.2 SECONDS) +#define CHAT_MESSAGE_EXP_DECAY 0.7 +#define CHAT_MESSAGE_HEIGHT_DECAY 0.9 +#define CHAT_LAYER_Z_STEP 0.0001 +#define CHAT_LAYER_MAX_Z (CHAT_LAYER_MAX - CHAT_LAYER) / CHAT_LAYER_Z_STEP +#define CHAT_MESSAGE_WIDTH 96 +#define CHAT_MESSAGE_GRACE_PERIOD (0.2 SECONDS) + +/mob + var/chat_message_y_offset = 0 + +/datum/chatmessage/finish_image_generation(mheight, atom/target, mob/owner, complete_text, lifespan) + var/rough_time = REALTIMEOFDAY + approx_lines = max(1, mheight / CHAT_MESSAGE_APPROX_LHEIGHT) + + // Translate any existing messages upwards, apply exponential decay factors to timers + message_loc = target + if(owned_by.seen_messages) + var/idx = 1 + var/combined_height = approx_lines + for(var/datum/chatmessage/m as anything in owned_by.seen_messages[message_loc]) + combined_height += m.approx_lines + + var/time_alive = rough_time - m.animate_start + var/lifespan_until_fade = m.animate_lifespan - CHAT_MESSAGE_EOL_FADE + + if(time_alive >= lifespan_until_fade) // If already fading out or dead, just shift upwards + animate(m.message, pixel_y = m.message.pixel_y + mheight, time = CHAT_MESSAGE_SPAWN_TIME, flags = ANIMATION_PARALLEL) + continue + + // Ensure we don't accidentially spike alpha up or something silly like that + m.message.alpha = m.get_current_alpha(time_alive) + + var/adjusted_lifespan_until_fade = lifespan_until_fade * (CHAT_MESSAGE_EXP_DECAY ** idx++) * (CHAT_MESSAGE_HEIGHT_DECAY ** combined_height) + m.animate_lifespan = adjusted_lifespan_until_fade + CHAT_MESSAGE_EOL_FADE + + var/remaining_lifespan_until_fade = adjusted_lifespan_until_fade - time_alive + if(remaining_lifespan_until_fade > 0) // Still got some lifetime to go; stay faded in for the remainder, then fade out + animate(m.message, alpha = 255, time = remaining_lifespan_until_fade) + animate(alpha = 0, time = CHAT_MESSAGE_EOL_FADE) + else // Current time alive is beyond new adjusted lifespan, your time has come my son + animate(m.message, alpha = 0, time = CHAT_MESSAGE_EOL_FADE) + + // We run this after the alpha animate, because we don't want to interrup it, but also don't want to block it by running first + // Sooo instead we do this. bit messy but it fuckin works + animate(m.message, pixel_y = m.message.pixel_y + mheight, time = CHAT_MESSAGE_SPAWN_TIME, flags = ANIMATION_PARALLEL) + + // Reset z index if relevant + if(current_z_idx >= CHAT_LAYER_MAX_Z) + current_z_idx = 0 + + // Build message image + message = image(loc = message_loc, layer = CHAT_LAYER + CHAT_LAYER_Z_STEP * current_z_idx++) + message.plane = GAME_PLANE + message.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | KEEP_APART + message.alpha = 0 + message.pixel_y = owner.bound_height * 0.95 + owner.chat_message_y_offset + message.maptext_width = CHAT_MESSAGE_WIDTH + message.maptext_height = mheight + message.maptext_x = (CHAT_MESSAGE_WIDTH - owner.bound_width) * -0.5 + message.maptext = complete_text + + animate_start = rough_time + animate_lifespan = lifespan + + // View the message + LAZYADDASSOCLIST(owned_by.seen_messages, message_loc, src) + owned_by.images |= message + + // Fade in + animate(message, alpha = 255, time = CHAT_MESSAGE_SPAWN_TIME) + // Stay faded in + animate(alpha = 255, time = lifespan - CHAT_MESSAGE_SPAWN_TIME - CHAT_MESSAGE_EOL_FADE) + // Fade out + animate(alpha = 0, time = CHAT_MESSAGE_EOL_FADE) + + // Register with the runechat SS to handle destruction + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), lifespan + CHAT_MESSAGE_GRACE_PERIOD, TIMER_DELETE_ME, SSrunechat) + +#undef CHAT_MESSAGE_SPAWN_TIME +#undef CHAT_MESSAGE_EOL_FADE +#undef CHAT_MESSAGE_GRACE_PERIOD +#undef CHAT_MESSAGE_EXP_DECAY +#undef CHAT_MESSAGE_HEIGHT_DECAY +#undef CHAT_MESSAGE_APPROX_LHEIGHT +#undef CHAT_MESSAGE_WIDTH +#undef CHAT_LAYER_Z_STEP +#undef CHAT_LAYER_MAX_Z diff --git a/modular_ss220/species/serpentids/code/copy_butt.dm b/modular_ss220/species/serpentids/code/copy_butt.dm new file mode 100644 index 000000000000..41db198e0424 --- /dev/null +++ b/modular_ss220/species/serpentids/code/copy_butt.dm @@ -0,0 +1,44 @@ +/obj/machinery/photocopier/copyass(scanning = FALSE) + if(!scanning) //If we're just storing this as a file inside the copier then we don't expend toner + if(toner < 5) + visible_message("A yellow light on [src] flashes, indicating there's not enough toner to finish the operation.") + return null + total_copies++ + + var/icon/temp_img + + if(emagged) + if(ishuman(copymob)) + var/mob/living/carbon/human/H = copymob + var/obj/item/organ/external/G = H.get_organ("groin") + G.receive_damage(0, 30) + H.emote("scream") + else + copymob.apply_damage(30, BURN) + to_chat(copymob, "Something smells toasty...") + if(ishuman(copymob)) //Suit checks are in check_mob + var/mob/living/carbon/human/H = copymob + temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) + else if(isdrone(copymob)) + temp_img = icon('icons/obj/butts.dmi', "drone") + else if(isnymph(copymob)) + temp_img = icon('icons/obj/butts.dmi', "nymph") + else if(isalien(copymob) || istype(copymob,/mob/living/simple_animal/hostile/alien)) //Xenos have their own asses, thanks to Pybro. + temp_img = icon('icons/obj/butts.dmi', "xeno") + else + return + var/obj/item/photo/p = new /obj/item/photo (loc) + if(scanning) + p.forceMove(src) + else if(folder) + p.forceMove(folder) + p.desc = "You see [copymob]'s ass on the photo." + p.pixel_x = rand(-10, 10) + p.pixel_y = rand(-10, 10) + p.img = temp_img + var/icon/small_img = icon(temp_img) //Icon() is needed or else temp_img will be rescaled too >.> + var/icon/ic = icon('icons/obj/items.dmi',"photo") + small_img.Scale(8, 8) + ic.Blend(small_img,ICON_OVERLAY, 10, 13) + p.icon = ic + return p diff --git a/modular_ss220/species/serpentids/code/defines.dm b/modular_ss220/species/serpentids/code/defines.dm index 26f4db745cba..44ba95327c60 100644 --- a/modular_ss220/species/serpentids/code/defines.dm +++ b/modular_ss220/species/serpentids/code/defines.dm @@ -39,163 +39,3 @@ var/action_mult = 1 var/equipment_black_list = list() var/butt_sprite_icon = 'icons/obj/butts.dmi' - -//Добавление новых алертов -/atom/movable/screen/alert/carapace_break_armor - name = "Слабые повреждения панциря." - desc = "Ваш панцирь поврежден. Нарушение целостности снизило сопротивление урону." - icon_state = "carapace_break_armor" - icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' - -/atom/movable/screen/alert/carapace_break_cloak - name = "Средние повреждения панциря" - desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас возможность скрывать себя." - icon_state = "carapace_break_cloak" - icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' - -/atom/movable/screen/alert/carapace_break_rig - name = "Сильные повреждения панциря" - desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас сопротивлению окружающей среде." - icon_state = "carapace_break_rig" - icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' - -//Обновление иконок для кастомных рас -/datum/character_save/update_preview_icon(for_observer=0) - . = .. () - var/datum/species/selected_specie = GLOB.all_species[species] - - //Это ужасно,но так можно кастомным расам выдавать кастомные глаза (я хз, почему сработало так, нужны разьяснения) - var/icon/face_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie.eyes) - if(!(selected_specie.bodyflags & NO_EYES)) - var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") - eyes_s.Blend(e_colour, ICON_ADD) - face_s.Blend(eyes_s, ICON_OVERLAY) - - preview_icon.Blend(face_s, ICON_OVERLAY) - preview_icon_front = new(preview_icon, dir = SOUTH) - preview_icon_side = new(preview_icon, dir = WEST) - -//Прок на получение иконки глаз кастомных рас (перезапись, возможно стоит расширить?) -/mob/living/carbon/human/get_eyecon() - var/obj/item/organ/internal/eyes/eyes = get_int_organ(/obj/item/organ/internal/eyes) - if(istype(dna.species) && dna.species.eyes) - var/icon/eyes_icon - if(eyes) - eyes_icon = eyes.generate_icon() - else //Error 404: Eyes not found! - eyes_icon = new(dna.species.eyes_icon, dna.species.eyes)//eyes_icon = new('modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi', "serp_eyes_s")// - eyes_icon.Blend("#800000", ICON_ADD) - - return eyes_icon - -/mob/living/carbon/human/proc/emote_gbsroar() - set name = "< " + EMOTE_HUMAN_ROAR + " >" - set category = "Эмоции" - emote("gbsroar", intentional = TRUE) - -/mob/living/carbon/human/proc/emote_gbshiss() - set name = "< " + EMOTE_HUMAN_HISS + " >" - set category = "Эмоции" - emote("gbshiss", intentional = TRUE) - -/mob/living/carbon/human/proc/emote_gbswhip() - set name = "< " + EMOTE_HUMAN_WHIP + " >" - set category = "Эмоции" - emote("gbswhip", intentional = TRUE) - -/mob/living/carbon/human/proc/emote_gbswhips() - set name = "< " + EMOTE_HUMAN_WHIPS + " >" - set category = "Эмоции" - emote("gbswhips", intentional = TRUE) - -/mob/living/carbon/human/proc/emote_gbswiggles() - set name = "< " + EMOTE_HUMAN_WIGGLES + " >" - set category = "Эмоции" - emote("gbswiggles", intentional = TRUE) - -/datum/emote/living/carbon/human/roar/gbs - key = "gbsroar" - key_third_person = "gbsroar" - message = "утробно рычит." - message_mime = "бесшумно рычит." - message_param = "утробно рычит на %t." - species_type_whitelist_typecache = list(/datum/species/serpentid) - volume = 50 - muzzled_noises = list("раздражённый") - emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE - age_based = TRUE - -/datum/emote/living/carbon/human/roar/gbs/get_sound(mob/living/user) - return pick( - 'modular_ss220/species/serpentids/sounds/serpentid_roar.ogg') - -/datum/emote/living/carbon/human/hiss/gbs - key = "gbshiss" - key_third_person = "gbshisses" - message = "шипит." - message_param = "шипит на %t." - species_type_whitelist_typecache = list(/datum/species/serpentid) - emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH - age_based = TRUE - // Credit to Jamius (freesound.org) for the sound. - sound = "modular_ss220/species/serpentids/sounds/serpentid_hiss.ogg" - muzzled_noises = list("weak hissing") - -/datum/emote/living/carbon/human/wiggles/gbs - key = "gbswiggles" - key_third_person = "gbswiggles" - message = "шевелит усиками." - message_param = "шевелит усиками в сторону %t." - cooldown = 5 SECONDS - species_type_whitelist_typecache = list(/datum/species/serpentid) - emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_MOUTH - age_based = TRUE - volume = 80 - muzzled_noises = list("слабо") - sound = 'modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg' - -//не-не, я понмаю, что это не сюда, но! -/obj/machinery/photocopier/copyass(scanning = FALSE) - if(!scanning) //If we're just storing this as a file inside the copier then we don't expend toner - if(toner < 5) - visible_message("A yellow light on [src] flashes, indicating there's not enough toner to finish the operation.") - return null - total_copies++ - - var/icon/temp_img - - if(emagged) - if(ishuman(copymob)) - var/mob/living/carbon/human/H = copymob - var/obj/item/organ/external/G = H.get_organ("groin") - G.receive_damage(0, 30) - H.emote("scream") - else - copymob.apply_damage(30, BURN) - to_chat(copymob, "Something smells toasty...") - if(ishuman(copymob)) //Suit checks are in check_mob - var/mob/living/carbon/human/H = copymob - temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) - else if(isdrone(copymob)) - temp_img = icon('icons/obj/butts.dmi', "drone") - else if(isnymph(copymob)) - temp_img = icon('icons/obj/butts.dmi', "nymph") - else if(isalien(copymob) || istype(copymob,/mob/living/simple_animal/hostile/alien)) //Xenos have their own asses, thanks to Pybro. - temp_img = icon('icons/obj/butts.dmi', "xeno") - else - return - var/obj/item/photo/p = new /obj/item/photo (loc) - if(scanning) - p.forceMove(src) - else if(folder) - p.forceMove(folder) - p.desc = "You see [copymob]'s ass on the photo." - p.pixel_x = rand(-10, 10) - p.pixel_y = rand(-10, 10) - p.img = temp_img - var/icon/small_img = icon(temp_img) //Icon() is needed or else temp_img will be rescaled too >.> - var/icon/ic = icon('icons/obj/items.dmi',"photo") - small_img.Scale(8, 8) - ic.Blend(small_img,ICON_OVERLAY, 10, 13) - p.icon = ic - return p diff --git a/modular_ss220/species/serpentids/code/emotes.dm b/modular_ss220/species/serpentids/code/emotes.dm new file mode 100644 index 000000000000..f0df94aac25d --- /dev/null +++ b/modular_ss220/species/serpentids/code/emotes.dm @@ -0,0 +1,65 @@ +/mob/living/carbon/human/proc/emote_gbsroar() + set name = "< " + EMOTE_HUMAN_ROAR + " >" + set category = "Эмоции" + emote("gbsroar", intentional = TRUE) + +/mob/living/carbon/human/proc/emote_gbshiss() + set name = "< " + EMOTE_HUMAN_HISS + " >" + set category = "Эмоции" + emote("gbshiss", intentional = TRUE) + +/mob/living/carbon/human/proc/emote_gbswhip() + set name = "< " + EMOTE_HUMAN_WHIP + " >" + set category = "Эмоции" + emote("gbswhip", intentional = TRUE) + +/mob/living/carbon/human/proc/emote_gbswhips() + set name = "< " + EMOTE_HUMAN_WHIPS + " >" + set category = "Эмоции" + emote("gbswhips", intentional = TRUE) + +/mob/living/carbon/human/proc/emote_gbswiggles() + set name = "< " + EMOTE_HUMAN_WIGGLES + " >" + set category = "Эмоции" + emote("gbswiggles", intentional = TRUE) + +/datum/emote/living/carbon/human/roar/gbs + key = "gbsroar" + key_third_person = "gbsroar" + message = "утробно рычит." + message_mime = "бесшумно рычит." + message_param = "утробно рычит на %t." + species_type_whitelist_typecache = list(/datum/species/serpentid) + volume = 50 + muzzled_noises = list("раздражённый") + emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE + age_based = TRUE + +/datum/emote/living/carbon/human/roar/gbs/get_sound(mob/living/user) + return pick( + 'modular_ss220/species/serpentids/sounds/serpentid_roar.ogg') + +/datum/emote/living/carbon/human/hiss/gbs + key = "gbshiss" + key_third_person = "gbshisses" + message = "шипит." + message_param = "шипит на %t." + species_type_whitelist_typecache = list(/datum/species/serpentid) + emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH + age_based = TRUE + // Credit to Jamius (freesound.org) for the sound. + sound = "modular_ss220/species/serpentids/sounds/serpentid_hiss.ogg" + muzzled_noises = list("weak hissing") + +/datum/emote/living/carbon/human/wiggles/gbs + key = "gbswiggles" + key_third_person = "gbswiggles" + message = "шевелит усиками." + message_param = "шевелит усиками в сторону %t." + cooldown = 5 SECONDS + species_type_whitelist_typecache = list(/datum/species/serpentid) + emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE | EMOTE_MOUTH + age_based = TRUE + volume = 80 + muzzled_noises = list("слабо") + sound = 'modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg' diff --git a/modular_ss220/species/serpentids/code/serpentids.dm b/modular_ss220/species/serpentids/code/serpentids.dm index e1125d959538..59b40f210f23 100644 --- a/modular_ss220/species/serpentids/code/serpentids.dm +++ b/modular_ss220/species/serpentids/code/serpentids.dm @@ -163,6 +163,7 @@ H.verbs += /mob/living/carbon/human/proc/emote_gbsroar H.verbs += /mob/living/carbon/human/proc/emote_gbshiss H.verbs += /mob/living/carbon/human/proc/emote_gbswiggles + H.chat_message_y_offset = 11 SEND_SIGNAL(H, COMSIG_MOB_OVERLAY_SHIFT_UPDATE) for (var/limb_name in has_limbs) valid_limbs += has_limbs[limb_name]["path"] diff --git a/modular_ss220/species/serpentids/code/update_icons.dm b/modular_ss220/species/serpentids/code/update_icons.dm new file mode 100644 index 000000000000..ad093c5d1388 --- /dev/null +++ b/modular_ss220/species/serpentids/code/update_icons.dm @@ -0,0 +1,28 @@ +//Обновление иконок для кастомных рас +/datum/character_save/update_preview_icon(for_observer=0) + . = .. () + var/datum/species/selected_specie = GLOB.all_species[species] + + //Это ужасно,но так можно кастомным расам выдавать кастомные глаза (я хз, почему сработало так, нужны разьяснения) + var/icon/face_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie.eyes) + if(!(selected_specie.bodyflags & NO_EYES)) + var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") + eyes_s.Blend(e_colour, ICON_ADD) + face_s.Blend(eyes_s, ICON_OVERLAY) + + preview_icon.Blend(face_s, ICON_OVERLAY) + preview_icon_front = new(preview_icon, dir = SOUTH) + preview_icon_side = new(preview_icon, dir = WEST) + +//Прок на получение иконки глаз кастомных рас (перезапись, возможно стоит расширить?) +/mob/living/carbon/human/get_eyecon() + var/obj/item/organ/internal/eyes/eyes = get_int_organ(/obj/item/organ/internal/eyes) + if(istype(dna.species) && dna.species.eyes) + var/icon/eyes_icon + if(eyes) + eyes_icon = eyes.generate_icon() + else //Error 404: Eyes not found! + eyes_icon = new(dna.species.eyes_icon, dna.species.eyes)//eyes_icon = new('modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi', "serp_eyes_s")// + eyes_icon.Blend("#800000", ICON_ADD) + + return eyes_icon From b0ad4b426de874c1554287c910279eac43a3c207 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 11 Oct 2024 10:40:16 +0300 Subject: [PATCH 025/152] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=8F=D0=B7=D1=8B=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/serpentids/code/language.dm | 1 - modular_ss220/species/serpentids/code/serpentids.dm | 13 +------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/modular_ss220/species/serpentids/code/language.dm b/modular_ss220/species/serpentids/code/language.dm index ca666792d4da..510968b51ab0 100644 --- a/modular_ss220/species/serpentids/code/language.dm +++ b/modular_ss220/species/serpentids/code/language.dm @@ -15,6 +15,5 @@ new_name = capitalize(pick(GLOB.first_names_female)) else new_name = capitalize(pick(GLOB.first_names_male)) - new_name += "[pick("элус ", "лис ", "нен ", "виг ", "шт ")]" new_name += "[rand(10000)]" return new_name diff --git a/modular_ss220/species/serpentids/code/serpentids.dm b/modular_ss220/species/serpentids/code/serpentids.dm index 59b40f210f23..bef318f5b345 100644 --- a/modular_ss220/species/serpentids/code/serpentids.dm +++ b/modular_ss220/species/serpentids/code/serpentids.dm @@ -62,18 +62,7 @@ "r_foot" = list("path" = /obj/item/organ/external/foot/right/carapace, "descriptor" = "right foot") ) - autohiss_basic_map = list( - "z" = list("zz", "zzz", "zzzz"), - "v" = list("vv", "vvv", "vvvv"), - "з" = list("зз", "ззз", "зззз"), - "в" = list("вв", "ввв", "вввв"), - "s" = list("ss", "sss", "ssss"), - "с" = list("сс", "ссс", "сссс")) - autohiss_extra_map = list( - "x" = list("ks", "kss", "ksss"), - "ш" = list("шш", "шшш", "шшшш"), - "ч" = list("щ", "щщ", "щщщ")) - autohiss_exempt = list("Chittin") + autohiss_exempt = list("Nabberian") scream_verb = "утробно ревёт" speech_sounds = list( From 45978adfc8a0c98a7cebf3e2f9ad644c2e16fe48 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 11 Oct 2024 10:43:13 +0300 Subject: [PATCH 026/152] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D1=8F=D0=B7=D1=8B=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/serpentids/code/language.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_ss220/species/serpentids/code/language.dm b/modular_ss220/species/serpentids/code/language.dm index 510968b51ab0..38cb39fd6bd7 100644 --- a/modular_ss220/species/serpentids/code/language.dm +++ b/modular_ss220/species/serpentids/code/language.dm @@ -1,8 +1,8 @@ /datum/language/serpentid name = "Nabberian" desc = "Звук, издаваемый этим языком похоже на кононаду из скрежета мандибул, лезвий, стука конечностей, трения антенн и утробного рева" - speech_verb = "стучит клинками" - ask_verb = "стучит жвалами" + speech_verb = "стучит клинками и жестикулирует конечностями" + ask_verb = "стучит жвалами и жестикулирует конечностями" exclaim_verbs = list("издает утробный рёв") colour = "serpentid" key = "4" From b31efcaacf6a4ab91302661516c5c9db9e446175 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 11 Oct 2024 14:00:14 +0300 Subject: [PATCH 027/152] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=83?= =?UTF-8?q?=D1=82=D1=83=D1=80=D1=8B=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= =?UTF-8?q?,=20=D1=87=D0=B8=D1=81=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D0=BB=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/code/species.dm | 3 - .../species/serpentids/_serpentids.dme | 55 ++++--- .../serpentids/code/{ => common}/alerts.dm | 0 .../serpentids/code/{ => common}/defines.dm | 0 .../serpentids/code/{ => common}/emotes.dm | 0 .../serpentids/code/{ => common}/language.dm | 0 .../code/{ => common}/serpentids.dm | 6 +- .../components/{ => carapace}/carapace.dm | 10 +- .../{ => carapace}/carapace_shell.dm | 8 +- .../grab_and_drag_on_mob_crates.dm | 4 +- .../grab_and_drag_on_mob_mobs.dm | 4 +- .../code/components/mob_overlay_shift.dm | 2 +- .../components/organ_actions_expansion.dm | 50 ------ .../components/{ => organs}/heart_defib.dm | 2 +- .../{ => organs}/organ_chemistry.dm | 11 +- .../components/{ => organs}/organ_decay.dm | 0 .../components/{ => organs}/organ_toxins.dm | 6 +- .../serpentids/code/components/reagents.dm | 10 +- .../components/{ => unused}/double_attack.dm | 8 +- .../{ => unused}/organ_actions_component.dm | 14 +- .../{ => unused}/paired_implants.dm | 18 +-- .../external/serpentids_organs_hands.dm | 27 ---- .../external/serpentids_organs_other.dm | 16 ++ .../implants/serpentid_mantis_chest.dm | 147 ++++++++++++++++++ .../unused}/serpentid_mantis_blades.dm | 0 .../unused}/serpentid_mantis_hand.dm | 0 .../unused/serpentid_mantis_implant.dm} | 34 ++-- .../serpentids_organs_additionals.dm | 0 .../{ => organs}/serpentids_organs_ears.dm | 2 +- .../{ => organs}/serpentids_organs_eyes.dm | 0 .../{ => organs}/serpentids_organs_heart.dm | 0 .../{ => organs}/serpentids_organs_kidneys.dm | 0 .../{ => organs}/serpentids_organs_liver.dm | 4 +- .../{ => organs}/serpentids_organs_lungs.dm | 18 +-- .../icons/mob/bodypart_overlays.dmi | Bin 558 -> 0 bytes .../serpentids/icons/mob/r_serpentid_KIOZ.dmi | Bin 3114 -> 0 bytes .../icons/mob/r_serpentid_monkey.dmi | Bin 2271 -> 0 bytes .../serpentids/icons/mob/r_serpentid_new.dmi | Bin 3480 -> 0 bytes .../icons/mob/r_serpentid_para_light.dmi | Bin 3098 -> 0 bytes .../icons/mob/r_serpentid_rejected.dmi | Bin 3276 -> 0 bytes 40 files changed, 269 insertions(+), 190 deletions(-) rename modular_ss220/species/serpentids/code/{ => common}/alerts.dm (100%) rename modular_ss220/species/serpentids/code/{ => common}/defines.dm (100%) rename modular_ss220/species/serpentids/code/{ => common}/emotes.dm (100%) rename modular_ss220/species/serpentids/code/{ => common}/language.dm (100%) rename modular_ss220/species/serpentids/code/{ => common}/serpentids.dm (98%) rename modular_ss220/species/serpentids/code/components/{ => carapace}/carapace.dm (96%) rename modular_ss220/species/serpentids/code/components/{ => carapace}/carapace_shell.dm (92%) rename modular_ss220/species/serpentids/code/components/{ => carrying}/grab_and_drag_on_mob_crates.dm (96%) rename modular_ss220/species/serpentids/code/components/{ => carrying}/grab_and_drag_on_mob_mobs.dm (96%) delete mode 100644 modular_ss220/species/serpentids/code/components/organ_actions_expansion.dm rename modular_ss220/species/serpentids/code/components/{ => organs}/heart_defib.dm (99%) rename modular_ss220/species/serpentids/code/components/{ => organs}/organ_chemistry.dm (85%) rename modular_ss220/species/serpentids/code/components/{ => organs}/organ_decay.dm (100%) rename modular_ss220/species/serpentids/code/components/{ => organs}/organ_toxins.dm (89%) rename modular_ss220/species/serpentids/code/components/{ => unused}/double_attack.dm (91%) rename modular_ss220/species/serpentids/code/components/{ => unused}/organ_actions_component.dm (91%) rename modular_ss220/species/serpentids/code/components/{ => unused}/paired_implants.dm (83%) delete mode 100644 modular_ss220/species/serpentids/code/organs/external/serpentids_organs_hands.dm create mode 100644 modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm rename modular_ss220/species/serpentids/code/organs/internal/{ => implants/unused}/serpentid_mantis_blades.dm (100%) rename modular_ss220/species/serpentids/code/organs/internal/{ => implants/unused}/serpentid_mantis_hand.dm (100%) rename modular_ss220/species/serpentids/code/organs/internal/{serpentid_mantis_chest.dm => implants/unused/serpentid_mantis_implant.dm} (78%) rename modular_ss220/species/serpentids/code/organs/internal/{ => organs}/serpentids_organs_additionals.dm (100%) rename modular_ss220/species/serpentids/code/organs/internal/{ => organs}/serpentids_organs_ears.dm (91%) rename modular_ss220/species/serpentids/code/organs/internal/{ => organs}/serpentids_organs_eyes.dm (100%) rename modular_ss220/species/serpentids/code/organs/internal/{ => organs}/serpentids_organs_heart.dm (100%) rename modular_ss220/species/serpentids/code/organs/internal/{ => organs}/serpentids_organs_kidneys.dm (100%) rename modular_ss220/species/serpentids/code/organs/internal/{ => organs}/serpentids_organs_liver.dm (93%) rename modular_ss220/species/serpentids/code/organs/internal/{ => organs}/serpentids_organs_lungs.dm (96%) delete mode 100644 modular_ss220/species/serpentids/icons/mob/bodypart_overlays.dmi delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_KIOZ.dmi delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_monkey.dmi delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_new.dmi delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_para_light.dmi delete mode 100644 modular_ss220/species/serpentids/icons/mob/r_serpentid_rejected.dmi diff --git a/modular_ss220/species/code/species.dm b/modular_ss220/species/code/species.dm index 21d1f07bf0ed..c953b5ecbe61 100644 --- a/modular_ss220/species/code/species.dm +++ b/modular_ss220/species/code/species.dm @@ -12,6 +12,3 @@ /datum/species/nucleation required_playtimes_minutes = 12000 // 200 часов - -/datum/species/serpentid - required_playtimes_minutes = -1 // 400 часов (24000), в рамках тестов до ТМа установлено в -1 diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 42b584ebf1e1..038dba1b9897 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -1,40 +1,39 @@ -#include "code/defines.dm" -#include "code/language.dm" -#include "code/alerts.dm" -#include "code/emotes.dm" +#include "code/common/defines.dm" +#include "code/common/language.dm" +#include "code/common/alerts.dm" +#include "code/common/emotes.dm" #include "code/copy_butt.dm" #include "code/chat_offset.dm" #include "code/update_icons.dm" #include "code/components/reagents.dm" -#include "code/components/organ_decay.dm" -#include "code/components/organ_chemistry.dm" -#include "code/components/organ_toxins.dm" -//#include "code/components/organ_actions_expansion.dm" - не используется (органы через расширение) -//#include "code/components/organ_actions_component.dm" - не используется -#include "code/components/heart_defib.dm" -#include "code/components/carapace.dm" -#include "code/components/carapace_shell.dm" -#include "code/components/paired_implants.dm" -#include "code/components/double_attack.dm" -#include "code/components/grab_and_drag_on_mob_mobs.dm" -#include "code/components/grab_and_drag_on_mob_crates.dm" +#include "code/components/organs/organ_decay.dm" +#include "code/components/organs/organ_chemistry.dm" +#include "code/components/organs/organ_toxins.dm" +#include "code/components/organs/heart_defib.dm" +#include "code/components/carapace/carapace.dm" +#include "code/components/carapace/carapace_shell.dm" +#include "code/components/unused/double_attack.dm" +#include "code/components/unused/organ_actions_component.dm" +#include "code/components/unused/paired_implants.dm" +#include "code/components/carrying/grab_and_drag_on_mob_mobs.dm" +#include "code/components/carrying/grab_and_drag_on_mob_crates.dm" #include "code/components/mob_overlay_shift.dm" #include "code/organs/external/serpentids_organs_other.dm" -#include "code/organs/external/serpentids_organs_hands.dm" #include "code/organs/external/serpentids_organs_head.dm" #include "code/organs/external/serpentids_organs_torso.dm" -#include "code/organs/internal/serpentid_mantis_blades.dm" -#include "code/organs/internal/serpentid_mantis_chest.dm" -#include "code/organs/internal/serpentid_mantis_hand.dm" -#include "code/organs/internal/serpentids_organs_eyes.dm" -#include "code/organs/internal/serpentids_organs_ears.dm" -#include "code/organs/internal/serpentids_organs_lungs.dm" -#include "code/organs/internal/serpentids_organs_heart.dm" -#include "code/organs/internal/serpentids_organs_kidneys.dm" -#include "code/organs/internal/serpentids_organs_liver.dm" -#include "code/organs/internal/serpentids_organs_additionals.dm" +#include "code/organs/internal/implants/unused/serpentid_mantis_blades.dm" +#include "code/organs/internal/implants/unused/serpentid_mantis_hand.dm" +#include "code/organs/internal/implants/unused/serpentid_mantis_implant.dm" +#include "code/organs/internal/implants/serpentid_mantis_chest.dm" +#include "code/organs/internal/organs/serpentids_organs_eyes.dm" +#include "code/organs/internal/organs/serpentids_organs_ears.dm" +#include "code/organs/internal/organs/serpentids_organs_lungs.dm" +#include "code/organs/internal/organs/serpentids_organs_heart.dm" +#include "code/organs/internal/organs/serpentids_organs_kidneys.dm" +#include "code/organs/internal/organs/serpentids_organs_liver.dm" +#include "code/organs/internal/organs/serpentids_organs_additionals.dm" -#include "code/serpentids.dm" +#include "code/common/serpentids.dm" diff --git a/modular_ss220/species/serpentids/code/alerts.dm b/modular_ss220/species/serpentids/code/common/alerts.dm similarity index 100% rename from modular_ss220/species/serpentids/code/alerts.dm rename to modular_ss220/species/serpentids/code/common/alerts.dm diff --git a/modular_ss220/species/serpentids/code/defines.dm b/modular_ss220/species/serpentids/code/common/defines.dm similarity index 100% rename from modular_ss220/species/serpentids/code/defines.dm rename to modular_ss220/species/serpentids/code/common/defines.dm diff --git a/modular_ss220/species/serpentids/code/emotes.dm b/modular_ss220/species/serpentids/code/common/emotes.dm similarity index 100% rename from modular_ss220/species/serpentids/code/emotes.dm rename to modular_ss220/species/serpentids/code/common/emotes.dm diff --git a/modular_ss220/species/serpentids/code/language.dm b/modular_ss220/species/serpentids/code/common/language.dm similarity index 100% rename from modular_ss220/species/serpentids/code/language.dm rename to modular_ss220/species/serpentids/code/common/language.dm diff --git a/modular_ss220/species/serpentids/code/serpentids.dm b/modular_ss220/species/serpentids/code/common/serpentids.dm similarity index 98% rename from modular_ss220/species/serpentids/code/serpentids.dm rename to modular_ss220/species/serpentids/code/common/serpentids.dm index bef318f5b345..2dafca2028a2 100644 --- a/modular_ss220/species/serpentids/code/serpentids.dm +++ b/modular_ss220/species/serpentids/code/common/serpentids.dm @@ -115,7 +115,7 @@ var/gene_lastcall = 0 /datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) - if (R.id == SERPENTID_CHEM_REAGENT_ID) + if(R.id == SERPENTID_CHEM_REAGENT_ID) return FALSE else return TRUE @@ -126,12 +126,12 @@ var/armor_count = 0 var/gene_degradation = 0 for(var/obj/item/organ/external/limb in H.bodyparts) - if (!(limb.type in valid_limbs)) + if(!(limb.type in valid_limbs)) gene_degradation += SERPENTID_GENE_DEGRADATION_DAMAGE var/limb_armor = limb.brute_dam + limb.burn_dam armor_count += limb_armor - if (gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD) + if(gene_lastcall >= SERPENTID_GENE_DEGRADATION_CD) H.adjustCloneLoss(gene_degradation) gene_lastcall = 0 else diff --git a/modular_ss220/species/serpentids/code/components/carapace.dm b/modular_ss220/species/serpentids/code/components/carapace/carapace.dm similarity index 96% rename from modular_ss220/species/serpentids/code/components/carapace.dm rename to modular_ss220/species/serpentids/code/components/carapace/carapace.dm index 16078aa280cd..614ac979b1dc 100644 --- a/modular_ss220/species/serpentids/code/components/carapace.dm +++ b/modular_ss220/species/serpentids/code/components/carapace/carapace.dm @@ -56,15 +56,15 @@ //Проки, срабатываемые при получении или исцелении урона /datum/component/carapace/proc/receive_damage(var/affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) - if (limb.get_damage() > broken_treshold) + if(limb.get_damage() > broken_treshold) limb.fracture() - if (limb.internal_organs.len > 0) + if(limb.internal_organs.len > 0) var/obj/item/organ/internal/O = pick(limb.internal_organs) O.receive_damage(burn * limb.burn_dam) /datum/component/carapace/proc/heal_damage(var/affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) - if ((limb.status & ORGAN_BROKEN) && limb.get_damage() == 0) - if (self_medning) + if((limb.status & ORGAN_BROKEN) && limb.get_damage() == 0) + if(self_medning) limb.mend_fracture() else if(prob(CARAPACE_HEAL_BROKEN_PROB)) limb.mend_fracture() @@ -122,7 +122,7 @@ var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) return FALSE - if (src.type in CARAPACE_BLOCK_OPERATION)//отключить стандартные операции класса "манипуляция органов", восстановить кость. + if(src.type in CARAPACE_BLOCK_OPERATION)//отключить стандартные операции класса "манипуляция органов", восстановить кость. return FALSE . = .. () diff --git a/modular_ss220/species/serpentids/code/components/carapace_shell.dm b/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm similarity index 92% rename from modular_ss220/species/serpentids/code/components/carapace_shell.dm rename to modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm index a7c39e596280..5c6f26bada81 100644 --- a/modular_ss220/species/serpentids/code/components/carapace_shell.dm +++ b/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm @@ -24,7 +24,7 @@ var/datum/species/specie = H.dna.species //Потеря брони при первом трешхолде - if (character_damage <= SERPENTID_CARAPACE_NOARMOR_STATE) + if(character_damage <= SERPENTID_CARAPACE_NOARMOR_STATE) specie.brute_mod = 0.6 specie.burn_mod = 1.1 ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") @@ -37,19 +37,19 @@ //Потеря стелса при втором трешхолде var/obj/item/organ/internal/kidneys/serpentid/organ = H.get_int_organ("kidneys") - if (character_damage <= SERPENTID_CARAPACE_NOCHAMELION_STATE) + if(character_damage <= SERPENTID_CARAPACE_NOCHAMELION_STATE) H.clear_alert("carapace_break_cloak") else H.throw_alert("carapace_break_cloak", /atom/movable/screen/alert/carapace_break_cloak) H.clear_alert("carapace_break_armor") - if (istype(organ, /obj/item/organ/internal/kidneys/serpentid)) + if(istype(organ, /obj/item/organ/internal/kidneys/serpentid)) organ.switch_mode(force_off = TRUE) //Потеря рига при третьем трешхолде var/cold = SERPENTID_ARMORED_COLD_THRESHOLD var/heat = SERPENTID_ARMORED_HEAT_THRESHOLD - if (character_damage <= SERPENTID_CARAPACE_NOPRESSURE_STATE) + if(character_damage <= SERPENTID_CARAPACE_NOPRESSURE_STATE) specie.hazard_high_pressure = INFINITY specie.warning_high_pressure = INFINITY specie.warning_low_pressure = -INFINITY diff --git a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm similarity index 96% rename from modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm rename to modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm index e8acf7ea2876..440eca287c76 100644 --- a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm @@ -134,12 +134,12 @@ //Расширение прока для переноса ящика на моба /mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) - if (SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) & GADOM_UNMOB_ALLOW_TO_GRAB) + if(SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) & GADOM_UNMOB_ALLOW_TO_GRAB) SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_LOAD, usr, AM) . = .. () //Расширение прока на отстегивание ящика /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - if (SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_CAN_GRAB) & GADOM_UNMOB_ALLOW_TO_GRAB && H.loaded) + if(SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_CAN_GRAB) & GADOM_UNMOB_ALLOW_TO_GRAB && H.loaded) SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_UNLOAD, M) . = .. () diff --git a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm similarity index 96% rename from modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm rename to modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm index 314d4d15b0d4..e9824252ffd2 100644 --- a/modular_ss220/species/serpentids/code/components/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm @@ -110,7 +110,7 @@ return var/signal_result var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB, signal_result) - if ((signal_call & GADOM_MOB_ALLOW_TO_GRAB) && signal_result) + if((signal_call & GADOM_MOB_ALLOW_TO_GRAB) && signal_result) SEND_SIGNAL(usr, COMSIG_GADOM_MOB_LOAD, usr, src) return . = .. () @@ -118,7 +118,7 @@ /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) var/signal_result var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB, signal_result) - if ((signal_call & GADOM_MOB_ALLOW_TO_GRAB) && signal_result && H.loaded) + if((signal_call & GADOM_MOB_ALLOW_TO_GRAB) && signal_result && H.loaded) SEND_SIGNAL(H, COMSIG_GADOM_MOB_UNLOAD, M) . = .. () diff --git a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm index 7b57dece82c2..0d757f367789 100644 --- a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm +++ b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm @@ -228,5 +228,5 @@ /mob/living/carbon/human/setDir(new_dir) . = ..() - if (SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CHECK) & MOB_OVERLAY_SHIFT_CHECK) + if(SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CHECK) & MOB_OVERLAY_SHIFT_CHECK) SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CALL, new_dir) diff --git a/modular_ss220/species/serpentids/code/components/organ_actions_expansion.dm b/modular_ss220/species/serpentids/code/components/organ_actions_expansion.dm deleted file mode 100644 index 5ca1b63a4ef1..000000000000 --- a/modular_ss220/species/serpentids/code/components/organ_actions_expansion.dm +++ /dev/null @@ -1,50 +0,0 @@ -/* -Расширение на органы, который бы позволяли объединять многочисленные действия органов в одну радиальную кнопку -*/ - -/obj/item/organ/internal - var/radial_additive_state = "" - var/radial_additive_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' - -/obj/item/organ/internal/proc/check_actions(mob/user) - return (owner && owner == user && owner.stat != DEAD && (src in owner.internal_organs)) - -//Прок, вызывается непосредственно в кнопке действия органа -/obj/item/organ/internal/proc/open_actions(mob/user) - var/list/choices = list() - var/list/organs_list = list() - for(var/obj/item/organ/internal/O in owner.internal_organs) - if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) - organs_list += O - for(var/obj/item/organ/internal/I in organs_list) - choices["[I.name]"] = image(icon = radial_additive_icon, icon_state = I.radial_additive_state) - var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, PROC_REF(check_actions), user)) - if(!check_actions(user)) - return - var/obj/item/organ/internal/selected - for(var/obj/item in organs_list) - if(item.name == choice) - selected = item - break - if(istype(selected) && (selected in organs_list)) - selected.switch_mode() - -//Прок для ресортировки кнопок (убирает лишние дубли) (должен вызываться на insert/remove конкретного органа, чтобы не трогать остальные) -/obj/item/organ/internal/proc/buttons_resort() - var/list/organs_list = list() - if (owner) - for(var/obj/item/organ/internal/O in owner.internal_organs) - if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) - organs_list += O - - for(var/obj/item/organ/internal/O in organs_list) - organs_list -= O - for(var/obj/item/organ/internal/D in organs_list) - var/datum/action/action_candidate = O.actions[1] - if (D != O) - if (action_candidate in owner.actions) - action_candidate.Remove(owner) - else - if (!(action_candidate in owner.actions)) - action_candidate.Grant(owner) - break diff --git a/modular_ss220/species/serpentids/code/components/heart_defib.dm b/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm similarity index 99% rename from modular_ss220/species/serpentids/code/components/heart_defib.dm rename to modular_ss220/species/serpentids/code/components/organs/heart_defib.dm index 8dd5886e2d75..d6945b91f8e3 100644 --- a/modular_ss220/species/serpentids/code/components/heart_defib.dm +++ b/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm @@ -23,7 +23,7 @@ else if(owner.get_chemical_value(chemical_id) >= 0 && owner.stat == DEAD && owner.get_damage_amount() <= 100) var/defib_chance = owner.get_chemical_value(chemical_id) var/datum/reagent/chem = owner.get_chemical_path(chemical_id) - if (chem) + if(chem) chem.holder.remove_reagent(chemical_id, owner.get_chemical_value(chemical_id)) if(prob(defib_chance)) owner.setOxyLoss(0) diff --git a/modular_ss220/species/serpentids/code/components/organ_chemistry.dm b/modular_ss220/species/serpentids/code/components/organs/organ_chemistry.dm similarity index 85% rename from modular_ss220/species/serpentids/code/components/organ_chemistry.dm rename to modular_ss220/species/serpentids/code/components/organs/organ_chemistry.dm index 1be18e4591a1..d276e505ce61 100644 --- a/modular_ss220/species/serpentids/code/components/organ_chemistry.dm +++ b/modular_ss220/species/serpentids/code/components/organs/organ_chemistry.dm @@ -4,11 +4,6 @@ #define COMSIG_ORGAN_CHEM_CALL "chems_process" -#define COMSIG_ORGAN_GROUP_ACTION_ICON "get_return_icon" -#define COMSIG_ORGAN_GROUP_ACTION_STATE "get_return_state" - #define ORGAN_GROUP_ACTION_ICON (1 << 0) - #define ORGAN_GROUP_ACTION_STATE (1 << 0) - /datum/component/chemistry_organ var/obj/item/organ/internal/organ var/chemical_id = "" @@ -29,7 +24,7 @@ return TRUE var/chemical_volume = organ.owner.get_chemical_value(chemical_id) var/datum/reagent/chemical = organ.owner.get_chemical_path(chemical_id) - if (chemical_volume < consuption_count || chemical_volume == 0) + if(chemical_volume < consuption_count || chemical_volume == 0) //Если количества недостаточно - выключить режим organ.switch_mode(force_off = TRUE) else @@ -43,12 +38,12 @@ //Пара помощников - получить количество и путь химиката по его ID /mob/living/carbon/human/proc/get_chemical_value(var/id) for(var/datum/reagent/R in src.reagents.reagent_list) - if (R.id == id) + if(R.id == id) return R.volume return 0 /mob/living/carbon/human/proc/get_chemical_path(var/id) for(var/datum/reagent/R in src.reagents.reagent_list) - if (R.id == id) + if(R.id == id) return R return null diff --git a/modular_ss220/species/serpentids/code/components/organ_decay.dm b/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/organ_decay.dm rename to modular_ss220/species/serpentids/code/components/organs/organ_decay.dm diff --git a/modular_ss220/species/serpentids/code/components/organ_toxins.dm b/modular_ss220/species/serpentids/code/components/organs/organ_toxins.dm similarity index 89% rename from modular_ss220/species/serpentids/code/components/organ_toxins.dm rename to modular_ss220/species/serpentids/code/components/organs/organ_toxins.dm index 5f9ba8fed715..ec3345efa341 100644 --- a/modular_ss220/species/serpentids/code/components/organ_toxins.dm +++ b/modular_ss220/species/serpentids/code/components/organs/organ_toxins.dm @@ -29,13 +29,13 @@ var/obj/item/organ/internal/liver/target_liver = organ.owner.get_int_organ(/obj/item/organ/internal/liver) var/obj/item/organ/internal/kidneys/target_kidney = organ.owner.get_int_organ(/obj/item/organ/internal/kidneys) - if (organ == target_kidney) + if(organ == target_kidney) organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) organ.owner.adjustToxLoss(-1 * organ.owner.get_damage_amount(TOX) * toxin_damage_rate) - else if (target_kidney.status == ORGAN_DEAD && organ == target_liver) + else if(target_kidney.status == ORGAN_DEAD && organ == target_liver) organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) organ.owner.adjustToxLoss(-1 * organ.owner.get_damage_amount(TOX) * toxin_damage_rate) - else if (target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) + else if(target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) /obj/item/organ/internal/process() diff --git a/modular_ss220/species/serpentids/code/components/reagents.dm b/modular_ss220/species/serpentids/code/components/reagents.dm index 50f6f5be98e1..43d050aa2a1c 100644 --- a/modular_ss220/species/serpentids/code/components/reagents.dm +++ b/modular_ss220/species/serpentids/code/components/reagents.dm @@ -43,7 +43,7 @@ RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(on_movement)) RegisterSignal(L, COMSIG_HUMAN_CREATE_MOB_HUD, PROC_REF(no_hud_cheese)) var/mob/living/carbon/human/H = L - if (istype(H.dna.species, /datum/species/serpentid)) + if(istype(H.dna.species, /datum/species/serpentid)) var/datum/species/spicie = H.dna.species spicie.action_mult = 0.5 if(!L.hud_used) @@ -65,7 +65,7 @@ REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) L.next_move_modifier = initial(L.next_move_modifier) var/mob/living/carbon/human/H = L - if (istype(H.dna.species, /datum/species/serpentid)) + if(istype(H.dna.species, /datum/species/serpentid)) var/datum/species/spicie = H.dna.species spicie.action_mult = initial(spicie.action_mult) if(!L.hud_used) @@ -86,10 +86,10 @@ if(HAS_TRAIT(L, TRAIT_IMMOBILIZED)) //No, dead people floating through space do not need afterimages return NONE if(last_move == L.last_movement_dir && world.time - L.last_movement < 10) - if (last_move_count >= 5) + if(last_move_count >= 5) if(!HAS_TRAIT(L, TRAIT_GOTTAGONOTSOFAST)) ADD_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) - if (last_move_count >= 15) + if(last_move_count >= 15) REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) ADD_TRAIT(L, TRAIT_GOTTAGOFAST, id) else @@ -111,7 +111,7 @@ if(ishuman(L)) var/heart_damage = 0.5 var/mob/living/carbon/human/H = L - if (istype(H.dna.species, /datum/species/serpentid)) + if(istype(H.dna.species, /datum/species/serpentid)) var/datum/organ/heart/datum_heart = H.get_int_organ_datum(ORGAN_DATUM_HEART) if(datum_heart) var/obj/item/organ/internal/our_heart = datum_heart.linked_organ diff --git a/modular_ss220/species/serpentids/code/components/double_attack.dm b/modular_ss220/species/serpentids/code/components/unused/double_attack.dm similarity index 91% rename from modular_ss220/species/serpentids/code/components/double_attack.dm rename to modular_ss220/species/serpentids/code/components/unused/double_attack.dm index a9a7001356ca..2173fd868795 100644 --- a/modular_ss220/species/serpentids/code/components/double_attack.dm +++ b/modular_ss220/species/serpentids/code/components/unused/double_attack.dm @@ -24,7 +24,9 @@ RegisterSignal(parent, COMSIG_DOUBLEATTACK_SYNC, PROC_REF(sync_states)) /datum/component/double_attack/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_DOUBLEIMP_SYNCHONIZE) + UnregisterSignal(parent, COMSIG_DOUBLEATTACK_PROCESS) + UnregisterSignal(parent, COMSIG_DOUBLEATTACK_CHECK) + UnregisterSignal(parent, COMSIG_DOUBLEATTACK_SYNC) //Проверка, что оружие запустило атаку (для избегания цепи атак) /datum/component/double_attack/proc/check_state() @@ -41,11 +43,11 @@ offhand_item = user.get_inactive_hand() if(offhand_item.type != mainhand_item.type) return - if (SEND_SIGNAL(offhand_item, COMSIG_DOUBLEATTACK_CHECK) && DOUBLEATTACK_CHECK_ACTIVE) + if(SEND_SIGNAL(offhand_item, COMSIG_DOUBLEATTACK_CHECK) && DOUBLEATTACK_CHECK_ACTIVE) return state_attack = TRUE SEND_SIGNAL(offhand_item, COMSIG_DOUBLEATTACK_SYNC, state_attack) - if (offhand_item) + if(offhand_item) addtimer(CALLBACK(src, PROC_REF(offhand_attack), target, user, def_zone), (user.next_move_modifier / 5) SECONDS) addtimer(CALLBACK(src, PROC_REF(offhand_post_attack)), (user.next_move_modifier / 2) SECONDS) diff --git a/modular_ss220/species/serpentids/code/components/organ_actions_component.dm b/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm similarity index 91% rename from modular_ss220/species/serpentids/code/components/organ_actions_component.dm rename to modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm index 27acd438158c..456b1c7bad9a 100644 --- a/modular_ss220/species/serpentids/code/components/organ_actions_component.dm +++ b/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm @@ -56,7 +56,7 @@ var/list/choices = list() var/list/organs_list = list() for(var/obj/item/organ/internal/O in organ.owner.internal_organs) - if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + if(O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) organs_list += O for(var/obj/item/organ/internal/I in organs_list) @@ -64,7 +64,7 @@ var/datum/component/organ_action/return_icon var/icon_override_returns = SEND_SIGNAL(user, COMSIG_ORGAN_GROUP_ACTION_ICON, return_icon) var/state_override_returns = SEND_SIGNAL(user, COMSIG_ORGAN_GROUP_ACTION_STATE, return_state) - if ((icon_override_returns & ORGAN_GROUP_ACTION_ICON) && (state_override_returns & ORGAN_GROUP_ACTION_STATE)) + if((icon_override_returns & ORGAN_GROUP_ACTION_ICON) && (state_override_returns & ORGAN_GROUP_ACTION_STATE)) choices["[I.name]"] = image(icon = return_icon.radial_additive_icon, icon_state = return_state.radial_additive_state) var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, PROC_REF(check_actions), user)) @@ -85,20 +85,20 @@ SIGNAL_HANDLER var/list/organs_list = list() - if (organ.owner) + if(organ.owner) for(var/obj/item/organ/internal/O in organ.owner.internal_organs) - if (O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + if(O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) organs_list += O for(var/obj/item/organ/internal/O in organs_list) organs_list -= O for(var/obj/item/organ/internal/D in organs_list) var/datum/action/action_candidate = O.actions[1] - if (D != O) - if (action_candidate in organ.owner.actions) + if(D != O) + if(action_candidate in organ.owner.actions) action_candidate.Remove(organ.owner) else - if (!(action_candidate in organ.owner.actions)) + if(!(action_candidate in organ.owner.actions)) action_candidate.Grant(organ.owner) break diff --git a/modular_ss220/species/serpentids/code/components/paired_implants.dm b/modular_ss220/species/serpentids/code/components/unused/paired_implants.dm similarity index 83% rename from modular_ss220/species/serpentids/code/components/paired_implants.dm rename to modular_ss220/species/serpentids/code/components/unused/paired_implants.dm index 3484c393d63d..adc8c83f7258 100644 --- a/modular_ss220/species/serpentids/code/components/paired_implants.dm +++ b/modular_ss220/species/serpentids/code/components/unused/paired_implants.dm @@ -23,14 +23,14 @@ var/obj/item/organ/internal/cyberimp/arm/assigned_implant = processed_implant var/list/organs = assigned_implant.owner.internal_organs for(var/obj/item/organ/internal/O in organs) - if (istype(O, /obj/item/organ/internal/cyberimp/arm) && assigned_implant != O) + if(istype(O, /obj/item/organ/internal/cyberimp/arm) && assigned_implant != O) pair_implant = O var/datum/action/action_candidate = assigned_implant.actions[1] - if (!isnull(pair_implant)) - if (action_candidate in assigned_implant.owner.actions) + if(!isnull(pair_implant)) + if(action_candidate in assigned_implant.owner.actions) action_candidate.Remove(assigned_implant.owner) else - if (!(action_candidate in assigned_implant.owner.actions)) + if(!(action_candidate in assigned_implant.owner.actions)) action_candidate.Grant(assigned_implant.owner) assigned_implant.owner.update_action_buttons() @@ -39,20 +39,20 @@ var/obj/item/organ/internal/cyberimp/arm/assigned_implant = processed_implant var/list/organs = assigned_implant.owner.internal_organs for(var/obj/item/organ/internal/O in organs) - if (istype(O, /obj/item/organ/internal/cyberimp/arm) && istype(assigned_implant, /obj/item/organ/internal/cyberimp/arm) && assigned_implant != O) + if(istype(O, /obj/item/organ/internal/cyberimp/arm) && istype(assigned_implant, /obj/item/organ/internal/cyberimp/arm) && assigned_implant != O) pair_implant = O - if (!isnull(pair_implant)) + if(!isnull(pair_implant)) var/main_implant_retracted = !assigned_implant.holder || (assigned_implant.holder in assigned_implant) var/pair_implant_retracted = !pair_implant.holder || (pair_implant.holder in pair_implant) - if (main_implant_retracted != pair_implant_retracted) + if(main_implant_retracted != pair_implant_retracted) if(!main_implant_retracted) pair_implant.holder = null - if (assigned_implant.holder) + if(assigned_implant.holder) var/content_object = assigned_implant.holder.type for(var/obj/item/candidate in pair_implant.contents) - if (istype(candidate,content_object)) + if(istype(candidate,content_object)) pair_implant.Extend(candidate) break else diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_hands.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_hands.dm deleted file mode 100644 index 72689cbd47a3..000000000000 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_hands.dm +++ /dev/null @@ -1,27 +0,0 @@ -/obj/item/organ/external/hand/carapace - encased = "chitin" - min_broken_damage = 20 - -/obj/item/organ/external/hand/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) - -/obj/item/organ/external/hand/right/carapace - encased = "chitin" - min_broken_damage = 20 - -/obj/item/organ/external/hand/right/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) - -//Модификация граба для хвата из стелса -/datum/species/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) - . = .. () - var/obj/item/grab/grab_item = user.get_active_hand() - var/limb_name = (user.l_hand == grab_item ? "l_hand" : "r_hand") - var/obj/item/organ/external/hand/active_hand = user.get_limb_by_name(limb_name) - if (istype(active_hand, /obj/item/organ/external/hand/carapace) || istype(active_hand, /obj/item/organ/external/hand/right/carapace)) - if (user.invisibility == INVISIBILITY_LEVEL_TWO) - grab_item.state = GRAB_AGGRESSIVE - grab_item.icon_state = "grabbed1" - user.reset_visibility() diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm index 98de1c3a9df5..989db98cb74e 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm @@ -27,6 +27,22 @@ encased = "chitin" min_broken_damage = 20 +/obj/item/organ/external/hand/carapace + encased = "chitin" + min_broken_damage = 20 + +/obj/item/organ/external/hand/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + +/obj/item/organ/external/hand/right/carapace + encased = "chitin" + min_broken_damage = 20 + +/obj/item/organ/external/hand/right/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + /obj/item/organ/external/leg/carapace/Initialize(mapload) . = ..() AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm new file mode 100644 index 000000000000..db304d2572d2 --- /dev/null +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -0,0 +1,147 @@ +//===Клинки через грудной имплант=== +/obj/item/organ/internal/cyberimp/chest/serpentid_blades + name = "neuronodule of blades" + desc = "control organ of upper blades" + icon_state = "chest_implant" + parent_organ = "chest" + actions_types = list(/datum/action/item_action/organ_action/toggle/switch_blades) + contents = newlist(/obj/item/kitchen/knife/combat/serpentblade,/obj/item/kitchen/knife/combat/serpentblade) + action_icon = list(/datum/action/item_action/organ_action/toggle/switch_blades = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle/switch_blades = "gas_hand_act") + var/obj/item/holder_l = null + var/obj/item/holder_r = null + var/icon_file = 'modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi' + var/new_icon_state = "blades_0" + var/mutable_appearance/old_overlay + var/mutable_appearance/new_overlay + var/overlay_color + var/blades_active = FALSE + unremovable = TRUE + emp_proof = TRUE + +/datum/action/item_action/organ_action/toggle/switch_blades + name = "Switch Threat Mode" + desc = "Switch your stance to show other your intentions" + button_overlay_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' + button_overlay_icon_state = "gas_hand_act" + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/insert(mob/living/carbon/M, special, dont_remove_slot) + . = .. () + if(owner && owner.real_name != "unknown") + owner.update_body() + else + spawn(1) + if(owner && owner.real_name != "unknown") + owner.update_body() + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/remove(mob/living/carbon/M, special, dont_remove_slot) + if(owner && owner.real_name != "unknown") + owner.update_body() + else + spawn(1) + if(owner && owner.real_name != "unknown") + owner.update_body() + . = .. () + +/mob/living/carbon/human/proc/update_blades_overlays() + var/obj/item/organ/internal/cyberimp/chest/serpentid_blades/target_implant = get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades) + if(target_implant) + target_implant.update_overlays() + +/mob/living/carbon/human/update_body(rebuild_base = FALSE) + . = .. () + update_blades_overlays() + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() + if(crit_fail || (!holder_l && !length(contents)) && (!holder_r && !length(contents))) + to_chat(owner, "The implant doesn't respond. It seems to be broken...") + return + var/extended = holder_l && !(holder_l in src) && holder_r && !(holder_r in src) + if(extended) + Retract() + else if(do_after(owner, 20*(owner.dna.species.action_mult), FALSE, owner)) + holder_l = null + holder_r = null + Extend(contents[1],contents[2]) + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/update_overlays() + . = .. () + if(old_overlay) + owner.overlays -= old_overlay + if(owner) + var/icon/blades_icon = new/icon("icon" = icon_file, "icon_state" = new_icon_state) + var/obj/item/organ/external/chest/torso = owner.get_limb_by_name("chest") + var/body_color = torso.s_col + blades_icon.Blend(body_color, ICON_ADD) + new_overlay = mutable_appearance(blades_icon) + old_overlay = new_overlay + owner.overlays += new_overlay + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Extend(obj/item/item_l, obj/item/item_r) + if(!(item_l in src) && !(item_r in src)) + return + if(status & ORGAN_DEAD) + return + + blades_active = TRUE + playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) + new_icon_state = "blades_1" + owner.update_body() + return TRUE + +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Retract() + if((!holder_l || (holder_l in src)) && (!holder_r || (holder_r in src))) + return + if(status & ORGAN_DEAD) + return + + blades_active = FALSE + playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) + new_icon_state = "blades_0" + owner.update_body() + +//Проки на обработку при поднятом клинке +/datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) //Handles any species-specific attackhand events. + if(!istype(M)) + return + + if(istype(M)) + var/obj/item/organ/external/temp = M.bodyparts_by_name["r_hand"] + if(M.hand) + temp = M.bodyparts_by_name["l_hand"] + if(!temp || !temp.is_usable()) + to_chat(M, "You can't use your hand.") + return + + if(M.mind) + attacker_style = M.mind.martial_art + + if((M != H) && M.a_intent != INTENT_HELP && H.check_shields(M, 0, M.name, attack_type = UNARMED_ATTACK)) + add_attack_logs(M, H, "Melee attacked with blades (miss/block)") + H.visible_message("[M] attempted to touch [H]!") + return FALSE + + switch(M.a_intent) + if(INTENT_HELP) + help(M, H, attacker_style) + + if(INTENT_GRAB) + grab(M, H, attacker_style) + + if(INTENT_HARM) + harm(M, H, attacker_style) + + if(INTENT_DISARM) + disarm(M, H, attacker_style) + +//Модификация граба для хвата из стелса +/datum/species/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + . = .. () + var/obj/item/grab/grab_item = user.get_active_hand() + var/limb_name = (user.l_hand == grab_item ? "l_hand" : "r_hand") + var/obj/item/organ/external/hand/active_hand = user.get_limb_by_name(limb_name) + if(istype(active_hand, /obj/item/organ/external/hand/carapace) || istype(active_hand, /obj/item/organ/external/hand/right/carapace)) + if(user.invisibility == INVISIBILITY_LEVEL_TWO) + grab_item.state = GRAB_AGGRESSIVE + grab_item.icon_state = "grabbed1" + user.reset_visibility() diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_blades.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_blades.dm similarity index 100% rename from modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_blades.dm rename to modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_blades.dm diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_hand.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_hand.dm similarity index 100% rename from modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_hand.dm rename to modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_hand.dm diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm similarity index 78% rename from modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm rename to modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm index ce651a9c5308..04d6677429c9 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm @@ -1,5 +1,5 @@ //===Клинки через грудной имплант=== -/obj/item/organ/internal/cyberimp/chest/serpentid_blades +/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms name = "neuronodule of blades" desc = "control organ of upper blades" icon_state = "chest_implant" @@ -23,34 +23,34 @@ button_overlay_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' button_overlay_icon_state = "gas_hand_act" -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/insert(mob/living/carbon/M, special, dont_remove_slot) +/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/insert(mob/living/carbon/M, special, dont_remove_slot) . = .. () - if (owner && owner.real_name != "unknown") + if(owner && owner.real_name != "unknown") owner.update_body() else spawn(1) - if (owner && owner.real_name != "unknown") + if(owner && owner.real_name != "unknown") owner.update_body() -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/remove(mob/living/carbon/M, special, dont_remove_slot) - if (owner && owner.real_name != "unknown") +/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/remove(mob/living/carbon/M, special, dont_remove_slot) + if(owner && owner.real_name != "unknown") owner.update_body() else spawn(1) - if (owner && owner.real_name != "unknown") + if(owner && owner.real_name != "unknown") owner.update_body() . = .. () -/mob/living/carbon/human/proc/update_blades_overlays() - var/obj/item/organ/internal/cyberimp/chest/serpentid_blades/target_implant = get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades) +/mob/living/carbon/human/proc/update_blades__arms_overlays() + var/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/target_implant = get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms) if(target_implant) target_implant.update_overlays() /mob/living/carbon/human/update_body(rebuild_base = FALSE) . = .. () - update_blades_overlays() + update_blades__arms_overlays() -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() +/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/ui_action_click() if(crit_fail || (!holder_l && !length(contents)) && (!holder_r && !length(contents))) to_chat(owner, "The implant doesn't respond. It seems to be broken...") return @@ -62,11 +62,11 @@ holder_r = null Extend(contents[1],contents[2]) -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/update_overlays() +/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/update_overlays() . = .. () - if (old_overlay) + if(old_overlay) owner.overlays -= old_overlay - if (owner) + if(owner) var/icon/blades_icon = new/icon("icon" = icon_file, "icon_state" = new_icon_state) var/obj/item/organ/external/chest/torso = owner.get_limb_by_name("chest") var/body_color = torso.s_col @@ -75,12 +75,12 @@ old_overlay = new_overlay owner.overlays += new_overlay -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/check_cuffs() +/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/proc/check_cuffs() if(owner.handcuffed) to_chat(owner, "The handcuffs interfere with [src]!") return TRUE -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Extend(obj/item/item_l, obj/item/item_r) +/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/proc/Extend(obj/item/item_l, obj/item/item_r) if(!(item_l in src) && !(item_r in src) && check_cuffs()) return if(status & ORGAN_DEAD) @@ -125,7 +125,7 @@ owner.update_body() return TRUE -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Retract() +/obj/item/organ/internal/cyberimp/chest/serpentid_blades_arms/proc/Retract() if((!holder_l || (holder_l in src)) && (!holder_r || (holder_r in src))) return if(status & ORGAN_DEAD) diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_additionals.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm similarity index 100% rename from modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_additionals.dm rename to modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_additionals.dm diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm similarity index 91% rename from modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm rename to modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 8eae2d96a0a9..5db81574fb62 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -17,7 +17,7 @@ /obj/item/organ/internal/ears/serpentid/on_life() .=..() - if (prob(((max_damage - damage)/max_damage) * 100) && chemical_consuption > owner.get_chemical_value(chemical_id)) + if(prob(((max_damage - damage)/max_damage) * 100) && chemical_consuption > owner.get_chemical_value(chemical_id)) sense_creatures() /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm similarity index 100% rename from modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_eyes.dm rename to modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm similarity index 100% rename from modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_heart.dm rename to modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm similarity index 100% rename from modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_kidneys.dm rename to modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm similarity index 93% rename from modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm rename to modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm index 7b96b1d3c0b8..bd5a9bf415b3 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_liver.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm @@ -19,10 +19,10 @@ /obj/item/organ/internal/liver/serpentid/on_life() . = ..() max_value = clamp((((max_damage - damage)/max_damage)*100),0,GAS_ORGAN_CHEMISTRY_MAX) - if (owner.get_chemical_value(chemical_id) < max_value) + if(owner.get_chemical_value(chemical_id) < max_value) for(var/datum/reagent/consumable/chemical in owner.reagents.reagent_list) if(!isnull(chemical)) - if (chemical.nutriment_factor > 0) + if(chemical.nutriment_factor > 0) chemical.holder.remove_reagent(chemical.id, SERPENTID_CHEM_MULT_CONSUPTION*chemical.nutriment_factor) owner.reagents.add_reagent(chemical_id, SERPENTID_CHEM_MULT_PRODUCTION*chemical.nutriment_factor) else diff --git a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm similarity index 96% rename from modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm rename to modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 5b76c6543d2e..0b3be03f8e17 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -10,7 +10,7 @@ var/decay_rate = 3 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.25 - var/chem_to_oxy_mult = 0.1 + var/chem_to_oxy_mult = 30 /obj/item/organ/internal/lungs/serpentid/Initialize(mapload) . = ..() @@ -130,21 +130,21 @@ var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] var/danger_air = lung_data.in_danger_zone(breath) var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) - if (danger_air) - if (!owner.internal) + if(danger_air) + if(!owner.internal) owner.internal = serpentid_vault else - if (owner.internal) + if(owner.internal) owner.internal = null var/datum/gas_mixture/int_tank_air = serpentid_vault.air_contents var/pressure_value = int_tank_air.return_pressure() if(pressure_value < 100) var/replenish_value = 0 - if (danger_air && can_secretion) + if(danger_air && can_secretion) replenish_value = chemical_consuption * chem_to_oxy_mult chemical.holder.remove_reagent(chemical_id, chemical_consuption) - if (!danger_air) + if(!danger_air) var/turf/T = get_turf(owner) var/datum/gas_mixture/environment = get_turf_air(T) var/breath_moles = 0 @@ -155,7 +155,7 @@ var/oxygen_value = ((ONE_ATMOSPHERE) * serpentid_vault.volume * replenish_value + pressure_value) var/gas_mix_value = (R_IDEAL_GAS_EQUATION * T20C) var/value_to_replenish = ( oxygen_value / gas_mix_value ) - if (value_to_replenish > 0) + if(value_to_replenish > 0) serpentid_vault.air_contents.set_oxygen(value_to_replenish) @@ -168,11 +168,11 @@ /mob/living/carbon/breathe(datum/gas_mixture/environment) var/obj/item/organ/internal/lungs/lugns = null for(var/obj/item/organ/internal/O in src.internal_organs) - if (istype(O, /obj/item/organ/internal/lungs)) + if(istype(O, /obj/item/organ/internal/lungs)) lugns = O if(istype(lugns, /obj/item/organ/internal/lungs/serpentid)) var/obj/item/organ/internal/lungs/serpentid/serpentid_lungs = lugns - if (src.internal == serpentid_lungs.serpentid_vault) + if(src.internal == serpentid_lungs.serpentid_vault) var/mob/living/carbon/human/puppet = src var/breath = puppet.serpen_lugns(BREATH_VOLUME) diff --git a/modular_ss220/species/serpentids/icons/mob/bodypart_overlays.dmi b/modular_ss220/species/serpentids/icons/mob/bodypart_overlays.dmi deleted file mode 100644 index b1a812c93327e686aaafca5caa1c56c3dfef3252..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558 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 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_monkey.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_monkey.dmi deleted file mode 100644 index 7913ff4c40c1f8193bdbfc1d5e624fa3d0c36011..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2271 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 diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_new.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_new.dmi deleted file mode 100644 index 5df6a928697fc4560ca0fe86974a6e6fe1b51465..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3480 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 NAz)kcPi7u*{{q&j`WOHJ diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_rejected.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_rejected.dmi deleted file mode 100644 index 8cb3b2bea7b15e2139c7467e2c02599bfa10486a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3276 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 Date: Fri, 11 Oct 2024 16:22:01 +0300 Subject: [PATCH 028/152] =?UTF-8?q?=D0=A7=D0=B8=D1=81=D1=82=D0=BA=D0=B0,?= =?UTF-8?q?=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=BC=D0=B5=D1=85=D0=B0=D0=BD=D0=B8=D0=BA=D0=B8=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B8=D0=BD=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/_serpentids.dme | 3 +- .../serpentids/code/common/serpentids.dm | 3 + .../components/{unused => }/double_attack.dm | 35 ++- .../code/components/unused/pair_attack.dm | 67 ++++++ .../implants/serpentid_mantis_chest.dm | 203 ++++++++++++++---- 5 files changed, 250 insertions(+), 61 deletions(-) rename modular_ss220/species/serpentids/code/components/{unused => }/double_attack.dm (60%) create mode 100644 modular_ss220/species/serpentids/code/components/unused/pair_attack.dm diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 038dba1b9897..184d9acfc9ac 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -13,12 +13,13 @@ #include "code/components/organs/heart_defib.dm" #include "code/components/carapace/carapace.dm" #include "code/components/carapace/carapace_shell.dm" -#include "code/components/unused/double_attack.dm" +#include "code/components/unused/pair_attack.dm" #include "code/components/unused/organ_actions_component.dm" #include "code/components/unused/paired_implants.dm" #include "code/components/carrying/grab_and_drag_on_mob_mobs.dm" #include "code/components/carrying/grab_and_drag_on_mob_crates.dm" #include "code/components/mob_overlay_shift.dm" +#include "code/components/double_attack.dm" #include "code/organs/external/serpentids_organs_other.dm" #include "code/organs/external/serpentids_organs_head.dm" diff --git a/modular_ss220/species/serpentids/code/common/serpentids.dm b/modular_ss220/species/serpentids/code/common/serpentids.dm index 2dafca2028a2..7432540569b1 100644 --- a/modular_ss220/species/serpentids/code/common/serpentids.dm +++ b/modular_ss220/species/serpentids/code/common/serpentids.dm @@ -35,6 +35,8 @@ reagent_tag = PROCESS_ORG + punchdamagehigh = 10 + has_organ = list( "heart" = /obj/item/organ/internal/heart/serpentid, "lungs" = /obj/item/organ/internal/lungs/serpentid, @@ -185,3 +187,4 @@ /datum/antag_scenario/team/blood_brothers/New() restricted_species += list("Serpentid") . = .. () + diff --git a/modular_ss220/species/serpentids/code/components/unused/double_attack.dm b/modular_ss220/species/serpentids/code/components/double_attack.dm similarity index 60% rename from modular_ss220/species/serpentids/code/components/unused/double_attack.dm rename to modular_ss220/species/serpentids/code/components/double_attack.dm index 2173fd868795..eb72d88a5247 100644 --- a/modular_ss220/species/serpentids/code/components/unused/double_attack.dm +++ b/modular_ss220/species/serpentids/code/components/double_attack.dm @@ -5,21 +5,20 @@ Срабатывает только, если оружие одинаковое. */ -#define COMSIG_DOUBLEATTACK_PROCESS "offhand_pre_attack" +#define COMSIG_DOUBLEATTACK_PROCESS "hand_pre_attack" #define COMSIG_DOUBLEATTACK_SYNC "sync_states" #define COMSIG_DOUBLEATTACK_CHECK "check_state" #define DOUBLEATTACK_CHECK_ACTIVE (1<<0) /datum/component/double_attack - var/obj/item/mainhand_item = null - var/obj/item/offhand_item = null + var/obj/item/hand_item = null var/state_attack = FALSE /datum/component/double_attack/Initialize(var/obj/item/weapon) - mainhand_item = weapon + hand_item = weapon /datum/component/double_attack/RegisterWithParent() - RegisterSignal(parent, COMSIG_DOUBLEATTACK_PROCESS, PROC_REF(offhand_pre_attack)) + RegisterSignal(parent, COMSIG_DOUBLEATTACK_PROCESS, PROC_REF(hand_pre_attack)) RegisterSignal(parent, COMSIG_DOUBLEATTACK_CHECK, PROC_REF(check_state)) RegisterSignal(parent, COMSIG_DOUBLEATTACK_SYNC, PROC_REF(sync_states)) @@ -38,27 +37,25 @@ SIGNAL_HANDLER state_attack = newstate -/datum/component/double_attack/proc/offhand_pre_attack(var/obj/item/weapon, mob/living/target, mob/living/user, def_zone) +/datum/component/double_attack/proc/hand_pre_attack(var/obj/item/weapon, mob/living/target, mob/living/user, def_zone) SIGNAL_HANDLER - offhand_item = user.get_inactive_hand() - if(offhand_item.type != mainhand_item.type) - return - if(SEND_SIGNAL(offhand_item, COMSIG_DOUBLEATTACK_CHECK) && DOUBLEATTACK_CHECK_ACTIVE) + hand_item = user.get_active_hand() + if(SEND_SIGNAL(hand_item, COMSIG_DOUBLEATTACK_CHECK) && DOUBLEATTACK_CHECK_ACTIVE) return state_attack = TRUE - SEND_SIGNAL(offhand_item, COMSIG_DOUBLEATTACK_SYNC, state_attack) - if(offhand_item) - addtimer(CALLBACK(src, PROC_REF(offhand_attack), target, user, def_zone), (user.next_move_modifier / 5) SECONDS) - addtimer(CALLBACK(src, PROC_REF(offhand_post_attack)), (user.next_move_modifier / 2) SECONDS) + SEND_SIGNAL(hand_item, COMSIG_DOUBLEATTACK_SYNC, state_attack) + if(hand_item) + addtimer(CALLBACK(src, PROC_REF(hand_attack), target, user, def_zone), (user.next_move_modifier / 5) SECONDS) + addtimer(CALLBACK(src, PROC_REF(hand_post_attack)), (user.next_move_modifier / 2) SECONDS) -/datum/component/double_attack/proc/offhand_attack(mob/living/target, mob/living/user, def_zone) - if(QDELETED(src) || QDELETED(target) || user != offhand_item.loc || !user.Adjacent(target)) +/datum/component/double_attack/proc/hand_attack(mob/living/target, mob/living/user, def_zone) + if(QDELETED(src) || QDELETED(target) || user != hand_item.loc || !user.Adjacent(target)) return - offhand_item.attack(target, user, def_zone) + hand_item.attack(target, user, def_zone) -/datum/component/double_attack/proc/offhand_post_attack() +/datum/component/double_attack/proc/hand_post_attack() state_attack = FALSE - SEND_SIGNAL(offhand_item, COMSIG_DOUBLEATTACK_SYNC, state_attack) + SEND_SIGNAL(hand_item, COMSIG_DOUBLEATTACK_SYNC, state_attack) //Расширение базового прока атаки для запуска сигнала /obj/item/attack(mob/living/M, mob/living/user, def_zone) diff --git a/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm b/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm new file mode 100644 index 000000000000..17d0ba125d98 --- /dev/null +++ b/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm @@ -0,0 +1,67 @@ +/* +===Компонент на атаку парного оружия +Срабатывает при атаке оружием. Второе оружие через паузу в 0.2 секунды запускает атаку. + +Срабатывает только, если оружие одинаковое. +*/ + +#define COMSIG_PAIRATTACK_PROCESS "offhand_pre_attack" +#define COMSIG_PAIRATTACK_SYNC "sync_states" +#define COMSIG_PAIRATTACK_CHECK "check_state" + #define PAIRATTACK_CHECK_ACTIVE (1<<0) + +/datum/component/pair_attack + var/obj/item/mainhand_item = null + var/obj/item/offhand_item = null + var/state_attack = FALSE + +/datum/component/pair_attack/Initialize(var/obj/item/weapon) + mainhand_item = weapon + +/datum/component/pair_attack/RegisterWithParent() + RegisterSignal(parent, COMSIG_PAIRATTACK_PROCESS, PROC_REF(offhand_pre_attack)) + RegisterSignal(parent, COMSIG_PAIRATTACK_CHECK, PROC_REF(check_state)) + RegisterSignal(parent, COMSIG_PAIRATTACK_SYNC, PROC_REF(sync_states)) + +/datum/component/pair_attack/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_PAIRATTACK_PROCESS) + UnregisterSignal(parent, COMSIG_PAIRATTACK_CHECK) + UnregisterSignal(parent, COMSIG_PAIRATTACK_SYNC) + +//Проверка, что оружие запустило атаку (для избегания цепи атак) +/datum/component/pair_attack/proc/check_state() + SIGNAL_HANDLER + return state_attack ? PAIRATTACK_CHECK_ACTIVE : 0 + +//Синхронизация состояния атак, чтобы оба оружия понимали, что они запустили атаку +/datum/component/pair_attack/proc/sync_states(var/weapon, var/newstate) + SIGNAL_HANDLER + state_attack = newstate + +/datum/component/pair_attack/proc/offhand_pre_attack(var/obj/item/weapon, mob/living/target, mob/living/user, def_zone) + SIGNAL_HANDLER + offhand_item = user.get_inactive_hand() + if(offhand_item.type != mainhand_item.type) + return + if(SEND_SIGNAL(offhand_item, COMSIG_PAIRATTACK_CHECK) && PAIRATTACK_CHECK_ACTIVE) + return + state_attack = TRUE + SEND_SIGNAL(offhand_item, COMSIG_PAIRATTACK_SYNC, state_attack) + if(offhand_item) + addtimer(CALLBACK(src, PROC_REF(offhand_attack), target, user, def_zone), (user.next_move_modifier / 5) SECONDS) + addtimer(CALLBACK(src, PROC_REF(offhand_post_attack)), (user.next_move_modifier / 2) SECONDS) + +/datum/component/pair_attack/proc/offhand_attack(mob/living/target, mob/living/user, def_zone) + if(QDELETED(src) || QDELETED(target) || user != offhand_item.loc || !user.Adjacent(target)) + return + offhand_item.attack(target, user, def_zone) + +/datum/component/pair_attack/proc/offhand_post_attack() + state_attack = FALSE + SEND_SIGNAL(offhand_item, COMSIG_PAIRATTACK_SYNC, state_attack) + +//Расширение базового прока атаки для запуска сигнала +/obj/item/attack(mob/living/M, mob/living/user, def_zone) + . = .. () + SEND_SIGNAL(src, COMSIG_PAIRATTACK_PROCESS, M, user, def_zone) + diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index db304d2572d2..79c950eef9c6 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -9,7 +9,6 @@ action_icon = list(/datum/action/item_action/organ_action/toggle/switch_blades = 'modular_ss220/species/serpentids/icons/organs.dmi') action_icon_state = list(/datum/action/item_action/organ_action/toggle/switch_blades = "gas_hand_act") var/obj/item/holder_l = null - var/obj/item/holder_r = null var/icon_file = 'modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi' var/new_icon_state = "blades_0" var/mutable_appearance/old_overlay @@ -53,16 +52,15 @@ update_blades_overlays() /obj/item/organ/internal/cyberimp/chest/serpentid_blades/ui_action_click() - if(crit_fail || (!holder_l && !length(contents)) && (!holder_r && !length(contents))) + if(crit_fail || (!holder_l && !length(contents))) to_chat(owner, "The implant doesn't respond. It seems to be broken...") return - var/extended = holder_l && !(holder_l in src) && holder_r && !(holder_r in src) + var/extended = holder_l && !(holder_l in src) if(extended) Retract() else if(do_after(owner, 20*(owner.dna.species.action_mult), FALSE, owner)) holder_l = null - holder_r = null - Extend(contents[1],contents[2]) + Extend() /obj/item/organ/internal/cyberimp/chest/serpentid_blades/update_overlays() . = .. () @@ -77,12 +75,37 @@ old_overlay = new_overlay owner.overlays += new_overlay -/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Extend(obj/item/item_l, obj/item/item_r) - if(!(item_l in src) && !(item_r in src)) +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Extend() + if(!(contents[1] in src)) return if(status & ORGAN_DEAD) return + holder_l = contents[1] + + holder_l.flags |= NODROP + holder_l.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + holder_l.slot_flags = null + holder_l.w_class = WEIGHT_CLASS_HUGE + holder_l.materials = null + + for(var/arm_slot in list(SLOT_HUD_LEFT_HAND,SLOT_HUD_RIGHT_HAND)) + var/obj/item/arm_item = owner.get_item_by_slot(arm_slot) + + if(arm_item) + if(istype(arm_item, /obj/item/offhand)) + var/obj/item/offhand_arm_item = owner.get_active_hand() + to_chat(owner, "Your hands are too encumbered wielding [offhand_arm_item] to deploy [src]!") + return + else if(!owner.unEquip(arm_item)) + to_chat(owner, "Your [arm_item] interferes with [src]!") + return + else + to_chat(owner, "You drop [arm_item] to activate [src]!") + + if(!owner.put_in_l_hand(holder_l)) + return + blades_active = TRUE playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) new_icon_state = "blades_1" @@ -90,8 +113,6 @@ return TRUE /obj/item/organ/internal/cyberimp/chest/serpentid_blades/proc/Retract() - if((!holder_l || (holder_l in src)) && (!holder_r || (holder_r in src))) - return if(status & ORGAN_DEAD) return @@ -104,44 +125,144 @@ /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) //Handles any species-specific attackhand events. if(!istype(M)) return + var/obj/item/organ/internal/cyberimp/chest/serpentid_blades/blades_implant = M.get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades) + if(blades_implant) + if(blades_implant) + if((M != H) && M.a_intent != INTENT_HELP && H.check_shields(M, 0, M.name, attack_type = UNARMED_ATTACK)) + add_attack_logs(M, H, "Melee attacked with blades (miss/block)") + H.visible_message("[M] attempted to touch [H]!") + return FALSE - if(istype(M)) - var/obj/item/organ/external/temp = M.bodyparts_by_name["r_hand"] - if(M.hand) - temp = M.bodyparts_by_name["l_hand"] - if(!temp || !temp.is_usable()) - to_chat(M, "You can't use your hand.") - return + switch(M.a_intent) + if(INTENT_HELP) + help(M, H, attacker_style) - if(M.mind) - attacker_style = M.mind.martial_art + if(INTENT_GRAB) + blades_grab(M, H, attacker_style) - if((M != H) && M.a_intent != INTENT_HELP && H.check_shields(M, 0, M.name, attack_type = UNARMED_ATTACK)) - add_attack_logs(M, H, "Melee attacked with blades (miss/block)") - H.visible_message("[M] attempted to touch [H]!") + if(INTENT_HARM) + blades_harm(M, H, attacker_style) + + if(INTENT_DISARM) + blades_disarm(M, H, attacker_style) + else + . = ..() + else + . = ..() + +//Модификация усиленного граба +/datum/species/proc/blades_grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + if(target.check_block()) + target.visible_message("[target] blocks [user]'s grab attempt!") return FALSE + if(!attacker_style && target.buckled) + target.buckled.user_unbuckle_mob(target, user) + return TRUE + if (user.hand) + user.swap_hand() + target.grabbedby(user) + var/obj/item/grab/grab_item = user.get_active_hand() + grab_item.state = GRAB_AGGRESSIVE + grab_item.icon_state = "grabbed1" + user.reset_visibility() - switch(M.a_intent) - if(INTENT_HELP) - help(M, H, attacker_style) +//Модификация усиленного дизарма +/datum/species/proc/blades_disarm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + if(user == target) + return FALSE + if(target.check_block()) + target.visible_message("[target] blocks [user]'s disarm attempt!") + return FALSE + if(SEND_SIGNAL(target, COMSIG_HUMAN_ATTACKED, user) & COMPONENT_CANCEL_ATTACK_CHAIN) + return FALSE + if(target.absorb_stun(0)) + target.visible_message("[target] is not affected by [user]'s disarm attempt!") + user.do_attack_animation(target, ATTACK_EFFECT_DISARM) + playsound(target.loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) + return FALSE + user.do_attack_animation(target, ATTACK_EFFECT_DISARM) + if(target.move_resist > (user.pull_force * 2)) + return FALSE + if(!(target.status_flags & CANPUSH)) + return FALSE + if(target.anchored) + return FALSE + if(target.buckled) + target.buckled.unbuckle_mob(target) - if(INTENT_GRAB) - grab(M, H, attacker_style) + for(var/i = 1; i <= 2; i++) + var/shove_dir = get_dir(user.loc, target.loc) + var/turf/shove_to = get_step(target.loc, shove_dir) + playsound(shove_to, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) - if(INTENT_HARM) - harm(M, H, attacker_style) + if(shove_to == user.loc) + return FALSE - if(INTENT_DISARM) - disarm(M, H, attacker_style) + //Directional checks to make sure that we're not shoving through a windoor or something like that + var/directional_blocked = FALSE + var/target_turf = get_turf(target) + if(shove_dir in list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)) // if we are moving diagonially, we need to check if there are dense walls either side of us + var/turf/T = get_step(target.loc, turn(shove_dir, 45)) // check to the left for a dense turf + if(T.density) + directional_blocked = TRUE + else + T = get_step(target.loc, turn(shove_dir, -45)) // check to the right for a dense turf + if(T.density) + directional_blocked = TRUE -//Модификация граба для хвата из стелса -/datum/species/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) - . = .. () - var/obj/item/grab/grab_item = user.get_active_hand() - var/limb_name = (user.l_hand == grab_item ? "l_hand" : "r_hand") - var/obj/item/organ/external/hand/active_hand = user.get_limb_by_name(limb_name) - if(istype(active_hand, /obj/item/organ/external/hand/carapace) || istype(active_hand, /obj/item/organ/external/hand/right/carapace)) - if(user.invisibility == INVISIBILITY_LEVEL_TWO) - grab_item.state = GRAB_AGGRESSIVE - grab_item.icon_state = "grabbed1" - user.reset_visibility() + if(!directional_blocked) + for(var/obj/obj_content in target_turf) // check the tile we are on for border + if(obj_content.flags & ON_BORDER && obj_content.dir & shove_dir && obj_content.density) + directional_blocked = TRUE + break + if(!directional_blocked) + for(var/obj/obj_content in shove_to) // check tile we are moving to for borders + if(obj_content.flags & ON_BORDER && obj_content.dir & turn(shove_dir, 180) && obj_content.density) + directional_blocked = TRUE + break + + if(!directional_blocked) + for(var/atom/movable/AM in shove_to) + if(AM.shove_impact(target, user)) // check for special interactions EG. tabling someone + return TRUE + + var/moved = target.Move(shove_to, shove_dir) + if(!moved) //they got pushed into a dense object + add_attack_logs(user, target, "Disarmed into a dense object", ATKLOG_ALL) + target.visible_message("[user] slams [target] into an obstacle!", \ + "You get slammed into the obstacle by [user]!", \ + "You hear a loud thud.") + if(!HAS_TRAIT(target, TRAIT_FLOORED)) + target.KnockDown(3 SECONDS) + addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/living, SetKnockDown), 0), 3 SECONDS) // so you cannot chain stun someone + else if(!user.IsStunned()) + target.Stun(0.5 SECONDS) + else + var/obj/item/active_hand = target.get_active_hand() + if(target.IsSlowed() && active_hand && !IS_HORIZONTAL(user) && !HAS_TRAIT(active_hand, TRAIT_WIELDED) && !istype(active_hand, /obj/item/grab)) + target.drop_item() + add_attack_logs(user, target, "Disarmed object out of hand", ATKLOG_ALL) + else + target.Slowed(2.5 SECONDS, 0.5) + var/obj/item/I = target.get_active_hand() + if(I) + to_chat(target, "Your grip on [I] loosens!") + add_attack_logs(user, target, "Disarmed, shoved back", ATKLOG_ALL) + target.stop_pulling() + +//Модификация усиленного дизарма +/datum/species/proc/blades_harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) + if(HAS_TRAIT(user, TRAIT_PACIFISM)) + to_chat(user, "You don't want to harm [target]!") + return FALSE + if(target != user && handle_harm_antag(user, target)) + return FALSE + if(target.check_block()) + target.visible_message("[target] blocks [user]'s attack!") + return FALSE + if(SEND_SIGNAL(target, COMSIG_HUMAN_ATTACKED, user) & COMPONENT_CANCEL_ATTACK_CHAIN) + return FALSE + if (!user.hand) + user.swap_hand() + var/obj/item/kitchen/knife/combat/serpentblade/blade = user.get_active_hand() + blade.attack(target, user) From f883af5046b2471ff547dbbb9b886a1261e08f62 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 11 Oct 2024 16:23:11 +0300 Subject: [PATCH 029/152] =?UTF-8?q?=D0=90=20=D0=B2=D0=B5=D1=80=D0=BD=D1=83?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BD=D0=BE=D1=80=D0=BC=D0=B0=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=BF=D1=80=D0=BE=D0=BA=20=D0=BD=D0=B0=20=D0=B2=D1=8B?= =?UTF-8?q?=D1=82=D0=B0=D1=89=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5=20"=D0=BA?= =?UTF-8?q?=D0=BB=D0=B8=D0=BD=D0=BA=D0=B8"=20=D0=B7=D0=B0=D0=B1=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/implants/serpentid_mantis_chest.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 79c950eef9c6..fabdd5967c06 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -116,6 +116,9 @@ if(status & ORGAN_DEAD) return + owner.unEquip(holder_l, 1) + holder_l.forceMove(src) + holder_l = null blades_active = FALSE playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) new_icon_state = "blades_0" From c201bb4c3c5a557141e8632de3a720c0afffb728 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 11 Oct 2024 16:57:21 +0300 Subject: [PATCH 030/152] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D1=83=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D0=BB=D0=B8=D0=BD?= =?UTF-8?q?=D1=82=D0=B5=D1=80=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/common/serpentids.dm | 2 +- .../serpentids/code/components/carapace/carapace.dm | 6 +++--- .../components/carrying/grab_and_drag_on_mob_mobs.dm | 2 +- .../serpentids/code/components/double_attack.dm | 6 +++--- .../serpentids/code/components/mob_overlay_shift.dm | 2 +- .../serpentids/code/components/organs/heart_defib.dm | 2 +- .../code/components/organs/organ_chemistry.dm | 10 +++++----- .../serpentids/code/components/organs/organ_toxins.dm | 2 +- .../code/components/unused/organ_actions_component.dm | 6 +++--- .../serpentids/code/components/unused/pair_attack.dm | 6 +++--- .../code/components/unused/paired_implants.dm | 4 ++-- .../organs/internal/implants/serpentid_mantis_chest.dm | 4 ++-- .../organs/internal/organs/serpentids_organs_eyes.dm | 2 +- .../organs/internal/organs/serpentids_organs_heart.dm | 2 +- .../internal/organs/serpentids_organs_kidneys.dm | 2 +- 15 files changed, 29 insertions(+), 29 deletions(-) diff --git a/modular_ss220/species/serpentids/code/common/serpentids.dm b/modular_ss220/species/serpentids/code/common/serpentids.dm index 7432540569b1..0f8303ee1bce 100644 --- a/modular_ss220/species/serpentids/code/common/serpentids.dm +++ b/modular_ss220/species/serpentids/code/common/serpentids.dm @@ -156,7 +156,7 @@ H.verbs += /mob/living/carbon/human/proc/emote_gbswiggles H.chat_message_y_offset = 11 SEND_SIGNAL(H, COMSIG_MOB_OVERLAY_SHIFT_UPDATE) - for (var/limb_name in has_limbs) + for(var/limb_name in has_limbs) valid_limbs += has_limbs[limb_name]["path"] /datum/species/moth/on_species_loss(mob/living/carbon/human/H) diff --git a/modular_ss220/species/serpentids/code/components/carapace/carapace.dm b/modular_ss220/species/serpentids/code/components/carapace/carapace.dm index 614ac979b1dc..efe7d2abfb38 100644 --- a/modular_ss220/species/serpentids/code/components/carapace/carapace.dm +++ b/modular_ss220/species/serpentids/code/components/carapace/carapace.dm @@ -34,7 +34,7 @@ var/self_medning = FALSE var/broken_treshold = CARAPACE_BROKEN_STATE -/datum/component/carapace/Initialize(var/caller_limb, var/allow_self_medning, var/break_threshold, var/control_node = FALSE) +/datum/component/carapace/Initialize(caller_limb, allow_self_medning, break_threshold, control_node = FALSE) ..() limb = parent self_medning = allow_self_medning @@ -55,14 +55,14 @@ return ((limb.status & ORGAN_BROKEN) ? FALSE : CARAPACE_STOP_SURGERY_STEP) //Проки, срабатываемые при получении или исцелении урона -/datum/component/carapace/proc/receive_damage(var/affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) +/datum/component/carapace/proc/receive_damage(affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) if(limb.get_damage() > broken_treshold) limb.fracture() if(limb.internal_organs.len > 0) var/obj/item/organ/internal/O = pick(limb.internal_organs) O.receive_damage(burn * limb.burn_dam) -/datum/component/carapace/proc/heal_damage(var/affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) +/datum/component/carapace/proc/heal_damage(affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) if((limb.status & ORGAN_BROKEN) && limb.get_damage() == 0) if(self_medning) limb.mend_fracture() diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm index e9824252ffd2..4e1e792ac4d4 100644 --- a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm @@ -31,7 +31,7 @@ UnregisterSignal(parent, COMSIG_GADOM_MOB_UNLOAD) UnregisterSignal(parent, COMSIG_GADOM_MOB_CAN_GRAB) -/datum/component/gadom_living/proc/block_operation(datum/component_holder, var/signal_result) +/datum/component/gadom_living/proc/block_operation(datum/component_holder, signal_result) SIGNAL_HANDLER signal_result = carrier.a_intent == "grab" return GADOM_MOB_ALLOW_TO_GRAB diff --git a/modular_ss220/species/serpentids/code/components/double_attack.dm b/modular_ss220/species/serpentids/code/components/double_attack.dm index eb72d88a5247..ab4ee8a3fc21 100644 --- a/modular_ss220/species/serpentids/code/components/double_attack.dm +++ b/modular_ss220/species/serpentids/code/components/double_attack.dm @@ -14,7 +14,7 @@ var/obj/item/hand_item = null var/state_attack = FALSE -/datum/component/double_attack/Initialize(var/obj/item/weapon) +/datum/component/double_attack/Initialize(obj/item/weapon) hand_item = weapon /datum/component/double_attack/RegisterWithParent() @@ -33,11 +33,11 @@ return state_attack ? DOUBLEATTACK_CHECK_ACTIVE : 0 //Синхронизация состояния атак, чтобы оба оружия понимали, что они запустили атаку -/datum/component/double_attack/proc/sync_states(var/weapon, var/newstate) +/datum/component/double_attack/proc/sync_states(weapon, var/newstate) SIGNAL_HANDLER state_attack = newstate -/datum/component/double_attack/proc/hand_pre_attack(var/obj/item/weapon, mob/living/target, mob/living/user, def_zone) +/datum/component/double_attack/proc/hand_pre_attack(obj/item/weapon, mob/living/target, mob/living/user, def_zone) SIGNAL_HANDLER hand_item = user.get_active_hand() if(SEND_SIGNAL(hand_item, COMSIG_DOUBLEATTACK_CHECK) && DOUBLEATTACK_CHECK_ACTIVE) diff --git a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm index 0d757f367789..31da45ce63e6 100644 --- a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm +++ b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm @@ -38,7 +38,7 @@ var/shift_x_front_back = 0 var/shift_y_front_back = 0 -/datum/component/mob_overlay_shift/Initialize(var/caller_mob, var/shift_xs_hand = 0, var/shift_ys_hand = 0, var/shift_xf_hand = 0, var/shift_yf_hand = 0, var/shift_x_hand = 0, var/shift_y_hand = 0, var/shift_xs_belt = 0, var/shift_ys_belt = 0, var/shift_xf_belt = 0, var/shift_yf_belt = 0, var/shift_x_belt = 0, var/shift_y_belt = 0, var/shift_xs_back = 0, var/shift_ys_back = 0, var/shift_xf_back = 0, var/shift_yf_back = 0, var/shift_x_back = 0, var/shift_y_back = 0) +/datum/component/mob_overlay_shift/Initialize(caller_mob, shift_xs_hand = 0, shift_ys_hand = 0, shift_xf_hand = 0, shift_yf_hand = 0, shift_x_hand = 0, shift_y_hand = 0, shift_xs_belt = 0, shift_ys_belt = 0, shift_xf_belt = 0, shift_yf_belt = 0, shift_x_belt = 0, shift_y_belt = 0, shift_xs_back = 0, shift_ys_back = 0, shift_xf_back = 0, shift_yf_back = 0, shift_x_back = 0, shift_y_back = 0) ..() mob = parent diff --git a/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm b/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm index d6945b91f8e3..54635600f7c7 100644 --- a/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm +++ b/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm @@ -6,7 +6,7 @@ var/mob/living/carbon/human/owner = null var/chemical_id = "" -/datum/component/defib_heart/Initialize(var/human, var/income_chemical_id = "") +/datum/component/defib_heart/Initialize(human, income_chemical_id = "") . = ..() owner = human chemical_id = income_chemical_id diff --git a/modular_ss220/species/serpentids/code/components/organs/organ_chemistry.dm b/modular_ss220/species/serpentids/code/components/organs/organ_chemistry.dm index d276e505ce61..6b7ccd925ecb 100644 --- a/modular_ss220/species/serpentids/code/components/organs/organ_chemistry.dm +++ b/modular_ss220/species/serpentids/code/components/organs/organ_chemistry.dm @@ -8,7 +8,7 @@ var/obj/item/organ/internal/organ var/chemical_id = "" -/datum/component/chemistry_organ/Initialize(var/reagent_id) +/datum/component/chemistry_organ/Initialize(reagent_id) ..() organ = parent chemical_id = reagent_id @@ -19,7 +19,7 @@ /datum/component/chemistry_organ/UnregisterFromParent() UnregisterSignal(parent, COMSIG_ORGAN_CHEM_CALL) -/datum/component/chemistry_organ/proc/chems_process(var/holder, var/consuption_count) +/datum/component/chemistry_organ/proc/chems_process(holder, consuption_count) if(isnull(organ.owner)) return TRUE var/chemical_volume = organ.owner.get_chemical_value(chemical_id) @@ -32,17 +32,17 @@ chemical.holder.remove_reagent(chemical_id, consuption_count) //Переписываемый прок, который вызывается когда заканчивается запас химического препарата -/obj/item/organ/internal/proc/switch_mode(var/force_off = FALSE) +/obj/item/organ/internal/proc/switch_mode(force_off = FALSE) return //Пара помощников - получить количество и путь химиката по его ID -/mob/living/carbon/human/proc/get_chemical_value(var/id) +/mob/living/carbon/human/proc/get_chemical_value(id) for(var/datum/reagent/R in src.reagents.reagent_list) if(R.id == id) return R.volume return 0 -/mob/living/carbon/human/proc/get_chemical_path(var/id) +/mob/living/carbon/human/proc/get_chemical_path(id) for(var/datum/reagent/R in src.reagents.reagent_list) if(R.id == id) return R diff --git a/modular_ss220/species/serpentids/code/components/organs/organ_toxins.dm b/modular_ss220/species/serpentids/code/components/organs/organ_toxins.dm index ec3345efa341..728bde23942d 100644 --- a/modular_ss220/species/serpentids/code/components/organs/organ_toxins.dm +++ b/modular_ss220/species/serpentids/code/components/organs/organ_toxins.dm @@ -11,7 +11,7 @@ var/obj/item/organ/internal/organ = null var/toxin_damage_rate -/datum/component/organ_toxin_damage/Initialize(var/tox_rate = TOX_ORGANS_PROCESS) +/datum/component/organ_toxin_damage/Initialize(tox_rate = TOX_ORGANS_PROCESS) . = ..() organ = parent toxin_damage_rate = tox_rate diff --git a/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm b/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm index 456b1c7bad9a..3f9841f4a770 100644 --- a/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm +++ b/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm @@ -15,7 +15,7 @@ var/radial_additive_state var/radial_additive_icon -/datum/component/organ_action/Initialize(var/caller_organ, var/state, var/icon) +/datum/component/organ_action/Initialize(caller_organ, state, icon) ..() organ = caller_organ radial_additive_state = state @@ -33,13 +33,13 @@ UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_ICON) UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_STATE) -/datum/component/organ_action/proc/get_return_icon(datum/source, var/return_icon) +/datum/component/organ_action/proc/get_return_icon(datum/source, return_icon) SIGNAL_HANDLER return_icon = radial_additive_icon return ORGAN_GROUP_ACTION_ICON -/datum/component/organ_action/proc/get_return_state(datum/source, var/return_state) +/datum/component/organ_action/proc/get_return_state(datum/source, return_state) SIGNAL_HANDLER return_state = radial_additive_state diff --git a/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm b/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm index 17d0ba125d98..1e736099e81e 100644 --- a/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm +++ b/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm @@ -15,7 +15,7 @@ var/obj/item/offhand_item = null var/state_attack = FALSE -/datum/component/pair_attack/Initialize(var/obj/item/weapon) +/datum/component/pair_attack/Initialize(obj/item/weapon) mainhand_item = weapon /datum/component/pair_attack/RegisterWithParent() @@ -34,11 +34,11 @@ return state_attack ? PAIRATTACK_CHECK_ACTIVE : 0 //Синхронизация состояния атак, чтобы оба оружия понимали, что они запустили атаку -/datum/component/pair_attack/proc/sync_states(var/weapon, var/newstate) +/datum/component/pair_attack/proc/sync_states(weapon, newstate) SIGNAL_HANDLER state_attack = newstate -/datum/component/pair_attack/proc/offhand_pre_attack(var/obj/item/weapon, mob/living/target, mob/living/user, def_zone) +/datum/component/pair_attack/proc/offhand_pre_attack(obj/item/weapon, mob/living/target, mob/living/user, def_zone) SIGNAL_HANDLER offhand_item = user.get_inactive_hand() if(offhand_item.type != mainhand_item.type) diff --git a/modular_ss220/species/serpentids/code/components/unused/paired_implants.dm b/modular_ss220/species/serpentids/code/components/unused/paired_implants.dm index adc8c83f7258..8ff46edc14f4 100644 --- a/modular_ss220/species/serpentids/code/components/unused/paired_implants.dm +++ b/modular_ss220/species/serpentids/code/components/unused/paired_implants.dm @@ -18,7 +18,7 @@ UnregisterSignal(target, COMSIG_DOUBLEIMP_ACTION_REBUILD) return ..() -/datum/element/paired_implants/proc/action_rebuild(var/processed_implant) +/datum/element/paired_implants/proc/action_rebuild(processed_implant) var/obj/item/organ/internal/cyberimp/arm/pair_implant = null var/obj/item/organ/internal/cyberimp/arm/assigned_implant = processed_implant var/list/organs = assigned_implant.owner.internal_organs @@ -34,7 +34,7 @@ action_candidate.Grant(assigned_implant.owner) assigned_implant.owner.update_action_buttons() -/datum/element/paired_implants/proc/synchonize_implants(var/processed_implant) +/datum/element/paired_implants/proc/synchonize_implants(processed_implant) var/obj/item/organ/internal/cyberimp/arm/pair_implant = null var/obj/item/organ/internal/cyberimp/arm/assigned_implant = processed_implant var/list/organs = assigned_implant.owner.internal_organs diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index fabdd5967c06..8dc029578678 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -161,7 +161,7 @@ if(!attacker_style && target.buckled) target.buckled.user_unbuckle_mob(target, user) return TRUE - if (user.hand) + if(user.hand) user.swap_hand() target.grabbedby(user) var/obj/item/grab/grab_item = user.get_active_hand() @@ -265,7 +265,7 @@ return FALSE if(SEND_SIGNAL(target, COMSIG_HUMAN_ATTACKED, user) & COMPONENT_CANCEL_ATTACK_CHAIN) return FALSE - if (!user.hand) + if(!user.hand) user.swap_hand() var/obj/item/kitchen/knife/combat/serpentblade/blade = user.get_active_hand() blade.attack(target, user) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index d0b70421a4b5..be959bca34b9 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -50,7 +50,7 @@ vision_adjust, vision_adjust, vision_chem) return vision_matrix -/obj/item/organ/internal/eyes/serpentid/switch_mode(var/force_off = FALSE) +/obj/item/organ/internal/eyes/serpentid/switch_mode(force_off = FALSE) .=..() if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) see_in_dark = 8 diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm index fa592434a8cb..d726d543e220 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm @@ -19,7 +19,7 @@ /* Старый режим работы сердца - ввод серпадрона -/obj/item/organ/internal/heart/serpentid/switch_mode(var/force_off = FALSE) +/obj/item/organ/internal/heart/serpentid/switch_mode(force_off = FALSE) .=..() if(owner.get_chemical_value(chemical_id) >= GAS_ORGAN_CHEMISTRY_HEART) var/mob/living/carbon/human/human_owner = owner diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index 4d672be92fcf..3b8f022ffcb3 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -35,7 +35,7 @@ if(owner.alpha == 0) owner.make_invisible() -/obj/item/organ/internal/kidneys/serpentid/switch_mode(var/force_off = FALSE) +/obj/item/organ/internal/kidneys/serpentid/switch_mode(force_off = FALSE) .=..() if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !cloak_engaged && !(status & ORGAN_DEAD)) cloak_engaged = TRUE From 7bb898e2e7df7ab9f8fcc76741a865cb0894e0c0 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 11 Oct 2024 17:05:22 +0300 Subject: [PATCH 031/152] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D0=BF=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=BA=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serpentids/code/components/carapace/carapace_shell.dm | 2 +- .../species/serpentids/code/components/double_attack.dm | 2 +- .../species/serpentids/code/components/organs/organ_decay.dm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm b/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm index 5c6f26bada81..1b83ac9bcd1b 100644 --- a/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm +++ b/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm @@ -8,7 +8,7 @@ /datum/component/carapace_shell var/mob/living/carbon/human/H -/datum/component/carapace_shell/Initialize(var/caller) +/datum/component/carapace_shell/Initialize(caller) ..() H = caller diff --git a/modular_ss220/species/serpentids/code/components/double_attack.dm b/modular_ss220/species/serpentids/code/components/double_attack.dm index ab4ee8a3fc21..8dc95ce1868d 100644 --- a/modular_ss220/species/serpentids/code/components/double_attack.dm +++ b/modular_ss220/species/serpentids/code/components/double_attack.dm @@ -33,7 +33,7 @@ return state_attack ? DOUBLEATTACK_CHECK_ACTIVE : 0 //Синхронизация состояния атак, чтобы оба оружия понимали, что они запустили атаку -/datum/component/double_attack/proc/sync_states(weapon, var/newstate) +/datum/component/double_attack/proc/sync_states(weapon, newstate) SIGNAL_HANDLER state_attack = newstate diff --git a/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm b/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm index 2722d10842c2..bd66c67fbb88 100644 --- a/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm +++ b/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm @@ -13,7 +13,7 @@ var/recover_rate var/decay_rate -/datum/component/organ_decay/Initialize(var/income_decay_rate = BASIC_RECOVER_VALUE, var/income_recover_rate = BASIC_DECAY_VALUE) +/datum/component/organ_decay/Initialize(income_decay_rate = BASIC_RECOVER_VALUE, income_recover_rate = BASIC_DECAY_VALUE) . = ..() organ = parent recover_rate = income_recover_rate From 16a105c72541e682853ddcfd36eed6c0c34fb145 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 11 Oct 2024 19:17:59 +0300 Subject: [PATCH 032/152] =?UTF-8?q?=D0=A1=D0=BD=D1=8F=D1=82=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BC=D0=B0=D0=BA=D1=80=D0=BE=D1=81=D0=B0,=20=D0=B1=D0=BB?= =?UTF-8?q?=D0=BE=D0=BA=D0=B8=D1=80=D1=83=D1=8E=D1=89=D0=B5=D0=B3=D0=BE=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B5=D1=80=D0=B6=D0=BA=D0=B8=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/_serpentids.dme | 2 +- .../carrying/grab_and_drag_on_mob_mobs.dm | 28 ++++++++----------- .../unused/organ_actions_component.dm | 2 -- .../{unused => }/serpentid_mantis_blades.dm | 0 4 files changed, 13 insertions(+), 19 deletions(-) rename modular_ss220/species/serpentids/code/organs/internal/implants/{unused => }/serpentid_mantis_blades.dm (100%) diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 184d9acfc9ac..300c16fb4cad 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -25,9 +25,9 @@ #include "code/organs/external/serpentids_organs_head.dm" #include "code/organs/external/serpentids_organs_torso.dm" -#include "code/organs/internal/implants/unused/serpentid_mantis_blades.dm" #include "code/organs/internal/implants/unused/serpentid_mantis_hand.dm" #include "code/organs/internal/implants/unused/serpentid_mantis_implant.dm" +#include "code/organs/internal/implants/serpentid_mantis_blades.dm" #include "code/organs/internal/implants/serpentid_mantis_chest.dm" #include "code/organs/internal/organs/serpentids_organs_eyes.dm" #include "code/organs/internal/organs/serpentids_organs_ears.dm" diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm index 4e1e792ac4d4..dfe9795a0f94 100644 --- a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm @@ -33,21 +33,19 @@ /datum/component/gadom_living/proc/block_operation(datum/component_holder, signal_result) SIGNAL_HANDLER - signal_result = carrier.a_intent == "grab" - return GADOM_MOB_ALLOW_TO_GRAB + var/datum/species/spiece = carrier.dna.genetic_info.species + signal_result = (((carrier.a_intent != "grab") && (spiece.type in allowed_races)) ? FALSE : GADOM_MOB_ALLOW_TO_GRAB) + return signal_result /datum/component/gadom_living/proc/try_load_mob(datum/component_holder, mob/user, mob/target) - SIGNAL_HANDLER - var/mob/living/carbon/human/puppet = component_holder - var/datum/dna/genetic_info = puppet.dna - var/datum/species/spiece = genetic_info.species - if((puppet.a_intent == "grab") && (spiece.type in allowed_races)) - if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, puppet) > 1) + var/datum/species/spiece = carrier.dna.genetic_info.species + if((carrier.a_intent == "grab") && (spiece.type in allowed_races)) + if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, carrier) > 1) return if(!istype(target)) return - if(do_after(puppet, 20 * puppet.dna.species.action_mult, FALSE, target)) //Закоментить если линтер начнет брыкаться - оно работает, но прикол с SpacemanDMM_should_not_sleep - load(puppet, target) + if(do_after(carrier, 20 * carrier.dna.species.action_mult, FALSE, target)) + load(carrier, target) /datum/component/gadom_living/proc/load(mob/living/carbon/human/puppet, atom/movable/AM) @@ -108,17 +106,15 @@ if(IsFrozen(src) && !is_admin(usr)) to_chat(usr, "Interacting with admin-frozen players is not permitted.") return - var/signal_result - var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB, signal_result) - if((signal_call & GADOM_MOB_ALLOW_TO_GRAB) && signal_result) + var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB) + if((signal_call & GADOM_MOB_ALLOW_TO_GRAB)) SEND_SIGNAL(usr, COMSIG_GADOM_MOB_LOAD, usr, src) return . = .. () /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - var/signal_result - var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB, signal_result) - if((signal_call & GADOM_MOB_ALLOW_TO_GRAB) && signal_result && H.loaded) + var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB) + if((signal_call & GADOM_MOB_ALLOW_TO_GRAB) && H.loaded) SEND_SIGNAL(H, COMSIG_GADOM_MOB_UNLOAD, M) . = .. () diff --git a/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm b/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm index 3f9841f4a770..ea8d543a868e 100644 --- a/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm +++ b/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm @@ -51,8 +51,6 @@ //Прок, вызывается непосредственно в кнопке действия органа /datum/component/organ_action/proc/open_actions(mob/user) - SIGNAL_HANDLER - var/list/choices = list() var/list/organs_list = list() for(var/obj/item/organ/internal/O in organ.owner.internal_organs) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_blades.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm similarity index 100% rename from modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_blades.dm rename to modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm From a04e4c0a0e726a3c2202c288054072b089401050 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 11 Oct 2024 19:19:06 +0300 Subject: [PATCH 033/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D0=BE=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../carrying/grab_and_drag_on_mob_mobs.dm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm index dfe9795a0f94..6e8cb90ada10 100644 --- a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm @@ -31,21 +31,24 @@ UnregisterSignal(parent, COMSIG_GADOM_MOB_UNLOAD) UnregisterSignal(parent, COMSIG_GADOM_MOB_CAN_GRAB) -/datum/component/gadom_living/proc/block_operation(datum/component_holder, signal_result) +/datum/component/gadom_living/proc/block_operation(datum/component_holder) SIGNAL_HANDLER - var/datum/species/spiece = carrier.dna.genetic_info.species - signal_result = (((carrier.a_intent != "grab") && (spiece.type in allowed_races)) ? FALSE : GADOM_MOB_ALLOW_TO_GRAB) + var/datum/dna/genetic_info = carrier.dna + var/datum/species/spiece = genetic_info.species + var/signal_result = (((carrier.a_intent != "grab") && (spiece.type in allowed_races)) ? FALSE : GADOM_MOB_ALLOW_TO_GRAB) return signal_result /datum/component/gadom_living/proc/try_load_mob(datum/component_holder, mob/user, mob/target) - var/datum/species/spiece = carrier.dna.genetic_info.species - if((carrier.a_intent == "grab") && (spiece.type in allowed_races)) - if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, carrier) > 1) + var/mob/living/carbon/human/puppet = component_holder + var/datum/dna/genetic_info = carrier.dna + var/datum/species/spiece = genetic_info.species + if((puppet.a_intent == "grab") && (spiece.type in allowed_races)) + if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, puppet) > 1) return if(!istype(target)) return - if(do_after(carrier, 20 * carrier.dna.species.action_mult, FALSE, target)) - load(carrier, target) + if(do_after(puppet, 20 * puppet.dna.species.action_mult, FALSE, target)) + load(puppet, target) /datum/component/gadom_living/proc/load(mob/living/carbon/human/puppet, atom/movable/AM) From 52948af852145e6ea618d6537846e09bd7a769e6 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Fri, 11 Oct 2024 19:26:43 +0300 Subject: [PATCH 034/152] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D0=B8=D1=84?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../carrying/grab_and_drag_on_mob_mobs.dm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm index 6e8cb90ada10..95f92509a6e4 100644 --- a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm @@ -42,13 +42,12 @@ var/mob/living/carbon/human/puppet = component_holder var/datum/dna/genetic_info = carrier.dna var/datum/species/spiece = genetic_info.species - if((puppet.a_intent == "grab") && (spiece.type in allowed_races)) - if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, puppet) > 1) - return - if(!istype(target)) - return - if(do_after(puppet, 20 * puppet.dna.species.action_mult, FALSE, target)) - load(puppet, target) + if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, puppet) > 1) + return + if(!istype(target)) + return + if(do_after(puppet, 20 * puppet.dna.species.action_mult, FALSE, target)) + load(puppet, target) /datum/component/gadom_living/proc/load(mob/living/carbon/human/puppet, atom/movable/AM) @@ -110,7 +109,7 @@ to_chat(usr, "Interacting with admin-frozen players is not permitted.") return var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_MOB_CAN_GRAB) - if((signal_call & GADOM_MOB_ALLOW_TO_GRAB)) + if(signal_call & GADOM_MOB_ALLOW_TO_GRAB) SEND_SIGNAL(usr, COMSIG_GADOM_MOB_LOAD, usr, src) return . = .. () From 87872f5d0dc8e58b3b468356831fc388e6ba7a3d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 12 Oct 2024 06:59:32 +0300 Subject: [PATCH 035/152] =?UTF-8?q?=D0=A7=D0=B8=D1=81=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BC=D1=83=D1=81=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/components/carrying/grab_and_drag_on_mob_mobs.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm index 95f92509a6e4..246d5098810a 100644 --- a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm @@ -40,8 +40,6 @@ /datum/component/gadom_living/proc/try_load_mob(datum/component_holder, mob/user, mob/target) var/mob/living/carbon/human/puppet = component_holder - var/datum/dna/genetic_info = carrier.dna - var/datum/species/spiece = genetic_info.species if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, puppet) > 1) return if(!istype(target)) From c5d59085d64c0896f65a410776c31992a506f5bf Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 12 Oct 2024 08:13:04 +0300 Subject: [PATCH 036/152] =?UTF-8?q?=D0=94=D1=80=D0=BE=D0=BF=20=D0=BD=D0=B5?= =?UTF-8?q?=20=D1=85=D0=B2=D0=B0=D1=82=D0=BE=D0=B2=20=D0=B8=D0=B7=20=D0=BB?= =?UTF-8?q?=D0=B5=D0=B2=D0=BE=D0=B9=20=D1=80=D1=83=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D0=B0=D0=B3=D1=80=D0=B5=D1=81=D1=81=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organs/internal/implants/serpentid_mantis_chest.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 8dc029578678..bef2aafe065e 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -24,6 +24,15 @@ button_overlay_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' button_overlay_icon_state = "gas_hand_act" +/obj/item/organ/internal/cyberimp/chest/serpentid_blades/on_life() + . = ..() + if(blades_active) + owner.update_body() + var/isleft = owner.hand + var/obj/item/item = (isleft ? owner.get_inactive_hand() : owner.get_active_hand()) + if (!istype(item, /obj/item/grab)) + owner.drop_r_hand() + /obj/item/organ/internal/cyberimp/chest/serpentid_blades/insert(mob/living/carbon/M, special, dont_remove_slot) . = .. () if(owner && owner.real_name != "unknown") From 97df910ca0b93a14d3abde8f79313b997e64b17d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 12 Oct 2024 08:47:46 +0300 Subject: [PATCH 037/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/organs/serpentids_organs_ears.dm | 6 ++++-- .../code/organs/internal/organs/serpentids_organs_eyes.dm | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 5db81574fb62..efcbc79f7449 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -14,11 +14,13 @@ . = ..() AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + AddComponent(/datum/component/chemistry_organ, chemical_id) /obj/item/organ/internal/ears/serpentid/on_life() .=..() - if(prob(((max_damage - damage)/max_damage) * 100) && chemical_consuption > owner.get_chemical_value(chemical_id)) - sense_creatures() + if(chemical_consuption <= owner.get_chemical_value(chemical_id)) + if(prob(((max_damage - damage)/max_damage) * 100)) + sense_creatures() /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() for(var/mob/living/creature in range(9, owner)) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index be959bca34b9..05e3bb4f0302 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -18,6 +18,7 @@ . = ..() AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + AddComponent(/datum/component/chemistry_organ, chemical_id) //Прок на получение цвета глаз /obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) @@ -54,7 +55,7 @@ .=..() if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) see_in_dark = 8 - chemical_consuption = chemical_consuption + chemical_consuption * (max_damage - damage / max_damage) + chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES + GAS_ORGAN_CHEMISTRY_EYES * (max_damage - damage / max_damage) else see_in_dark = 0 chemical_consuption = 0 From a3381821b3573e6fafb3fa2b1741f6fbf08403f5 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 12 Oct 2024 12:22:34 +0300 Subject: [PATCH 038/152] =?UTF-8?q?=D0=9E=D1=82=D0=BA=D1=83=D0=B4=D0=B0=20?= =?UTF-8?q?=D1=82=D1=8B=20=D0=B2=D0=B7=D1=8F=D0=BB=D1=81=D1=8F,=20=D0=B4?= =?UTF-8?q?=D0=B5=D0=BC=D0=BE=D0=BD=3F!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/implants/serpentid_mantis_chest.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index bef2aafe065e..3e8c2aba5022 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -30,7 +30,7 @@ owner.update_body() var/isleft = owner.hand var/obj/item/item = (isleft ? owner.get_inactive_hand() : owner.get_active_hand()) - if (!istype(item, /obj/item/grab)) + if(!istype(item, /obj/item/grab)) owner.drop_r_hand() /obj/item/organ/internal/cyberimp/chest/serpentid_blades/insert(mob/living/carbon/M, special, dont_remove_slot) From a9c38a88ebd2bb049c9b021a1402512fc37f0cb4 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 13 Oct 2024 12:57:02 +0300 Subject: [PATCH 039/152] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B2=D1=8C?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serpentids/code/common/serpentids.dm | 17 +++---- .../code/components/carapace/carapace.dm | 4 +- .../carrying/grab_and_drag_on_mob_crates.dm | 44 +++++++++---------- .../carrying/grab_and_drag_on_mob_mobs.dm | 4 +- .../code/components/double_attack.dm | 2 +- .../code/components/mob_overlay_shift.dm | 2 +- .../code/components/organs/organ_decay.dm | 2 +- .../serpentids/code/components/reagents.dm | 20 +++++++-- .../code/components/unused/pair_attack.dm | 2 +- .../species/serpentids/code/copy_butt.dm | 38 ++-------------- .../implants/serpentid_mantis_blades.dm | 4 +- .../unused/serpentid_mantis_implant.dm | 2 +- .../internal/organs/serpentids_organs_ears.dm | 3 +- .../internal/organs/serpentids_organs_eyes.dm | 11 ++--- 14 files changed, 69 insertions(+), 86 deletions(-) diff --git a/modular_ss220/species/serpentids/code/common/serpentids.dm b/modular_ss220/species/serpentids/code/common/serpentids.dm index 0f8303ee1bce..2ce165390004 100644 --- a/modular_ss220/species/serpentids/code/common/serpentids.dm +++ b/modular_ss220/species/serpentids/code/common/serpentids.dm @@ -22,8 +22,14 @@ dietflags = DIET_OMNI taste_sensitivity = TASTE_SENSITIVITY_SHARP - allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, - /mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/hostile/poison/bees) + allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, + /mob/living/simple_animal/lizard, + /mob/living/simple_animal/chick, + /mob/living/simple_animal/chicken, + /mob/living/simple_animal/crab, + /mob/living/simple_animal/butterfly, + /mob/living/simple_animal/parrot, + /mob/living/simple_animal/hostile/poison/bees) bodyflags = HAS_SKIN_COLOR | BALD | SHAVED skinned_type = /obj/item/stack/sheet/animalhide/lizard @@ -106,14 +112,13 @@ "пытается откусить себе усики!", "вонзает когти в свои глазницы!", "сворачивает себе шею!", - "разбивает себе панцирь", + "разбивает себе панцирь!", "протыкает себя клинками!", "задерживает дыхание!") can_buckle = TRUE buckle_lying = FALSE var/can_stealth = TRUE - var/list/valid_limbs = list() var/gene_lastcall = 0 /datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) @@ -124,7 +129,6 @@ //Перенести на карапас/грудь /datum/species/serpentid/handle_life(mob/living/carbon/human/H) - var/armor_count = 0 var/gene_degradation = 0 for(var/obj/item/organ/external/limb in H.bodyparts) @@ -143,7 +147,6 @@ /datum/species/serpentid/on_species_gain(mob/living/carbon/human/H) ..() - H.resize = 1 H.can_buckle = can_buckle H.buckle_lying = buckle_lying H.update_transform() @@ -156,8 +159,6 @@ H.verbs += /mob/living/carbon/human/proc/emote_gbswiggles H.chat_message_y_offset = 11 SEND_SIGNAL(H, COMSIG_MOB_OVERLAY_SHIFT_UPDATE) - for(var/limb_name in has_limbs) - valid_limbs += has_limbs[limb_name]["path"] /datum/species/moth/on_species_loss(mob/living/carbon/human/H) ..() diff --git a/modular_ss220/species/serpentids/code/components/carapace/carapace.dm b/modular_ss220/species/serpentids/code/components/carapace/carapace.dm index efe7d2abfb38..e7eb4b8e1ec2 100644 --- a/modular_ss220/species/serpentids/code/components/carapace/carapace.dm +++ b/modular_ss220/species/serpentids/code/components/carapace/carapace.dm @@ -27,7 +27,7 @@ #define COMSIG_CARAPACE_HEAL_DAMAGE "heal_damage" #define COMSIG_CARAPACE_SURGERY_CAN_START "block_operation" - #define CARAPACE_STOP_SURGERY_STEP (1<<0) +#define CARAPACE_STOP_SURGERY_STEP (1<<0) /datum/component/carapace var/obj/item/organ/external/limb @@ -58,7 +58,7 @@ /datum/component/carapace/proc/receive_damage(affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) if(limb.get_damage() > broken_treshold) limb.fracture() - if(limb.internal_organs.len > 0) + if(length(limb.internal_organs) > 0) var/obj/item/organ/internal/O = pick(limb.internal_organs) O.receive_damage(burn * limb.burn_dam) diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm index 440eca287c76..4eb4aef59e03 100644 --- a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm @@ -7,7 +7,7 @@ #define COMSIG_GADOM_UNMOB_UNLOAD "try_unload_cargo" #define COMSIG_GADOM_UNMOB_CAN_GRAB "block_operation" - #define GADOM_UNMOB_ALLOW_TO_GRAB (1<<0) +#define GADOM_UNMOB_ALLOW_TO_GRAB (1<<0) //Для отслеживания кто несет объект /atom/movable @@ -77,12 +77,11 @@ if((user.a_intent == "grab") && (spiece.type in allowed_races)) if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, AM) > 1) return - if(!istype(AM)) return - - if(do_after(user, 20 * user.dna.species.action_mult, FALSE, AM)) - load(AM) + if(!do_after(user, 20 * user.dna.species.action_mult, FALSE, AM)) + return + load(AM) /datum/component/gadom_cargo/proc/load(atom/movable/AM) if(carrier.loaded || AM.anchored || get_dist(carrier, AM) > 1) @@ -93,11 +92,11 @@ if(!isturf(AM.loc)) return - var/obj/structure/closet/crate/CRATE - if(istype(AM,/obj/structure/closet/crate)) - CRATE = AM - if(CRATE) - CRATE.close() + var/obj/structure/closet/crate/holding_crate + if(istype(AM,/obj/structure/closet/crate)) + holding_crate = AM + if(holding_crate) + holding_crate.close() if(isobj(AM)) var/obj/O = AM @@ -118,19 +117,18 @@ return if(carrier.loaded) - carrier.loaded.forceMove(carrier.loc) - carrier.loaded.pixel_y = initial(carrier.loaded.pixel_y) - carrier.loaded.layer = initial(carrier.loaded.layer) - carrier.loaded.plane = initial(carrier.loaded.plane) - if(dirn) - var/turf/T = carrier.loc - var/turf/newT = get_step(T,dirn) - if(carrier.loaded.CanPass(carrier.loaded, newT)) - step(carrier.loaded, dirn) - carrier.loaded.crate_carrying_person = null - carrier.loaded = null - - carrier.update_icon(UPDATE_OVERLAYS) + carrier.loaded.forceMove(carrier.loc) + carrier.loaded.pixel_y = initial(carrier.loaded.pixel_y) + carrier.loaded.layer = initial(carrier.loaded.layer) + carrier.loaded.plane = initial(carrier.loaded.plane) + if(dirn) + var/turf/T = carrier.loc + var/turf/newT = get_step(T,dirn) + if(carrier.loaded.CanPass(carrier.loaded, newT)) + step(carrier.loaded, dirn) + carrier.loaded.crate_carrying_person = null + carrier.loaded = null + carrier.update_icon(UPDATE_OVERLAYS) //Расширение прока для переноса ящика на моба /mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm index 246d5098810a..00f7bc5935aa 100644 --- a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm @@ -7,7 +7,7 @@ #define COMSIG_GADOM_MOB_UNLOAD "try_unload_mob" #define COMSIG_GADOM_MOB_CAN_GRAB "block_operation" - #define GADOM_MOB_ALLOW_TO_GRAB (1<<0) +#define GADOM_MOB_ALLOW_TO_GRAB (1<<0) /mob/living/carbon/human var/atom/movable/loaded = null @@ -44,7 +44,7 @@ return if(!istype(target)) return - if(do_after(puppet, 20 * puppet.dna.species.action_mult, FALSE, target)) + if(do_after(puppet, 2 SECONDS * puppet.dna.species.action_mult, FALSE, target)) load(puppet, target) diff --git a/modular_ss220/species/serpentids/code/components/double_attack.dm b/modular_ss220/species/serpentids/code/components/double_attack.dm index 8dc95ce1868d..99baefab1f3c 100644 --- a/modular_ss220/species/serpentids/code/components/double_attack.dm +++ b/modular_ss220/species/serpentids/code/components/double_attack.dm @@ -8,7 +8,7 @@ #define COMSIG_DOUBLEATTACK_PROCESS "hand_pre_attack" #define COMSIG_DOUBLEATTACK_SYNC "sync_states" #define COMSIG_DOUBLEATTACK_CHECK "check_state" - #define DOUBLEATTACK_CHECK_ACTIVE (1<<0) +#define DOUBLEATTACK_CHECK_ACTIVE (1<<0) /datum/component/double_attack var/obj/item/hand_item = null diff --git a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm index 31da45ce63e6..4e6c77e857fd 100644 --- a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm +++ b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm @@ -7,7 +7,7 @@ #define COMSIG_MOB_OVERLAY_SHIFT_CALL "shift_call" #define COMSIG_MOB_OVERLAY_SHIFT_UPDATE "update_call" #define COMSIG_MOB_OVERLAY_SHIFT_CHECK "module_available" - #define MOB_OVERLAY_SHIFT_CHECK (1<<0) +#define MOB_OVERLAY_SHIFT_CHECK (1<<0) /datum/component/mob_overlay_shift var/mob/living/carbon/human/mob diff --git a/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm b/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm index bd66c67fbb88..3f165749ac0a 100644 --- a/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm +++ b/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm @@ -34,5 +34,5 @@ var/is_destroying = (is_dead || (is_no_owner && !organ.is_in_freezer)) if(is_destroying) organ.receive_damage(decay_rate, 1) - if((organ.damage <= (organ.max_damage/4)) && (organ.damage > 0) && !is_destroying) + if((organ.damage <= (organ.max_damage / 4)) && (organ.damage > 0) && !is_destroying) organ.heal_internal_damage(recover_rate, FALSE) diff --git a/modular_ss220/species/serpentids/code/components/reagents.dm b/modular_ss220/species/serpentids/code/components/reagents.dm index 43d050aa2a1c..55764c391f43 100644 --- a/modular_ss220/species/serpentids/code/components/reagents.dm +++ b/modular_ss220/species/serpentids/code/components/reagents.dm @@ -11,10 +11,11 @@ taste_description = "awful but healthy" goal_department = "Science" goal_difficulty = REAGENT_GOAL_SKIP + var/clone_damage_heal = -0.02 /datum/reagent/cabbagilium/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustCloneLoss(-0.02*REAGENTS_EFFECT_MULTIPLIER, FALSE) + update_flags |= M.adjustCloneLoss(clone_damage_heal * REAGENTS_EFFECT_MULTIPLIER, FALSE) //Расширение на химикаты - новый химикат для серпентидов //Химикат позволяет ускорять в 2 раза действия серпентидов (погрузка людей/ящиков, активация клинков) @@ -49,7 +50,10 @@ if(!L.hud_used) return var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] - var/static/list/col_filter_green = list(1,0,0,0, 0,0.66,0,0, 0,0,0.66,0, 0,0,0,1) + var/static/list/col_filter_green = list(1,0,0,0, / + 0, 0.66, 0, 0, / + 0, 0, 0.66, 0, / + 0, 0, 0, 1) game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) last_move_count = 0 @@ -137,9 +141,17 @@ /obj/effect/temp_visual/decoy/serpadrone_afterimage duration = 0.75 SECONDS /// The color matrix it should be at spawn - var/list/matrix_start = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.8,0,0.1,0) + var/list/matrix_start = list(1, 0, 0, 0, / + 0, 1, 0, 0, / + 0, 0, 1, 0, / + 0, 0, 0, 1, / + 0.8, 0, 0.1, 0) /// The color matrix it should be by the time it despawns - var/list/matrix_end = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.75,0,0.75,0) + var/list/matrix_end = list(1, 0, 0, 0, / + 0, 1, 0, 0, / + 0, 0, 1, 0, / + 0, 0, 0, 1, / + 0.75, 0, 0.75, 0) /obj/effect/temp_visual/decoy/serpadrone_afterimage/Initialize(mapload, atom/mimiced_atom, our_duration = 0.75 SECONDS) duration = our_duration diff --git a/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm b/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm index 1e736099e81e..44fafd144d9c 100644 --- a/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm +++ b/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm @@ -8,7 +8,7 @@ #define COMSIG_PAIRATTACK_PROCESS "offhand_pre_attack" #define COMSIG_PAIRATTACK_SYNC "sync_states" #define COMSIG_PAIRATTACK_CHECK "check_state" - #define PAIRATTACK_CHECK_ACTIVE (1<<0) +#define PAIRATTACK_CHECK_ACTIVE (1<<0) /datum/component/pair_attack var/obj/item/mainhand_item = null diff --git a/modular_ss220/species/serpentids/code/copy_butt.dm b/modular_ss220/species/serpentids/code/copy_butt.dm index 41db198e0424..0a42f12070a1 100644 --- a/modular_ss220/species/serpentids/code/copy_butt.dm +++ b/modular_ss220/species/serpentids/code/copy_butt.dm @@ -1,41 +1,9 @@ /obj/machinery/photocopier/copyass(scanning = FALSE) - if(!scanning) //If we're just storing this as a file inside the copier then we don't expend toner - if(toner < 5) - visible_message("A yellow light on [src] flashes, indicating there's not enough toner to finish the operation.") - return null - total_copies++ - - var/icon/temp_img - - if(emagged) - if(ishuman(copymob)) - var/mob/living/carbon/human/H = copymob - var/obj/item/organ/external/G = H.get_organ("groin") - G.receive_damage(0, 30) - H.emote("scream") - else - copymob.apply_damage(30, BURN) - to_chat(copymob, "Something smells toasty...") + . = .. () if(ishuman(copymob)) //Suit checks are in check_mob var/mob/living/carbon/human/H = copymob - temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) - else if(isdrone(copymob)) - temp_img = icon('icons/obj/butts.dmi', "drone") - else if(isnymph(copymob)) - temp_img = icon('icons/obj/butts.dmi', "nymph") - else if(isalien(copymob) || istype(copymob,/mob/living/simple_animal/hostile/alien)) //Xenos have their own asses, thanks to Pybro. - temp_img = icon('icons/obj/butts.dmi', "xeno") - else - return - var/obj/item/photo/p = new /obj/item/photo (loc) - if(scanning) - p.forceMove(src) - else if(folder) - p.forceMove(folder) - p.desc = "You see [copymob]'s ass on the photo." - p.pixel_x = rand(-10, 10) - p.pixel_y = rand(-10, 10) - p.img = temp_img + var/temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) + ..img = temp_img var/icon/small_img = icon(temp_img) //Icon() is needed or else temp_img will be rescaled too >.> var/icon/ic = icon('icons/obj/items.dmi',"photo") small_img.Scale(8, 8) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm index 8358d5012a1c..e2376c9c701c 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm @@ -10,12 +10,14 @@ force = 7 armour_penetration_flat = 3 tool_behaviour = TOOL_SAW + var/stamina_constant = 2 + var/stamina_coefficient = 0.5 /obj/item/kitchen/knife/combat/serpentblade/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_ADVANCED_SURGICAL, ROUNDSTART_TRAIT) ADD_TRAIT(src, TRAIT_FORCES_OPEN_DOORS_ITEM, ROUNDSTART_TRAIT) - AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS) + AddComponent(/datum/component/parry, _stamina_constant = stamina_constant, _stamina_coefficient = stamina_coefficient, _parryable_attack_types = NON_PROJECTILE_ATTACKS) AddComponent(/datum/component/double_attack, weapon = src) /obj/item/melee/serpentblade/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm index 04d6677429c9..e96adc703f23 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/unused/serpentid_mantis_implant.dm @@ -57,7 +57,7 @@ var/extended = holder_l && !(holder_l in src) && holder_r && !(holder_r in src) if(extended) Retract() - else if(do_after(owner, 20*(owner.dna.species.action_mult), FALSE, owner)) + else if(do_after(owner, 2 SECONDS * (owner.dna.species.action_mult), FALSE, owner)) holder_l = null holder_r = null Extend(contents[1],contents[2]) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index efcbc79f7449..f358f4b3ec2e 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -23,8 +23,9 @@ sense_creatures() /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() + var/last_movement_threshold = 5 SECONDS for(var/mob/living/creature in range(9, owner)) var/last_movement_timer = world.time - creature.l_move_time - if(creature == owner || creature.stat == DEAD || last_movement_timer > 50) + if(creature == owner || creature.stat == DEAD || last_movement_timer > last_movement_threshold) continue new /obj/effect/temp_visual/sonar_ping(owner.loc, owner, creature) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 05e3bb4f0302..f352d0ac1700 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -4,7 +4,7 @@ icon = 'modular_ss220/species/serpentids/icons/organs.dmi' desc = "A large looking eyes with some chemical enchanments." icon_state = "eyes01" - see_in_dark = 0 + see_in_dark = 8 flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE var/chemical_id = SERPENTID_CHEM_REAGENT_ID @@ -12,6 +12,8 @@ var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.35 var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES + var/vision_ajust_coefficient = 0.4 + var/update_time_client_colour = 10 /obj/item/organ/internal/eyes/serpentid/Initialize(mapload) @@ -34,7 +36,7 @@ . = ..() if(!isnull(owner)) var/mob/mob = owner - mob.update_client_colour(time = 10) + mob.update_client_colour(time = update_time_client_colour) switch_mode() /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() @@ -42,8 +44,7 @@ var/vision_chem = clamp(chem_value, SERPENTID_EYES_LOW_VISIBLE_VALUE, SERPENTID_EYES_MAX_VISIBLE_VALUE) var/vision_concentration = (1 - vision_chem/SERPENTID_EYES_MAX_VISIBLE_VALUE)*SERPENTID_EYES_LOW_VISIBLE_VALUE - var/k = 0.4 - vision_concentration = SERPENTID_EYES_LOW_VISIBLE_VALUE * (1 - chem_value**k) + vision_concentration = SERPENTID_EYES_LOW_VISIBLE_VALUE * (1 - chem_value ** vision_ajust_coefficient) var/vision_adjust = clamp(vision_concentration, 0, SERPENTID_EYES_LOW_VISIBLE_VALUE/2) var/vision_matrix = list(vision_chem, vision_adjust, vision_adjust,\ @@ -54,7 +55,7 @@ /obj/item/organ/internal/eyes/serpentid/switch_mode(force_off = FALSE) .=..() if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) - see_in_dark = 8 + see_in_dark = initial(see_in_dark) chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES + GAS_ORGAN_CHEMISTRY_EYES * (max_damage - damage / max_damage) else see_in_dark = 0 From 99da820c3841d99ebe0413c1ca8b8f65443a3dc2 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 13 Oct 2024 14:32:32 +0300 Subject: [PATCH 040/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=D1=8B=20(?= =?UTF-8?q?=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D1=8F=20=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=8C=D1=88=D0=B5=D0=B8=D0=B5=20=D0=BF=D1=80=D0=BE=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B7=D0=B0=D0=B4=D0=BD=D0=B8=D1=86=D1=8B)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/_serpentids.dme | 9 +++++ .../serpentids/code/common/serpentids.dm | 2 +- .../carrying/grab_and_drag_on_mob_crates.dm | 32 +++++++++--------- .../serpentids/code/components/reagents.dm | 22 ++++++------ .../unused/organ_actions_component.dm | 8 ++--- .../species/serpentids/code/copy_butt.dm | 8 +++-- .../serpentids/icons/mob/r_serpentid_butt.dmi | Bin 1234 -> 684 bytes 7 files changed, 46 insertions(+), 35 deletions(-) diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 300c16fb4cad..842a3b773f40 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -38,3 +38,12 @@ #include "code/organs/internal/organs/serpentids_organs_additionals.dm" #include "code/common/serpentids.dm" +// BEGIN_INTERNALS +// END_INTERNALS +// BEGIN_FILE_DIR +#define FILE_DIR . +// END_FILE_DIR +// BEGIN_PREFERENCES +// END_PREFERENCES +// BEGIN_INCLUDE +// END_INCLUDE diff --git a/modular_ss220/species/serpentids/code/common/serpentids.dm b/modular_ss220/species/serpentids/code/common/serpentids.dm index 2ce165390004..b91db48c2906 100644 --- a/modular_ss220/species/serpentids/code/common/serpentids.dm +++ b/modular_ss220/species/serpentids/code/common/serpentids.dm @@ -132,7 +132,7 @@ var/armor_count = 0 var/gene_degradation = 0 for(var/obj/item/organ/external/limb in H.bodyparts) - if(!(limb.type in valid_limbs)) + if(!(limb.type in has_limbs[limb.limb_name]["path"])) gene_degradation += SERPENTID_GENE_DEGRADATION_DAMAGE var/limb_armor = limb.brute_dam + limb.burn_dam armor_count += limb_armor diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm index 4eb4aef59e03..30bf34a3bc8e 100644 --- a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm @@ -93,10 +93,10 @@ return var/obj/structure/closet/crate/holding_crate - if(istype(AM,/obj/structure/closet/crate)) - holding_crate = AM - if(holding_crate) - holding_crate.close() + if(istype(AM,/obj/structure/closet/crate)) + holding_crate = AM + if(holding_crate) + holding_crate.close() if(isobj(AM)) var/obj/O = AM @@ -117,18 +117,18 @@ return if(carrier.loaded) - carrier.loaded.forceMove(carrier.loc) - carrier.loaded.pixel_y = initial(carrier.loaded.pixel_y) - carrier.loaded.layer = initial(carrier.loaded.layer) - carrier.loaded.plane = initial(carrier.loaded.plane) - if(dirn) - var/turf/T = carrier.loc - var/turf/newT = get_step(T,dirn) - if(carrier.loaded.CanPass(carrier.loaded, newT)) - step(carrier.loaded, dirn) - carrier.loaded.crate_carrying_person = null - carrier.loaded = null - carrier.update_icon(UPDATE_OVERLAYS) + carrier.loaded.forceMove(carrier.loc) + carrier.loaded.pixel_y = initial(carrier.loaded.pixel_y) + carrier.loaded.layer = initial(carrier.loaded.layer) + carrier.loaded.plane = initial(carrier.loaded.plane) + if(dirn) + var/turf/T = carrier.loc + var/turf/newT = get_step(T,dirn) + if(carrier.loaded.CanPass(carrier.loaded, newT)) + step(carrier.loaded, dirn) + carrier.loaded.crate_carrying_person = null + carrier.loaded = null + carrier.update_icon(UPDATE_OVERLAYS) //Расширение прока для переноса ящика на моба /mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) diff --git a/modular_ss220/species/serpentids/code/components/reagents.dm b/modular_ss220/species/serpentids/code/components/reagents.dm index 55764c391f43..dd235b37e7c2 100644 --- a/modular_ss220/species/serpentids/code/components/reagents.dm +++ b/modular_ss220/species/serpentids/code/components/reagents.dm @@ -50,9 +50,9 @@ if(!L.hud_used) return var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] - var/static/list/col_filter_green = list(1,0,0,0, / - 0, 0.66, 0, 0, / - 0, 0, 0.66, 0, / + var/static/list/col_filter_green = list(1,0,0,0, \ + 0, 0.66, 0, 0, \ + 0, 0, 0.66, 0, \ 0, 0, 0, 1) game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) @@ -141,16 +141,16 @@ /obj/effect/temp_visual/decoy/serpadrone_afterimage duration = 0.75 SECONDS /// The color matrix it should be at spawn - var/list/matrix_start = list(1, 0, 0, 0, / - 0, 1, 0, 0, / - 0, 0, 1, 0, / - 0, 0, 0, 1, / + var/list/matrix_start = list(1, 0, 0, 0, \ + 0, 1, 0, 0, \ + 0, 0, 1, 0, \ + 0, 0, 0, 1, \ 0.8, 0, 0.1, 0) /// The color matrix it should be by the time it despawns - var/list/matrix_end = list(1, 0, 0, 0, / - 0, 1, 0, 0, / - 0, 0, 1, 0, / - 0, 0, 0, 1, / + var/list/matrix_end = list(1, 0, 0, 0, \ + 0, 1, 0, 0, \ + 0, 0, 1, 0, \ + 0, 0, 0, 1, \ 0.75, 0, 0.75, 0) /obj/effect/temp_visual/decoy/serpadrone_afterimage/Initialize(mapload, atom/mimiced_atom, our_duration = 0.75 SECONDS) diff --git a/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm b/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm index ea8d543a868e..08c583f9bf45 100644 --- a/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm +++ b/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm @@ -7,8 +7,8 @@ #define COMSIG_ORGAN_GROUP_ACTION_ICON "get_return_icon" #define COMSIG_ORGAN_GROUP_ACTION_STATE "get_return_state" - #define ORGAN_GROUP_ACTION_ICON (1 << 0) - #define ORGAN_GROUP_ACTION_STATE (1 << 0) +#define ORGAN_GROUP_ACTION_ICON (1 << 0) +#define ORGAN_GROUP_ACTION_STATE (1 << 0) /datum/component/organ_action var/obj/item/organ/internal/organ @@ -54,7 +54,7 @@ var/list/choices = list() var/list/organs_list = list() for(var/obj/item/organ/internal/O in organ.owner.internal_organs) - if(O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + if(length(O.actions_types) > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) organs_list += O for(var/obj/item/organ/internal/I in organs_list) @@ -85,7 +85,7 @@ var/list/organs_list = list() if(organ.owner) for(var/obj/item/organ/internal/O in organ.owner.internal_organs) - if(O.actions_types.len > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + if(length(O.actions_types.len) > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) organs_list += O for(var/obj/item/organ/internal/O in organs_list) diff --git a/modular_ss220/species/serpentids/code/copy_butt.dm b/modular_ss220/species/serpentids/code/copy_butt.dm index 0a42f12070a1..062feb3cc4ce 100644 --- a/modular_ss220/species/serpentids/code/copy_butt.dm +++ b/modular_ss220/species/serpentids/code/copy_butt.dm @@ -1,9 +1,11 @@ /obj/machinery/photocopier/copyass(scanning = FALSE) - . = .. () + var/obj/item/photo/p = .. () + var/icon/temp_img if(ishuman(copymob)) //Suit checks are in check_mob var/mob/living/carbon/human/H = copymob - var/temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) - ..img = temp_img + temp_img = icon(H.dna.species.butt_sprite_icon, H.dna.species.butt_sprite) + + p.img = temp_img var/icon/small_img = icon(temp_img) //Icon() is needed or else temp_img will be rescaled too >.> var/icon/ic = icon('icons/obj/items.dmi',"photo") small_img.Scale(8, 8) diff --git a/modular_ss220/species/serpentids/icons/mob/r_serpentid_butt.dmi b/modular_ss220/species/serpentids/icons/mob/r_serpentid_butt.dmi index 2e2c5419b47e651de2d010d97a4b68ef449064a2..b79813d03f2e89f09e1c0a7864cfc83cbf5c07a1 100644 GIT binary patch delta 550 zcmV+>0@?l239JQ>8EXRo002a!ipBr{09Q~sHkmi zZRF(S>FMbM0|V;n>Q{$1&XFN|e*u?CL_t(Ijct?RVuK(IgexS3(7LU5a~tmcpL2Jh zt#-pdXg)8O1Wu>ZuwMb|@ZlH_eI0;NW*x}L50#Zp8VKdeBH8`VjSo@g>ke^NQ^;yIU+ zbCR=JjA}129sz_M`9UZgyuO(*#|kuo;#YS^4Twy)_YXEhpMa}h=A2M$($6mnrDuhC zoK3KYSy+hLfXyR4Tt^6C3nB>Iv=l+uV^-n*ogt7byrP{jL7+8QB$2>^Kp6?NZY~{2 zNU06s#;O-55SE2NS8oVge+PlN_zr+T^9NDG{Gx1cdH~R&(qu%s7j6##dIUt<$jxkv zcYr-Wk1Aym<=}OVccAy6RtR8ZY&8yKxC0x(NsEf)xmlh@c;k-07*qoM6N<$f*^VSqW}N^ delta 1105 zcmV-X1g`t61=0zS83+ad0047(di0Tmdw&EVNkll~Seh7a%%`LZehtNe~5z0*#1g5Q)e4_c_U$>=|=kek<9T8TZ_? z*IxT^?y!=Q62r>N%Zs+g#>SZaWsg$(51CBHia~8{ZLqYz7mfcDHP7ws?bg@V7k|6* zS@N1wfxkrE+S+PeU0qgRUvF(~Z8kGAV-ph-;kmlH+Io9?!&wzRZ_?{oFYOCU{d zHUv1v1_lPKr>7^FNL*iEN8~UO0iHxo0=aU^ra;a+J3E7M&u0%055XYf*Fyx$OCZfT z5ey9th0V0F(9qCeH8nNX-`^idk$(~#c@o^;+}wmK>C3A?(lPR~`SkR(EiNvG`=g^H z+uq)`!^6X{wz9I)=H}+2bjb0+!9loZAL>I$?Z0HP`8)%p_7Dj$Ha2EYPfvDoa$*}B z8!@>7YKT}Wfn3hz7^y`>f7{*NjYt5T1HO-9YinzEb#)cg@F=(qafD+GnSU`oPfkvT zsLs#NZF6(eR#sNRcZhygEEhgkC7@$18e?F;QjqQ zoFO7|ad8pqKwUywP=)99^?!BS+1at<3pq?aK0cy*W;wXMy$w~*rYcry z!*>g9s7dH+;a3;1h+zSe!$un_?>|33c6oUjMNf3B>FDUNySuv>3Hl!eaHOMhpUJ=hBpIwSV>_R?!Wl}|)0gnu<;a6~SN7;xp; zw^dV9Qz$;Kl*ilKo1LDX2In9mkT!HEBnnE^Eh6+ej_G-x0qZyiC{F4m&3PI!l3(ye z1O^8O!^V(NB9IM=LRS?O2NCJ;oBA5@WFW22iY5Tm=ORK> zI6;0*Gk_uxA{8DY%70qAO9Lq@fn+2Q@I!|VP$~pDB{dMEW`GpR<~)^vmlYC7$&U@M zgrcWQs153cbv*NZMNEBA^|=rc(C|^UdlE#g-lzICpw#!8Y#P5l=X}QA&(F`<3GgAE zkR*XgPMwG%r`&_Gva(-=3iOLfosu;Lnu6MxFV@x7h3EbK{ePHa6&`uV8H0x!0se;y zkP@hnEfujz=$-RIfh{jD2WP{>!%<#6US3}8^Yb%yG8TiJZK#37Fd7{ljnwebX$|d3 zAtr}WK?ITof(k?r)cZuK0|iCs1W(jM!^ihO;E?+M{?4sHwj-E9!w*e Date: Sun, 13 Oct 2024 22:10:41 +0300 Subject: [PATCH 041/152] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BF=D0=BE=20=D0=B8=D0=B4=D0=B5=D1=8F?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/common/defines.dm | 8 + .../serpentids/code/common/serpentids.dm | 10 +- .../code/components/mob_overlay_shift.dm | 160 +++++++++++++++++- .../species/serpentids/code/update_icons.dm | 72 ++++++-- 4 files changed, 235 insertions(+), 15 deletions(-) diff --git a/modular_ss220/species/serpentids/code/common/defines.dm b/modular_ss220/species/serpentids/code/common/defines.dm index 44ba95327c60..94921ef9d863 100644 --- a/modular_ss220/species/serpentids/code/common/defines.dm +++ b/modular_ss220/species/serpentids/code/common/defines.dm @@ -39,3 +39,11 @@ var/action_mult = 1 var/equipment_black_list = list() var/butt_sprite_icon = 'icons/obj/butts.dmi' + var/bio_chips = list() + +/datum/species/on_species_gain(mob/living/carbon/human/H) + .. () + if(bio_chips) + for(var/bio_chip_type in bio_chips) + var/obj/item/bio_chip/I = new bio_chip_type(H) + I.implant(H, null) diff --git a/modular_ss220/species/serpentids/code/common/serpentids.dm b/modular_ss220/species/serpentids/code/common/serpentids.dm index b91db48c2906..a39e0db40c0d 100644 --- a/modular_ss220/species/serpentids/code/common/serpentids.dm +++ b/modular_ss220/species/serpentids/code/common/serpentids.dm @@ -14,6 +14,7 @@ eyes = "serpentid_eyes_s" butt_sprite_icon = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_butt.dmi' butt_sprite = "serpentid" + nojumpsuit = TRUE species_traits = list(LIPS, NO_HAIR) inherent_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_RESISTHEAT, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOPAIN) @@ -56,6 +57,8 @@ "chest" = /obj/item/organ/internal/cyberimp/chest/serpentid_blades, ) + bio_chips = list(/obj/item/bio_chip/tracking) + has_limbs = list( "chest" = list("path" = /obj/item/organ/external/chest/carapace, "descriptor" = "chest"), "groin" = list("path" = /obj/item/organ/external/groin/carapace, "descriptor" = "groin"), @@ -151,7 +154,7 @@ H.buckle_lying = buckle_lying H.update_transform() H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) - H.AddComponent(/datum/component/mob_overlay_shift, shift_y_hand = 3, shift_y_belt = 7, shift_y_back = 7) //shift_xs_hand = 12 + H.AddComponent(/datum/component/mob_overlay_shift, shift_y_hand = 3, shift_xs_belt = 5, shift_y_belt = 7, shift_y_back = 7, shift_y_head = 10, shift_xs_head = 3) //shift_xs_hand = 12 H.AddComponent(/datum/component/gadom_living) H.AddComponent(/datum/component/gadom_cargo) H.verbs += /mob/living/carbon/human/proc/emote_gbsroar @@ -171,8 +174,9 @@ switch(slot) if(SLOT_HUD_SHOES) return FALSE - for(var/queip_type in equipment_black_list) - if(istype(I, queip_type)) + if(SLOT_HUD_JUMPSUIT) + return FALSE + if(SLOT_HUD_OUTER_SUIT) return FALSE . = .. () diff --git a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm index 4e6c77e857fd..fdcaad21b3cd 100644 --- a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm +++ b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm @@ -10,6 +10,8 @@ #define MOB_OVERLAY_SHIFT_CHECK (1<<0) /datum/component/mob_overlay_shift + var/dir = 1 + var/mob/living/carbon/human/mob var/shift_x_inhand = 0 var/shift_x_center_inhand = 0 @@ -38,7 +40,16 @@ var/shift_x_front_back = 0 var/shift_y_front_back = 0 -/datum/component/mob_overlay_shift/Initialize(caller_mob, shift_xs_hand = 0, shift_ys_hand = 0, shift_xf_hand = 0, shift_yf_hand = 0, shift_x_hand = 0, shift_y_hand = 0, shift_xs_belt = 0, shift_ys_belt = 0, shift_xf_belt = 0, shift_yf_belt = 0, shift_x_belt = 0, shift_y_belt = 0, shift_xs_back = 0, shift_ys_back = 0, shift_xf_back = 0, shift_yf_back = 0, shift_x_back = 0, shift_y_back = 0) + var/shift_x_head = 0 + var/shift_x_center_head = 0 + var/shift_y_head = 0 + var/shift_y_center_head = 0 + var/shift_x_side_head = 0 + var/shift_y_side_head = 0 + var/shift_x_front_head = 0 + var/shift_y_front_head = 0 + +/datum/component/mob_overlay_shift/Initialize(caller_mob, shift_xs_hand = 0, shift_ys_hand = 0, shift_xf_hand = 0, shift_yf_hand = 0, shift_x_hand = 0, shift_y_hand = 0, shift_xs_belt = 0, shift_ys_belt = 0, shift_xf_belt = 0, shift_yf_belt = 0, shift_x_belt = 0, shift_y_belt = 0, shift_xs_back = 0, shift_ys_back = 0, shift_xf_back = 0, shift_yf_back = 0, shift_x_back = 0, shift_y_back = 0, shift_xs_head = 0, shift_ys_head = 0, shift_xf_head = 0, shift_yf_head = 0, shift_x_head = 0, shift_y_head = 0) ..() mob = parent @@ -63,6 +74,13 @@ shift_x_front_back = shift_xf_back shift_y_front_back = shift_yf_back + shift_x_center_head = shift_x_head + shift_y_center_head = shift_y_head + shift_x_side_head = shift_xs_head + shift_y_side_head = shift_ys_head + shift_x_front_head = shift_xf_head + shift_y_front_head = shift_yf_head + /datum/component/mob_overlay_shift/RegisterWithParent() RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CALL, PROC_REF(shift_call)) RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CHECK, PROC_REF(module_available)) @@ -79,7 +97,9 @@ //Проки, срабатываемые при получении или исцелении урона /datum/component/mob_overlay_shift/proc/shift_call(mob, new_dir) - switch(new_dir) + if (new_dir) + dir = new_dir + switch(dir) if(EAST) shift_x_inhand = shift_x_side_inhand + shift_x_center_inhand shift_y_inhand = shift_y_side_inhand + shift_y_center_inhand @@ -87,6 +107,8 @@ shift_y_belt = shift_y_side_belt + shift_y_center_belt shift_x_back = shift_x_side_back + shift_x_center_back shift_y_back = shift_y_side_back + shift_y_center_back + shift_x_head = shift_x_side_head + shift_x_center_head + shift_y_head = shift_y_side_head + shift_y_center_head if(WEST) shift_x_inhand = -shift_x_side_inhand + shift_x_center_inhand shift_y_inhand = -shift_y_side_inhand + shift_y_center_inhand @@ -94,6 +116,8 @@ shift_y_belt = -shift_y_side_belt + shift_y_center_belt shift_x_back = -shift_x_side_back + shift_x_center_back shift_y_back = -shift_y_side_back + shift_y_center_back + shift_x_head = -shift_x_side_head + shift_x_center_head + shift_y_head = -shift_y_side_head + shift_y_center_head if(NORTH) shift_x_inhand = shift_x_front_inhand + shift_x_center_inhand shift_y_inhand = shift_y_front_inhand + shift_y_center_inhand @@ -101,6 +125,8 @@ shift_y_belt = shift_y_front_belt + shift_y_center_belt shift_x_back = shift_x_front_back + shift_x_center_back shift_y_back = shift_y_front_back + shift_y_center_back + shift_x_head = shift_x_front_head + shift_x_center_head + shift_y_head = shift_y_front_head + shift_y_center_head if(SOUTH) shift_x_inhand = -shift_x_front_inhand + shift_x_center_inhand shift_y_inhand = -shift_y_front_inhand + shift_y_center_inhand @@ -108,6 +134,8 @@ shift_y_belt = -shift_y_front_belt + shift_y_center_belt shift_x_back = -shift_x_front_back + shift_x_center_back shift_y_back = -shift_y_front_back + shift_y_center_back + shift_x_head = -shift_x_front_head + shift_x_center_head + shift_y_head = -shift_y_front_head + shift_y_center_head update_call() /datum/component/mob_overlay_shift/proc/update_call() @@ -115,6 +143,9 @@ update_inv_l_hand() update_inv_belt() update_inv_back() + update_inv_head() + update_inv_glasses() + update_inv_ears() /datum/component/mob_overlay_shift/proc/update_inv_belt() mob.remove_overlay(BELT_LAYER) @@ -226,7 +257,132 @@ mob.overlays_standing[L_HAND_LAYER] = standing mob.apply_overlay(L_HAND_LAYER) +/datum/component/mob_overlay_shift/proc/update_inv_head() + mob.remove_overlay(HEAD_LAYER) + if(mob.client && mob.hud_used) + var/atom/movable/screen/inventory/inv = mob.hud_used.inv_slots[SLOT_HUD_HEAD] + if(inv) + inv.update_icon() + + if(mob.head) + mob.update_hud_head(mob.head) + var/mutable_appearance/standing + if(mob.head.sprite_sheets && mob.head.sprite_sheets[mob.dna.species.sprite_sheet_name]) + standing = mutable_appearance(mob.head.sprite_sheets[mob.dna.species.sprite_sheet_name], "[mob.head.icon_state]", layer = -HEAD_LAYER) + if(istype(mob.head, /obj/item/clothing/head/helmet/space/plasmaman)) + var/obj/item/clothing/head/helmet/space/plasmaman/P = mob.head + if(!P.up) + standing.overlays += P.visor_icon + else if(mob.head.icon_override) + standing = mutable_appearance(mob.head.icon_override, "[mob.head.icon_state]", layer = -HEAD_LAYER) + else + standing = mutable_appearance('icons/mob/clothing/head.dmi', "[mob.head.icon_state]", layer = -HEAD_LAYER) + + if(mob.head.blood_DNA) + var/image/bloodsies = image("icon" = mob.dna.species.blood_mask, "icon_state" = "helmetblood") + bloodsies.color = mob.head.blood_color + standing.overlays += bloodsies + standing.alpha = mob.head.alpha + standing.color = mob.head.color + standing.pixel_x = shift_x_head + standing.pixel_y = shift_y_head + mob.overlays_standing[HEAD_LAYER] = standing + mob.apply_overlay(HEAD_LAYER) + +/datum/component/mob_overlay_shift/proc/update_inv_glasses() + mob.remove_overlay(GLASSES_LAYER) + mob.remove_overlay(GLASSES_OVER_LAYER) + mob.remove_overlay(OVER_MASK_LAYER) + + if(mob.client && mob.hud_used) + var/atom/movable/screen/inventory/inv = mob.hud_used.inv_slots[SLOT_HUD_GLASSES] + if(inv) + inv.update_icon() + + if(mob.glasses) + var/mutable_appearance/new_glasses + var/obj/item/organ/external/head/head_organ = mob.get_organ("head") + mob.update_hud_glasses(mob.glasses) + + if(mob.glasses.icon_override) + new_glasses = mutable_appearance(mob.glasses.icon_override, "[mob.glasses.icon_state]", layer = -GLASSES_LAYER) + else if(mob.glasses.sprite_sheets && mob.glasses.sprite_sheets[head_organ.dna.species.sprite_sheet_name]) + new_glasses = mutable_appearance(mob.glasses.sprite_sheets[head_organ.dna.species.sprite_sheet_name], "[mob.glasses.icon_state]", layer = -GLASSES_LAYER) + else + new_glasses = mutable_appearance('icons/mob/clothing/eyes.dmi', "[mob.glasses.icon_state]", layer = -GLASSES_LAYER) + + new_glasses.pixel_x = shift_x_head + new_glasses.pixel_y = shift_y_head + + var/datum/sprite_accessory/hair/hair_style = GLOB.hair_styles_full_list[head_organ.h_style] + var/obj/item/clothing/glasses/G = mob.glasses + if(istype(G) && G.over_mask) //If the user's used the 'wear over mask' verb on the glasses. + new_glasses.layer = -OVER_MASK_LAYER + mob.overlays_standing[OVER_MASK_LAYER] = new_glasses + mob.apply_overlay(OVER_MASK_LAYER) + else if(hair_style && hair_style.glasses_over) //Select which layer to use based on the properties of the hair style. Hair styles with hair that don't overhang the arms of the glasses should have glasses_over set to a positive value. + new_glasses.layer = -GLASSES_OVER_LAYER + mob.overlays_standing[GLASSES_OVER_LAYER] = new_glasses + mob.apply_overlay(GLASSES_OVER_LAYER) + else + mob.overlays_standing[GLASSES_LAYER] = new_glasses + mob.apply_overlay(GLASSES_LAYER) + + mob.update_misc_effects() + +/datum/component/mob_overlay_shift/proc/update_inv_ears() + mob.remove_overlay(LEFT_EAR_LAYER) + mob.remove_overlay(RIGHT_EAR_LAYER) + + if(mob.client && mob.hud_used) + var/atom/movable/screen/inventory/left_ear_inv = mob.hud_used.inv_slots[SLOT_HUD_LEFT_EAR] + var/atom/movable/screen/inventory/right_ear_inv = mob.hud_used.inv_slots[SLOT_HUD_RIGHT_EAR] + if(left_ear_inv) + left_ear_inv.update_icon() + if(right_ear_inv) + right_ear_inv.update_icon() + + if(mob.l_ear) + mob.update_hud_l_ear(mob.l_ear) + + var/left_ear_item_state = mob.l_ear.item_state ? mob.l_ear.item_state : mob.l_ear.icon_state + var/left_ear_icon = 'icons/mob/clothing/ears.dmi' + if(mob.l_ear.sprite_sheets && mob.l_ear.sprite_sheets[mob.dna.species.sprite_sheet_name]) + left_ear_icon = mob.l_ear.sprite_sheets[mob.dna.species.sprite_sheet_name] + if(mob.l_ear.icon_override) + left_ear_item_state = "[left_ear_item_state]_l" + left_ear_icon = mob.l_ear.icon_override + + var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) + standing.pixel_x = shift_x_head + standing.pixel_y = shift_y_head + mob.overlays_standing[LEFT_EAR_LAYER] = standing + + if(mob.r_ear) + mob.update_hud_r_ear(mob.r_ear) + + var/right_ear_item_state = mob.r_ear.item_state ? mob.r_ear.item_state : mob.r_ear.icon_state + var/right_ear_icon = 'icons/mob/clothing/ears.dmi' + if(mob.r_ear.sprite_sheets && mob.r_ear.sprite_sheets[mob.dna.species.sprite_sheet_name]) + right_ear_icon = mob.r_ear.sprite_sheets[mob.dna.species.sprite_sheet_name] + if(mob.r_ear.icon_override) + right_ear_icon = "[right_ear_item_state]_l" + right_ear_icon = mob.r_ear.icon_override + + var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) + standing.pixel_x = shift_x_head + standing.pixel_y = shift_y_head + mob.overlays_standing[RIGHT_EAR_LAYER] = standing + + mob.apply_overlay(LEFT_EAR_LAYER) + mob.apply_overlay(RIGHT_EAR_LAYER) + /mob/living/carbon/human/setDir(new_dir) . = ..() if(SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CHECK) & MOB_OVERLAY_SHIFT_CHECK) SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CALL, new_dir) + +/mob/living/carbon/human/Life(seconds, times_fired) + . = ..() + if(SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CHECK) & MOB_OVERLAY_SHIFT_CHECK) + SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CALL) diff --git a/modular_ss220/species/serpentids/code/update_icons.dm b/modular_ss220/species/serpentids/code/update_icons.dm index ad093c5d1388..56bb0d78ef72 100644 --- a/modular_ss220/species/serpentids/code/update_icons.dm +++ b/modular_ss220/species/serpentids/code/update_icons.dm @@ -1,18 +1,70 @@ //Обновление иконок для кастомных рас /datum/character_save/update_preview_icon(for_observer=0) . = .. () + //Это ужасно,но так можно кастомным расам выдавать кастомные глаза (я хз, почему сработало так, нужны разьяснения) var/datum/species/selected_specie = GLOB.all_species[species] + if (istype(selected_specie, /datum/species/serpentid)) + qdel(preview_icon_front) + qdel(preview_icon_side) + qdel(preview_icon) - //Это ужасно,но так можно кастомным расам выдавать кастомные глаза (я хз, почему сработало так, нужны разьяснения) - var/icon/face_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie.eyes) - if(!(selected_specie.bodyflags & NO_EYES)) - var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") - eyes_s.Blend(e_colour, ICON_ADD) - face_s.Blend(eyes_s, ICON_OVERLAY) - - preview_icon.Blend(face_s, ICON_OVERLAY) - preview_icon_front = new(preview_icon, dir = SOUTH) - preview_icon_side = new(preview_icon, dir = WEST) + var/g = "m" + if(body_type == FEMALE) + g = "f" + + var/icon/icobase + if(selected_specie.bodyflags & HAS_ICON_SKIN_TONE) //Handling species-specific icon-based skin tones by flagged race. + var/mob/living/carbon/human/H = new + H.dna.species = selected_specie + H.s_tone = s_tone + H.dna.species.updatespeciescolor(H, 0) //The mob's species wasn't set, so it's almost certainly different than the character's species at the moment. Thus, we need to be owner-insensitive. + var/obj/item/organ/external/chest/C = H.get_organ("chest") + icobase = C.icobase ? C.icobase : C.dna.species.icobase + qdel(H) + else + icobase = selected_specie.icobase + + preview_icon = new /icon(icobase, "torso_[g]") + preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) + var/head = "head" + if(alt_head && selected_specie.bodyflags & HAS_ALT_HEADS) + var/datum/sprite_accessory/alt_heads/H = GLOB.alt_heads_list[alt_head] + if(H.icon_state) + head = H.icon_state + preview_icon.Blend(new /icon(icobase, "[head]_[g]"), ICON_OVERLAY) + + for(var/name in list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand")) + if(organ_data[name] == "amputated") continue + if(organ_data[name] == "cyborg") + var/datum/robolimb/R + if(rlimb_data[name]) R = GLOB.all_robolimbs[rlimb_data[name]] + if(!R) R = GLOB.basic_robolimb + if(name == "chest") + name = "torso" + preview_icon.Blend(icon(R.icon, "[name]"), ICON_OVERLAY) // This doesn't check gendered_icon. Not an issue while only limbs can be robotic. + continue + preview_icon.Blend(new /icon(icobase, "[name]"), ICON_OVERLAY) + + // Skin color + if(selected_specie && (selected_specie.bodyflags & HAS_SKIN_COLOR)) + preview_icon.Blend(s_colour, ICON_ADD) + + // Skin tone + if(selected_specie && (selected_specie.bodyflags & HAS_SKIN_TONE)) + if(s_tone >= 0) + preview_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD) + else + preview_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) + + var/icon/face_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie.eyes) + if(!(selected_specie.bodyflags & NO_EYES)) + var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") + eyes_s.Blend(e_colour, ICON_ADD) + face_s.Blend(eyes_s, ICON_OVERLAY) + + preview_icon.Blend(face_s, ICON_OVERLAY) + preview_icon_front = new(preview_icon, dir = SOUTH) + preview_icon_side = new(preview_icon, dir = WEST) //Прок на получение иконки глаз кастомных рас (перезапись, возможно стоит расширить?) /mob/living/carbon/human/get_eyecon() From 4942431d231a510a693003df8ba34d1d395929d8 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 13 Oct 2024 22:15:26 +0300 Subject: [PATCH 042/152] =?UTF-8?q?=D0=A3=D0=B6=D0=B0=D1=82=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BB=D0=B8=D1=88=D0=BD=D0=B5=D0=B3=D0=BE=20=D0=B8=D0=B7=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/update_icons.dm | 28 ++++--------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/modular_ss220/species/serpentids/code/update_icons.dm b/modular_ss220/species/serpentids/code/update_icons.dm index 56bb0d78ef72..5fd2465827b6 100644 --- a/modular_ss220/species/serpentids/code/update_icons.dm +++ b/modular_ss220/species/serpentids/code/update_icons.dm @@ -12,27 +12,10 @@ if(body_type == FEMALE) g = "f" - var/icon/icobase - if(selected_specie.bodyflags & HAS_ICON_SKIN_TONE) //Handling species-specific icon-based skin tones by flagged race. - var/mob/living/carbon/human/H = new - H.dna.species = selected_specie - H.s_tone = s_tone - H.dna.species.updatespeciescolor(H, 0) //The mob's species wasn't set, so it's almost certainly different than the character's species at the moment. Thus, we need to be owner-insensitive. - var/obj/item/organ/external/chest/C = H.get_organ("chest") - icobase = C.icobase ? C.icobase : C.dna.species.icobase - qdel(H) - else - icobase = selected_specie.icobase - + var/icon/icobase = selected_specie.icobase preview_icon = new /icon(icobase, "torso_[g]") preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) - var/head = "head" - if(alt_head && selected_specie.bodyflags & HAS_ALT_HEADS) - var/datum/sprite_accessory/alt_heads/H = GLOB.alt_heads_list[alt_head] - if(H.icon_state) - head = H.icon_state - preview_icon.Blend(new /icon(icobase, "[head]_[g]"), ICON_OVERLAY) - + preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) for(var/name in list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand")) if(organ_data[name] == "amputated") continue if(organ_data[name] == "cyborg") @@ -57,10 +40,9 @@ preview_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) var/icon/face_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie.eyes) - if(!(selected_specie.bodyflags & NO_EYES)) - var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") - eyes_s.Blend(e_colour, ICON_ADD) - face_s.Blend(eyes_s, ICON_OVERLAY) + var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") + eyes_s.Blend(e_colour, ICON_ADD) + face_s.Blend(eyes_s, ICON_OVERLAY) preview_icon.Blend(face_s, ICON_OVERLAY) preview_icon_front = new(preview_icon, dir = SOUTH) From fef99c22aa456ac97a2273900e5f72f6e83f134a Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sun, 13 Oct 2024 22:31:24 +0300 Subject: [PATCH 043/152] Linters... --- .../species/serpentids/code/components/mob_overlay_shift.dm | 2 +- modular_ss220/species/serpentids/code/update_icons.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm index fdcaad21b3cd..21dba6711b31 100644 --- a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm +++ b/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm @@ -97,7 +97,7 @@ //Проки, срабатываемые при получении или исцелении урона /datum/component/mob_overlay_shift/proc/shift_call(mob, new_dir) - if (new_dir) + if(new_dir) dir = new_dir switch(dir) if(EAST) diff --git a/modular_ss220/species/serpentids/code/update_icons.dm b/modular_ss220/species/serpentids/code/update_icons.dm index 5fd2465827b6..bc107aa19f1f 100644 --- a/modular_ss220/species/serpentids/code/update_icons.dm +++ b/modular_ss220/species/serpentids/code/update_icons.dm @@ -3,7 +3,7 @@ . = .. () //Это ужасно,но так можно кастомным расам выдавать кастомные глаза (я хз, почему сработало так, нужны разьяснения) var/datum/species/selected_specie = GLOB.all_species[species] - if (istype(selected_specie, /datum/species/serpentid)) + if(istype(selected_specie, /datum/species/serpentid)) qdel(preview_icon_front) qdel(preview_icon_side) qdel(preview_icon) From 4d80a0352c2fbd4c77b65966473d1cb4879dd710 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 14 Oct 2024 08:31:51 +0300 Subject: [PATCH 044/152] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=BA=D0=B8=20+=20=D0=B1=D0=B0=D0=BB=D0=B0?= =?UTF-8?q?=D0=BD=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/carapace/carapace_shell.dm | 12 ++++------- .../organs/serpentids_organs_lungs.dm | 20 ++++++++++--------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm b/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm index 1b83ac9bcd1b..647a37307463 100644 --- a/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm +++ b/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm @@ -54,8 +54,6 @@ specie.warning_high_pressure = INFINITY specie.warning_low_pressure = -INFINITY specie.hazard_low_pressure = -INFINITY - cold = SERPENTID_ARMORED_COLD_THRESHOLD - heat = SERPENTID_ARMORED_HEAT_THRESHOLD H.clear_alert("carapace_break_rig") else specie.hazard_high_pressure = HAZARD_HIGH_PRESSURE @@ -68,14 +66,12 @@ cold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE heat = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE - var/up = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN - var/down = SERPENTID_COLD_THRESHOLD_LEVEL_DOWN specie.cold_level_1 = cold - specie.cold_level_2 = specie.cold_level_1 - down - specie.cold_level_3 = specie.cold_level_2 - down + specie.cold_level_2 = specie.cold_level_1 - SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + specie.cold_level_3 = specie.cold_level_2 - SERPENTID_COLD_THRESHOLD_LEVEL_DOWN specie.heat_level_1 = heat - specie.heat_level_2 = specie.heat_level_1 + up - specie.heat_level_3 = specie.heat_level_2 + up + specie.heat_level_2 = specie.heat_level_1 + SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + specie.heat_level_3 = specie.heat_level_2 + SERPENTID_COLD_THRESHOLD_LEVEL_DOWN //Расширение проков урона и лечения для обращения к компоненту /datum/species/handle_life(mob/living/carbon/human/H) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 0b3be03f8e17..09e2b950508b 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -10,7 +10,8 @@ var/decay_rate = 3 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.25 - var/chem_to_oxy_mult = 30 + var/chem_to_oxy_mult = 0.3 + var/danger_air = FALSE /obj/item/organ/internal/lungs/serpentid/Initialize(mapload) . = ..() @@ -23,6 +24,7 @@ /obj/item/tank/internals/oxygen/serpentid_vault_tank/populate_gas() air_contents.set_oxygen((ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)) + distribute_pressure = distribute_pressure * 1.5 /datum/organ/lungs/serpentid safe_oxygen_min = 21 @@ -95,12 +97,14 @@ var/turf/T = get_turf(owner) var/datum/gas_mixture/environment = get_turf_air(T) var/datum/gas_mixture/breath - breath = owner.serpen_lugns(BREATH_VOLUME) - if(!breath) - var/breath_moles = 0 - if(environment) - breath_moles = environment.total_moles()*BREATH_PERCENTAGE - breath = environment.get_by_amount(breath_moles) + var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] + var/breath_moles = 0 + if(environment) + breath_moles = environment.total_moles()*BREATH_PERCENTAGE + breath = environment.get_by_amount(breath_moles) + danger_air = lung_data.in_danger_zone(breath) + if(danger_air) + breath = owner.serpen_lugns(BREATH_VOLUME) breath_secretion(breath) #define QUANTIZE(variable) (round(variable, 0.0001)) @@ -127,8 +131,6 @@ /obj/item/organ/internal/lungs/serpentid/proc/breath_secretion(datum/gas_mixture/breath) var/can_secretion = owner.get_chemical_value(chemical_id) > chemical_consuption var/danger_state = owner.getOxyLoss() > 0 - var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] - var/danger_air = lung_data.in_danger_zone(breath) var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) if(danger_air) if(!owner.internal) From 0e42c5fb6a99c845999f09ef86afe77b8324ad0b Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 14 Oct 2024 12:59:54 +0300 Subject: [PATCH 045/152] =?UTF-8?q?=D0=A0=D0=B5=D0=B1=D0=B5=D0=BB=D0=B0?= =?UTF-8?q?=D0=BD=D1=81=20=D1=83=D1=80=D0=BE=D0=BD=D0=B0=20=D0=BE=D1=82=20?= =?UTF-8?q?=D1=82=D0=BE=D0=BA=D1=81=D0=B8=D0=BD=D0=BE=D0=B2=20=D0=B8=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?(=D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D1=8B)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/organs/serpentids_organs_ears.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_eyes.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_heart.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_kidneys.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_liver.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_lungs.dm | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index f358f4b3ec2e..19334a4f911c 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -4,7 +4,7 @@ icon = 'modular_ss220/species/serpentids/icons/organs.dmi' icon_state = "ears" desc = "An organ that can sense vibrations." - var/decay_rate = 2 + var/decay_rate = 0.2 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.25 var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EARS diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index f352d0ac1700..6c0193b2477d 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -8,7 +8,7 @@ flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE var/chemical_id = SERPENTID_CHEM_REAGENT_ID - var/decay_rate = 1 + var/decay_rate = 0.1 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.35 var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm index d726d543e220..48d933e55b39 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm @@ -7,7 +7,7 @@ icon_state = "h0_on" desc = "A pair of hearts." var/chemical_id = SERPENTID_CHEM_REAGENT_ID - var/decay_rate = 5 + var/decay_rate = 0.5 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.1 diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index 3b8f022ffcb3..f15129718cd7 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -9,7 +9,7 @@ action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_stealth") var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS - var/decay_rate = 4 + var/decay_rate = 0.4 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.1 var/cloak_engaged = FALSE diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm index bd5a9bf415b3..949408c5f0aa 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_liver.dm @@ -7,7 +7,7 @@ alcohol_intensity = 2 var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/max_value = GAS_ORGAN_CHEMISTRY_MAX - var/decay_rate = 4 + var/decay_rate = 0.4 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.05 diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 09e2b950508b..14a5ec97e03f 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -7,7 +7,7 @@ var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/chemical_consuption = 1 var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank - var/decay_rate = 3 + var/decay_rate = 0.3 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.25 var/chem_to_oxy_mult = 0.3 From 28b9b2913fa8376ceac5124d8329204f0e028335 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 14 Oct 2024 17:13:30 +0300 Subject: [PATCH 046/152] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B0=20=D0=BE=D1=80=D0=B3?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=D0=B2,=20=D0=B4=D0=BE=D0=BF=D0=B8=D0=BB?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B4=D0=B8=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/_serpentids.dme | 2 +- .../species/serpentids/code/common/defines.dm | 4 +- .../organ_actions_component.dm | 37 +--- .../internal/organs/serpentids_organs_ears.dm | 16 +- .../internal/organs/serpentids_organs_eyes.dm | 10 +- .../organs/serpentids_organs_kidneys.dm | 8 +- .../organs/serpentids_organs_lungs.dm | 193 ++++++++++++------ .../species/serpentids/icons/organs.dmi | Bin 13958 -> 12446 bytes 8 files changed, 167 insertions(+), 103 deletions(-) rename modular_ss220/species/serpentids/code/components/{unused => organs}/organ_actions_component.dm (67%) diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index 842a3b773f40..dead58a44b2b 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -11,10 +11,10 @@ #include "code/components/organs/organ_chemistry.dm" #include "code/components/organs/organ_toxins.dm" #include "code/components/organs/heart_defib.dm" +#include "code/components/organs/organ_actions_component.dm" #include "code/components/carapace/carapace.dm" #include "code/components/carapace/carapace_shell.dm" #include "code/components/unused/pair_attack.dm" -#include "code/components/unused/organ_actions_component.dm" #include "code/components/unused/paired_implants.dm" #include "code/components/carrying/grab_and_drag_on_mob_mobs.dm" #include "code/components/carrying/grab_and_drag_on_mob_crates.dm" diff --git a/modular_ss220/species/serpentids/code/common/defines.dm b/modular_ss220/species/serpentids/code/common/defines.dm index 94921ef9d863..0820453691d9 100644 --- a/modular_ss220/species/serpentids/code/common/defines.dm +++ b/modular_ss220/species/serpentids/code/common/defines.dm @@ -1,7 +1,7 @@ #define SERPENTID_CHEM_REAGENT_ID "msg" -#define SERPENTID_CARAPACE_NOARMOR_STATE 60 -#define SERPENTID_CARAPACE_NOCHAMELION_STATE 30 +#define SERPENTID_CARAPACE_NOARMOR_STATE 30 +#define SERPENTID_CARAPACE_NOCHAMELION_STATE 60 #define SERPENTID_CARAPACE_NOPRESSURE_STATE 90 #define SERPENTID_GENE_DEGRADATION_DAMAGE 0.5 diff --git a/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm b/modular_ss220/species/serpentids/code/components/organs/organ_actions_component.dm similarity index 67% rename from modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm rename to modular_ss220/species/serpentids/code/components/organs/organ_actions_component.dm index 08c583f9bf45..1affbc00556e 100644 --- a/modular_ss220/species/serpentids/code/components/unused/organ_actions_component.dm +++ b/modular_ss220/species/serpentids/code/components/organs/organ_actions_component.dm @@ -5,11 +5,6 @@ #define COMSIG_ORGAN_GROUP_ACTION_CALL "open_actions" #define COMSIG_ORGAN_GROUP_ACTION_RESORT "resort_buttons" -#define COMSIG_ORGAN_GROUP_ACTION_ICON "get_return_icon" -#define COMSIG_ORGAN_GROUP_ACTION_STATE "get_return_state" -#define ORGAN_GROUP_ACTION_ICON (1 << 0) -#define ORGAN_GROUP_ACTION_STATE (1 << 0) - /datum/component/organ_action var/obj/item/organ/internal/organ var/radial_additive_state @@ -24,26 +19,10 @@ /datum/component/organ_action/RegisterWithParent() RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL, PROC_REF(open_actions)) RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_RESORT, PROC_REF(resort_buttons)) - RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_ICON, PROC_REF(get_return_icon)) - RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_STATE, PROC_REF(get_return_state)) /datum/component/organ_action/UnregisterFromParent() UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL) UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_RESORT) - UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_ICON) - UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_STATE) - -/datum/component/organ_action/proc/get_return_icon(datum/source, return_icon) - SIGNAL_HANDLER - - return_icon = radial_additive_icon - return ORGAN_GROUP_ACTION_ICON - -/datum/component/organ_action/proc/get_return_state(datum/source, return_state) - SIGNAL_HANDLER - - return_state = radial_additive_state - return ORGAN_GROUP_ACTION_STATE /datum/component/organ_action/proc/check_actions(mob/user) @@ -58,12 +37,8 @@ organs_list += O for(var/obj/item/organ/internal/I in organs_list) - var/datum/component/organ_action/return_state - var/datum/component/organ_action/return_icon - var/icon_override_returns = SEND_SIGNAL(user, COMSIG_ORGAN_GROUP_ACTION_ICON, return_icon) - var/state_override_returns = SEND_SIGNAL(user, COMSIG_ORGAN_GROUP_ACTION_STATE, return_state) - if((icon_override_returns & ORGAN_GROUP_ACTION_ICON) && (state_override_returns & ORGAN_GROUP_ACTION_STATE)) - choices["[I.name]"] = image(icon = return_icon.radial_additive_icon, icon_state = return_state.radial_additive_state) + if(I.radial_action_state && I.radial_action_icon) + choices["[I.name]"] = image(icon = I.radial_action_icon, icon_state = I.radial_action_state) var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, PROC_REF(check_actions), user)) if(!check_actions(user)) @@ -85,7 +60,7 @@ var/list/organs_list = list() if(organ.owner) for(var/obj/item/organ/internal/O in organ.owner.internal_organs) - if(length(O.actions_types.len) > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) + if(length(O.actions_types) > 0 && !istype(O, /obj/item/organ/internal/cyberimp)) organs_list += O for(var/obj/item/organ/internal/O in organs_list) @@ -100,6 +75,10 @@ action_candidate.Grant(organ.owner) break +/obj/item/organ/internal + var/radial_action_state + var/radial_action_icon + /obj/item/organ/internal/insert(mob/living/carbon/M, special = 0, dont_remove_slot = 0) . = .. () SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) @@ -109,5 +88,5 @@ SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_RESORT) /obj/item/organ/internal/ui_action_click() - SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_CALL, owner) + SEND_SIGNAL(src, COMSIG_ORGAN_GROUP_ACTION_CALL, user = owner) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 19334a4f911c..62efc896dce0 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -4,24 +4,38 @@ icon = 'modular_ss220/species/serpentids/icons/organs.dmi' icon_state = "ears" desc = "An organ that can sense vibrations." + actions_types = list(/datum/action/item_action/organ_action/toggle) + action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") var/decay_rate = 0.2 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.25 var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EARS var/chemical_id = SERPENTID_CHEM_REAGENT_ID + var/active = FALSE + radial_action_state = "gas_hear" + radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' /obj/item/organ/internal/ears/serpentid/Initialize(mapload) . = ..() AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) AddComponent(/datum/component/chemistry_organ, chemical_id) + AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) /obj/item/organ/internal/ears/serpentid/on_life() .=..() - if(chemical_consuption <= owner.get_chemical_value(chemical_id)) + if(chemical_consuption <= owner.get_chemical_value(chemical_id) && active) if(prob(((max_damage - damage)/max_damage) * 100)) sense_creatures() +/obj/item/organ/internal/ears/serpentid/switch_mode(force_off = FALSE) + .=..() + if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) + active = TRUE + else + active = FALSE + /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() var/last_movement_threshold = 5 SECONDS for(var/mob/living/creature in range(9, owner)) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 6c0193b2477d..6435fb22d950 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -4,7 +4,10 @@ icon = 'modular_ss220/species/serpentids/icons/organs.dmi' desc = "A large looking eyes with some chemical enchanments." icon_state = "eyes01" - see_in_dark = 8 + see_in_dark = 0 + actions_types = list(/datum/action/item_action/organ_action/toggle) + action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") flash_protect = FLASH_PROTECTION_EXTRA_SENSITIVE tint = FLASH_PROTECTION_NONE var/chemical_id = SERPENTID_CHEM_REAGENT_ID @@ -14,13 +17,15 @@ var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES var/vision_ajust_coefficient = 0.4 var/update_time_client_colour = 10 - + radial_action_state = "eyes02" + radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' /obj/item/organ/internal/eyes/serpentid/Initialize(mapload) . = ..() AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) AddComponent(/datum/component/chemistry_organ, chemical_id) + AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) //Прок на получение цвета глаз /obj/item/organ/internal/eyes/serpentid/generate_icon(mob/living/carbon/human/HA) @@ -37,7 +42,6 @@ if(!isnull(owner)) var/mob/mob = owner mob.update_client_colour(time = update_time_client_colour) - switch_mode() /obj/item/organ/internal/eyes/serpentid/get_colourmatrix() var/chem_value = (owner.get_chemical_value(chemical_id) + GAS_ORGAN_CHEMISTRY_MAX/2)/GAS_ORGAN_CHEMISTRY_MAX diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm index f15129718cd7..5e74b5d9717a 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_kidneys.dm @@ -6,22 +6,22 @@ desc = "A large looking organ, that can inject chemicals." actions_types = list(/datum/action/item_action/organ_action/toggle) action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') - action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_stealth") + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/chemical_consuption = GAS_ORGAN_CHEMISTRY_KIDNEYS var/decay_rate = 0.4 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.1 var/cloak_engaged = FALSE + radial_action_state = "gas_stealth" + radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' /obj/item/organ/internal/kidneys/serpentid/Initialize(mapload) . = ..() AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) AddComponent(/datum/component/chemistry_organ, chemical_id) - -/obj/item/organ/internal/kidneys/serpentid/ui_action_click() - switch_mode() + AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) /obj/item/organ/internal/kidneys/serpentid/on_life() . = .. () diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 14a5ec97e03f..1bbacd34cf38 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -4,6 +4,9 @@ icon = 'icons/obj/species_organs/unathi.dmi' organ_datums = list(/datum/organ/lungs/serpentid) desc = "A large looking lugns with big breating bag." + actions_types = list(/datum/action/item_action/organ_action/toggle) + action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/chemical_consuption = 1 var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank @@ -12,15 +15,18 @@ var/organ_process_toxins = 0.25 var/chem_to_oxy_mult = 0.3 var/danger_air = FALSE + radial_action_state = "tank" + radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' /obj/item/organ/internal/lungs/serpentid/Initialize(mapload) . = ..() AddComponent(/datum/component/organ_decay, decay_rate, decay_recovery) AddComponent(/datum/component/organ_toxin_damage, organ_process_toxins) + AddComponent(/datum/component/organ_action, caller_organ = src, state = radial_action_state, icon = radial_action_icon) /obj/item/tank/internals/oxygen/serpentid_vault_tank name = "serpentid oxygen vault" - volume = 1 + volume = 5 /obj/item/tank/internals/oxygen/serpentid_vault_tank/populate_gas() air_contents.set_oxygen((ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)) @@ -38,6 +44,125 @@ heat_level_2_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + SERPENTID_HEAT_THRESHOLD_LEVEL_UP heat_level_3_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + 2*SERPENTID_HEAT_THRESHOLD_LEVEL_UP +/obj/item/tank/internals/oxygen/serpentid_vault_tank/populate_gas() + air_contents.set_oxygen((ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)) + distribute_pressure = distribute_pressure * 1.5 + +/obj/item/organ/internal/lungs/serpentid/switch_mode(force_off = FALSE) + .=..() + if(owner.internal != serpentid_vault) + owner.internal = serpentid_vault + else + owner.internal = null + +/obj/item/organ/internal/lungs/serpentid/on_life() + .=..() + SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) + var/can_secretion = owner.get_chemical_value(chemical_id) > chemical_consuption + var/danger_state = owner.getOxyLoss() > 0 + var/datum/reagent/chemical = owner.get_chemical_path(chemical_id) + var/datum/gas_mixture/breath + var/datum/organ/lungs/serpentid/lung_data = organ_datums[organ_tag] + var/breath_moles = 0 + var/turf/T = get_turf(owner) + var/datum/gas_mixture/environment = get_turf_air(T) + + if(environment) + breath_moles = environment.total_moles()*BREATH_PERCENTAGE + breath = environment.get_by_amount(breath_moles) + danger_air = lung_data.in_danger_zone(breath) + + if(danger_state && can_secretion) + var/mob/living/carbon/human/human_owner = owner + human_owner.reagents.add_reagent("salbutamol", chemical_consuption) + chemical.holder.remove_reagent(chemical_id, chemical_consuption) + + if(danger_air && (owner.stat == UNCONSCIOUS)) + if(!owner.internal) + owner.internal = serpentid_vault + else if (!danger_air && owner.internal == serpentid_vault) + owner.internal = null + + var/datum/gas_mixture/int_tank_air = serpentid_vault.air_contents + var/pressure_value = int_tank_air.return_pressure() + if(pressure_value < 100) + var/replenish_value = 0 + if(danger_air && can_secretion) + replenish_value = chemical_consuption * chem_to_oxy_mult + chemical.holder.remove_reagent(chemical_id, chemical_consuption) + if(!danger_air) + if(environment) + breath_moles = environment.total_moles()*BREATH_PERCENTAGE + var/datum/gas_mixture/replenish_gas = environment.get_by_amount(breath_moles) + replenish_value = replenish_gas.private_oxygen + var/oxygen_value = ((ONE_ATMOSPHERE) * serpentid_vault.volume * replenish_value + pressure_value) + var/gas_mix_value = (R_IDEAL_GAS_EQUATION * T20C) + var/value_to_replenish = ( oxygen_value / gas_mix_value ) + if(value_to_replenish > 0) + serpentid_vault.air_contents.set_oxygen(value_to_replenish) + +//Без этого псевдо-баллон не работает (отрубается так как не проходит проверки основы) +/mob/living/carbon/breathe(datum/gas_mixture/environment) + var/obj/item/organ/internal/lungs/lugns = null + for(var/obj/item/organ/internal/O in src.internal_organs) + if(istype(O, /obj/item/organ/internal/lungs)) + lugns = O + if(istype(lugns, /obj/item/organ/internal/lungs/serpentid)) + var/obj/item/organ/internal/lungs/serpentid/serpentid_lungs = lugns + if(src.internal == serpentid_lungs.serpentid_vault) + var/mob/living/carbon/human/puppet = src + var/breath = puppet.serpen_lugns(BREATH_VOLUME) + check_breath(breath) + if(breath) + environment.merge(breath) + if(ishuman(src) && !internal && environment.temperature() < 273 && environment.return_pressure() > 20) //foggy breath :^) + new /obj/effect/frosty_breath(loc, src) + + return + . = ..() + +/mob/living/carbon/human/proc/serpen_lugns(volume_needed) + if(internal) + return internal.remove_air_volume(volume_needed) + return null + +#define QUANTIZE(variable) (round(variable, 0.0001)) +/datum/gas_mixture/proc/get_by_amount(amount) + + var/sum = total_moles() + amount = min(amount, sum) //Can not take more air than tile has! + if(amount <= 0) + return null + + var/datum/gas_mixture/atmo_value = new + + atmo_value.private_oxygen = QUANTIZE((private_oxygen / sum) * amount) + atmo_value.private_nitrogen = QUANTIZE((private_nitrogen/ sum) * amount) + atmo_value.private_carbon_dioxide = QUANTIZE((private_carbon_dioxide / sum) * amount) + atmo_value.private_toxins = QUANTIZE((private_toxins / sum) * amount) + atmo_value.private_sleeping_agent = QUANTIZE((private_sleeping_agent / sum) * amount) + atmo_value.private_agent_b = QUANTIZE((private_agent_b / sum) * amount) + atmo_value.private_temperature = private_temperature + + return atmo_value +#undef QUANTIZE + +/obj/item/organ/internal/lungs/serpentid/proc/get_turf_air(turf/T) + RETURN_TYPE(/datum/gas_mixture) + // This is one of two intended places to call this otherwise-unsafe proc. + var/datum/gas_mixture/bound_to_turf/air = T.private_unsafe_get_air() + if(air.lastread < SSair.times_fired) + var/list/milla_tile = new/list(MILLA_TILE_SIZE) + get_tile_atmos(T, milla_tile) + air.copy_from_milla(milla_tile) + air.lastread = SSair.times_fired + air.readonly = null + air.dirty = FALSE + if(!air.synchronized) + air.synchronized = TRUE + SSair.bound_mixtures += air + return air + /datum/organ/lungs/serpentid/proc/in_danger_zone(datum/gas_mixture/breath) //Получение данных @@ -74,22 +199,10 @@ var/danger_zone = O2_pp || N2_pp || Toxins_pp || CO2_pp || SA_pp return danger_zone +/* + + -/obj/item/organ/internal/lungs/serpentid/proc/get_turf_air(turf/T) - RETURN_TYPE(/datum/gas_mixture) - // This is one of two intended places to call this otherwise-unsafe proc. - var/datum/gas_mixture/bound_to_turf/air = T.private_unsafe_get_air() - if(air.lastread < SSair.times_fired) - var/list/milla_tile = new/list(MILLA_TILE_SIZE) - get_tile_atmos(T, milla_tile) - air.copy_from_milla(milla_tile) - air.lastread = SSair.times_fired - air.readonly = null - air.dirty = FALSE - if(!air.synchronized) - air.synchronized = TRUE - SSair.bound_mixtures += air - return air /obj/item/organ/internal/lungs/serpentid/on_life() .=..() @@ -107,26 +220,7 @@ breath = owner.serpen_lugns(BREATH_VOLUME) breath_secretion(breath) -#define QUANTIZE(variable) (round(variable, 0.0001)) -/datum/gas_mixture/proc/get_by_amount(amount) - - var/sum = total_moles() - amount = min(amount, sum) //Can not take more air than tile has! - if(amount <= 0) - return null - - var/datum/gas_mixture/atmo_value = new - - atmo_value.private_oxygen = QUANTIZE((private_oxygen / sum) * amount) - atmo_value.private_nitrogen = QUANTIZE((private_nitrogen/ sum) * amount) - atmo_value.private_carbon_dioxide = QUANTIZE((private_carbon_dioxide / sum) * amount) - atmo_value.private_toxins = QUANTIZE((private_toxins / sum) * amount) - atmo_value.private_sleeping_agent = QUANTIZE((private_sleeping_agent / sum) * amount) - atmo_value.private_agent_b = QUANTIZE((private_agent_b / sum) * amount) - atmo_value.private_temperature = private_temperature - return atmo_value -#undef QUANTIZE /obj/item/organ/internal/lungs/serpentid/proc/breath_secretion(datum/gas_mixture/breath) var/can_secretion = owner.get_chemical_value(chemical_id) > chemical_consuption @@ -160,35 +254,8 @@ if(value_to_replenish > 0) serpentid_vault.air_contents.set_oxygen(value_to_replenish) - if(danger_state && can_secretion) var/mob/living/carbon/human/human_owner = owner human_owner.reagents.add_reagent("salbutamol", chemical_consuption) chemical.holder.remove_reagent(chemical_id, chemical_consuption) - -//Без этого псевдо-баллон не работает (отрубается так как не проходит проверки основы) -/mob/living/carbon/breathe(datum/gas_mixture/environment) - var/obj/item/organ/internal/lungs/lugns = null - for(var/obj/item/organ/internal/O in src.internal_organs) - if(istype(O, /obj/item/organ/internal/lungs)) - lugns = O - if(istype(lugns, /obj/item/organ/internal/lungs/serpentid)) - var/obj/item/organ/internal/lungs/serpentid/serpentid_lungs = lugns - if(src.internal == serpentid_lungs.serpentid_vault) - var/mob/living/carbon/human/puppet = src - var/breath = puppet.serpen_lugns(BREATH_VOLUME) - - check_breath(breath) - if(breath) - environment.merge(breath) - if(ishuman(src) && !internal && environment.temperature() < 273 && environment.return_pressure() > 20) //foggy breath :^) - new /obj/effect/frosty_breath(loc, src) - - return - . = ..() - -/mob/living/carbon/human/proc/serpen_lugns(volume_needed) - if(internal) - return internal.remove_air_volume(volume_needed) - return null - +*/ diff --git a/modular_ss220/species/serpentids/icons/organs.dmi b/modular_ss220/species/serpentids/icons/organs.dmi index 301b1e970fad82c9387ae9761efc91d9de1fcbdd..b14a9dc0ca1bbf3ca8f88c2fc00a4a8b61329e9c 100644 GIT binary patch literal 12446 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 Nb!APZas|_n{{`2jTnPXG literal 13958 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%0DnN@fs9+oF_g#S#7&0O-AH`Sy{ckJr&BB#Db$ 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 Q|79RGrPqqJ@)n{03)1FGH2?qr From 4c13f246bef26a5e63e9843f2078421094eecc52 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 14 Oct 2024 20:19:10 +0300 Subject: [PATCH 047/152] =?UTF-8?q?=D0=A2=D0=B2=D0=B8=D0=BA=20=D0=B1=D0=B0?= =?UTF-8?q?=D0=BB=D0=BB=D0=BE=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organs/serpentids_organs_lungs.dm | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 1bbacd34cf38..2319f2e9cfa4 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -13,8 +13,9 @@ var/decay_rate = 0.3 var/decay_recovery = BASIC_RECOVER_VALUE var/organ_process_toxins = 0.25 - var/chem_to_oxy_mult = 0.3 + var/chem_to_oxy_mult = 0.1 var/danger_air = FALSE + var/hand_active = FALSE radial_action_state = "tank" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' @@ -29,8 +30,8 @@ volume = 5 /obj/item/tank/internals/oxygen/serpentid_vault_tank/populate_gas() - air_contents.set_oxygen((ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)) - distribute_pressure = distribute_pressure * 1.5 + air_contents.set_oxygen((0.5 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)) + distribute_pressure = 22 /datum/organ/lungs/serpentid safe_oxygen_min = 21 @@ -44,16 +45,14 @@ heat_level_2_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + SERPENTID_HEAT_THRESHOLD_LEVEL_UP heat_level_3_threshold = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + 2*SERPENTID_HEAT_THRESHOLD_LEVEL_UP -/obj/item/tank/internals/oxygen/serpentid_vault_tank/populate_gas() - air_contents.set_oxygen((ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C)) - distribute_pressure = distribute_pressure * 1.5 - /obj/item/organ/internal/lungs/serpentid/switch_mode(force_off = FALSE) .=..() - if(owner.internal != serpentid_vault) + if(!hand_active) owner.internal = serpentid_vault + hand_active = TRUE else owner.internal = null + hand_active = FALSE /obj/item/organ/internal/lungs/serpentid/on_life() .=..() @@ -77,15 +76,16 @@ human_owner.reagents.add_reagent("salbutamol", chemical_consuption) chemical.holder.remove_reagent(chemical_id, chemical_consuption) - if(danger_air && (owner.stat == UNCONSCIOUS)) - if(!owner.internal) - owner.internal = serpentid_vault - else if (!danger_air && owner.internal == serpentid_vault) - owner.internal = null + if (!hand_active) + if(danger_air && (owner.stat == UNCONSCIOUS)) + if(!owner.internal) + owner.internal = serpentid_vault + else if (!danger_air && owner.internal == serpentid_vault) + owner.internal = null var/datum/gas_mixture/int_tank_air = serpentid_vault.air_contents var/pressure_value = int_tank_air.return_pressure() - if(pressure_value < 100) + if(pressure_value < 50) var/replenish_value = 0 if(danger_air && can_secretion) replenish_value = chemical_consuption * chem_to_oxy_mult @@ -95,11 +95,11 @@ breath_moles = environment.total_moles()*BREATH_PERCENTAGE var/datum/gas_mixture/replenish_gas = environment.get_by_amount(breath_moles) replenish_value = replenish_gas.private_oxygen - var/oxygen_value = ((ONE_ATMOSPHERE) * serpentid_vault.volume * replenish_value + pressure_value) - var/gas_mix_value = (R_IDEAL_GAS_EQUATION * T20C) + var/oxygen_value = (0.5 * ONE_ATMOSPHERE) * serpentid_vault.volume * replenish_value + var/gas_mix_value = R_IDEAL_GAS_EQUATION * T20C var/value_to_replenish = ( oxygen_value / gas_mix_value ) if(value_to_replenish > 0) - serpentid_vault.air_contents.set_oxygen(value_to_replenish) + serpentid_vault.air_contents.set_oxygen(serpentid_vault.air_contents.oxygen() + value_to_replenish) //Без этого псевдо-баллон не работает (отрубается так как не проходит проверки основы) /mob/living/carbon/breathe(datum/gas_mixture/environment) From e9e7913183f6d0f1826e543ed88e079ad1c13ea6 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 14 Oct 2024 20:22:25 +0300 Subject: [PATCH 048/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../code/organs/internal/organs/serpentids_organs_lungs.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 2319f2e9cfa4..f04f2109d9a8 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -76,11 +76,11 @@ human_owner.reagents.add_reagent("salbutamol", chemical_consuption) chemical.holder.remove_reagent(chemical_id, chemical_consuption) - if (!hand_active) + if(!hand_active) if(danger_air && (owner.stat == UNCONSCIOUS)) if(!owner.internal) owner.internal = serpentid_vault - else if (!danger_air && owner.internal == serpentid_vault) + else if(!danger_air && owner.internal == serpentid_vault) owner.internal = null var/datum/gas_mixture/int_tank_air = serpentid_vault.air_contents From 1064e184ec113b1853cc90c01bccd680b822cbc8 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Mon, 14 Oct 2024 20:37:21 +0300 Subject: [PATCH 049/152] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D1=8D=D0=BC=D0=BE=D1=83=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/common/emotes.dm | 31 +++++++++++-------- .../serpentids/code/common/serpentids.dm | 26 ++++++++++++---- 2 files changed, 38 insertions(+), 19 deletions(-) diff --git a/modular_ss220/species/serpentids/code/common/emotes.dm b/modular_ss220/species/serpentids/code/common/emotes.dm index f0df94aac25d..6f1f38c54c09 100644 --- a/modular_ss220/species/serpentids/code/common/emotes.dm +++ b/modular_ss220/species/serpentids/code/common/emotes.dm @@ -1,28 +1,23 @@ -/mob/living/carbon/human/proc/emote_gbsroar() +/mob/living/carbon/human/verb/emote_gbsroar() set name = "< " + EMOTE_HUMAN_ROAR + " >" set category = "Эмоции" emote("gbsroar", intentional = TRUE) -/mob/living/carbon/human/proc/emote_gbshiss() +/mob/living/carbon/human/verb/emote_gbshiss() set name = "< " + EMOTE_HUMAN_HISS + " >" set category = "Эмоции" emote("gbshiss", intentional = TRUE) -/mob/living/carbon/human/proc/emote_gbswhip() - set name = "< " + EMOTE_HUMAN_WHIP + " >" - set category = "Эмоции" - emote("gbswhip", intentional = TRUE) - -/mob/living/carbon/human/proc/emote_gbswhips() - set name = "< " + EMOTE_HUMAN_WHIPS + " >" - set category = "Эмоции" - emote("gbswhips", intentional = TRUE) - -/mob/living/carbon/human/proc/emote_gbswiggles() +/mob/living/carbon/human/verb/emote_gbswiggles() set name = "< " + EMOTE_HUMAN_WIGGLES + " >" set category = "Эмоции" emote("gbswiggles", intentional = TRUE) +/mob/living/carbon/human/verb/emote_gbsblink() + set name = "< " + EMOTE_CARBON_BLINK + " >" + set category = "Эмоции" + emote("gbsblink", intentional = TRUE) + /datum/emote/living/carbon/human/roar/gbs key = "gbsroar" key_third_person = "gbsroar" @@ -63,3 +58,13 @@ volume = 80 muzzled_noises = list("слабо") sound = 'modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg' + +/datum/emote/living/carbon/human/blink/gbs + key = "gbsblink" + key_third_person = "gbsblink" + message = "протирает клинками глаза." + message_param = "протирает клинками глаза в сторону %t." + cooldown = 5 SECONDS + species_type_whitelist_typecache = list(/datum/species/serpentid) + emote_type = EMOTE_VISIBLE | EMOTE_MOUTH + age_based = TRUE diff --git a/modular_ss220/species/serpentids/code/common/serpentids.dm b/modular_ss220/species/serpentids/code/common/serpentids.dm index a39e0db40c0d..7ff846bbc116 100644 --- a/modular_ss220/species/serpentids/code/common/serpentids.dm +++ b/modular_ss220/species/serpentids/code/common/serpentids.dm @@ -157,17 +157,31 @@ H.AddComponent(/datum/component/mob_overlay_shift, shift_y_hand = 3, shift_xs_belt = 5, shift_y_belt = 7, shift_y_back = 7, shift_y_head = 10, shift_xs_head = 3) //shift_xs_hand = 12 H.AddComponent(/datum/component/gadom_living) H.AddComponent(/datum/component/gadom_cargo) - H.verbs += /mob/living/carbon/human/proc/emote_gbsroar - H.verbs += /mob/living/carbon/human/proc/emote_gbshiss - H.verbs += /mob/living/carbon/human/proc/emote_gbswiggles + H.verbs |= /mob/living/carbon/human/verb/emote_gbsroar + H.verbs |= /mob/living/carbon/human/verb/emote_gbshiss + H.verbs |= /mob/living/carbon/human/verb/emote_gbswiggles + H.verbs |= /mob/living/carbon/human/verb/emote_gbsblink + H.verbs -= /mob/living/carbon/human/verb/emote_cough + H.verbs -= /mob/living/carbon/human/verb/emote_sneeze + H.verbs -= /mob/living/carbon/human/verb/emote_sniff + H.verbs -= /mob/living/carbon/human/verb/emote_snore + H.verbs -= /mob/living/carbon/human/verb/emote_blink + H.verbs -= /mob/living/carbon/human/verb/emote_blink_r H.chat_message_y_offset = 11 SEND_SIGNAL(H, COMSIG_MOB_OVERLAY_SHIFT_UPDATE) /datum/species/moth/on_species_loss(mob/living/carbon/human/H) ..() - H.verbs -= /mob/living/carbon/human/proc/emote_gbsroar - H.verbs -= /mob/living/carbon/human/proc/emote_gbshiss - H.verbs -= /mob/living/carbon/human/proc/emote_gbswiggles + H.verbs -= /mob/living/carbon/human/verb/emote_gbsroar + H.verbs -= /mob/living/carbon/human/verb/emote_gbshiss + H.verbs -= /mob/living/carbon/human/verb/emote_gbswiggles + H.verbs -= /mob/living/carbon/human/verb/emote_gbsblink + H.verbs |= /mob/living/carbon/human/verb/emote_cough + H.verbs |= /mob/living/carbon/human/verb/emote_sneeze + H.verbs |= /mob/living/carbon/human/verb/emote_sniff + H.verbs |= /mob/living/carbon/human/verb/emote_snore + H.verbs |= /mob/living/carbon/human/verb/emote_blink + H.verbs |= /mob/living/carbon/human/verb/emote_blink_r //Работа с инвентарем /datum/species/serpentid/can_equip(obj/item/I, slot, disable_warning = FALSE, mob/living/carbon/human/H) From 8802f7f0779d8a768c097822277f00ab6e02c3c4 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 15 Oct 2024 08:06:09 +0300 Subject: [PATCH 050/152] =?UTF-8?q?=D0=9E=D1=82=D0=BA=D0=B0=D1=82=20=D1=8D?= =?UTF-8?q?=D0=BC=D0=BE=D1=83=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/common/emotes.dm | 15 --------------- .../species/serpentids/code/common/serpentids.dm | 2 -- 2 files changed, 17 deletions(-) diff --git a/modular_ss220/species/serpentids/code/common/emotes.dm b/modular_ss220/species/serpentids/code/common/emotes.dm index 6f1f38c54c09..6b25dd7517f7 100644 --- a/modular_ss220/species/serpentids/code/common/emotes.dm +++ b/modular_ss220/species/serpentids/code/common/emotes.dm @@ -13,11 +13,6 @@ set category = "Эмоции" emote("gbswiggles", intentional = TRUE) -/mob/living/carbon/human/verb/emote_gbsblink() - set name = "< " + EMOTE_CARBON_BLINK + " >" - set category = "Эмоции" - emote("gbsblink", intentional = TRUE) - /datum/emote/living/carbon/human/roar/gbs key = "gbsroar" key_third_person = "gbsroar" @@ -58,13 +53,3 @@ volume = 80 muzzled_noises = list("слабо") sound = 'modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg' - -/datum/emote/living/carbon/human/blink/gbs - key = "gbsblink" - key_third_person = "gbsblink" - message = "протирает клинками глаза." - message_param = "протирает клинками глаза в сторону %t." - cooldown = 5 SECONDS - species_type_whitelist_typecache = list(/datum/species/serpentid) - emote_type = EMOTE_VISIBLE | EMOTE_MOUTH - age_based = TRUE diff --git a/modular_ss220/species/serpentids/code/common/serpentids.dm b/modular_ss220/species/serpentids/code/common/serpentids.dm index 7ff846bbc116..1a52256aea20 100644 --- a/modular_ss220/species/serpentids/code/common/serpentids.dm +++ b/modular_ss220/species/serpentids/code/common/serpentids.dm @@ -160,7 +160,6 @@ H.verbs |= /mob/living/carbon/human/verb/emote_gbsroar H.verbs |= /mob/living/carbon/human/verb/emote_gbshiss H.verbs |= /mob/living/carbon/human/verb/emote_gbswiggles - H.verbs |= /mob/living/carbon/human/verb/emote_gbsblink H.verbs -= /mob/living/carbon/human/verb/emote_cough H.verbs -= /mob/living/carbon/human/verb/emote_sneeze H.verbs -= /mob/living/carbon/human/verb/emote_sniff @@ -175,7 +174,6 @@ H.verbs -= /mob/living/carbon/human/verb/emote_gbsroar H.verbs -= /mob/living/carbon/human/verb/emote_gbshiss H.verbs -= /mob/living/carbon/human/verb/emote_gbswiggles - H.verbs -= /mob/living/carbon/human/verb/emote_gbsblink H.verbs |= /mob/living/carbon/human/verb/emote_cough H.verbs |= /mob/living/carbon/human/verb/emote_sneeze H.verbs |= /mob/living/carbon/human/verb/emote_sniff From 6b4ed1560afcd8f72bb9841522e288fa1b46d0b8 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 15 Oct 2024 08:14:06 +0300 Subject: [PATCH 051/152] =?UTF-8?q?=D0=A0=D0=B5=D0=B2=D1=8C=D1=8E=20=D0=B8?= =?UTF-8?q?=20=D1=82=D0=B2=D0=B8=D0=BA=20=D1=80=D0=B0=D1=85=D0=BE=D0=B4?= =?UTF-8?q?=D0=B0=20=D0=B2=D0=B5=D1=89=D0=B5=D1=81=D1=82=D0=B2=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/serpentids/code/common/defines.dm | 4 ++-- .../code/organs/internal/organs/serpentids_organs_eyes.dm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modular_ss220/species/serpentids/code/common/defines.dm b/modular_ss220/species/serpentids/code/common/defines.dm index 0820453691d9..2e7dd7fa62cd 100644 --- a/modular_ss220/species/serpentids/code/common/defines.dm +++ b/modular_ss220/species/serpentids/code/common/defines.dm @@ -17,8 +17,8 @@ #define GAS_ORGAN_CHEMISTRY_LUNGS 1 #define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.5 -#define GAS_ORGAN_CHEMISTRY_EYES 0.01 -#define GAS_ORGAN_CHEMISTRY_EARS 0.01 +#define GAS_ORGAN_CHEMISTRY_EYES 0.05 +#define GAS_ORGAN_CHEMISTRY_EARS 0.1 #define SERPENTID_CHEM_MULT_CONSUPTION 0.75 #define SERPENTID_CHEM_MULT_PRODUCTION 0.6 diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 6435fb22d950..e6c83beffdc8 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -59,8 +59,8 @@ /obj/item/organ/internal/eyes/serpentid/switch_mode(force_off = FALSE) .=..() if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) - see_in_dark = initial(see_in_dark) + see_in_dark = 8 chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES + GAS_ORGAN_CHEMISTRY_EYES * (max_damage - damage / max_damage) else - see_in_dark = 0 + see_in_dark = initial(see_in_dark) chemical_consuption = 0 From e2b387df0d2571236138ab6c347dbc4e9f32331a Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 15 Oct 2024 08:26:24 +0300 Subject: [PATCH 052/152] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B2=D1=8C?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/components/carapace/carapace.dm | 4 +--- .../code/components/carrying/grab_and_drag_on_mob_crates.dm | 4 ++-- .../code/components/carrying/grab_and_drag_on_mob_mobs.dm | 4 ++-- .../species/serpentids/code/components/organs/heart_defib.dm | 2 +- .../species/serpentids/code/components/organs/organ_decay.dm | 3 ++- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/modular_ss220/species/serpentids/code/components/carapace/carapace.dm b/modular_ss220/species/serpentids/code/components/carapace/carapace.dm index e7eb4b8e1ec2..1f8f8c8c5c06 100644 --- a/modular_ss220/species/serpentids/code/components/carapace/carapace.dm +++ b/modular_ss220/species/serpentids/code/components/carapace/carapace.dm @@ -64,9 +64,7 @@ /datum/component/carapace/proc/heal_damage(affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) if((limb.status & ORGAN_BROKEN) && limb.get_damage() == 0) - if(self_medning) - limb.mend_fracture() - else if(prob(CARAPACE_HEAL_BROKEN_PROB)) + else if(self_medning || prob(CARAPACE_HEAL_BROKEN_PROB)) limb.mend_fracture() //Расширение проков урона и лечения для обращения к компоненту diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm index 30bf34a3bc8e..806748ce1703 100644 --- a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm @@ -5,6 +5,7 @@ #define COMSIG_GADOM_UNMOB_LOAD "try_load_cargo" #define COMSIG_GADOM_UNMOB_UNLOAD "try_unload_cargo" +#define GADOM_BASIC_LOAD_TIMER_CRATE 2 SECONDS #define COMSIG_GADOM_UNMOB_CAN_GRAB "block_operation" #define GADOM_UNMOB_ALLOW_TO_GRAB (1<<0) @@ -45,7 +46,6 @@ if(old_z != dest_z) onTransitZ(old_z, dest_z) - Moved(old_loc, NONE) return TRUE @@ -79,7 +79,7 @@ return if(!istype(AM)) return - if(!do_after(user, 20 * user.dna.species.action_mult, FALSE, AM)) + if(!do_after(user, GADOM_BASIC_LOAD_TIMER_CRATE * user.dna.species.action_mult, FALSE, AM)) return load(AM) diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm index 00f7bc5935aa..83fe980e5dfa 100644 --- a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm @@ -5,7 +5,7 @@ #define COMSIG_GADOM_MOB_LOAD "try_load_mob" #define COMSIG_GADOM_MOB_UNLOAD "try_unload_mob" - +#define GADOM_BASIC_LOAD_TIMER_MOB 2 SECONDS #define COMSIG_GADOM_MOB_CAN_GRAB "block_operation" #define GADOM_MOB_ALLOW_TO_GRAB (1<<0) @@ -44,7 +44,7 @@ return if(!istype(target)) return - if(do_after(puppet, 2 SECONDS * puppet.dna.species.action_mult, FALSE, target)) + if(do_after(puppet, GADOM_BASIC_LOAD_TIMER_MOB * puppet.dna.species.action_mult, FALSE, target)) load(puppet, target) diff --git a/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm b/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm index 54635600f7c7..04605a10b7da 100644 --- a/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm +++ b/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm @@ -20,7 +20,7 @@ if(!(owner)) var/obj/item/organ/internal/limb = parent owner = limb.owner - else if(owner.get_chemical_value(chemical_id) >= 0 && owner.stat == DEAD && owner.get_damage_amount() <= 100) + else if(owner.get_chemical_value(chemical_id) >= 0 && owner.stat == DEAD && owner.get_damage_amount() <= SERPENTID_CARAPACE_NOPRESSURE_STATE) var/defib_chance = owner.get_chemical_value(chemical_id) var/datum/reagent/chem = owner.get_chemical_path(chemical_id) if(chem) diff --git a/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm b/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm index 3f165749ac0a..3db20e5eb9a7 100644 --- a/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm +++ b/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm @@ -7,6 +7,7 @@ #define BASIC_RECOVER_VALUE 0.02 #define BASIC_DECAY_VALUE 0.5 +#define ORGAN_RECOVERY_THRESHOLD 4 //25% /datum/component/organ_decay var/obj/item/organ/internal/organ = null @@ -34,5 +35,5 @@ var/is_destroying = (is_dead || (is_no_owner && !organ.is_in_freezer)) if(is_destroying) organ.receive_damage(decay_rate, 1) - if((organ.damage <= (organ.max_damage / 4)) && (organ.damage > 0) && !is_destroying) + if((organ.damage <= (organ.max_damage / ORGAN_RECOVERY_THRESHOLD)) && (organ.damage > 0) && !is_destroying) organ.heal_internal_damage(recover_rate, FALSE) From 58dbe3993ce82981909755a1b83b42ae7606923e Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 15 Oct 2024 08:29:44 +0300 Subject: [PATCH 053/152] =?UTF-8?q?=D0=A7=D0=B8=D1=81=D1=82=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/components/carapace/carapace.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/species/serpentids/code/components/carapace/carapace.dm b/modular_ss220/species/serpentids/code/components/carapace/carapace.dm index 1f8f8c8c5c06..866d97bc8a97 100644 --- a/modular_ss220/species/serpentids/code/components/carapace/carapace.dm +++ b/modular_ss220/species/serpentids/code/components/carapace/carapace.dm @@ -64,7 +64,7 @@ /datum/component/carapace/proc/heal_damage(affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) if((limb.status & ORGAN_BROKEN) && limb.get_damage() == 0) - else if(self_medning || prob(CARAPACE_HEAL_BROKEN_PROB)) + if(self_medning || prob(CARAPACE_HEAL_BROKEN_PROB)) limb.mend_fracture() //Расширение проков урона и лечения для обращения к компоненту From 7f7452b8394a670602164d38fc7279906a0dbb0c Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 15 Oct 2024 17:17:27 +0300 Subject: [PATCH 054/152] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=BD=D0=B5=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80?= =?UTF-8?q?=D1=8B=20=D0=BF=D0=B0=D0=BF=D0=BA=D0=B8=20=D0=B2=D0=B8=D0=B4?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appearance}/mob_overlay_shift.dm | 0 .../attacking}/double_attack.dm | 1 - .../attacking}/pair_attack.dm | 1 - .../carapace/carapace.dm | 0 .../carapace/carapace_shell.dm | 37 ++++++++----- .../carrying/grab_and_drag_on_mob_crates.dm | 0 .../carrying/grab_and_drag_on_mob_mobs.dm | 0 .../implants}/paired_implants.dm | 0 .../organs/heart_defib.dm | 3 +- .../organs/organ_actions_component.dm | 0 .../organs/organ_chemistry.dm | 0 .../organs/organ_decay.dm | 0 .../organs/organ_toxins.dm | 0 .../components => _components}/reagents.dm | 0 modular_ss220/species/_species.dme | 28 +++++----- .../species/nucleations/_nucleations.dme | 13 +++++ .../code/mob/living/carbon/brain/MMI.dm | 0 .../mob/living/carbon/human/eat/eat_items.dm | 0 .../carbon/human/eat/eat_items_stack.dm | 0 .../carbon/human/eat/eat_list_clothing.dm | 0 .../carbon/human/eat/eat_list_plasma.dm | 0 .../living/carbon/human/eat/eat_list_rad.dm | 0 .../living/carbon/human/eat/eat_list_soap.dm | 0 .../living/carbon/human/eat/eat_list_tech.dm | 0 .../code/mob/living/carbon/human/human_mob.dm | 0 .../mob/living/carbon/species/nucleation.dm | 2 +- .../nucleation/nucleation_face.dm | 2 +- .../organs/subtypes/nucleation_organs.dm | 8 +-- .../species/{ => nucleations}/code/species.dm | 0 .../icons/mob/human_races/r_nucleation.dmi | Bin .../nucleation/nucleation_face.dmi | Bin .../{ => nucleations}/icons/obj/surgery.dmi | Bin .../species/serpentids/_serpentids.dme | 49 +++++------------- .../code/{common => _defines}/alerts.dm | 0 .../{common/defines.dm => _defines/common.dm} | 8 --- .../{ => _procs_overrides}/chat_offset.dm | 0 .../code/{ => _procs_overrides}/copy_butt.dm | 0 .../{ => _procs_overrides}/update_icons.dm | 0 .../serpentids/code/{common => mob}/emotes.dm | 0 .../code/{common => mob}/language.dm | 0 .../code/{common => mob}/serpentids.dm | 0 .../external/serpentids_organs_torso.dm | 17 +++++- .../organs/serpentids_organs_lungs.dm | 10 ++++ 43 files changed, 101 insertions(+), 78 deletions(-) rename modular_ss220/species/{serpentids/code/components => _components/appearance}/mob_overlay_shift.dm (100%) rename modular_ss220/species/{serpentids/code/components => _components/attacking}/double_attack.dm (99%) rename modular_ss220/species/{serpentids/code/components/unused => _components/attacking}/pair_attack.dm (99%) rename modular_ss220/species/{serpentids/code/components => _components}/carapace/carapace.dm (100%) rename modular_ss220/species/{serpentids/code/components => _components}/carapace/carapace_shell.dm (71%) rename modular_ss220/species/{serpentids/code/components => _components}/carrying/grab_and_drag_on_mob_crates.dm (100%) rename modular_ss220/species/{serpentids/code/components => _components}/carrying/grab_and_drag_on_mob_mobs.dm (100%) rename modular_ss220/species/{serpentids/code/components/unused => _components/implants}/paired_implants.dm (100%) rename modular_ss220/species/{serpentids/code/components => _components}/organs/heart_defib.dm (92%) rename modular_ss220/species/{serpentids/code/components => _components}/organs/organ_actions_component.dm (100%) rename modular_ss220/species/{serpentids/code/components => _components}/organs/organ_chemistry.dm (100%) rename modular_ss220/species/{serpentids/code/components => _components}/organs/organ_decay.dm (100%) rename modular_ss220/species/{serpentids/code/components => _components}/organs/organ_toxins.dm (100%) rename modular_ss220/species/{serpentids/code/components => _components}/reagents.dm (100%) create mode 100644 modular_ss220/species/nucleations/_nucleations.dme rename modular_ss220/species/{ => nucleations}/code/mob/living/carbon/brain/MMI.dm (100%) rename modular_ss220/species/{ => nucleations}/code/mob/living/carbon/human/eat/eat_items.dm (100%) rename modular_ss220/species/{ => nucleations}/code/mob/living/carbon/human/eat/eat_items_stack.dm (100%) rename modular_ss220/species/{ => nucleations}/code/mob/living/carbon/human/eat/eat_list_clothing.dm (100%) rename modular_ss220/species/{ => nucleations}/code/mob/living/carbon/human/eat/eat_list_plasma.dm (100%) rename modular_ss220/species/{ => nucleations}/code/mob/living/carbon/human/eat/eat_list_rad.dm (100%) rename modular_ss220/species/{ => nucleations}/code/mob/living/carbon/human/eat/eat_list_soap.dm (100%) rename modular_ss220/species/{ => nucleations}/code/mob/living/carbon/human/eat/eat_list_tech.dm (100%) rename modular_ss220/species/{ => nucleations}/code/mob/living/carbon/human/human_mob.dm (100%) rename modular_ss220/species/{ => nucleations}/code/mob/living/carbon/species/nucleation.dm (97%) rename modular_ss220/species/{ => nucleations}/code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm (89%) rename modular_ss220/species/{ => nucleations}/code/mob/surgery/organs/subtypes/nucleation_organs.dm (95%) rename modular_ss220/species/{ => nucleations}/code/species.dm (100%) rename modular_ss220/species/{ => nucleations}/icons/mob/human_races/r_nucleation.dmi (100%) rename modular_ss220/species/{ => nucleations}/icons/mob/sprite_accessories/nucleation/nucleation_face.dmi (100%) rename modular_ss220/species/{ => nucleations}/icons/obj/surgery.dmi (100%) rename modular_ss220/species/serpentids/code/{common => _defines}/alerts.dm (100%) rename modular_ss220/species/serpentids/code/{common/defines.dm => _defines/common.dm} (80%) rename modular_ss220/species/serpentids/code/{ => _procs_overrides}/chat_offset.dm (100%) rename modular_ss220/species/serpentids/code/{ => _procs_overrides}/copy_butt.dm (100%) rename modular_ss220/species/serpentids/code/{ => _procs_overrides}/update_icons.dm (100%) rename modular_ss220/species/serpentids/code/{common => mob}/emotes.dm (100%) rename modular_ss220/species/serpentids/code/{common => mob}/language.dm (100%) rename modular_ss220/species/serpentids/code/{common => mob}/serpentids.dm (100%) diff --git a/modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/mob_overlay_shift.dm rename to modular_ss220/species/_components/appearance/mob_overlay_shift.dm diff --git a/modular_ss220/species/serpentids/code/components/double_attack.dm b/modular_ss220/species/_components/attacking/double_attack.dm similarity index 99% rename from modular_ss220/species/serpentids/code/components/double_attack.dm rename to modular_ss220/species/_components/attacking/double_attack.dm index 99baefab1f3c..3862084283b9 100644 --- a/modular_ss220/species/serpentids/code/components/double_attack.dm +++ b/modular_ss220/species/_components/attacking/double_attack.dm @@ -61,4 +61,3 @@ /obj/item/attack(mob/living/M, mob/living/user, def_zone) . = .. () SEND_SIGNAL(src, COMSIG_DOUBLEATTACK_PROCESS, M, user, def_zone) - diff --git a/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm b/modular_ss220/species/_components/attacking/pair_attack.dm similarity index 99% rename from modular_ss220/species/serpentids/code/components/unused/pair_attack.dm rename to modular_ss220/species/_components/attacking/pair_attack.dm index 44fafd144d9c..1c0e66998e03 100644 --- a/modular_ss220/species/serpentids/code/components/unused/pair_attack.dm +++ b/modular_ss220/species/_components/attacking/pair_attack.dm @@ -64,4 +64,3 @@ /obj/item/attack(mob/living/M, mob/living/user, def_zone) . = .. () SEND_SIGNAL(src, COMSIG_PAIRATTACK_PROCESS, M, user, def_zone) - diff --git a/modular_ss220/species/serpentids/code/components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/carapace/carapace.dm rename to modular_ss220/species/_components/carapace/carapace.dm diff --git a/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm b/modular_ss220/species/_components/carapace/carapace_shell.dm similarity index 71% rename from modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm rename to modular_ss220/species/_components/carapace/carapace_shell.dm index 647a37307463..9f816b246cc5 100644 --- a/modular_ss220/species/serpentids/code/components/carapace/carapace_shell.dm +++ b/modular_ss220/species/_components/carapace/carapace_shell.dm @@ -7,11 +7,24 @@ /datum/component/carapace_shell var/mob/living/carbon/human/H + var/state_1_threshold = 0 + var/state_2_threshold = 0 + var/state_3_threshold = 0 + var/armored_cold_threshold = 0 + var/armored_heat_threshold = 0 + var/armored_temp_progression = 0 -/datum/component/carapace_shell/Initialize(caller) +/datum/component/carapace_shell/Initialize(caller, treshold_1, treshold_2, treshold_3, threshold_cold, threshold_heat, temp_progression) ..() H = caller + state_1_threshold = treshold_1 + state_2_threshold = treshold_2 + state_3_threshold = treshold_3 + armored_cold_threshold = threshold_cold + armored_heat_threshold = threshold_heat + armored_temp_progression = temp_progression + /datum/component/carapace_shell/RegisterWithParent() RegisterSignal(H, COMSIG_CARAPACE_SHELL_PROCESS, PROC_REF(process_shell)) @@ -24,7 +37,7 @@ var/datum/species/specie = H.dna.species //Потеря брони при первом трешхолде - if(character_damage <= SERPENTID_CARAPACE_NOARMOR_STATE) + if(character_damage <= state_1_threshold) specie.brute_mod = 0.6 specie.burn_mod = 1.1 ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") @@ -37,7 +50,7 @@ //Потеря стелса при втором трешхолде var/obj/item/organ/internal/kidneys/serpentid/organ = H.get_int_organ("kidneys") - if(character_damage <= SERPENTID_CARAPACE_NOCHAMELION_STATE) + if(character_damage <= state_2_threshold) H.clear_alert("carapace_break_cloak") else H.throw_alert("carapace_break_cloak", /atom/movable/screen/alert/carapace_break_cloak) @@ -46,10 +59,10 @@ organ.switch_mode(force_off = TRUE) //Потеря рига при третьем трешхолде - var/cold = SERPENTID_ARMORED_COLD_THRESHOLD - var/heat = SERPENTID_ARMORED_HEAT_THRESHOLD + var/cold = armored_cold_threshold + var/heat = armored_heat_threshold - if(character_damage <= SERPENTID_CARAPACE_NOPRESSURE_STATE) + if(character_damage <= state_3_threshold) specie.hazard_high_pressure = INFINITY specie.warning_high_pressure = INFINITY specie.warning_low_pressure = -INFINITY @@ -63,15 +76,15 @@ H.throw_alert("carapace_break_rig", /atom/movable/screen/alert/carapace_break_rig) H.clear_alert("carapace_break_armor") H.clear_alert("carapace_break_cloak") - cold = SERPENTID_COLD_THRESHOLD_LEVEL_BASE - heat = SERPENTID_HEAT_THRESHOLD_LEVEL_BASE + cold = initial(specie.cold_level_1) + heat = initial(specie.heat_level_2) specie.cold_level_1 = cold - specie.cold_level_2 = specie.cold_level_1 - SERPENTID_COLD_THRESHOLD_LEVEL_DOWN - specie.cold_level_3 = specie.cold_level_2 - SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + specie.cold_level_2 = specie.cold_level_1 - armored_temp_progression + specie.cold_level_3 = specie.cold_level_2 - armored_temp_progression specie.heat_level_1 = heat - specie.heat_level_2 = specie.heat_level_1 + SERPENTID_COLD_THRESHOLD_LEVEL_DOWN - specie.heat_level_3 = specie.heat_level_2 + SERPENTID_COLD_THRESHOLD_LEVEL_DOWN + specie.heat_level_2 = specie.heat_level_1 + armored_temp_progression + specie.heat_level_3 = specie.heat_level_2 + armored_temp_progression //Расширение проков урона и лечения для обращения к компоненту /datum/species/handle_life(mob/living/carbon/human/H) diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_crates.dm rename to modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm diff --git a/modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/carrying/grab_and_drag_on_mob_mobs.dm rename to modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm diff --git a/modular_ss220/species/serpentids/code/components/unused/paired_implants.dm b/modular_ss220/species/_components/implants/paired_implants.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/unused/paired_implants.dm rename to modular_ss220/species/_components/implants/paired_implants.dm diff --git a/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm b/modular_ss220/species/_components/organs/heart_defib.dm similarity index 92% rename from modular_ss220/species/serpentids/code/components/organs/heart_defib.dm rename to modular_ss220/species/_components/organs/heart_defib.dm index 04605a10b7da..b88e72ab0c8a 100644 --- a/modular_ss220/species/serpentids/code/components/organs/heart_defib.dm +++ b/modular_ss220/species/_components/organs/heart_defib.dm @@ -2,6 +2,7 @@ === Компонент запуска сердца === Отслеживает смерть носителя, и в случае чего - запускает сердце с неким шансом */ +#define AUTO_DEFIBRILATION_THRESHOLD 100 /datum/component/defib_heart var/mob/living/carbon/human/owner = null var/chemical_id = "" @@ -20,7 +21,7 @@ if(!(owner)) var/obj/item/organ/internal/limb = parent owner = limb.owner - else if(owner.get_chemical_value(chemical_id) >= 0 && owner.stat == DEAD && owner.get_damage_amount() <= SERPENTID_CARAPACE_NOPRESSURE_STATE) + else if(owner.get_chemical_value(chemical_id) >= 0 && owner.stat == DEAD && owner.get_damage_amount() <= AUTO_DEFIBRILATION_THRESHOLD) var/defib_chance = owner.get_chemical_value(chemical_id) var/datum/reagent/chem = owner.get_chemical_path(chemical_id) if(chem) diff --git a/modular_ss220/species/serpentids/code/components/organs/organ_actions_component.dm b/modular_ss220/species/_components/organs/organ_actions_component.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/organs/organ_actions_component.dm rename to modular_ss220/species/_components/organs/organ_actions_component.dm diff --git a/modular_ss220/species/serpentids/code/components/organs/organ_chemistry.dm b/modular_ss220/species/_components/organs/organ_chemistry.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/organs/organ_chemistry.dm rename to modular_ss220/species/_components/organs/organ_chemistry.dm diff --git a/modular_ss220/species/serpentids/code/components/organs/organ_decay.dm b/modular_ss220/species/_components/organs/organ_decay.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/organs/organ_decay.dm rename to modular_ss220/species/_components/organs/organ_decay.dm diff --git a/modular_ss220/species/serpentids/code/components/organs/organ_toxins.dm b/modular_ss220/species/_components/organs/organ_toxins.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/organs/organ_toxins.dm rename to modular_ss220/species/_components/organs/organ_toxins.dm diff --git a/modular_ss220/species/serpentids/code/components/reagents.dm b/modular_ss220/species/_components/reagents.dm similarity index 100% rename from modular_ss220/species/serpentids/code/components/reagents.dm rename to modular_ss220/species/_components/reagents.dm diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index 63854f3a1698..ff745647d33a 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -1,17 +1,19 @@ #include "_species.dm" -#include "code/species.dm" -#include "code/mob/living/carbon/brain/MMI.dm" -#include "code/mob/living/carbon/human/eat/eat_items_stack.dm" -#include "code/mob/living/carbon/human/eat/eat_items.dm" -#include "code/mob/living/carbon/human/eat/eat_list_clothing.dm" -#include "code/mob/living/carbon/human/eat/eat_list_plasma.dm" -#include "code/mob/living/carbon/human/eat/eat_list_rad.dm" -#include "code/mob/living/carbon/human/eat/eat_list_soap.dm" -#include "code/mob/living/carbon/human/eat/eat_list_tech.dm" -#include "code/mob/living/carbon/human/human_mob.dm" -#include "code/mob/living/carbon/species/nucleation.dm" -#include "code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm" -#include "code/mob/surgery/organs/subtypes/nucleation_organs.dm" +#include "_components/reagents.dm" +#include "_components/appearance/mob_overlay_shift.dm" +#include "_components/attacking/double_attack.dm" +#include "_components/attacking/pair_attack.dm" +#include "_components/carapace/carapace.dm" +#include "_components/carapace/carapace_shell.dm" +#include "_components/carrying/grab_and_drag_on_mob_mobs.dm" +#include "_components/carrying/grab_and_drag_on_mob_crates.dm" +#include "_components/organs/organ_decay.dm" +#include "_components/organs/organ_chemistry.dm" +#include "_components/organs/organ_toxins.dm" +#include "_components/organs/heart_defib.dm" +#include "_components/organs/organ_actions_component.dm" +#include "_components/implants/paired_implants.dm" +#include "nucleations/_nucleations.dme" #include "serpentids/_serpentids.dme" diff --git a/modular_ss220/species/nucleations/_nucleations.dme b/modular_ss220/species/nucleations/_nucleations.dme new file mode 100644 index 000000000000..85f9502b1138 --- /dev/null +++ b/modular_ss220/species/nucleations/_nucleations.dme @@ -0,0 +1,13 @@ +#include "code/species.dm" +#include "code/mob/living/carbon/brain/MMI.dm" +#include "code/mob/living/carbon/human/eat/eat_items_stack.dm" +#include "code/mob/living/carbon/human/eat/eat_items.dm" +#include "code/mob/living/carbon/human/eat/eat_list_clothing.dm" +#include "code/mob/living/carbon/human/eat/eat_list_plasma.dm" +#include "code/mob/living/carbon/human/eat/eat_list_rad.dm" +#include "code/mob/living/carbon/human/eat/eat_list_soap.dm" +#include "code/mob/living/carbon/human/eat/eat_list_tech.dm" +#include "code/mob/living/carbon/human/human_mob.dm" +#include "code/mob/living/carbon/species/nucleation.dm" +#include "code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm" +#include "code/mob/surgery/organs/subtypes/nucleation_organs.dm" diff --git a/modular_ss220/species/code/mob/living/carbon/brain/MMI.dm b/modular_ss220/species/nucleations/code/mob/living/carbon/brain/MMI.dm similarity index 100% rename from modular_ss220/species/code/mob/living/carbon/brain/MMI.dm rename to modular_ss220/species/nucleations/code/mob/living/carbon/brain/MMI.dm diff --git a/modular_ss220/species/code/mob/living/carbon/human/eat/eat_items.dm b/modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_items.dm similarity index 100% rename from modular_ss220/species/code/mob/living/carbon/human/eat/eat_items.dm rename to modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_items.dm diff --git a/modular_ss220/species/code/mob/living/carbon/human/eat/eat_items_stack.dm b/modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_items_stack.dm similarity index 100% rename from modular_ss220/species/code/mob/living/carbon/human/eat/eat_items_stack.dm rename to modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_items_stack.dm diff --git a/modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_clothing.dm b/modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_list_clothing.dm similarity index 100% rename from modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_clothing.dm rename to modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_list_clothing.dm diff --git a/modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_plasma.dm b/modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_list_plasma.dm similarity index 100% rename from modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_plasma.dm rename to modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_list_plasma.dm diff --git a/modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_rad.dm b/modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_list_rad.dm similarity index 100% rename from modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_rad.dm rename to modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_list_rad.dm diff --git a/modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_soap.dm b/modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_list_soap.dm similarity index 100% rename from modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_soap.dm rename to modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_list_soap.dm diff --git a/modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_tech.dm b/modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_list_tech.dm similarity index 100% rename from modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_tech.dm rename to modular_ss220/species/nucleations/code/mob/living/carbon/human/eat/eat_list_tech.dm diff --git a/modular_ss220/species/code/mob/living/carbon/human/human_mob.dm b/modular_ss220/species/nucleations/code/mob/living/carbon/human/human_mob.dm similarity index 100% rename from modular_ss220/species/code/mob/living/carbon/human/human_mob.dm rename to modular_ss220/species/nucleations/code/mob/living/carbon/human/human_mob.dm diff --git a/modular_ss220/species/code/mob/living/carbon/species/nucleation.dm b/modular_ss220/species/nucleations/code/mob/living/carbon/species/nucleation.dm similarity index 97% rename from modular_ss220/species/code/mob/living/carbon/species/nucleation.dm rename to modular_ss220/species/nucleations/code/mob/living/carbon/species/nucleation.dm index fdcba75d8f2f..ed67f02aefad 100644 --- a/modular_ss220/species/code/mob/living/carbon/species/nucleation.dm +++ b/modular_ss220/species/nucleations/code/mob/living/carbon/species/nucleation.dm @@ -1,7 +1,7 @@ /datum/species/nucleation name = "Nucleation" name_plural = "Nucleations" - icobase = 'modular_ss220/species/icons/mob/human_races/r_nucleation.dmi' + icobase = 'modular_ss220/species/nucleations/icons/mob/human_races/r_nucleation.dmi' blurb = "A sub-race of unfortunates who have been exposed to too much supermatter radiation. As a result, \ supermatter crystal clusters have begun to grow across their bodies. Research to find a cure for this ailment \ has been slow, and so this is a common fate for veteran engineers. The supermatter crystals produce oxygen, \ diff --git a/modular_ss220/species/code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm b/modular_ss220/species/nucleations/code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm similarity index 89% rename from modular_ss220/species/code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm rename to modular_ss220/species/nucleations/code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm index 553a91a7f1ab..a285317214c3 100644 --- a/modular_ss220/species/code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm +++ b/modular_ss220/species/nucleations/code/mob/new_player/sprite_accessories/nucleation/nucleation_face.dm @@ -1,5 +1,5 @@ /datum/sprite_accessory/hair/nucleation - icon = 'modular_ss220/species/icons/mob/sprite_accessories/nucleation/nucleation_face.dmi' + icon = 'modular_ss220/species/nucleations/icons/mob/sprite_accessories/nucleation/nucleation_face.dmi' species_allowed = list("Nucleation") glasses_over = 1 diff --git a/modular_ss220/species/code/mob/surgery/organs/subtypes/nucleation_organs.dm b/modular_ss220/species/nucleations/code/mob/surgery/organs/subtypes/nucleation_organs.dm similarity index 95% rename from modular_ss220/species/code/mob/surgery/organs/subtypes/nucleation_organs.dm rename to modular_ss220/species/nucleations/code/mob/surgery/organs/subtypes/nucleation_organs.dm index d52b0326a39f..3d000bd33f6d 100644 --- a/modular_ss220/species/code/mob/surgery/organs/subtypes/nucleation_organs.dm +++ b/modular_ss220/species/nucleations/code/mob/surgery/organs/subtypes/nucleation_organs.dm @@ -3,7 +3,7 @@ /obj/item/organ/internal/nucleation name = "nucleation organ" - icon = 'modular_ss220/species/icons/obj/surgery.dmi' + icon = 'modular_ss220/species/nucleations/icons/obj/surgery.dmi' desc = "A crystalized human organ. /red It has a strangely iridescent glow." max_integrity = 500 is_special_effect = TRUE @@ -140,7 +140,7 @@ /obj/item/organ/internal/ears/resonant_crystal name = "resonant crystal" - icon = 'modular_ss220/species/icons/obj/surgery.dmi' + icon = 'modular_ss220/species/nucleations/icons/obj/surgery.dmi' icon_state = "resonant-crystal" organ_tag = "resonant crystal" parent_organ = "head" @@ -152,7 +152,7 @@ /obj/item/organ/internal/eyes/luminescent_crystal name = "luminescent eyes" - icon = 'modular_ss220/species/icons/obj/surgery.dmi' + icon = 'modular_ss220/species/nucleations/icons/obj/surgery.dmi' icon_state = "crystal-eyes" organ_tag = "luminescent eyes" light_color = "#1C1C00" @@ -166,7 +166,7 @@ /obj/item/organ/internal/brain/crystal name = "crystallized brain" - icon = 'modular_ss220/species/icons/obj/surgery.dmi' + icon = 'modular_ss220/species/nucleations/icons/obj/surgery.dmi' icon_state = "crystal-brain" organ_tag = "crystallized brain" diff --git a/modular_ss220/species/code/species.dm b/modular_ss220/species/nucleations/code/species.dm similarity index 100% rename from modular_ss220/species/code/species.dm rename to modular_ss220/species/nucleations/code/species.dm diff --git a/modular_ss220/species/icons/mob/human_races/r_nucleation.dmi b/modular_ss220/species/nucleations/icons/mob/human_races/r_nucleation.dmi similarity index 100% rename from modular_ss220/species/icons/mob/human_races/r_nucleation.dmi rename to modular_ss220/species/nucleations/icons/mob/human_races/r_nucleation.dmi diff --git a/modular_ss220/species/icons/mob/sprite_accessories/nucleation/nucleation_face.dmi b/modular_ss220/species/nucleations/icons/mob/sprite_accessories/nucleation/nucleation_face.dmi similarity index 100% rename from modular_ss220/species/icons/mob/sprite_accessories/nucleation/nucleation_face.dmi rename to modular_ss220/species/nucleations/icons/mob/sprite_accessories/nucleation/nucleation_face.dmi diff --git a/modular_ss220/species/icons/obj/surgery.dmi b/modular_ss220/species/nucleations/icons/obj/surgery.dmi similarity index 100% rename from modular_ss220/species/icons/obj/surgery.dmi rename to modular_ss220/species/nucleations/icons/obj/surgery.dmi diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index dead58a44b2b..bfdd76cb94f5 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -1,34 +1,18 @@ -#include "code/common/defines.dm" -#include "code/common/language.dm" -#include "code/common/alerts.dm" -#include "code/common/emotes.dm" -#include "code/copy_butt.dm" -#include "code/chat_offset.dm" -#include "code/update_icons.dm" +#include "code/_defines/alerts.dm" +#include "code/_defines/common.dm" -#include "code/components/reagents.dm" -#include "code/components/organs/organ_decay.dm" -#include "code/components/organs/organ_chemistry.dm" -#include "code/components/organs/organ_toxins.dm" -#include "code/components/organs/heart_defib.dm" -#include "code/components/organs/organ_actions_component.dm" -#include "code/components/carapace/carapace.dm" -#include "code/components/carapace/carapace_shell.dm" -#include "code/components/unused/pair_attack.dm" -#include "code/components/unused/paired_implants.dm" -#include "code/components/carrying/grab_and_drag_on_mob_mobs.dm" -#include "code/components/carrying/grab_and_drag_on_mob_crates.dm" -#include "code/components/mob_overlay_shift.dm" -#include "code/components/double_attack.dm" +#include "code/_procs_overrides/copy_butt.dm" +#include "code/_procs_overrides/chat_offset.dm" +#include "code/_procs_overrides/update_icons.dm" + +#include "code/mob/language.dm" +#include "code/mob/emotes.dm" +#include "code/mob/serpentids.dm" #include "code/organs/external/serpentids_organs_other.dm" #include "code/organs/external/serpentids_organs_head.dm" #include "code/organs/external/serpentids_organs_torso.dm" -#include "code/organs/internal/implants/unused/serpentid_mantis_hand.dm" -#include "code/organs/internal/implants/unused/serpentid_mantis_implant.dm" -#include "code/organs/internal/implants/serpentid_mantis_blades.dm" -#include "code/organs/internal/implants/serpentid_mantis_chest.dm" #include "code/organs/internal/organs/serpentids_organs_eyes.dm" #include "code/organs/internal/organs/serpentids_organs_ears.dm" #include "code/organs/internal/organs/serpentids_organs_lungs.dm" @@ -37,13 +21,8 @@ #include "code/organs/internal/organs/serpentids_organs_liver.dm" #include "code/organs/internal/organs/serpentids_organs_additionals.dm" -#include "code/common/serpentids.dm" -// BEGIN_INTERNALS -// END_INTERNALS -// BEGIN_FILE_DIR -#define FILE_DIR . -// END_FILE_DIR -// BEGIN_PREFERENCES -// END_PREFERENCES -// BEGIN_INCLUDE -// END_INCLUDE +#include "code/organs/internal/implants/serpentid_mantis_blades.dm" +#include "code/organs/internal/implants/serpentid_mantis_chest.dm" + +#include "code/organs/internal/implants/unused/serpentid_mantis_hand.dm" +#include "code/organs/internal/implants/unused/serpentid_mantis_implant.dm" diff --git a/modular_ss220/species/serpentids/code/common/alerts.dm b/modular_ss220/species/serpentids/code/_defines/alerts.dm similarity index 100% rename from modular_ss220/species/serpentids/code/common/alerts.dm rename to modular_ss220/species/serpentids/code/_defines/alerts.dm diff --git a/modular_ss220/species/serpentids/code/common/defines.dm b/modular_ss220/species/serpentids/code/_defines/common.dm similarity index 80% rename from modular_ss220/species/serpentids/code/common/defines.dm rename to modular_ss220/species/serpentids/code/_defines/common.dm index 2e7dd7fa62cd..6814de006663 100644 --- a/modular_ss220/species/serpentids/code/common/defines.dm +++ b/modular_ss220/species/serpentids/code/_defines/common.dm @@ -7,14 +7,6 @@ #define SERPENTID_GENE_DEGRADATION_DAMAGE 0.5 #define SERPENTID_GENE_DEGRADATION_CD 60 -#define SERPENTID_HEAT_THRESHOLD_LEVEL_BASE 350 -#define SERPENTID_HEAT_THRESHOLD_LEVEL_UP 50 -#define SERPENTID_ARMORED_HEAT_THRESHOLD 380 - -#define SERPENTID_COLD_THRESHOLD_LEVEL_BASE 250 -#define SERPENTID_COLD_THRESHOLD_LEVEL_DOWN 80 -#define SERPENTID_ARMORED_COLD_THRESHOLD 0 - #define GAS_ORGAN_CHEMISTRY_LUNGS 1 #define GAS_ORGAN_CHEMISTRY_KIDNEYS 0.5 #define GAS_ORGAN_CHEMISTRY_EYES 0.05 diff --git a/modular_ss220/species/serpentids/code/chat_offset.dm b/modular_ss220/species/serpentids/code/_procs_overrides/chat_offset.dm similarity index 100% rename from modular_ss220/species/serpentids/code/chat_offset.dm rename to modular_ss220/species/serpentids/code/_procs_overrides/chat_offset.dm diff --git a/modular_ss220/species/serpentids/code/copy_butt.dm b/modular_ss220/species/serpentids/code/_procs_overrides/copy_butt.dm similarity index 100% rename from modular_ss220/species/serpentids/code/copy_butt.dm rename to modular_ss220/species/serpentids/code/_procs_overrides/copy_butt.dm diff --git a/modular_ss220/species/serpentids/code/update_icons.dm b/modular_ss220/species/serpentids/code/_procs_overrides/update_icons.dm similarity index 100% rename from modular_ss220/species/serpentids/code/update_icons.dm rename to modular_ss220/species/serpentids/code/_procs_overrides/update_icons.dm diff --git a/modular_ss220/species/serpentids/code/common/emotes.dm b/modular_ss220/species/serpentids/code/mob/emotes.dm similarity index 100% rename from modular_ss220/species/serpentids/code/common/emotes.dm rename to modular_ss220/species/serpentids/code/mob/emotes.dm diff --git a/modular_ss220/species/serpentids/code/common/language.dm b/modular_ss220/species/serpentids/code/mob/language.dm similarity index 100% rename from modular_ss220/species/serpentids/code/common/language.dm rename to modular_ss220/species/serpentids/code/mob/language.dm diff --git a/modular_ss220/species/serpentids/code/common/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm similarity index 100% rename from modular_ss220/species/serpentids/code/common/serpentids.dm rename to modular_ss220/species/serpentids/code/mob/serpentids.dm diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm index 977afb33abf3..72d3a9189c4c 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm @@ -1,3 +1,11 @@ +#define SERPENTID_ARMOR_THRESHOLD_1 30 +#define SERPENTID_ARMOR_THRESHOLD_2 60 +#define SERPENTID_ARMOR_THRESHOLD_3 90 + +#define SERPENTID_ARMORED_LOW_TEMP 0 +#define SERPENTID_ARMORED_HIGH_TEMP 400 +#define SERPENTID_ARMORED_STEP_TEMP 30 + /obj/item/organ/external/chest/carapace encased = "chitin" min_broken_damage = 40 @@ -8,4 +16,11 @@ /obj/item/organ/external/chest/carapace/replaced() .=..() - AddComponent(/datum/component/carapace_shell, owner) + AddComponent(/datum/component/carapace_shell, owner, treshold_1 = SERPENTID_ARMOR_THRESHOLD_1, treshold_2 = SERPENTID_ARMOR_THRESHOLD_2, treshold_3 = SERPENTID_ARMOR_THRESHOLD_3, threshold_cold = SERPENTID_ARMORED_LOW_TEMP, threshold_heat = SERPENTID_ARMORED_HIGH_TEMP, temp_progression = SERPENTID_ARMORED_STEP_TEMP) + +#undef SERPENTID_ARMOR_THRESHOLD_1 +#undef SERPENTID_ARMOR_THRESHOLD_2 +#undef SERPENTID_ARMOR_THRESHOLD_3 +#undef SERPENTID_ARMORED_LOW_TEMP +#undef SERPENTID_ARMORED_HIGH_TEMP +#undef SERPENTID_ARMORED_STEP_TEMP diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index f04f2109d9a8..c6265a0122dd 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -1,4 +1,9 @@ ///Легкие - вырабатывают сальбутамол при наличии глутамата натрия, имеют собственный мешок, из которого дышат, мешок заполняется в безопасной среде +#define SERPENTID_COLD_THRESHOLD_LEVEL_BASE 100 +#define SERPENTID_COLD_THRESHOLD_LEVEL_DOWN 40 +#define SERPENTID_HEAT_THRESHOLD_LEVEL_BASE 350 +#define SERPENTID_HEAT_THRESHOLD_LEVEL_UP 60 + /obj/item/organ/internal/lungs/serpentid name = "thacheal bag" icon = 'icons/obj/species_organs/unathi.dmi' @@ -259,3 +264,8 @@ human_owner.reagents.add_reagent("salbutamol", chemical_consuption) chemical.holder.remove_reagent(chemical_id, chemical_consuption) */ + +#undef SERPENTID_COLD_THRESHOLD_LEVEL_BASE +#undef SERPENTID_COLD_THRESHOLD_LEVEL_DOWN +#undef SERPENTID_HEAT_THRESHOLD_LEVEL_BASE +#undef SERPENTID_HEAT_THRESHOLD_LEVEL_UP From 83729cc879fcae8cd0d4cca5db89759d48dfc61f Mon Sep 17 00:00:00 2001 From: KageIIte Date: Tue, 15 Oct 2024 18:37:14 +0300 Subject: [PATCH 055/152] =?UTF-8?q?=D0=92=D1=8B=D0=BD=D0=BE=D1=81=20=D0=B2?= =?UTF-8?q?=D0=B8=D0=B4=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/{nucleations/code => _code}/species.dm | 0 modular_ss220/species/_species.dme | 2 ++ modular_ss220/species/nucleations/_nucleations.dme | 1 - 3 files changed, 2 insertions(+), 1 deletion(-) rename modular_ss220/species/{nucleations/code => _code}/species.dm (100%) diff --git a/modular_ss220/species/nucleations/code/species.dm b/modular_ss220/species/_code/species.dm similarity index 100% rename from modular_ss220/species/nucleations/code/species.dm rename to modular_ss220/species/_code/species.dm diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index ff745647d33a..ea249a4c6c50 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -1,5 +1,7 @@ #include "_species.dm" +#include "_code/species.dm" + #include "_components/reagents.dm" #include "_components/appearance/mob_overlay_shift.dm" #include "_components/attacking/double_attack.dm" diff --git a/modular_ss220/species/nucleations/_nucleations.dme b/modular_ss220/species/nucleations/_nucleations.dme index 85f9502b1138..44448cc0f00c 100644 --- a/modular_ss220/species/nucleations/_nucleations.dme +++ b/modular_ss220/species/nucleations/_nucleations.dme @@ -1,4 +1,3 @@ -#include "code/species.dm" #include "code/mob/living/carbon/brain/MMI.dm" #include "code/mob/living/carbon/human/eat/eat_items_stack.dm" #include "code/mob/living/carbon/human/eat/eat_items.dm" From a9ac70921a51f2250e3d91af0d92070d7cd50aef Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 16 Oct 2024 12:00:39 +0300 Subject: [PATCH 056/152] =?UTF-8?q?=D0=9C=D0=B0=D0=BB=D0=B5=D0=BD=D1=8C?= =?UTF-8?q?=D0=BA=D0=B8=D0=B9=20=D1=80=D0=B5=D0=B1=D0=B0=D0=BB=D0=B0=D0=BD?= =?UTF-8?q?=D1=81=20=D0=BF=D0=BE=D0=B4=20=D1=82=D0=BE=D0=BA=D1=81=D0=B8?= =?UTF-8?q?=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/organs/organ_toxins.dm | 6 ++---- .../code/organs/internal/organs/serpentids_organs_ears.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_eyes.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_heart.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_lungs.dm | 2 +- 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/modular_ss220/species/_components/organs/organ_toxins.dm b/modular_ss220/species/_components/organs/organ_toxins.dm index 728bde23942d..66e2bff4b1f4 100644 --- a/modular_ss220/species/_components/organs/organ_toxins.dm +++ b/modular_ss220/species/_components/organs/organ_toxins.dm @@ -29,15 +29,13 @@ var/obj/item/organ/internal/liver/target_liver = organ.owner.get_int_organ(/obj/item/organ/internal/liver) var/obj/item/organ/internal/kidneys/target_kidney = organ.owner.get_int_organ(/obj/item/organ/internal/kidneys) - if(organ == target_kidney) - organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) - organ.owner.adjustToxLoss(-1 * organ.owner.get_damage_amount(TOX) * toxin_damage_rate) - else if(target_kidney.status == ORGAN_DEAD && organ == target_liver) + if(organ == target_kidney || organ == target_liver ) organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) organ.owner.adjustToxLoss(-1 * organ.owner.get_damage_amount(TOX) * toxin_damage_rate) else if(target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) + /obj/item/organ/internal/process() SEND_SIGNAL(src, COMSIG_ORGAN_TOX_HANDLE) . = .. () diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 62efc896dce0..024cf7d84750 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -9,7 +9,7 @@ action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") var/decay_rate = 0.2 var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.25 + var/organ_process_toxins = 0.025 var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EARS var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/active = FALSE diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index e6c83beffdc8..8d62259844c9 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -13,7 +13,7 @@ var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/decay_rate = 0.1 var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.35 + var/organ_process_toxins = 0.035 var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES var/vision_ajust_coefficient = 0.4 var/update_time_client_colour = 10 diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm index 48d933e55b39..c72fe8f41ee9 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm @@ -9,7 +9,7 @@ var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/decay_rate = 0.5 var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.1 + var/organ_process_toxins = 0.01 /obj/item/organ/internal/heart/serpentid/Initialize(mapload) . = ..() diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index c6265a0122dd..80459c9e96b9 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -17,7 +17,7 @@ var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank var/decay_rate = 0.3 var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.25 + var/organ_process_toxins = 0.025 var/chem_to_oxy_mult = 0.1 var/danger_air = FALSE var/hand_active = FALSE From 4a198be4eaeb8c6cc6c182dbc0140e492549b630 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 16 Oct 2024 12:38:42 +0300 Subject: [PATCH 057/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80=20?= =?UTF-8?q?+=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=BB=D0=B0=D0=BD=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/organs/organ_toxins.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_ears.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_eyes.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_heart.dm | 2 +- .../code/organs/internal/organs/serpentids_organs_lungs.dm | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modular_ss220/species/_components/organs/organ_toxins.dm b/modular_ss220/species/_components/organs/organ_toxins.dm index 66e2bff4b1f4..e70506fbff53 100644 --- a/modular_ss220/species/_components/organs/organ_toxins.dm +++ b/modular_ss220/species/_components/organs/organ_toxins.dm @@ -29,7 +29,7 @@ var/obj/item/organ/internal/liver/target_liver = organ.owner.get_int_organ(/obj/item/organ/internal/liver) var/obj/item/organ/internal/kidneys/target_kidney = organ.owner.get_int_organ(/obj/item/organ/internal/kidneys) - if(organ == target_kidney || organ == target_liver ) + if(organ == target_kidney || organ == target_liver) organ.receive_damage(organ.owner.get_damage_amount(TOX) * toxin_damage_rate, 1) organ.owner.adjustToxLoss(-1 * organ.owner.get_damage_amount(TOX) * toxin_damage_rate) else if(target_liver.status == ORGAN_DEAD && target_kidney.status == ORGAN_DEAD) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index 024cf7d84750..d90e8e345fa2 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -9,7 +9,7 @@ action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_abilities") var/decay_rate = 0.2 var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.025 + var/organ_process_toxins = 0.05 var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EARS var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/active = FALSE diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index 8d62259844c9..ba0c8c861c08 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -13,7 +13,7 @@ var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/decay_rate = 0.1 var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.035 + var/organ_process_toxins = 0.04 var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES var/vision_ajust_coefficient = 0.4 var/update_time_client_colour = 10 diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm index c72fe8f41ee9..aeaa2763c6f1 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_heart.dm @@ -9,7 +9,7 @@ var/chemical_id = SERPENTID_CHEM_REAGENT_ID var/decay_rate = 0.5 var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.01 + var/organ_process_toxins = 0.03 /obj/item/organ/internal/heart/serpentid/Initialize(mapload) . = ..() diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 80459c9e96b9..471d71966263 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -17,7 +17,7 @@ var/obj/item/tank/internals/oxygen/serpentid_vault = new /obj/item/tank/internals/oxygen/serpentid_vault_tank var/decay_rate = 0.3 var/decay_recovery = BASIC_RECOVER_VALUE - var/organ_process_toxins = 0.025 + var/organ_process_toxins = 0.05 var/chem_to_oxy_mult = 0.1 var/danger_air = FALSE var/hand_active = FALSE From 073c559cfa6defb7f153d3a0723320ec6d2def68 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 16 Oct 2024 18:50:15 +0300 Subject: [PATCH 058/152] =?UTF-8?q?=D0=AF=20=D1=82=D1=8F=20=D1=81=D0=BB?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BB,=20=D1=85=D0=B8=D1=80=D1=83=D1=80?= =?UTF-8?q?=D0=B3=D0=B8=D1=8F,=20=D1=8F=20=D1=82=D1=8F=20=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=87=D0=B8=D0=BD=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/_components/carapace/carapace.dm | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/modular_ss220/species/_components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm index 866d97bc8a97..16dd814c739b 100644 --- a/modular_ss220/species/_components/carapace/carapace.dm +++ b/modular_ss220/species/_components/carapace/carapace.dm @@ -22,7 +22,6 @@ #define CARAPACE_HEAL_BROKEN_PROB 50 //Список операций, которые будут заблокированы пока панцирь не будет сломан #define CARAPACE_BLOCK_OPERATION list(/datum/surgery/bone_repair,/datum/surgery/bone_repair/skull,/datum/surgery/organ_manipulation) - #define COMSIG_CARAPACE_RECEIVE_DAMAGE "receive_damage" #define COMSIG_CARAPACE_HEAL_DAMAGE "heal_damage" @@ -91,17 +90,17 @@ /datum/surgery_step/retract_carapace ) - possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) + possible_locs = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) requires_organic_bodypart = TRUE /datum/surgery/organ_manipulation/carapace - name = "Organ manipulation" + name = "Organ Manipulation" steps = list( /datum/surgery_step/open_encased/retract, /datum/surgery_step/proxy/manipulate_organs, /datum/surgery_step/internal/manipulate_organs/finish, ) - possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) + possible_locs = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) requires_organic_bodypart = TRUE /datum/surgery/bone_repair/carapace @@ -112,16 +111,15 @@ /datum/surgery_step/finish_bone, /datum/surgery_step/generic/cauterize ) - possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) + possible_locs = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_R_ARM, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_L_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_GROIN) requires_organic_bodypart = TRUE //Оверрайды для операций, которые могут применяться для панциря. /datum/surgery/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) - return FALSE - if(src.type in CARAPACE_BLOCK_OPERATION)//отключить стандартные операции класса "манипуляция органов", восстановить кость. - return FALSE + if(affected) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && (!(affected.status & ORGAN_BROKEN) || (src.type in CARAPACE_BLOCK_OPERATION))) //отключить стандартные операции класса "манипуляция органов", восстановить кость. + return FALSE . = .. () /datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) @@ -141,6 +139,18 @@ return TRUE return FALSE +/datum/surgery/organ_manipulation/carapace/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && (affected.status & ORGAN_BROKEN)) + return TRUE + return FALSE + +/datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) + var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) + if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && (affected.status & ORGAN_BROKEN)) + return TRUE + return FALSE + /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) From cebf819ead2682ad28e420e10266c6cfc7a4b939 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 16 Oct 2024 19:29:07 +0300 Subject: [PATCH 059/152] =?UTF-8?q?=D0=94=D0=B5=D0=B9=D1=81=D1=82=D0=B2?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B2=20=D0=B8=D0=BD=D1=82=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=85=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=D1=8F=D1=82=20?= =?UTF-8?q?=D0=93=D0=91=D0=A1=D0=B0=20=D0=B8=D0=B7=20=D1=80=D0=B5=D0=B6?= =?UTF-8?q?=D0=B8=D0=BC=D0=B0=20=D1=81=D1=82=D0=B5=D0=BB=D1=81=D0=B0,=20?= =?UTF-8?q?=D1=80=D0=B5=D0=BC=D0=BE=D0=BD=D1=82=20=D0=B0=D0=BA=D1=82=D0=B2?= =?UTF-8?q?=D0=B8=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B4=D0=BE=D0=BF=20=D0=B8?= =?UTF-8?q?=D0=BD=D1=82=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=20=D0=BE=D0=BF=D1=83=D1=89=D0=B5=D0=BD=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B8=D0=BD=D0=BA=D0=B0=D1=85.=20=D0=9F=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BA=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB?= =?UTF-8?q?=D0=BC=D0=B0=20=D0=B2=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=D0=B5=20?= =?UTF-8?q?=D0=B8=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/serpentids/code/mob/language.dm | 2 +- .../code/organs/internal/implants/serpentid_mantis_chest.dm | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/modular_ss220/species/serpentids/code/mob/language.dm b/modular_ss220/species/serpentids/code/mob/language.dm index 38cb39fd6bd7..34ae65b62838 100644 --- a/modular_ss220/species/serpentids/code/mob/language.dm +++ b/modular_ss220/species/serpentids/code/mob/language.dm @@ -15,5 +15,5 @@ new_name = capitalize(pick(GLOB.first_names_female)) else new_name = capitalize(pick(GLOB.first_names_male)) - new_name += "[rand(10000)]" + new_name += " [rand(10000)]" return new_name diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm index 3e8c2aba5022..95fbeccdc210 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_chest.dm @@ -139,7 +139,8 @@ return var/obj/item/organ/internal/cyberimp/chest/serpentid_blades/blades_implant = M.get_int_organ(/obj/item/organ/internal/cyberimp/chest/serpentid_blades) if(blades_implant) - if(blades_implant) + blades_implant.owner.reset_visibility() + if(blades_implant.blades_active) if((M != H) && M.a_intent != INTENT_HELP && H.check_shields(M, 0, M.name, attack_type = UNARMED_ATTACK)) add_attack_logs(M, H, "Melee attacked with blades (miss/block)") H.visible_message("[M] attempted to touch [H]!") @@ -149,6 +150,7 @@ if(INTENT_HELP) help(M, H, attacker_style) + if(INTENT_GRAB) blades_grab(M, H, attacker_style) @@ -176,7 +178,6 @@ var/obj/item/grab/grab_item = user.get_active_hand() grab_item.state = GRAB_AGGRESSIVE grab_item.icon_state = "grabbed1" - user.reset_visibility() //Модификация усиленного дизарма /datum/species/proc/blades_disarm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) From 8b0ad7bbc37825f03a4176dce0b963a57c91987f Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 16 Oct 2024 19:59:49 +0300 Subject: [PATCH 060/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D1=8D=D0=BC?= =?UTF-8?q?=D0=BE=D1=83=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/serpentids/code/mob/emotes.dm | 27 ++++++++++++++----- .../species/serpentids/code/mob/serpentids.dm | 14 +++++----- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/modular_ss220/species/serpentids/code/mob/emotes.dm b/modular_ss220/species/serpentids/code/mob/emotes.dm index 6b25dd7517f7..f94c6cecea76 100644 --- a/modular_ss220/species/serpentids/code/mob/emotes.dm +++ b/modular_ss220/species/serpentids/code/mob/emotes.dm @@ -1,19 +1,32 @@ -/mob/living/carbon/human/verb/emote_gbsroar() +#define EMOTE_HUMAN_GBSROAR "Рычать" +#define EMOTE_HUMAN_GBSHISS "Шипеть" +#define EMOTE_HUMAN_GBSWIGGLE "Шевелить усиками" + +/mob/living/carbon/human/proc/emote_gbsroar() set name = "< " + EMOTE_HUMAN_ROAR + " >" set category = "Эмоции" emote("gbsroar", intentional = TRUE) -/mob/living/carbon/human/verb/emote_gbshiss() +/mob/living/carbon/human/proc/emote_gbshiss() set name = "< " + EMOTE_HUMAN_HISS + " >" set category = "Эмоции" emote("gbshiss", intentional = TRUE) -/mob/living/carbon/human/verb/emote_gbswiggles() +/mob/living/carbon/human/proc/emote_gbswiggles() set name = "< " + EMOTE_HUMAN_WIGGLES + " >" set category = "Эмоции" emote("gbswiggles", intentional = TRUE) -/datum/emote/living/carbon/human/roar/gbs +/datum/emote/living/carbon/human/gbsroar + name = EMOTE_HUMAN_GBSROAR + +/datum/emote/living/carbon/human/gbshiss + name = EMOTE_HUMAN_GBSHISS + +/datum/emote/living/carbon/human/gbswiggles + name = EMOTE_HUMAN_GBSWIGGLE + +/datum/emote/living/carbon/human/gbsroar key = "gbsroar" key_third_person = "gbsroar" message = "утробно рычит." @@ -25,11 +38,11 @@ emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE age_based = TRUE -/datum/emote/living/carbon/human/roar/gbs/get_sound(mob/living/user) +/datum/emote/living/carbon/human/gbsroar/get_sound(mob/living/user) return pick( 'modular_ss220/species/serpentids/sounds/serpentid_roar.ogg') -/datum/emote/living/carbon/human/hiss/gbs +/datum/emote/living/carbon/human/gbshiss key = "gbshiss" key_third_person = "gbshisses" message = "шипит." @@ -41,7 +54,7 @@ sound = "modular_ss220/species/serpentids/sounds/serpentid_hiss.ogg" muzzled_noises = list("weak hissing") -/datum/emote/living/carbon/human/wiggles/gbs +/datum/emote/living/carbon/human/gbswiggles key = "gbswiggles" key_third_person = "gbswiggles" message = "шевелит усиками." diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 1a52256aea20..87ce67746d6b 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -157,9 +157,9 @@ H.AddComponent(/datum/component/mob_overlay_shift, shift_y_hand = 3, shift_xs_belt = 5, shift_y_belt = 7, shift_y_back = 7, shift_y_head = 10, shift_xs_head = 3) //shift_xs_hand = 12 H.AddComponent(/datum/component/gadom_living) H.AddComponent(/datum/component/gadom_cargo) - H.verbs |= /mob/living/carbon/human/verb/emote_gbsroar - H.verbs |= /mob/living/carbon/human/verb/emote_gbshiss - H.verbs |= /mob/living/carbon/human/verb/emote_gbswiggles + H.verbs |= /mob/living/carbon/human/proc/emote_gbsroar + H.verbs |= /mob/living/carbon/human/proc/emote_gbshiss + H.verbs |= /mob/living/carbon/human/proc/emote_gbswiggles H.verbs -= /mob/living/carbon/human/verb/emote_cough H.verbs -= /mob/living/carbon/human/verb/emote_sneeze H.verbs -= /mob/living/carbon/human/verb/emote_sniff @@ -169,11 +169,11 @@ H.chat_message_y_offset = 11 SEND_SIGNAL(H, COMSIG_MOB_OVERLAY_SHIFT_UPDATE) -/datum/species/moth/on_species_loss(mob/living/carbon/human/H) +/datum/species/serpentid/on_species_loss(mob/living/carbon/human/H) ..() - H.verbs -= /mob/living/carbon/human/verb/emote_gbsroar - H.verbs -= /mob/living/carbon/human/verb/emote_gbshiss - H.verbs -= /mob/living/carbon/human/verb/emote_gbswiggles + H.verbs -= /mob/living/carbon/human/proc/emote_gbsroar + H.verbs -= /mob/living/carbon/human/proc/emote_gbshiss + H.verbs -= /mob/living/carbon/human/proc/emote_gbswiggles H.verbs |= /mob/living/carbon/human/verb/emote_cough H.verbs |= /mob/living/carbon/human/verb/emote_sneeze H.verbs |= /mob/living/carbon/human/verb/emote_sniff From 5ca0d0e984e6438e7c36e6d4c69aac64084516d3 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Wed, 16 Oct 2024 20:21:22 +0300 Subject: [PATCH 061/152] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BF=D0=BE?= =?UTF-8?q?=20=D0=BA=D0=BE=D1=81=D1=82=D1=8F=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../species/_components/carapace/carapace.dm | 7 +------ modular_ss220/species/serpentids/code/mob/emotes.dm | 12 ++++++++++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/modular_ss220/species/_components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm index 16dd814c739b..0e642328ce5d 100644 --- a/modular_ss220/species/_components/carapace/carapace.dm +++ b/modular_ss220/species/_components/carapace/carapace.dm @@ -126,6 +126,7 @@ var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP)) return FALSE + . = .. () /datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) @@ -145,12 +146,6 @@ return TRUE return FALSE -/datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) - var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && (affected.status & ORGAN_BROKEN)) - return TRUE - return FALSE - /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) diff --git a/modular_ss220/species/serpentids/code/mob/emotes.dm b/modular_ss220/species/serpentids/code/mob/emotes.dm index f94c6cecea76..e9a4ab55f66a 100644 --- a/modular_ss220/species/serpentids/code/mob/emotes.dm +++ b/modular_ss220/species/serpentids/code/mob/emotes.dm @@ -66,3 +66,15 @@ volume = 80 muzzled_noises = list("слабо") sound = 'modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg' + +/datum/keybinding/emote/carbon/human/gbsroar + linked_emote = /datum/emote/living/carbon/human/gbsroar + name = EMOTE_HUMAN_GBSROAR + +/datum/keybinding/emote/carbon/human/gbshiss + linked_emote = /datum/emote/living/carbon/human/gbshiss + name = EMOTE_HUMAN_GBSHISS + +/datum/keybinding/emote/carbon/human/gbswiggles + linked_emote = /datum/emote/living/carbon/human/gbswiggles + name = EMOTE_HUMAN_GBSWIGGLE From c3cc050d98d80eba8b97b0adec6c2eb5f077c4d1 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 17 Oct 2024 17:58:40 +0300 Subject: [PATCH 062/152] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D1=8B,=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B1=D1=80?= =?UTF-8?q?=D0=BE=D1=81=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2.=20=D0=9F?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D0=B8=D0=B3=D0=BD=D0=B0=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=BD=D0=B5=20=D0=B7=D0=B0=D0=BA=D0=BE=D0=BD=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_procs_overrides => _code}/chat_offset.dm | 0 .../code/_defines => _code}/common.dm | 8 - .../_procs_overrides => _code}/copy_butt.dm | 0 modular_ss220/species/_code/update_icons.dm | 64 +++++ .../appearance/mob_overlay_shift.dm | 232 +++++++----------- .../_components/attacking/double_attack.dm | 32 +-- .../_components/attacking/pair_attack.dm | 8 +- .../species/_components/carapace/carapace.dm | 62 +++-- .../_components/carapace/carapace_shell.dm | 7 +- .../carrying/grab_and_drag_on_mob_crates.dm | 16 +- .../carrying/grab_and_drag_on_mob_mobs.dm | 13 +- .../species/_components/organs/heart_defib.dm | 1 - .../organs/organ_actions_component.dm | 2 - .../_components/organs/organ_chemistry.dm | 1 - .../species/_components/organs/organ_decay.dm | 1 - .../_components/organs/organ_toxins.dm | 1 - modular_ss220/species/_components/reagents.dm | 173 ------------- modular_ss220/species/_species.dme | 4 + .../species/serpentids/_serpentids.dme | 5 - .../serpentids/code/_defines/alerts.dm | 12 +- .../serpentids/code/_defines/reagents.dm | 174 +++++++++++++ .../code/_procs_overrides/update_icons.dm | 62 ----- .../species/serpentids/code/mob/emotes.dm | 51 ++-- .../species/serpentids/code/mob/language.dm | 2 +- .../species/serpentids/code/mob/serpentids.dm | 57 +++-- .../organs/external/serpentids_organs_head.dm | 19 +- .../external/serpentids_organs_other.dm | 42 ++-- .../external/serpentids_organs_torso.dm | 4 +- .../implants/serpentid_mantis_blades.dm | 9 +- 29 files changed, 479 insertions(+), 583 deletions(-) rename modular_ss220/species/{serpentids/code/_procs_overrides => _code}/chat_offset.dm (100%) rename modular_ss220/species/{serpentids/code/_defines => _code}/common.dm (81%) rename modular_ss220/species/{serpentids/code/_procs_overrides => _code}/copy_butt.dm (100%) create mode 100644 modular_ss220/species/_code/update_icons.dm create mode 100644 modular_ss220/species/serpentids/code/_defines/reagents.dm delete mode 100644 modular_ss220/species/serpentids/code/_procs_overrides/update_icons.dm diff --git a/modular_ss220/species/serpentids/code/_procs_overrides/chat_offset.dm b/modular_ss220/species/_code/chat_offset.dm similarity index 100% rename from modular_ss220/species/serpentids/code/_procs_overrides/chat_offset.dm rename to modular_ss220/species/_code/chat_offset.dm diff --git a/modular_ss220/species/serpentids/code/_defines/common.dm b/modular_ss220/species/_code/common.dm similarity index 81% rename from modular_ss220/species/serpentids/code/_defines/common.dm rename to modular_ss220/species/_code/common.dm index 6814de006663..1f4b52b252b2 100644 --- a/modular_ss220/species/serpentids/code/_defines/common.dm +++ b/modular_ss220/species/_code/common.dm @@ -31,11 +31,3 @@ var/action_mult = 1 var/equipment_black_list = list() var/butt_sprite_icon = 'icons/obj/butts.dmi' - var/bio_chips = list() - -/datum/species/on_species_gain(mob/living/carbon/human/H) - .. () - if(bio_chips) - for(var/bio_chip_type in bio_chips) - var/obj/item/bio_chip/I = new bio_chip_type(H) - I.implant(H, null) diff --git a/modular_ss220/species/serpentids/code/_procs_overrides/copy_butt.dm b/modular_ss220/species/_code/copy_butt.dm similarity index 100% rename from modular_ss220/species/serpentids/code/_procs_overrides/copy_butt.dm rename to modular_ss220/species/_code/copy_butt.dm diff --git a/modular_ss220/species/_code/update_icons.dm b/modular_ss220/species/_code/update_icons.dm new file mode 100644 index 000000000000..820de24dd996 --- /dev/null +++ b/modular_ss220/species/_code/update_icons.dm @@ -0,0 +1,64 @@ +//Обновление иконок для кастомных рас +/datum/character_save/update_preview_icon(for_observer=0) + . = .. () + //Это ужасно,но так можно кастомным расам выдавать кастомные глаза (я хз, почему сработало так, нужны разьяснения) + var/datum/species/selected_specie = GLOB.all_species[species] + if(!istype(selected_specie, /datum/species/serpentid)) + return + + qdel(preview_icon_front) + qdel(preview_icon_side) + qdel(preview_icon) + + var/g = "m" + if(body_type == FEMALE) + g = "f" + + var/icon/icobase = selected_specie.icobase + preview_icon = new /icon(icobase, "torso_[g]") + preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) + preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) + for(var/name in list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand")) + if(organ_data[name] == "amputated") continue + if(organ_data[name] == "cyborg") + var/datum/robolimb/R + if(rlimb_data[name]) R = GLOB.all_robolimbs[rlimb_data[name]] + if(!R) R = GLOB.basic_robolimb + if(name == "chest") + name = "torso" + preview_icon.Blend(icon(R.icon, "[name]"), ICON_OVERLAY) // This doesn't check gendered_icon. Not an issue while only limbs can be robotic. + continue + preview_icon.Blend(new /icon(icobase, "[name]"), ICON_OVERLAY) + + // Skin color + if(selected_specie && (selected_specie.bodyflags & HAS_SKIN_COLOR)) + preview_icon.Blend(s_colour, ICON_ADD) + + // Skin tone + if(selected_specie && (selected_specie.bodyflags & HAS_SKIN_TONE)) + if(s_tone >= 0) + preview_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD) + else + preview_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) + + var/icon/face_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie.eyes) + var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") + eyes_s.Blend(e_colour, ICON_ADD) + face_s.Blend(eyes_s, ICON_OVERLAY) + + preview_icon.Blend(face_s, ICON_OVERLAY) + preview_icon_front = new(preview_icon, dir = SOUTH) + preview_icon_side = new(preview_icon, dir = WEST) + +//Прок на получение иконки глаз кастомных рас (перезапись, возможно стоит расширить?) +/mob/living/carbon/human/get_eyecon() + var/obj/item/organ/internal/eyes/eyes = get_int_organ(/obj/item/organ/internal/eyes) + if(istype(dna.species) && dna.species.eyes) + var/icon/eyes_icon + if(eyes) + eyes_icon = eyes.generate_icon() + else //Error 404: Eyes not found! + eyes_icon = new(dna.species.eyes_icon, dna.species.eyes)//eyes_icon = new('modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi', "serp_eyes_s")// + eyes_icon.Blend("#800000", ICON_ADD) + + return eyes_icon diff --git a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm index 21dba6711b31..c5b5eaec83c8 100644 --- a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm +++ b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm @@ -10,144 +10,82 @@ #define MOB_OVERLAY_SHIFT_CHECK (1<<0) /datum/component/mob_overlay_shift - var/dir = 1 - - var/mob/living/carbon/human/mob - var/shift_x_inhand = 0 - var/shift_x_center_inhand = 0 - var/shift_y_inhand = 0 - var/shift_y_center_inhand = 0 - var/shift_x_side_inhand = 0 - var/shift_y_side_inhand = 0 - var/shift_x_front_inhand = 0 - var/shift_y_front_inhand = 0 - - var/shift_x_belt = 0 - var/shift_x_center_belt = 0 - var/shift_y_belt = 0 - var/shift_y_center_belt = 0 - var/shift_x_side_belt = 0 - var/shift_y_side_belt = 0 - var/shift_x_front_belt = 0 - var/shift_y_front_belt = 0 - - var/shift_x_back = 0 - var/shift_x_center_back = 0 - var/shift_y_back = 0 - var/shift_y_center_back = 0 - var/shift_x_side_back = 0 - var/shift_y_side_back = 0 - var/shift_x_front_back = 0 - var/shift_y_front_back = 0 - - var/shift_x_head = 0 - var/shift_x_center_head = 0 - var/shift_y_head = 0 - var/shift_y_center_head = 0 - var/shift_x_side_head = 0 - var/shift_y_side_head = 0 - var/shift_x_front_head = 0 - var/shift_y_front_head = 0 - -/datum/component/mob_overlay_shift/Initialize(caller_mob, shift_xs_hand = 0, shift_ys_hand = 0, shift_xf_hand = 0, shift_yf_hand = 0, shift_x_hand = 0, shift_y_hand = 0, shift_xs_belt = 0, shift_ys_belt = 0, shift_xf_belt = 0, shift_yf_belt = 0, shift_x_belt = 0, shift_y_belt = 0, shift_xs_back = 0, shift_ys_back = 0, shift_xf_back = 0, shift_yf_back = 0, shift_x_back = 0, shift_y_back = 0, shift_xs_head = 0, shift_ys_head = 0, shift_xf_head = 0, shift_yf_head = 0, shift_x_head = 0, shift_y_head = 0) - ..() - mob = parent - - shift_x_center_inhand = shift_x_hand - shift_y_center_inhand = shift_y_hand - shift_x_side_inhand = shift_xs_hand - shift_y_side_inhand = shift_ys_hand - shift_x_front_inhand = shift_xf_hand - shift_y_front_inhand = shift_yf_hand - - shift_x_center_belt = shift_x_belt - shift_y_center_belt = shift_y_belt - shift_x_side_belt = shift_xs_belt - shift_y_side_belt = shift_ys_belt - shift_x_front_belt = shift_xf_belt - shift_y_front_belt = shift_yf_belt - - shift_x_center_back = shift_x_back - shift_y_center_back = shift_y_back - shift_x_side_back = shift_xs_back - shift_y_side_back = shift_ys_back - shift_x_front_back = shift_xf_back - shift_y_front_back = shift_yf_back - - shift_x_center_head = shift_x_head - shift_y_center_head = shift_y_head - shift_x_side_head = shift_xs_head - shift_y_side_head = shift_ys_head - shift_x_front_head = shift_xf_head - shift_y_front_head = shift_yf_head + var/dir = NORTH + + var/list/shift_data = list() + +/datum/component/mob_overlay_shift/Initialize(list/shift_list) + // Define body parts and positions + var/list/body_parts = list("inhand", "belt", "back", "head") + var/list/positions = list("center", "side", "front") + + // Initialize shifts using the provided shift_data list or default to zero + for (var/body_part in body_parts) + // Create a nested list for each body part if it doesn't exist + shift_data[body_part] = shift_list[body_part] ? shift_list[body_part] : list() + + for (var/position in positions) + // Create a nested list for each position within the body part + shift_data[body_part][position] = shift_list[body_part][position] ? shift_list[body_part][position] : list() + + // Set default values for x and y shifts if not provided + shift_data[body_part][position]["x"] = shift_list[body_part][position]["x"] ? shift_list[body_part][position]["x"] : 0 + shift_data[body_part][position]["y"] = shift_list[body_part][position]["y"] ? shift_list[body_part][position]["y"] : 0 /datum/component/mob_overlay_shift/RegisterWithParent() RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CALL, PROC_REF(shift_call)) - RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CHECK, PROC_REF(module_available)) RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_UPDATE, PROC_REF(update_call)) /datum/component/mob_overlay_shift/UnregisterFromParent() UnregisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CALL) - UnregisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CHECK) UnregisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_UPDATE) -/datum/component/mob_overlay_shift/proc/module_available() - SIGNAL_HANDLER - return MOB_OVERLAY_SHIFT_CHECK - //Проки, срабатываемые при получении или исцелении урона -/datum/component/mob_overlay_shift/proc/shift_call(mob, new_dir) +/datum/component/mob_overlay_shift/proc/shift_call(mob/living/carbon/human/mob, new_dir) if(new_dir) dir = new_dir + + var/list/body_parts = list("inhand", "belt", "back", "head") + var/position switch(dir) if(EAST) - shift_x_inhand = shift_x_side_inhand + shift_x_center_inhand - shift_y_inhand = shift_y_side_inhand + shift_y_center_inhand - shift_x_belt = shift_x_side_belt + shift_x_center_belt - shift_y_belt = shift_y_side_belt + shift_y_center_belt - shift_x_back = shift_x_side_back + shift_x_center_back - shift_y_back = shift_y_side_back + shift_y_center_back - shift_x_head = shift_x_side_head + shift_x_center_head - shift_y_head = shift_y_side_head + shift_y_center_head + position = "side" + if(SOUTH) + position = "front" if(WEST) - shift_x_inhand = -shift_x_side_inhand + shift_x_center_inhand - shift_y_inhand = -shift_y_side_inhand + shift_y_center_inhand - shift_x_belt = -shift_x_side_belt + shift_x_center_belt - shift_y_belt = -shift_y_side_belt + shift_y_center_belt - shift_x_back = -shift_x_side_back + shift_x_center_back - shift_y_back = -shift_y_side_back + shift_y_center_back - shift_x_head = -shift_x_side_head + shift_x_center_head - shift_y_head = -shift_y_side_head + shift_y_center_head + position = "side" if(NORTH) - shift_x_inhand = shift_x_front_inhand + shift_x_center_inhand - shift_y_inhand = shift_y_front_inhand + shift_y_center_inhand - shift_x_belt = shift_x_front_belt + shift_x_center_belt - shift_y_belt = shift_y_front_belt + shift_y_center_belt - shift_x_back = shift_x_front_back + shift_x_center_back - shift_y_back = shift_y_front_back + shift_y_center_back - shift_x_head = shift_x_front_head + shift_x_center_head - shift_y_head = shift_y_front_head + shift_y_center_head - if(SOUTH) - shift_x_inhand = -shift_x_front_inhand + shift_x_center_inhand - shift_y_inhand = -shift_y_front_inhand + shift_y_center_inhand - shift_x_belt = -shift_x_front_belt + shift_x_center_belt - shift_y_belt = -shift_y_front_belt + shift_y_center_belt - shift_x_back = -shift_x_front_back + shift_x_center_back - shift_y_back = -shift_y_front_back + shift_y_center_back - shift_x_head = -shift_x_front_head + shift_x_center_head - shift_y_head = -shift_y_front_head + shift_y_center_head - update_call() - -/datum/component/mob_overlay_shift/proc/update_call() - update_inv_r_hand() - update_inv_l_hand() - update_inv_belt() - update_inv_back() - update_inv_head() - update_inv_glasses() - update_inv_ears() - -/datum/component/mob_overlay_shift/proc/update_inv_belt() + position = "front" + + var/flip = (dir == WEST || dir == SOUTH) ? -1 : 1 + + // Update shift values based on direction + for (var/body_part in body_parts) + var/x_shift_key = "shift_x" + var/y_shift_key = "shift_y" + + var/x_shift_value = shift_data[body_part][position]["x"] + var/y_shift_value = shift_data[body_part][position]["y"] + var/x_central_value = shift_data[body_part]["center"]["x"] + var/y_central_value = shift_data[body_part]["center"]["y"] + + shift_data[body_part][x_shift_key] = flip * x_shift_value + x_central_value + shift_data[body_part][y_shift_key] = flip * y_shift_value + y_central_value + + update_call(mob) + +/datum/component/mob_overlay_shift/proc/update_call(mob/living/carbon/human/mob) + update_inv_r_hand(mob) + update_inv_l_hand(mob) + update_inv_belt(mob) + update_inv_back(mob) + update_inv_head(mob) + update_inv_glasses(mob) + update_inv_ears(mob) + +//TODO: Отправить на оффы +//Проки сделаны, так как нет прямой возможности влиять на положение mutable_apperance после его применения на спрайт кулы, только удалять/добавлять сами +/datum/component/mob_overlay_shift/proc/update_inv_belt(mob/living/carbon/human/mob) mob.remove_overlay(BELT_LAYER) mob.remove_overlay(SPECIAL_BELT_LAYER) var/overlay_layer = BELT_LAYER @@ -186,13 +124,13 @@ standing = mutable_appearance(mob.belt.sprite_sheets[mob.dna.species.sprite_sheet_name], "[t_state]", layer = -overlay_layer) else standing = mutable_appearance('icons/mob/clothing/belt.dmi', "[t_state]", layer = -overlay_layer) - standing.pixel_x = shift_x_belt - standing.pixel_y = shift_y_belt + standing.pixel_x = shift_data["belt"]["shift_y"] + standing.pixel_y = shift_data["belt"]["shift_y"] mob.overlays_standing[overlay_layer] = standing mob.apply_overlay(BELT_LAYER) mob.apply_overlay(SPECIAL_BELT_LAYER) -/datum/component/mob_overlay_shift/proc/update_inv_back() +/datum/component/mob_overlay_shift/proc/update_inv_back(mob/living/carbon/human/mob) mob.remove_overlay(BACK_LAYER) if(mob.back) mob.update_hud_back(mob.back) @@ -211,12 +149,12 @@ //create the image standing.alpha = mob.back.alpha standing.color = mob.back.color - standing.pixel_x = shift_x_back - standing.pixel_y = shift_y_back + standing.pixel_x = shift_data["back"]["shift_x"] + standing.pixel_y = shift_data["back"]["shift_y"] mob.overlays_standing[BACK_LAYER] = standing mob.apply_overlay(BACK_LAYER) -/datum/component/mob_overlay_shift/proc/update_inv_r_hand() +/datum/component/mob_overlay_shift/proc/update_inv_r_hand(mob/living/carbon/human/mob) mob.remove_overlay(R_HAND_LAYER) if(mob.r_hand) mob.show_hand_to_observers(mob.r_hand, left = FALSE) @@ -231,13 +169,13 @@ else standing = mutable_appearance(mob.r_hand.righthand_file, "[t_state]", layer = -R_HAND_LAYER, color = mob.r_hand.color) standing = center_image(standing, (mob.r_hand.inhand_x_dimension), (mob.r_hand.inhand_y_dimension)) - standing.pixel_x = shift_x_inhand - standing.pixel_y = shift_y_inhand + standing.pixel_x = shift_data["inhand"]["shift_x"] + standing.pixel_y = shift_data["inhand"]["shift_y"] mob.overlays_standing[R_HAND_LAYER] = standing mob.apply_overlay(R_HAND_LAYER) -/datum/component/mob_overlay_shift/proc/update_inv_l_hand() +/datum/component/mob_overlay_shift/proc/update_inv_l_hand(mob/living/carbon/human/mob) mob.remove_overlay(L_HAND_LAYER) if(mob.l_hand) mob.show_hand_to_observers(mob.l_hand, left = TRUE) @@ -252,12 +190,12 @@ else standing = mutable_appearance(mob.l_hand.lefthand_file, "[t_state]", layer = -L_HAND_LAYER, color = mob.l_hand.color) standing = center_image(standing, mob.l_hand.inhand_x_dimension, mob.l_hand.inhand_y_dimension) - standing.pixel_x = shift_x_inhand - standing.pixel_y = shift_y_inhand + standing.pixel_x = shift_data["inhand"]["shift_x"] + standing.pixel_y = shift_data["inhand"]["shift_y"] mob.overlays_standing[L_HAND_LAYER] = standing mob.apply_overlay(L_HAND_LAYER) -/datum/component/mob_overlay_shift/proc/update_inv_head() +/datum/component/mob_overlay_shift/proc/update_inv_head(mob/living/carbon/human/mob) mob.remove_overlay(HEAD_LAYER) if(mob.client && mob.hud_used) var/atom/movable/screen/inventory/inv = mob.hud_used.inv_slots[SLOT_HUD_HEAD] @@ -284,12 +222,12 @@ standing.overlays += bloodsies standing.alpha = mob.head.alpha standing.color = mob.head.color - standing.pixel_x = shift_x_head - standing.pixel_y = shift_y_head + standing.pixel_x = shift_data["head"]["shift_x"] + standing.pixel_y = shift_data["head"]["shift_y"] mob.overlays_standing[HEAD_LAYER] = standing mob.apply_overlay(HEAD_LAYER) -/datum/component/mob_overlay_shift/proc/update_inv_glasses() +/datum/component/mob_overlay_shift/proc/update_inv_glasses(mob/living/carbon/human/mob) mob.remove_overlay(GLASSES_LAYER) mob.remove_overlay(GLASSES_OVER_LAYER) mob.remove_overlay(OVER_MASK_LAYER) @@ -311,8 +249,8 @@ else new_glasses = mutable_appearance('icons/mob/clothing/eyes.dmi', "[mob.glasses.icon_state]", layer = -GLASSES_LAYER) - new_glasses.pixel_x = shift_x_head - new_glasses.pixel_y = shift_y_head + new_glasses.pixel_x = shift_data["head"]["shift_x"] + new_glasses.pixel_y = shift_data["head"]["shift_y"] var/datum/sprite_accessory/hair/hair_style = GLOB.hair_styles_full_list[head_organ.h_style] var/obj/item/clothing/glasses/G = mob.glasses @@ -330,7 +268,7 @@ mob.update_misc_effects() -/datum/component/mob_overlay_shift/proc/update_inv_ears() +/datum/component/mob_overlay_shift/proc/update_inv_ears(mob/living/carbon/human/mob) mob.remove_overlay(LEFT_EAR_LAYER) mob.remove_overlay(RIGHT_EAR_LAYER) @@ -354,8 +292,8 @@ left_ear_icon = mob.l_ear.icon_override var/mutable_appearance/standing = mutable_appearance(left_ear_icon, left_ear_item_state, layer = -LEFT_EAR_LAYER) - standing.pixel_x = shift_x_head - standing.pixel_y = shift_y_head + standing.pixel_x = shift_data["head"]["shift_x"] + standing.pixel_y = shift_data["head"]["shift_y"] mob.overlays_standing[LEFT_EAR_LAYER] = standing if(mob.r_ear) @@ -370,8 +308,8 @@ right_ear_icon = mob.r_ear.icon_override var/mutable_appearance/standing = mutable_appearance(right_ear_icon, right_ear_item_state, layer = -RIGHT_EAR_LAYER) - standing.pixel_x = shift_x_head - standing.pixel_y = shift_y_head + standing.pixel_x = shift_data["head"]["shift_x"] + standing.pixel_y = shift_data["head"]["shift_y"] mob.overlays_standing[RIGHT_EAR_LAYER] = standing mob.apply_overlay(LEFT_EAR_LAYER) @@ -379,10 +317,8 @@ /mob/living/carbon/human/setDir(new_dir) . = ..() - if(SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CHECK) & MOB_OVERLAY_SHIFT_CHECK) - SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CALL, new_dir) + SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CALL, new_dir) /mob/living/carbon/human/Life(seconds, times_fired) . = ..() - if(SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CHECK) & MOB_OVERLAY_SHIFT_CHECK) - SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CALL) + SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CALL) diff --git a/modular_ss220/species/_components/attacking/double_attack.dm b/modular_ss220/species/_components/attacking/double_attack.dm index 3862084283b9..68ae22f5d846 100644 --- a/modular_ss220/species/_components/attacking/double_attack.dm +++ b/modular_ss220/species/_components/attacking/double_attack.dm @@ -6,56 +6,30 @@ */ #define COMSIG_DOUBLEATTACK_PROCESS "hand_pre_attack" -#define COMSIG_DOUBLEATTACK_SYNC "sync_states" #define COMSIG_DOUBLEATTACK_CHECK "check_state" #define DOUBLEATTACK_CHECK_ACTIVE (1<<0) /datum/component/double_attack - var/obj/item/hand_item = null var/state_attack = FALSE -/datum/component/double_attack/Initialize(obj/item/weapon) - hand_item = weapon - /datum/component/double_attack/RegisterWithParent() RegisterSignal(parent, COMSIG_DOUBLEATTACK_PROCESS, PROC_REF(hand_pre_attack)) - RegisterSignal(parent, COMSIG_DOUBLEATTACK_CHECK, PROC_REF(check_state)) - RegisterSignal(parent, COMSIG_DOUBLEATTACK_SYNC, PROC_REF(sync_states)) /datum/component/double_attack/UnregisterFromParent() UnregisterSignal(parent, COMSIG_DOUBLEATTACK_PROCESS) - UnregisterSignal(parent, COMSIG_DOUBLEATTACK_CHECK) - UnregisterSignal(parent, COMSIG_DOUBLEATTACK_SYNC) - -//Проверка, что оружие запустило атаку (для избегания цепи атак) -/datum/component/double_attack/proc/check_state() - SIGNAL_HANDLER - return state_attack ? DOUBLEATTACK_CHECK_ACTIVE : 0 - -//Синхронизация состояния атак, чтобы оба оружия понимали, что они запустили атаку -/datum/component/double_attack/proc/sync_states(weapon, newstate) - SIGNAL_HANDLER - state_attack = newstate /datum/component/double_attack/proc/hand_pre_attack(obj/item/weapon, mob/living/target, mob/living/user, def_zone) SIGNAL_HANDLER - hand_item = user.get_active_hand() - if(SEND_SIGNAL(hand_item, COMSIG_DOUBLEATTACK_CHECK) && DOUBLEATTACK_CHECK_ACTIVE) - return + var/hand_item = user.get_active_hand() state_attack = TRUE - SEND_SIGNAL(hand_item, COMSIG_DOUBLEATTACK_SYNC, state_attack) if(hand_item) - addtimer(CALLBACK(src, PROC_REF(hand_attack), target, user, def_zone), (user.next_move_modifier / 5) SECONDS) - addtimer(CALLBACK(src, PROC_REF(hand_post_attack)), (user.next_move_modifier / 2) SECONDS) + addtimer(CALLBACK(src, PROC_REF(hand_attack), target, user, def_zone, hand_item), (user.next_move_modifier / 5) SECONDS) -/datum/component/double_attack/proc/hand_attack(mob/living/target, mob/living/user, def_zone) +/datum/component/double_attack/proc/hand_attack(mob/living/target, mob/living/user, def_zone, obj/item/hand_item) if(QDELETED(src) || QDELETED(target) || user != hand_item.loc || !user.Adjacent(target)) return hand_item.attack(target, user, def_zone) - -/datum/component/double_attack/proc/hand_post_attack() state_attack = FALSE - SEND_SIGNAL(hand_item, COMSIG_DOUBLEATTACK_SYNC, state_attack) //Расширение базового прока атаки для запуска сигнала /obj/item/attack(mob/living/M, mob/living/user, def_zone) diff --git a/modular_ss220/species/_components/attacking/pair_attack.dm b/modular_ss220/species/_components/attacking/pair_attack.dm index 1c0e66998e03..9d645995fc4e 100644 --- a/modular_ss220/species/_components/attacking/pair_attack.dm +++ b/modular_ss220/species/_components/attacking/pair_attack.dm @@ -11,13 +11,9 @@ #define PAIRATTACK_CHECK_ACTIVE (1<<0) /datum/component/pair_attack - var/obj/item/mainhand_item = null var/obj/item/offhand_item = null var/state_attack = FALSE -/datum/component/pair_attack/Initialize(obj/item/weapon) - mainhand_item = weapon - /datum/component/pair_attack/RegisterWithParent() RegisterSignal(parent, COMSIG_PAIRATTACK_PROCESS, PROC_REF(offhand_pre_attack)) RegisterSignal(parent, COMSIG_PAIRATTACK_CHECK, PROC_REF(check_state)) @@ -41,9 +37,9 @@ /datum/component/pair_attack/proc/offhand_pre_attack(obj/item/weapon, mob/living/target, mob/living/user, def_zone) SIGNAL_HANDLER offhand_item = user.get_inactive_hand() - if(offhand_item.type != mainhand_item.type) + if(offhand_item.type != weapon.type) return - if(SEND_SIGNAL(offhand_item, COMSIG_PAIRATTACK_CHECK) && PAIRATTACK_CHECK_ACTIVE) + if(SEND_SIGNAL(offhand_item, COMSIG_PAIRATTACK_CHECK) & PAIRATTACK_CHECK_ACTIVE) return state_attack = TRUE SEND_SIGNAL(offhand_item, COMSIG_PAIRATTACK_SYNC, state_attack) diff --git a/modular_ss220/species/_components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm index 0e642328ce5d..e006d16fbec0 100644 --- a/modular_ss220/species/_components/carapace/carapace.dm +++ b/modular_ss220/species/_components/carapace/carapace.dm @@ -25,46 +25,39 @@ #define COMSIG_CARAPACE_RECEIVE_DAMAGE "receive_damage" #define COMSIG_CARAPACE_HEAL_DAMAGE "heal_damage" -#define COMSIG_CARAPACE_SURGERY_CAN_START "block_operation" -#define CARAPACE_STOP_SURGERY_STEP (1<<0) +#define CARAPACE_ENCASE_WORD "chitin" + /datum/component/carapace - var/obj/item/organ/external/limb var/self_medning = FALSE var/broken_treshold = CARAPACE_BROKEN_STATE -/datum/component/carapace/Initialize(caller_limb, allow_self_medning, break_threshold, control_node = FALSE) - ..() - limb = parent +/datum/component/carapace/Initialize(allow_self_medning, break_threshold, control_node = FALSE) self_medning = allow_self_medning broken_treshold = break_threshold + var/obj/item/organ/external/affected_limb = parent + affected_limb.encased = CARAPACE_ENCASE_WORD /datum/component/carapace/RegisterWithParent() RegisterSignal(parent, COMSIG_CARAPACE_RECEIVE_DAMAGE, PROC_REF(receive_damage)) RegisterSignal(parent, COMSIG_CARAPACE_HEAL_DAMAGE, PROC_REF(heal_damage)) - RegisterSignal(parent, COMSIG_CARAPACE_SURGERY_CAN_START, PROC_REF(block_operation)) /datum/component/carapace/UnregisterFromParent() UnregisterSignal(parent, COMSIG_CARAPACE_RECEIVE_DAMAGE) UnregisterSignal(parent, COMSIG_CARAPACE_HEAL_DAMAGE) - UnregisterSignal(parent, COMSIG_CARAPACE_SURGERY_CAN_START) - -/datum/component/carapace/proc/block_operation() - SIGNAL_HANDLER - return ((limb.status & ORGAN_BROKEN) ? FALSE : CARAPACE_STOP_SURGERY_STEP) //Проки, срабатываемые при получении или исцелении урона -/datum/component/carapace/proc/receive_damage(affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) - if(limb.get_damage() > broken_treshold) - limb.fracture() - if(length(limb.internal_organs) > 0) - var/obj/item/organ/internal/O = pick(limb.internal_organs) - O.receive_damage(burn * limb.burn_dam) - -/datum/component/carapace/proc/heal_damage(affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) - if((limb.status & ORGAN_BROKEN) && limb.get_damage() == 0) +/datum/component/carapace/proc/receive_damage(obj/item/organ/external/affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) + if(affected_limb.get_damage() > broken_treshold) + affected_limb.fracture() + if(length(affected_limb.internal_organs) > 0) + var/obj/item/organ/internal/O = pick(affected_limb.internal_organs) + O.receive_damage(burn * affected_limb.burn_dam) + +/datum/component/carapace/proc/heal_damage(obj/item/organ/external/affected_limb, brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) + if((affected_limb.status & ORGAN_BROKEN) && affected_limb.get_damage() == 0) if(self_medning || prob(CARAPACE_HEAL_BROKEN_PROB)) - limb.mend_fracture() + affected_limb.mend_fracture() //Расширение проков урона и лечения для обращения к компоненту /obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) @@ -77,7 +70,6 @@ SEND_SIGNAL(src, COMSIG_CARAPACE_HEAL_DAMAGE, brute, burn, internal, robo_repair, updating_health) return - ////////////////////////////////////////////////////////////////// // Хирургия для панциря // ////////////////////////////////////////////////////////////////// @@ -117,50 +109,56 @@ //Оверрайды для операций, которые могут применяться для панциря. /datum/surgery/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if(affected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && (!(affected.status & ORGAN_BROKEN) || (src.type in CARAPACE_BLOCK_OPERATION))) //отключить стандартные операции класса "манипуляция органов", восстановить кость. + if(affected.encased == CARAPACE_ENCASE_WORD) + if((src.type in CARAPACE_BLOCK_OPERATION) || !(affected.status & ORGAN_BROKEN)) //отключить стандартные операции класса "манипуляция органов", восстановить кость/череп. return FALSE . = .. () +//Общие операции - проверка, на доступной карапасовых карапасовым и vice versa /datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP)) + if(affected.encased == CARAPACE_ENCASE_WORD) return FALSE . = .. () +//Чинить карапас можно если он сломан /datum/surgery/bone_repair/carapace/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && (affected.status & ORGAN_BROKEN)) + if((affected.encased == CARAPACE_ENCASE_WORD) && (affected.status & ORGAN_BROKEN)) return TRUE return FALSE +//Ломать карапас можно если он цел /datum/surgery/carapace_break/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) + if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) return TRUE return FALSE +//Манипуляция органов возможна если карапас и он сломан /datum/surgery/organ_manipulation/carapace/can_start(mob/user, mob/living/carbon/target) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && (affected.status & ORGAN_BROKEN)) + if((affected.encased == CARAPACE_ENCASE_WORD) && (affected.status & ORGAN_BROKEN)) return TRUE return FALSE +//Блокировка простого скальпеля (базовый начальный шаг любой операции), если карапас не был сломан, но появилась какая-то операция, которая не должна быть /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) + if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) user.visible_message("Эта конечность [target] покрыта крепким хитином. Сломайте его, прежде чем начать операцию .") return SURGERY_BEGINSTEP_ABORT . = .. () /datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) + if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) affected.fracture() . = .. () /datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(user.zone_selected) - if((SEND_SIGNAL(affected, COMSIG_CARAPACE_SURGERY_CAN_START) & CARAPACE_STOP_SURGERY_STEP) && !(affected.status & ORGAN_BROKEN)) + if((affected.encased == CARAPACE_ENCASE_WORD) && !(affected.status & ORGAN_BROKEN)) affected.mend_fracture() . = .. () + diff --git a/modular_ss220/species/_components/carapace/carapace_shell.dm b/modular_ss220/species/_components/carapace/carapace_shell.dm index 9f816b246cc5..949d92b85763 100644 --- a/modular_ss220/species/_components/carapace/carapace_shell.dm +++ b/modular_ss220/species/_components/carapace/carapace_shell.dm @@ -15,7 +15,6 @@ var/armored_temp_progression = 0 /datum/component/carapace_shell/Initialize(caller, treshold_1, treshold_2, treshold_3, threshold_cold, threshold_heat, temp_progression) - ..() H = caller state_1_threshold = treshold_1 @@ -46,14 +45,14 @@ specie.brute_mod = 1.3 specie.burn_mod = 1.5 REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, "carapace_state") - H.throw_alert("carapace_break_armor", /atom/movable/screen/alert/carapace_break_armor) + H.throw_alert("carapace_break_armor", /atom/movable/screen/alert/carapace/break_armor) //Потеря стелса при втором трешхолде var/obj/item/organ/internal/kidneys/serpentid/organ = H.get_int_organ("kidneys") if(character_damage <= state_2_threshold) H.clear_alert("carapace_break_cloak") else - H.throw_alert("carapace_break_cloak", /atom/movable/screen/alert/carapace_break_cloak) + H.throw_alert("carapace_break_cloak", /atom/movable/screen/alert/carapace/break_cloak) H.clear_alert("carapace_break_armor") if(istype(organ, /obj/item/organ/internal/kidneys/serpentid)) organ.switch_mode(force_off = TRUE) @@ -73,7 +72,7 @@ specie.warning_high_pressure = WARNING_HIGH_PRESSURE specie.warning_low_pressure = WARNING_LOW_PRESSURE specie.hazard_low_pressure = HAZARD_LOW_PRESSURE - H.throw_alert("carapace_break_rig", /atom/movable/screen/alert/carapace_break_rig) + H.throw_alert("carapace_break_rig", /atom/movable/screen/alert/carapace/break_rig) H.clear_alert("carapace_break_armor") H.clear_alert("carapace_break_cloak") cold = initial(specie.cold_level_1) diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm index 806748ce1703..cc19cb83cac7 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm @@ -52,7 +52,6 @@ /datum/component/gadom_cargo var/mob/living/carbon/human/carrier = null - var/list/allowed_races = list(/datum/species/serpentid) /datum/component/gadom_cargo/Initialize() ..() @@ -70,11 +69,11 @@ /datum/component/gadom_cargo/proc/block_operation() SIGNAL_HANDLER - return GADOM_UNMOB_ALLOW_TO_GRAB + var/signal_result = (carrier.a_intent != "grab" ? FALSE : GADOM_MOB_ALLOW_TO_GRAB) + return signal_result /datum/component/gadom_cargo/proc/try_load_cargo(datum/component_holder, mob/user, atom/movable/AM) - var/datum/species/spiece = user.dna.species - if((user.a_intent == "grab") && (spiece.type in allowed_races)) + if((user.a_intent == "grab")) if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, AM) > 1) return if(!istype(AM)) @@ -105,7 +104,6 @@ if(!isliving(AM)) AM.crate_carrying_person = carrier - //AM.forceMove(carrier) - //блокировка стандартного прока AM.forceMoveCrate(carrier) carrier.loaded = AM @@ -132,12 +130,14 @@ //Расширение прока для переноса ящика на моба /mob/living/carbon/human/MouseDrop_T(atom/movable/AM, mob/user) - if(SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) & GADOM_UNMOB_ALLOW_TO_GRAB) + var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) + if(signal_call & GADOM_UNMOB_ALLOW_TO_GRAB) SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_LOAD, usr, AM) . = .. () //Расширение прока на отстегивание ящика /datum/species/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) - if(SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_CAN_GRAB) & GADOM_UNMOB_ALLOW_TO_GRAB && H.loaded) - SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_UNLOAD, M) + var/signal_call = SEND_SIGNAL(usr, COMSIG_GADOM_UNMOB_CAN_GRAB) + if((signal_call & GADOM_UNMOB_ALLOW_TO_GRAB) && H.loaded) + SEND_SIGNAL(H, COMSIG_GADOM_UNMOB_UNLOAD) . = .. () diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm index 83fe980e5dfa..c8667ba76cb3 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_mobs.dm @@ -15,10 +15,8 @@ /datum/component/gadom_living var/mob/living/carbon/human/carrier = null - var/list/allowed_races = list(/datum/species/serpentid) /datum/component/gadom_living/Initialize() - ..() carrier = parent /datum/component/gadom_living/RegisterWithParent() @@ -33,21 +31,22 @@ /datum/component/gadom_living/proc/block_operation(datum/component_holder) SIGNAL_HANDLER - var/datum/dna/genetic_info = carrier.dna - var/datum/species/spiece = genetic_info.species - var/signal_result = (((carrier.a_intent != "grab") && (spiece.type in allowed_races)) ? FALSE : GADOM_MOB_ALLOW_TO_GRAB) + var/signal_result = (carrier.a_intent != "grab" ? FALSE : GADOM_MOB_ALLOW_TO_GRAB) return signal_result /datum/component/gadom_living/proc/try_load_mob(datum/component_holder, mob/user, mob/target) + SIGNAL_HANDLER + INVOKE_ASYNC(src, PROC_REF(pre_load), component_holder, user, target) + +/datum/component/gadom_living/proc/pre_load(datum/component_holder, mob/user, mob/target) var/mob/living/carbon/human/puppet = component_holder if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, puppet) > 1) return if(!istype(target)) return - if(do_after(puppet, GADOM_BASIC_LOAD_TIMER_MOB * puppet.dna.species.action_mult, FALSE, target)) + if((do_after(puppet, GADOM_BASIC_LOAD_TIMER_MOB * puppet.dna.species.action_mult, FALSE, target))) //Асинх не помогает (?!) load(puppet, target) - /datum/component/gadom_living/proc/load(mob/living/carbon/human/puppet, atom/movable/AM) if(carrier.loaded|| AM.anchored || get_dist(puppet, AM) > 1) return diff --git a/modular_ss220/species/_components/organs/heart_defib.dm b/modular_ss220/species/_components/organs/heart_defib.dm index b88e72ab0c8a..ed162ce07faf 100644 --- a/modular_ss220/species/_components/organs/heart_defib.dm +++ b/modular_ss220/species/_components/organs/heart_defib.dm @@ -8,7 +8,6 @@ var/chemical_id = "" /datum/component/defib_heart/Initialize(human, income_chemical_id = "") - . = ..() owner = human chemical_id = income_chemical_id START_PROCESSING(SSdcs, src) diff --git a/modular_ss220/species/_components/organs/organ_actions_component.dm b/modular_ss220/species/_components/organs/organ_actions_component.dm index 1affbc00556e..64e4544ac44d 100644 --- a/modular_ss220/species/_components/organs/organ_actions_component.dm +++ b/modular_ss220/species/_components/organs/organ_actions_component.dm @@ -11,7 +11,6 @@ var/radial_additive_icon /datum/component/organ_action/Initialize(caller_organ, state, icon) - ..() organ = caller_organ radial_additive_state = state radial_additive_icon = icon @@ -24,7 +23,6 @@ UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL) UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_RESORT) - /datum/component/organ_action/proc/check_actions(mob/user) return (organ.owner && organ.owner == user && organ.owner.stat != DEAD && (organ in organ.owner.internal_organs)) diff --git a/modular_ss220/species/_components/organs/organ_chemistry.dm b/modular_ss220/species/_components/organs/organ_chemistry.dm index 6b7ccd925ecb..c2848b1fa6c1 100644 --- a/modular_ss220/species/_components/organs/organ_chemistry.dm +++ b/modular_ss220/species/_components/organs/organ_chemistry.dm @@ -9,7 +9,6 @@ var/chemical_id = "" /datum/component/chemistry_organ/Initialize(reagent_id) - ..() organ = parent chemical_id = reagent_id diff --git a/modular_ss220/species/_components/organs/organ_decay.dm b/modular_ss220/species/_components/organs/organ_decay.dm index 3db20e5eb9a7..3688401ca2da 100644 --- a/modular_ss220/species/_components/organs/organ_decay.dm +++ b/modular_ss220/species/_components/organs/organ_decay.dm @@ -15,7 +15,6 @@ var/decay_rate /datum/component/organ_decay/Initialize(income_decay_rate = BASIC_RECOVER_VALUE, income_recover_rate = BASIC_DECAY_VALUE) - . = ..() organ = parent recover_rate = income_recover_rate decay_rate = income_decay_rate diff --git a/modular_ss220/species/_components/organs/organ_toxins.dm b/modular_ss220/species/_components/organs/organ_toxins.dm index e70506fbff53..74bc7a9fe2b4 100644 --- a/modular_ss220/species/_components/organs/organ_toxins.dm +++ b/modular_ss220/species/_components/organs/organ_toxins.dm @@ -12,7 +12,6 @@ var/toxin_damage_rate /datum/component/organ_toxin_damage/Initialize(tox_rate = TOX_ORGANS_PROCESS) - . = ..() organ = parent toxin_damage_rate = tox_rate diff --git a/modular_ss220/species/_components/reagents.dm b/modular_ss220/species/_components/reagents.dm index dd235b37e7c2..e69de29bb2d1 100644 --- a/modular_ss220/species/_components/reagents.dm +++ b/modular_ss220/species/_components/reagents.dm @@ -1,173 +0,0 @@ -/obj/item/seeds/cabbage/New() - . = .. () - reagents_add += list("cabbagilium" = 0.01) - -/datum/reagent/cabbagilium - name = "Cabbagilium" - id = "cabbagilium" - description = "An unsual reagent that can be found in cabbages and helpful in toxic treatments." - reagent_state = LIQUID - color = "#335517" - taste_description = "awful but healthy" - goal_department = "Science" - goal_difficulty = REAGENT_GOAL_SKIP - var/clone_damage_heal = -0.02 - -/datum/reagent/cabbagilium/on_mob_life(mob/living/M) - var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustCloneLoss(clone_damage_heal * REAGENTS_EFFECT_MULTIPLIER, FALSE) - -//Расширение на химикаты - новый химикат для серпентидов -//Химикат позволяет ускорять в 2 раза действия серпентидов (погрузка людей/ящиков, активация клинков) -//Для остальных видов он ускоряет действия при движении по прямой (если не двигаться более 1 секунды или сменить направление, бонус сбросится) -//Атакует сердце, мощнее мефедрона - -#define SERPADRONE_SCREEN_FILTER "serpadrone_screen_filter" -#define SERPADRONE_SCREEN_BLUR "serpadrone_screen_blur" - -/datum/reagent/serpadrone - name = "Serpadrone" - id = "serpadrone" - description = "An unsual reagent that allows serptentids to haste their long-term actions and speed up them." - reagent_state = LIQUID - color = "#ff002b" - taste_description = "television static" - metabolization_rate = 0.1 - process_flags = ORGANIC - goal_department = "Science" - goal_difficulty = REAGENT_GOAL_SKIP - var/last_move_count = 0 - var/last_move = null - -/datum/reagent/serpadrone/on_mob_add(mob/living/carbon/L) - L.next_move_modifier = initial(L.next_move_modifier) - RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(on_movement)) - RegisterSignal(L, COMSIG_HUMAN_CREATE_MOB_HUD, PROC_REF(no_hud_cheese)) - var/mob/living/carbon/human/H = L - if(istype(H.dna.species, /datum/species/serpentid)) - var/datum/species/spicie = H.dna.species - spicie.action_mult = 0.5 - if(!L.hud_used) - return - var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] - var/static/list/col_filter_green = list(1,0,0,0, \ - 0, 0.66, 0, 0, \ - 0, 0, 0.66, 0, \ - 0, 0, 0, 1) - game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) - game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) - last_move_count = 0 - last_move = null - if(!IS_CHANGELING(L)) - return - var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) - cling.chem_recharge_slowdown += 1 - -/datum/reagent/serpadrone/on_mob_delete(mob/living/carbon/L) - UnregisterSignal(L, COMSIG_MOVABLE_MOVED) - REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) - REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) - L.next_move_modifier = initial(L.next_move_modifier) - var/mob/living/carbon/human/H = L - if(istype(H.dna.species, /datum/species/serpentid)) - var/datum/species/spicie = H.dna.species - spicie.action_mult = initial(spicie.action_mult) - if(!L.hud_used) - return - var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] - game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_FILTER) - game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) - last_move_count = 0 - last_move = null - - if(IS_CHANGELING(L)) - var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) - cling.chem_recharge_slowdown -= 1 - -/// Leaves an afterimage behind the mob when they move -/datum/reagent/serpadrone/proc/on_movement(mob/living/carbon/L, atom/old_loc) - SIGNAL_HANDLER - if(HAS_TRAIT(L, TRAIT_IMMOBILIZED)) //No, dead people floating through space do not need afterimages - return NONE - if(last_move == L.last_movement_dir && world.time - L.last_movement < 10) - if(last_move_count >= 5) - if(!HAS_TRAIT(L, TRAIT_GOTTAGONOTSOFAST)) - ADD_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) - if(last_move_count >= 15) - REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) - ADD_TRAIT(L, TRAIT_GOTTAGOFAST, id) - else - last_move_count += 1 - else - last_move_count += 1 - else - last_move_count = 0 - REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) - REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) - new /obj/effect/temp_visual/decoy/serpadrone_afterimage(old_loc, L, 0.75 SECONDS) - last_move = L.last_movement_dir -/* -Временное отключение урона сердцу (временное, ибо для баланса) - -/datum/reagent/serpadrone/on_mob_life(mob/living/carbon/L) - . = ..() - - if(ishuman(L)) - var/heart_damage = 0.5 - var/mob/living/carbon/human/H = L - if(istype(H.dna.species, /datum/species/serpentid)) - var/datum/organ/heart/datum_heart = H.get_int_organ_datum(ORGAN_DATUM_HEART) - if(datum_heart) - var/obj/item/organ/internal/our_heart = datum_heart.linked_organ - our_heart.receive_damage(heart_damage, TRUE) - */ - -/// So. If a person changes up their hud settings (Changing their ui theme), the visual effects for this reagent will break, and they will be able to see easily. This 3 part proc waits for the plane controlers to be setup, and over 2 other procs, rengages the visuals -/datum/reagent/serpadrone/proc/no_hud_cheese(mob/living/carbon/L) - SIGNAL_HANDLER - addtimer(CALLBACK(src, PROC_REF(no_hud_cheese_2), L), 2 SECONDS) //Calling it instantly will not work, need to give it a moment - -/// This part of the anticheese sets up the basic visual effects normally setup when the reagent gets into your system. -/datum/reagent/serpadrone/proc/no_hud_cheese_2(mob/living/carbon/L) //Basically if you change the UI you would remove the visuals. This fixes that. - var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] - game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_FILTER) - game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) - - var/static/list/col_filter_green = list(1,0,0,0, 0,0.4,0,0, 0,0,0.4,0, 0,0,0,1) - game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) - game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) - -// Temp visual that changes color for that bootleg sandevistan effect -/obj/effect/temp_visual/decoy/serpadrone_afterimage - duration = 0.75 SECONDS - /// The color matrix it should be at spawn - var/list/matrix_start = list(1, 0, 0, 0, \ - 0, 1, 0, 0, \ - 0, 0, 1, 0, \ - 0, 0, 0, 1, \ - 0.8, 0, 0.1, 0) - /// The color matrix it should be by the time it despawns - var/list/matrix_end = list(1, 0, 0, 0, \ - 0, 1, 0, 0, \ - 0, 0, 1, 0, \ - 0, 0, 0, 1, \ - 0.75, 0, 0.75, 0) - -/obj/effect/temp_visual/decoy/serpadrone_afterimage/Initialize(mapload, atom/mimiced_atom, our_duration = 0.75 SECONDS) - duration = our_duration - . = ..() - color = matrix_start - animate(src, color = matrix_end, time = duration, easing = EASE_OUT) - animate(src, alpha = 0, time = duration, easing = EASE_OUT) - -#undef SERPADRONE_SCREEN_FILTER -#undef SERPADRONE_SCREEN_BLUR - -/datum/chemical_reaction/serpadrone - name = "Serpadrone" - id = "serpadrone" - result = "serpadrone" - required_reagents = list("msg" = 5, "cabbagilium" = 10) - result_amount = 1 - mix_message = "The mixture fizzes into a vibrant red solution that doesn't stay still." - mix_sound = 'sound/goonstation/misc/fuse.ogg' diff --git a/modular_ss220/species/_species.dme b/modular_ss220/species/_species.dme index ea249a4c6c50..0c012e7a1f00 100644 --- a/modular_ss220/species/_species.dme +++ b/modular_ss220/species/_species.dme @@ -1,5 +1,9 @@ #include "_species.dm" +#include "_code/chat_offset.dm" +#include "_code/common.dm" +#include "_code/copy_butt.dm" +#include "_code/update_icons.dm" #include "_code/species.dm" #include "_components/reagents.dm" diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index bfdd76cb94f5..fe72154d4121 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -1,9 +1,4 @@ #include "code/_defines/alerts.dm" -#include "code/_defines/common.dm" - -#include "code/_procs_overrides/copy_butt.dm" -#include "code/_procs_overrides/chat_offset.dm" -#include "code/_procs_overrides/update_icons.dm" #include "code/mob/language.dm" #include "code/mob/emotes.dm" diff --git a/modular_ss220/species/serpentids/code/_defines/alerts.dm b/modular_ss220/species/serpentids/code/_defines/alerts.dm index afc643820bc8..63a14ed5ed7a 100644 --- a/modular_ss220/species/serpentids/code/_defines/alerts.dm +++ b/modular_ss220/species/serpentids/code/_defines/alerts.dm @@ -1,18 +1,18 @@ //Добавление новых алертов -/atom/movable/screen/alert/carapace_break_armor +/atom/movable/screen/alert/carapace/ + icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' + +/atom/movable/screen/alert/carapace/break_armor name = "Слабые повреждения панциря." desc = "Ваш панцирь поврежден. Нарушение целостности снизило сопротивление урону." icon_state = "carapace_break_armor" - icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' -/atom/movable/screen/alert/carapace_break_cloak +/atom/movable/screen/alert/carapace/break_cloak name = "Средние повреждения панциря" desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас возможность скрывать себя." icon_state = "carapace_break_cloak" - icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' -/atom/movable/screen/alert/carapace_break_rig +/atom/movable/screen/alert/carapace/break_rig name = "Сильные повреждения панциря" desc = "Ваш панцирь поврежден. Нарушения целостности лишило вас сопротивлению окружающей среде." icon_state = "carapace_break_rig" - icon = 'modular_ss220/species/serpentids/icons/screen_alert.dmi' diff --git a/modular_ss220/species/serpentids/code/_defines/reagents.dm b/modular_ss220/species/serpentids/code/_defines/reagents.dm new file mode 100644 index 000000000000..0118a806348c --- /dev/null +++ b/modular_ss220/species/serpentids/code/_defines/reagents.dm @@ -0,0 +1,174 @@ +/obj/item/seeds/cabbage/New() + . = .. () + reagents_add += list("cabbagilium" = 0.01) + +/datum/reagent/cabbagilium + name = "Cabbagilium" + id = "cabbagilium" + description = "An unsual reagent that can be found in cabbages and helpful in toxic treatments." + reagent_state = LIQUID + color = "#335517" + taste_description = "awful but healthy" + goal_department = "Science" + goal_difficulty = REAGENT_GOAL_SKIP + var/clone_damage_heal = -0.02 + +/datum/reagent/cabbagilium/on_mob_life(mob/living/M) + var/update_flags = STATUS_UPDATE_NONE + update_flags |= M.adjustCloneLoss(clone_damage_heal * REAGENTS_EFFECT_MULTIPLIER, FALSE) + return ..() | update_flags + +//Расширение на химикаты - новый химикат для серпентидов +//Химикат позволяет ускорять в 2 раза действия серпентидов (погрузка людей/ящиков, активация клинков) +//Для остальных видов он ускоряет действия при движении по прямой (если не двигаться более 1 секунды или сменить направление, бонус сбросится) +//Атакует сердце, мощнее мефедрона + +#define SERPADRONE_SCREEN_FILTER "serpadrone_screen_filter" +#define SERPADRONE_SCREEN_BLUR "serpadrone_screen_blur" + +/datum/reagent/serpadrone + name = "Serpadrone" + id = "serpadrone" + description = "An unsual reagent that allows serptentids to haste their long-term actions and speed up them." + reagent_state = LIQUID + color = "#ff002b" + taste_description = "television static" + metabolization_rate = 0.1 + process_flags = ORGANIC + goal_department = "Science" + goal_difficulty = REAGENT_GOAL_SKIP + var/last_move_count = 0 + var/last_move = null + +/datum/reagent/serpadrone/on_mob_add(mob/living/carbon/L) + L.next_move_modifier = initial(L.next_move_modifier) + RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(on_movement)) + RegisterSignal(L, COMSIG_HUMAN_CREATE_MOB_HUD, PROC_REF(no_hud_cheese)) + var/mob/living/carbon/human/H = L + if(istype(H.dna.species, /datum/species/serpentid)) + var/datum/species/spicie = H.dna.species + spicie.action_mult = 0.5 + if(!L.hud_used) + return + var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] + var/static/list/col_filter_green = list(1,0,0,0, \ + 0, 0.66, 0, 0, \ + 0, 0, 0.66, 0, \ + 0, 0, 0, 1) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) + last_move_count = 0 + last_move = null + if(!IS_CHANGELING(L)) + return + var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) + cling.chem_recharge_slowdown += 1 + +/datum/reagent/serpadrone/on_mob_delete(mob/living/carbon/L) + UnregisterSignal(L, COMSIG_MOVABLE_MOVED) + REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) + REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + L.next_move_modifier = initial(L.next_move_modifier) + var/mob/living/carbon/human/H = L + if(istype(H.dna.species, /datum/species/serpentid)) + var/datum/species/spicie = H.dna.species + spicie.action_mult = initial(spicie.action_mult) + if(!L.hud_used) + return + var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_FILTER) + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) + last_move_count = 0 + last_move = null + + if(IS_CHANGELING(L)) + var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) + cling.chem_recharge_slowdown -= 1 + +/// Leaves an afterimage behind the mob when they move +/datum/reagent/serpadrone/proc/on_movement(mob/living/carbon/L, atom/old_loc) + SIGNAL_HANDLER + if(HAS_TRAIT(L, TRAIT_IMMOBILIZED)) //No, dead people floating through space do not need afterimages + return NONE + if(last_move == L.last_movement_dir && world.time - L.last_movement < 10) + if(last_move_count >= 5) + if(!HAS_TRAIT(L, TRAIT_GOTTAGONOTSOFAST)) + ADD_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + if(last_move_count >= 15) + REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + ADD_TRAIT(L, TRAIT_GOTTAGOFAST, id) + else + last_move_count += 1 + else + last_move_count += 1 + else + last_move_count = 0 + REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) + REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + new /obj/effect/temp_visual/decoy/serpadrone_afterimage(old_loc, L, 0.75 SECONDS) + last_move = L.last_movement_dir +/* +Временное отключение урона сердцу (временное, ибо для баланса) + +/datum/reagent/serpadrone/on_mob_life(mob/living/carbon/L) + . = ..() + + if(ishuman(L)) + var/heart_damage = 0.5 + var/mob/living/carbon/human/H = L + if(istype(H.dna.species, /datum/species/serpentid)) + var/datum/organ/heart/datum_heart = H.get_int_organ_datum(ORGAN_DATUM_HEART) + if(datum_heart) + var/obj/item/organ/internal/our_heart = datum_heart.linked_organ + our_heart.receive_damage(heart_damage, TRUE) + */ + +/// So. If a person changes up their hud settings (Changing their ui theme), the visual effects for this reagent will break, and they will be able to see easily. This 3 part proc waits for the plane controlers to be setup, and over 2 other procs, rengages the visuals +/datum/reagent/serpadrone/proc/no_hud_cheese(mob/living/carbon/L) + SIGNAL_HANDLER + addtimer(CALLBACK(src, PROC_REF(no_hud_cheese_2), L), 2 SECONDS) //Calling it instantly will not work, need to give it a moment + +/// This part of the anticheese sets up the basic visual effects normally setup when the reagent gets into your system. +/datum/reagent/serpadrone/proc/no_hud_cheese_2(mob/living/carbon/L) //Basically if you change the UI you would remove the visuals. This fixes that. + var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_FILTER) + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) + + var/static/list/col_filter_green = list(1,0,0,0, 0,0.4,0,0, 0,0,0.4,0, 0,0,0,1) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) + +// Temp visual that changes color for that bootleg sandevistan effect +/obj/effect/temp_visual/decoy/serpadrone_afterimage + duration = 0.75 SECONDS + /// The color matrix it should be at spawn + var/list/matrix_start = list(1, 0, 0, 0, \ + 0, 1, 0, 0, \ + 0, 0, 1, 0, \ + 0, 0, 0, 1, \ + 0.8, 0, 0.1, 0) + /// The color matrix it should be by the time it despawns + var/list/matrix_end = list(1, 0, 0, 0, \ + 0, 1, 0, 0, \ + 0, 0, 1, 0, \ + 0, 0, 0, 1, \ + 0.75, 0, 0.75, 0) + +/obj/effect/temp_visual/decoy/serpadrone_afterimage/Initialize(mapload, atom/mimiced_atom, our_duration = 0.75 SECONDS) + duration = our_duration + . = ..() + color = matrix_start + animate(src, color = matrix_end, time = duration, easing = EASE_OUT) + animate(src, alpha = 0, time = duration, easing = EASE_OUT) + +#undef SERPADRONE_SCREEN_FILTER +#undef SERPADRONE_SCREEN_BLUR + +/datum/chemical_reaction/serpadrone + name = "Serpadrone" + id = "serpadrone" + result = "serpadrone" + required_reagents = list("msg" = 5, "cabbagilium" = 10) + result_amount = 1 + mix_message = "The mixture fizzes into a vibrant red solution that doesn't stay still." + mix_sound = 'sound/goonstation/misc/fuse.ogg' diff --git a/modular_ss220/species/serpentids/code/_procs_overrides/update_icons.dm b/modular_ss220/species/serpentids/code/_procs_overrides/update_icons.dm deleted file mode 100644 index bc107aa19f1f..000000000000 --- a/modular_ss220/species/serpentids/code/_procs_overrides/update_icons.dm +++ /dev/null @@ -1,62 +0,0 @@ -//Обновление иконок для кастомных рас -/datum/character_save/update_preview_icon(for_observer=0) - . = .. () - //Это ужасно,но так можно кастомным расам выдавать кастомные глаза (я хз, почему сработало так, нужны разьяснения) - var/datum/species/selected_specie = GLOB.all_species[species] - if(istype(selected_specie, /datum/species/serpentid)) - qdel(preview_icon_front) - qdel(preview_icon_side) - qdel(preview_icon) - - var/g = "m" - if(body_type == FEMALE) - g = "f" - - var/icon/icobase = selected_specie.icobase - preview_icon = new /icon(icobase, "torso_[g]") - preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) - preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) - for(var/name in list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand")) - if(organ_data[name] == "amputated") continue - if(organ_data[name] == "cyborg") - var/datum/robolimb/R - if(rlimb_data[name]) R = GLOB.all_robolimbs[rlimb_data[name]] - if(!R) R = GLOB.basic_robolimb - if(name == "chest") - name = "torso" - preview_icon.Blend(icon(R.icon, "[name]"), ICON_OVERLAY) // This doesn't check gendered_icon. Not an issue while only limbs can be robotic. - continue - preview_icon.Blend(new /icon(icobase, "[name]"), ICON_OVERLAY) - - // Skin color - if(selected_specie && (selected_specie.bodyflags & HAS_SKIN_COLOR)) - preview_icon.Blend(s_colour, ICON_ADD) - - // Skin tone - if(selected_specie && (selected_specie.bodyflags & HAS_SKIN_TONE)) - if(s_tone >= 0) - preview_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD) - else - preview_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) - - var/icon/face_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie.eyes) - var/icon/eyes_s = new/icon("icon" = selected_specie.eyes_icon, "icon_state" = selected_specie ? selected_specie.eyes : "eyes_s") - eyes_s.Blend(e_colour, ICON_ADD) - face_s.Blend(eyes_s, ICON_OVERLAY) - - preview_icon.Blend(face_s, ICON_OVERLAY) - preview_icon_front = new(preview_icon, dir = SOUTH) - preview_icon_side = new(preview_icon, dir = WEST) - -//Прок на получение иконки глаз кастомных рас (перезапись, возможно стоит расширить?) -/mob/living/carbon/human/get_eyecon() - var/obj/item/organ/internal/eyes/eyes = get_int_organ(/obj/item/organ/internal/eyes) - if(istype(dna.species) && dna.species.eyes) - var/icon/eyes_icon - if(eyes) - eyes_icon = eyes.generate_icon() - else //Error 404: Eyes not found! - eyes_icon = new(dna.species.eyes_icon, dna.species.eyes)//eyes_icon = new('modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi', "serp_eyes_s")// - eyes_icon.Blend("#800000", ICON_ADD) - - return eyes_icon diff --git a/modular_ss220/species/serpentids/code/mob/emotes.dm b/modular_ss220/species/serpentids/code/mob/emotes.dm index e9a4ab55f66a..6ea995ee2a9b 100644 --- a/modular_ss220/species/serpentids/code/mob/emotes.dm +++ b/modular_ss220/species/serpentids/code/mob/emotes.dm @@ -2,33 +2,33 @@ #define EMOTE_HUMAN_GBSHISS "Шипеть" #define EMOTE_HUMAN_GBSWIGGLE "Шевелить усиками" -/mob/living/carbon/human/proc/emote_gbsroar() +/mob/living/carbon/human/proc/emote_gasroar() set name = "< " + EMOTE_HUMAN_ROAR + " >" set category = "Эмоции" - emote("gbsroar", intentional = TRUE) + emote("gasroar", intentional = TRUE) -/mob/living/carbon/human/proc/emote_gbshiss() +/mob/living/carbon/human/proc/emote_gashiss() set name = "< " + EMOTE_HUMAN_HISS + " >" set category = "Эмоции" - emote("gbshiss", intentional = TRUE) + emote("gashiss", intentional = TRUE) -/mob/living/carbon/human/proc/emote_gbswiggles() +/mob/living/carbon/human/proc/emote_gaswiggles() set name = "< " + EMOTE_HUMAN_WIGGLES + " >" set category = "Эмоции" - emote("gbswiggles", intentional = TRUE) + emote("gaswiggles", intentional = TRUE) -/datum/emote/living/carbon/human/gbsroar +/datum/emote/living/carbon/human/gasroar name = EMOTE_HUMAN_GBSROAR -/datum/emote/living/carbon/human/gbshiss +/datum/emote/living/carbon/human/gashiss name = EMOTE_HUMAN_GBSHISS -/datum/emote/living/carbon/human/gbswiggles +/datum/emote/living/carbon/human/gaswiggles name = EMOTE_HUMAN_GBSWIGGLE -/datum/emote/living/carbon/human/gbsroar - key = "gbsroar" - key_third_person = "gbsroar" +/datum/emote/living/carbon/human/gasroar + key = "gasroar" + key_third_person = "gasroar" message = "утробно рычит." message_mime = "бесшумно рычит." message_param = "утробно рычит на %t." @@ -38,25 +38,24 @@ emote_type = EMOTE_VISIBLE | EMOTE_MOUTH | EMOTE_AUDIBLE age_based = TRUE -/datum/emote/living/carbon/human/gbsroar/get_sound(mob/living/user) +/datum/emote/living/carbon/human/gasroar/get_sound(mob/living/user) return pick( 'modular_ss220/species/serpentids/sounds/serpentid_roar.ogg') -/datum/emote/living/carbon/human/gbshiss - key = "gbshiss" - key_third_person = "gbshisses" +/datum/emote/living/carbon/human/gashiss + key = "gashiss" + key_third_person = "gashisses" message = "шипит." message_param = "шипит на %t." species_type_whitelist_typecache = list(/datum/species/serpentid) emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH age_based = TRUE - // Credit to Jamius (freesound.org) for the sound. sound = "modular_ss220/species/serpentids/sounds/serpentid_hiss.ogg" muzzled_noises = list("weak hissing") -/datum/emote/living/carbon/human/gbswiggles - key = "gbswiggles" - key_third_person = "gbswiggles" +/datum/emote/living/carbon/human/gaswiggles + key = "gaswiggles" + key_third_person = "gaswiggles" message = "шевелит усиками." message_param = "шевелит усиками в сторону %t." cooldown = 5 SECONDS @@ -67,14 +66,14 @@ muzzled_noises = list("слабо") sound = 'modular_ss220/species/serpentids/sounds/serpentid_wiggle.ogg' -/datum/keybinding/emote/carbon/human/gbsroar - linked_emote = /datum/emote/living/carbon/human/gbsroar +/datum/keybinding/emote/carbon/human/gasroar + linked_emote = /datum/emote/living/carbon/human/gasroar name = EMOTE_HUMAN_GBSROAR -/datum/keybinding/emote/carbon/human/gbshiss - linked_emote = /datum/emote/living/carbon/human/gbshiss +/datum/keybinding/emote/carbon/human/gashiss + linked_emote = /datum/emote/living/carbon/human/gashiss name = EMOTE_HUMAN_GBSHISS -/datum/keybinding/emote/carbon/human/gbswiggles - linked_emote = /datum/emote/living/carbon/human/gbswiggles +/datum/keybinding/emote/carbon/human/gaswiggles + linked_emote = /datum/emote/living/carbon/human/gaswiggles name = EMOTE_HUMAN_GBSWIGGLE diff --git a/modular_ss220/species/serpentids/code/mob/language.dm b/modular_ss220/species/serpentids/code/mob/language.dm index 34ae65b62838..1673d64e3d74 100644 --- a/modular_ss220/species/serpentids/code/mob/language.dm +++ b/modular_ss220/species/serpentids/code/mob/language.dm @@ -3,7 +3,7 @@ desc = "Звук, издаваемый этим языком похоже на кононаду из скрежета мандибул, лезвий, стука конечностей, трения антенн и утробного рева" speech_verb = "стучит клинками и жестикулирует конечностями" ask_verb = "стучит жвалами и жестикулирует конечностями" - exclaim_verbs = list("издает утробный рёв") + exclaim_verbs = list("издает гремящие щелчки") colour = "serpentid" key = "4" flags = RESTRICTED | WHITELISTED diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index 87ce67746d6b..a1a75a8712d5 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -3,13 +3,10 @@ name_plural = "Serpentids" icobase = 'modular_ss220/species/serpentids/icons/mob/r_serpentid.dmi' eyes_icon = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_eyes.dmi' - blurb = "TODO" + blurb = "TODO" //NOT MERGE - Я еще не доработал language = "Nabberian" - siemens_coeff = 2.0 coldmod = 0.9 heatmod = 1.2 - hunger_drain = 0.3 - action_mult = 1 tox_mod = 1.5 eyes = "serpentid_eyes_s" butt_sprite_icon = 'modular_ss220/species/serpentids/icons/mob/r_serpentid_butt.dmi' @@ -17,9 +14,8 @@ nojumpsuit = TRUE species_traits = list(LIPS, NO_HAIR) - inherent_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_RESISTHEAT, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOPAIN) + inherent_traits = list(TRAIT_NOPAIN) inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_REPTILE - dies_at_threshold = TRUE dietflags = DIET_OMNI taste_sensitivity = TASTE_SENSITIVITY_SHARP @@ -57,8 +53,6 @@ "chest" = /obj/item/organ/internal/cyberimp/chest/serpentid_blades, ) - bio_chips = list(/obj/item/bio_chip/tracking) - has_limbs = list( "chest" = list("path" = /obj/item/organ/external/chest/carapace, "descriptor" = "chest"), "groin" = list("path" = /obj/item/organ/external/groin/carapace, "descriptor" = "groin"), @@ -123,19 +117,40 @@ buckle_lying = FALSE var/can_stealth = TRUE var/gene_lastcall = 0 + var/list/shift_data = list( + "head" = list( + "center" = list("x" = 0, "y" = 10), + "side" = list("x" = 3, "y" = 0), + "front" = list("x" = 0, "y" = 0) + ), + "inhand" = list( + "center" = list("x" = 0, "y" = 3), + "side" = list("x" = 0, "y" = 0), + "front" = list("x" = 0, "y" = 0) + ), + "belt" = list( + "center" = list("x" = 0, "y" = 7), + "side" = list("x" = 5, "y" = 0), + "front" = list("x" = 0, "y" = 0) + ), + "back" = list( + "center" = list("x" = 0, "y" = 7), + "side" = list("x" = 0, "y" = 0), + "front" = list("x" = 0, "y" = 0) + ) +) + /datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) - if(R.id == SERPENTID_CHEM_REAGENT_ID) - return FALSE - else - return TRUE + return (R.id != SERPENTID_CHEM_REAGENT_ID) //Перенести на карапас/грудь /datum/species/serpentid/handle_life(mob/living/carbon/human/H) var/armor_count = 0 var/gene_degradation = 0 for(var/obj/item/organ/external/limb in H.bodyparts) - if(!(limb.type in has_limbs[limb.limb_name]["path"])) + var/allow_part = has_limbs[limb.limb_name]["path"] + if(limb.type != allow_part) gene_degradation += SERPENTID_GENE_DEGRADATION_DAMAGE var/limb_armor = limb.brute_dam + limb.burn_dam armor_count += limb_armor @@ -154,12 +169,12 @@ H.buckle_lying = buckle_lying H.update_transform() H.AddComponent(/datum/component/footstep, FOOTSTEP_MOB_SLIME, 1, -6) - H.AddComponent(/datum/component/mob_overlay_shift, shift_y_hand = 3, shift_xs_belt = 5, shift_y_belt = 7, shift_y_back = 7, shift_y_head = 10, shift_xs_head = 3) //shift_xs_hand = 12 + H.AddComponent(/datum/component/mob_overlay_shift, shift_data) //shift_xs_hand = 12 H.AddComponent(/datum/component/gadom_living) H.AddComponent(/datum/component/gadom_cargo) - H.verbs |= /mob/living/carbon/human/proc/emote_gbsroar - H.verbs |= /mob/living/carbon/human/proc/emote_gbshiss - H.verbs |= /mob/living/carbon/human/proc/emote_gbswiggles + H.verbs |= /mob/living/carbon/human/proc/emote_gasroar + H.verbs |= /mob/living/carbon/human/proc/emote_gashiss + H.verbs |= /mob/living/carbon/human/proc/emote_gaswiggles H.verbs -= /mob/living/carbon/human/verb/emote_cough H.verbs -= /mob/living/carbon/human/verb/emote_sneeze H.verbs -= /mob/living/carbon/human/verb/emote_sniff @@ -171,9 +186,9 @@ /datum/species/serpentid/on_species_loss(mob/living/carbon/human/H) ..() - H.verbs -= /mob/living/carbon/human/proc/emote_gbsroar - H.verbs -= /mob/living/carbon/human/proc/emote_gbshiss - H.verbs -= /mob/living/carbon/human/proc/emote_gbswiggles + H.verbs -= /mob/living/carbon/human/proc/emote_gasroar + H.verbs -= /mob/living/carbon/human/proc/emote_gashiss + H.verbs -= /mob/living/carbon/human/proc/emote_gaswiggles H.verbs |= /mob/living/carbon/human/verb/emote_cough H.verbs |= /mob/living/carbon/human/verb/emote_sneeze H.verbs |= /mob/living/carbon/human/verb/emote_sniff @@ -186,6 +201,8 @@ switch(slot) if(SLOT_HUD_SHOES) return FALSE + if(SLOT_HUD_GLOVES) + return FALSE if(SLOT_HUD_JUMPSUIT) return FALSE if(SLOT_HUD_OUTER_SUIT) diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm index 567d6e90d9de..276eabe7399b 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_head.dm @@ -1,3 +1,4 @@ +//Может и на оффы, но пока увы. Я не против, если этот код отправит на оффы КТО угодно. /obj/item/organ/external/head/carapace/replaced() .=..() for(var/X in actions) @@ -11,8 +12,8 @@ A.Remove(owner) /obj/item/organ/external/head/carapace - encased = "chitin" min_broken_damage = 30 + encased = CARAPACE_ENCASE_WORD actions_types = list(/datum/action/item_action/organ_action/toggle) action_icon = list(/datum/action/item_action/organ_action/toggle = 'modular_ss220/species/serpentids/icons/organs.dmi') action_icon_state = list(/datum/action/item_action/organ_action/toggle = "gas_eyes_0") @@ -20,20 +21,14 @@ /obj/item/organ/external/head/carapace/Initialize(mapload) . = ..() - AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) + AddComponent(/datum/component/carapace, FALSE, min_broken_damage) /obj/item/organ/external/head/carapace/ui_action_click() var/obj/item/organ/internal/eyes/E = owner.get_int_organ(/obj/item/organ/internal/eyes) - if(eye_shielded) - E.flash_protect = initial(E.flash_protect) - E.tint = initial(E.tint) - owner.update_sight() - eye_shielded = FALSE - else - E.flash_protect = FLASH_PROTECTION_WELDER //Adjust the user's eyes' flash protection - E.tint = FLASH_PROTECTION_WELDER - owner.update_sight() - eye_shielded = TRUE + eye_shielded = !eye_shielded + E.flash_protect = eye_shielded ? FLASH_PROTECTION_WELDER : initial(E.flash_protect) + E.tint = eye_shielded ? FLASH_PROTECTION_WELDER : initial(E.tint) + owner.update_sight() for(var/datum/action/item_action/T in actions) T.button_overlay_icon_state ="gas_eyes_[eye_shielded]" diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm index 989db98cb74e..aa8ecf11e8da 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_other.dm @@ -1,72 +1,72 @@ ///Хитиновые конечности = прочее /obj/item/organ/external/groin/carapace - encased = "chitin" min_broken_damage = 40 + encased = CARAPACE_ENCASE_WORD /obj/item/organ/external/groin/carapace/Initialize(mapload) . = ..() - AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) + AddComponent(/datum/component/carapace, FALSE, min_broken_damage) /obj/item/organ/external/arm/carapace - encased = "chitin" min_broken_damage = 20 + encased = CARAPACE_ENCASE_WORD /obj/item/organ/external/arm/carapace/Initialize(mapload) . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + AddComponent(/datum/component/carapace, TRUE, min_broken_damage) /obj/item/organ/external/arm/right/carapace - encased = "chitin" min_broken_damage = 20 + encased = CARAPACE_ENCASE_WORD /obj/item/organ/external/arm/right/carapace/Initialize(mapload) . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + AddComponent(/datum/component/carapace, TRUE, min_broken_damage) /obj/item/organ/external/leg/carapace - encased = "chitin" min_broken_damage = 20 + encased = CARAPACE_ENCASE_WORD + +/obj/item/organ/external/leg/carapace/Initialize(mapload) + . = ..() + AddComponent(/datum/component/carapace, TRUE, min_broken_damage) /obj/item/organ/external/hand/carapace - encased = "chitin" min_broken_damage = 20 + encased = CARAPACE_ENCASE_WORD /obj/item/organ/external/hand/carapace/Initialize(mapload) . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + AddComponent(/datum/component/carapace, TRUE, min_broken_damage) /obj/item/organ/external/hand/right/carapace - encased = "chitin" min_broken_damage = 20 + encased = CARAPACE_ENCASE_WORD /obj/item/organ/external/hand/right/carapace/Initialize(mapload) . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) - -/obj/item/organ/external/leg/carapace/Initialize(mapload) - . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + AddComponent(/datum/component/carapace, TRUE, min_broken_damage) /obj/item/organ/external/leg/right/carapace - encased = "chitin" min_broken_damage = 20 + encased = CARAPACE_ENCASE_WORD /obj/item/organ/external/leg/right/carapace/Initialize(mapload) . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + AddComponent(/datum/component/carapace, TRUE, min_broken_damage) /obj/item/organ/external/foot/carapace - encased = "chitin" min_broken_damage = 20 + encased = CARAPACE_ENCASE_WORD /obj/item/organ/external/foot/carapace/Initialize(mapload) . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + AddComponent(/datum/component/carapace, TRUE, min_broken_damage) /obj/item/organ/external/foot/right/carapace - encased = "chitin" min_broken_damage = 20 + encased = CARAPACE_ENCASE_WORD /obj/item/organ/external/foot/right/carapace/Initialize(mapload) . = ..() - AddComponent(/datum/component/carapace, src, TRUE, min_broken_damage) + AddComponent(/datum/component/carapace, TRUE, min_broken_damage) diff --git a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm index 72d3a9189c4c..d3b2d8b24941 100644 --- a/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm +++ b/modular_ss220/species/serpentids/code/organs/external/serpentids_organs_torso.dm @@ -7,12 +7,12 @@ #define SERPENTID_ARMORED_STEP_TEMP 30 /obj/item/organ/external/chest/carapace - encased = "chitin" min_broken_damage = 40 + encased = CARAPACE_ENCASE_WORD /obj/item/organ/external/chest/carapace/Initialize(mapload) . = ..() - AddComponent(/datum/component/carapace, src, FALSE, min_broken_damage) + AddComponent(/datum/component/carapace, FALSE, min_broken_damage) /obj/item/organ/external/chest/carapace/replaced() .=..() diff --git a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm index e2376c9c701c..21a133e1dfae 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/implants/serpentid_mantis_blades.dm @@ -7,7 +7,7 @@ righthand_file = null desc = "Biological melee weapon. Sharp and durable. It can cut off some heads, or maybe not..." origin_tech = null - force = 7 + force = 11 armour_penetration_flat = 3 tool_behaviour = TOOL_SAW var/stamina_constant = 2 @@ -18,9 +18,4 @@ ADD_TRAIT(src, TRAIT_ADVANCED_SURGICAL, ROUNDSTART_TRAIT) ADD_TRAIT(src, TRAIT_FORCES_OPEN_DOORS_ITEM, ROUNDSTART_TRAIT) AddComponent(/datum/component/parry, _stamina_constant = stamina_constant, _stamina_coefficient = stamina_coefficient, _parryable_attack_types = NON_PROJECTILE_ATTACKS) - AddComponent(/datum/component/double_attack, weapon = src) - -/obj/item/melee/serpentblade/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(attack_type == PROJECTILE_ATTACK) - final_block_chance = 0 - return ..() + AddComponent(/datum/component/double_attack) From eab58aa275e1a8f0e90ae9a610ab74f8d2a64bc1 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 17 Oct 2024 18:00:17 +0300 Subject: [PATCH 063/152] =?UTF-8?q?=D0=A1=D0=BB=D0=BE=D0=BC=D0=B0=D0=BB=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B0=D0=B3=D0=B5=D0=BD=D1=82=D1=8B...=20=D1=83?= =?UTF-8?q?=D0=BC=D0=BD=D0=B8=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/reagents.dm | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) diff --git a/modular_ss220/species/_components/reagents.dm b/modular_ss220/species/_components/reagents.dm index e69de29bb2d1..dd235b37e7c2 100644 --- a/modular_ss220/species/_components/reagents.dm +++ b/modular_ss220/species/_components/reagents.dm @@ -0,0 +1,173 @@ +/obj/item/seeds/cabbage/New() + . = .. () + reagents_add += list("cabbagilium" = 0.01) + +/datum/reagent/cabbagilium + name = "Cabbagilium" + id = "cabbagilium" + description = "An unsual reagent that can be found in cabbages and helpful in toxic treatments." + reagent_state = LIQUID + color = "#335517" + taste_description = "awful but healthy" + goal_department = "Science" + goal_difficulty = REAGENT_GOAL_SKIP + var/clone_damage_heal = -0.02 + +/datum/reagent/cabbagilium/on_mob_life(mob/living/M) + var/update_flags = STATUS_UPDATE_NONE + update_flags |= M.adjustCloneLoss(clone_damage_heal * REAGENTS_EFFECT_MULTIPLIER, FALSE) + +//Расширение на химикаты - новый химикат для серпентидов +//Химикат позволяет ускорять в 2 раза действия серпентидов (погрузка людей/ящиков, активация клинков) +//Для остальных видов он ускоряет действия при движении по прямой (если не двигаться более 1 секунды или сменить направление, бонус сбросится) +//Атакует сердце, мощнее мефедрона + +#define SERPADRONE_SCREEN_FILTER "serpadrone_screen_filter" +#define SERPADRONE_SCREEN_BLUR "serpadrone_screen_blur" + +/datum/reagent/serpadrone + name = "Serpadrone" + id = "serpadrone" + description = "An unsual reagent that allows serptentids to haste their long-term actions and speed up them." + reagent_state = LIQUID + color = "#ff002b" + taste_description = "television static" + metabolization_rate = 0.1 + process_flags = ORGANIC + goal_department = "Science" + goal_difficulty = REAGENT_GOAL_SKIP + var/last_move_count = 0 + var/last_move = null + +/datum/reagent/serpadrone/on_mob_add(mob/living/carbon/L) + L.next_move_modifier = initial(L.next_move_modifier) + RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(on_movement)) + RegisterSignal(L, COMSIG_HUMAN_CREATE_MOB_HUD, PROC_REF(no_hud_cheese)) + var/mob/living/carbon/human/H = L + if(istype(H.dna.species, /datum/species/serpentid)) + var/datum/species/spicie = H.dna.species + spicie.action_mult = 0.5 + if(!L.hud_used) + return + var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] + var/static/list/col_filter_green = list(1,0,0,0, \ + 0, 0.66, 0, 0, \ + 0, 0, 0.66, 0, \ + 0, 0, 0, 1) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) + last_move_count = 0 + last_move = null + if(!IS_CHANGELING(L)) + return + var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) + cling.chem_recharge_slowdown += 1 + +/datum/reagent/serpadrone/on_mob_delete(mob/living/carbon/L) + UnregisterSignal(L, COMSIG_MOVABLE_MOVED) + REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) + REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + L.next_move_modifier = initial(L.next_move_modifier) + var/mob/living/carbon/human/H = L + if(istype(H.dna.species, /datum/species/serpentid)) + var/datum/species/spicie = H.dna.species + spicie.action_mult = initial(spicie.action_mult) + if(!L.hud_used) + return + var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_FILTER) + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) + last_move_count = 0 + last_move = null + + if(IS_CHANGELING(L)) + var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) + cling.chem_recharge_slowdown -= 1 + +/// Leaves an afterimage behind the mob when they move +/datum/reagent/serpadrone/proc/on_movement(mob/living/carbon/L, atom/old_loc) + SIGNAL_HANDLER + if(HAS_TRAIT(L, TRAIT_IMMOBILIZED)) //No, dead people floating through space do not need afterimages + return NONE + if(last_move == L.last_movement_dir && world.time - L.last_movement < 10) + if(last_move_count >= 5) + if(!HAS_TRAIT(L, TRAIT_GOTTAGONOTSOFAST)) + ADD_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + if(last_move_count >= 15) + REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + ADD_TRAIT(L, TRAIT_GOTTAGOFAST, id) + else + last_move_count += 1 + else + last_move_count += 1 + else + last_move_count = 0 + REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) + REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) + new /obj/effect/temp_visual/decoy/serpadrone_afterimage(old_loc, L, 0.75 SECONDS) + last_move = L.last_movement_dir +/* +Временное отключение урона сердцу (временное, ибо для баланса) + +/datum/reagent/serpadrone/on_mob_life(mob/living/carbon/L) + . = ..() + + if(ishuman(L)) + var/heart_damage = 0.5 + var/mob/living/carbon/human/H = L + if(istype(H.dna.species, /datum/species/serpentid)) + var/datum/organ/heart/datum_heart = H.get_int_organ_datum(ORGAN_DATUM_HEART) + if(datum_heart) + var/obj/item/organ/internal/our_heart = datum_heart.linked_organ + our_heart.receive_damage(heart_damage, TRUE) + */ + +/// So. If a person changes up their hud settings (Changing their ui theme), the visual effects for this reagent will break, and they will be able to see easily. This 3 part proc waits for the plane controlers to be setup, and over 2 other procs, rengages the visuals +/datum/reagent/serpadrone/proc/no_hud_cheese(mob/living/carbon/L) + SIGNAL_HANDLER + addtimer(CALLBACK(src, PROC_REF(no_hud_cheese_2), L), 2 SECONDS) //Calling it instantly will not work, need to give it a moment + +/// This part of the anticheese sets up the basic visual effects normally setup when the reagent gets into your system. +/datum/reagent/serpadrone/proc/no_hud_cheese_2(mob/living/carbon/L) //Basically if you change the UI you would remove the visuals. This fixes that. + var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_FILTER) + game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) + + var/static/list/col_filter_green = list(1,0,0,0, 0,0.4,0,0, 0,0,0.4,0, 0,0,0,1) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) + game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) + +// Temp visual that changes color for that bootleg sandevistan effect +/obj/effect/temp_visual/decoy/serpadrone_afterimage + duration = 0.75 SECONDS + /// The color matrix it should be at spawn + var/list/matrix_start = list(1, 0, 0, 0, \ + 0, 1, 0, 0, \ + 0, 0, 1, 0, \ + 0, 0, 0, 1, \ + 0.8, 0, 0.1, 0) + /// The color matrix it should be by the time it despawns + var/list/matrix_end = list(1, 0, 0, 0, \ + 0, 1, 0, 0, \ + 0, 0, 1, 0, \ + 0, 0, 0, 1, \ + 0.75, 0, 0.75, 0) + +/obj/effect/temp_visual/decoy/serpadrone_afterimage/Initialize(mapload, atom/mimiced_atom, our_duration = 0.75 SECONDS) + duration = our_duration + . = ..() + color = matrix_start + animate(src, color = matrix_end, time = duration, easing = EASE_OUT) + animate(src, alpha = 0, time = duration, easing = EASE_OUT) + +#undef SERPADRONE_SCREEN_FILTER +#undef SERPADRONE_SCREEN_BLUR + +/datum/chemical_reaction/serpadrone + name = "Serpadrone" + id = "serpadrone" + result = "serpadrone" + required_reagents = list("msg" = 5, "cabbagilium" = 10) + result_amount = 1 + mix_message = "The mixture fizzes into a vibrant red solution that doesn't stay still." + mix_sound = 'sound/goonstation/misc/fuse.ogg' From 99feabc454fd5ebc087cdc1b5ec967831721636f Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 17 Oct 2024 20:48:21 +0300 Subject: [PATCH 064/152] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appearance/mob_overlay_shift.dm | 24 ++++--------------- .../_components/attacking/double_attack.dm | 13 ++-------- .../_components/attacking/pair_attack.dm | 8 +++---- .../species/_components/carapace/carapace.dm | 17 +++++++------ .../_components/carapace/carapace_shell.dm | 13 ++-------- .../organs/organ_actions_component.dm | 7 ++++-- .../species/serpentids/code/mob/serpentids.dm | 1 - .../internal/organs/serpentids_organs_ears.dm | 3 +++ .../internal/organs/serpentids_organs_eyes.dm | 1 + 9 files changed, 30 insertions(+), 57 deletions(-) diff --git a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm index c5b5eaec83c8..6170b116a1b1 100644 --- a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm +++ b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm @@ -3,12 +3,6 @@ Компонент должен цепляться на моба. При инициализации предаются сдвиги. */ -//Базовый трешхолд урона, при достижение или выше которого будет слом. -#define COMSIG_MOB_OVERLAY_SHIFT_CALL "shift_call" -#define COMSIG_MOB_OVERLAY_SHIFT_UPDATE "update_call" -#define COMSIG_MOB_OVERLAY_SHIFT_CHECK "module_available" -#define MOB_OVERLAY_SHIFT_CHECK (1<<0) - /datum/component/mob_overlay_shift var/dir = NORTH @@ -33,15 +27,15 @@ shift_data[body_part][position]["y"] = shift_list[body_part][position]["y"] ? shift_list[body_part][position]["y"] : 0 /datum/component/mob_overlay_shift/RegisterWithParent() - RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CALL, PROC_REF(shift_call)) - RegisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_UPDATE, PROC_REF(update_call)) + RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(shift_call)) + RegisterSignal(parent, COMSIG_LIVING_LIFE, PROC_REF(update_call)) /datum/component/mob_overlay_shift/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_CALL) - UnregisterSignal(parent, COMSIG_MOB_OVERLAY_SHIFT_UPDATE) + UnregisterSignal(parent, COMSIG_ATOM_DIR_CHANGE) + UnregisterSignal(parent, COMSIG_LIVING_LIFE) //Проки, срабатываемые при получении или исцелении урона -/datum/component/mob_overlay_shift/proc/shift_call(mob/living/carbon/human/mob, new_dir) +/datum/component/mob_overlay_shift/proc/shift_call(mob/living/carbon/human/mob, old_dir, new_dir) if(new_dir) dir = new_dir @@ -314,11 +308,3 @@ mob.apply_overlay(LEFT_EAR_LAYER) mob.apply_overlay(RIGHT_EAR_LAYER) - -/mob/living/carbon/human/setDir(new_dir) - . = ..() - SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CALL, new_dir) - -/mob/living/carbon/human/Life(seconds, times_fired) - . = ..() - SEND_SIGNAL(src, COMSIG_MOB_OVERLAY_SHIFT_CALL) diff --git a/modular_ss220/species/_components/attacking/double_attack.dm b/modular_ss220/species/_components/attacking/double_attack.dm index 68ae22f5d846..f122438b66d6 100644 --- a/modular_ss220/species/_components/attacking/double_attack.dm +++ b/modular_ss220/species/_components/attacking/double_attack.dm @@ -5,18 +5,14 @@ Срабатывает только, если оружие одинаковое. */ -#define COMSIG_DOUBLEATTACK_PROCESS "hand_pre_attack" -#define COMSIG_DOUBLEATTACK_CHECK "check_state" -#define DOUBLEATTACK_CHECK_ACTIVE (1<<0) - /datum/component/double_attack var/state_attack = FALSE /datum/component/double_attack/RegisterWithParent() - RegisterSignal(parent, COMSIG_DOUBLEATTACK_PROCESS, PROC_REF(hand_pre_attack)) + RegisterSignal(parent, COMSIG_MOB_ITEM_ATTACK, PROC_REF(hand_pre_attack)) /datum/component/double_attack/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_DOUBLEATTACK_PROCESS) + UnregisterSignal(parent, COMSIG_MOB_ITEM_ATTACK) /datum/component/double_attack/proc/hand_pre_attack(obj/item/weapon, mob/living/target, mob/living/user, def_zone) SIGNAL_HANDLER @@ -30,8 +26,3 @@ return hand_item.attack(target, user, def_zone) state_attack = FALSE - -//Расширение базового прока атаки для запуска сигнала -/obj/item/attack(mob/living/M, mob/living/user, def_zone) - . = .. () - SEND_SIGNAL(src, COMSIG_DOUBLEATTACK_PROCESS, M, user, def_zone) diff --git a/modular_ss220/species/_components/attacking/pair_attack.dm b/modular_ss220/species/_components/attacking/pair_attack.dm index 9d645995fc4e..b1791fa468ab 100644 --- a/modular_ss220/species/_components/attacking/pair_attack.dm +++ b/modular_ss220/species/_components/attacking/pair_attack.dm @@ -5,7 +5,7 @@ Срабатывает только, если оружие одинаковое. */ -#define COMSIG_PAIRATTACK_PROCESS "offhand_pre_attack" +#define COMSIG_ITEM_ATTACK_PROCESS "offhand_pre_attack" #define COMSIG_PAIRATTACK_SYNC "sync_states" #define COMSIG_PAIRATTACK_CHECK "check_state" #define PAIRATTACK_CHECK_ACTIVE (1<<0) @@ -15,12 +15,12 @@ var/state_attack = FALSE /datum/component/pair_attack/RegisterWithParent() - RegisterSignal(parent, COMSIG_PAIRATTACK_PROCESS, PROC_REF(offhand_pre_attack)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_PROCESS, PROC_REF(offhand_pre_attack)) RegisterSignal(parent, COMSIG_PAIRATTACK_CHECK, PROC_REF(check_state)) RegisterSignal(parent, COMSIG_PAIRATTACK_SYNC, PROC_REF(sync_states)) /datum/component/pair_attack/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_PAIRATTACK_PROCESS) + UnregisterSignal(parent, COMSIG_ITEM_ATTACK_PROCESS) UnregisterSignal(parent, COMSIG_PAIRATTACK_CHECK) UnregisterSignal(parent, COMSIG_PAIRATTACK_SYNC) @@ -59,4 +59,4 @@ //Расширение базового прока атаки для запуска сигнала /obj/item/attack(mob/living/M, mob/living/user, def_zone) . = .. () - SEND_SIGNAL(src, COMSIG_PAIRATTACK_PROCESS, M, user, def_zone) + SEND_SIGNAL(src, COMSIG_ITEM_ATTACK_PROCESS, M, user, def_zone) diff --git a/modular_ss220/species/_components/carapace/carapace.dm b/modular_ss220/species/_components/carapace/carapace.dm index e006d16fbec0..777ac286dc56 100644 --- a/modular_ss220/species/_components/carapace/carapace.dm +++ b/modular_ss220/species/_components/carapace/carapace.dm @@ -22,11 +22,10 @@ #define CARAPACE_HEAL_BROKEN_PROB 50 //Список операций, которые будут заблокированы пока панцирь не будет сломан #define CARAPACE_BLOCK_OPERATION list(/datum/surgery/bone_repair,/datum/surgery/bone_repair/skull,/datum/surgery/organ_manipulation) -#define COMSIG_CARAPACE_RECEIVE_DAMAGE "receive_damage" -#define COMSIG_CARAPACE_HEAL_DAMAGE "heal_damage" - #define CARAPACE_ENCASE_WORD "chitin" +#define COMSIG_LIMB_RECIEVE_DAMAGE "receive_damage" +#define COMSIG_LIMB_HEAL_DAMAGE "heal_damage" /datum/component/carapace var/self_medning = FALSE @@ -39,12 +38,12 @@ affected_limb.encased = CARAPACE_ENCASE_WORD /datum/component/carapace/RegisterWithParent() - RegisterSignal(parent, COMSIG_CARAPACE_RECEIVE_DAMAGE, PROC_REF(receive_damage)) - RegisterSignal(parent, COMSIG_CARAPACE_HEAL_DAMAGE, PROC_REF(heal_damage)) + RegisterSignal(parent, COMSIG_LIMB_RECIEVE_DAMAGE, PROC_REF(receive_damage)) + RegisterSignal(parent, COMSIG_LIMB_HEAL_DAMAGE, PROC_REF(heal_damage)) /datum/component/carapace/UnregisterFromParent() - UnregisterSignal(parent, COMSIG_CARAPACE_RECEIVE_DAMAGE) - UnregisterSignal(parent, COMSIG_CARAPACE_HEAL_DAMAGE) + UnregisterSignal(parent, COMSIG_LIMB_RECIEVE_DAMAGE) + UnregisterSignal(parent, COMSIG_LIMB_HEAL_DAMAGE) //Проки, срабатываемые при получении или исцелении урона /datum/component/carapace/proc/receive_damage(obj/item/organ/external/affected_limb, brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) @@ -62,12 +61,12 @@ //Расширение проков урона и лечения для обращения к компоненту /obj/item/organ/external/receive_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list(), ignore_resists = FALSE, updating_health = TRUE) . = ..() - SEND_SIGNAL(src, COMSIG_CARAPACE_RECEIVE_DAMAGE, brute, burn, sharp, used_weapon, forbidden_limbs, ignore_resists, updating_health) + SEND_SIGNAL(src, COMSIG_LIMB_RECIEVE_DAMAGE, brute, burn, sharp, used_weapon, forbidden_limbs, ignore_resists, updating_health) return /obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0, updating_health = TRUE) . = ..() - SEND_SIGNAL(src, COMSIG_CARAPACE_HEAL_DAMAGE, brute, burn, internal, robo_repair, updating_health) + SEND_SIGNAL(src, COMSIG_LIMB_HEAL_DAMAGE, brute, burn, internal, robo_repair, updating_health) return ////////////////////////////////////////////////////////////////// diff --git a/modular_ss220/species/_components/carapace/carapace_shell.dm b/modular_ss220/species/_components/carapace/carapace_shell.dm index 949d92b85763..fd95b431dde4 100644 --- a/modular_ss220/species/_components/carapace/carapace_shell.dm +++ b/modular_ss220/species/_components/carapace/carapace_shell.dm @@ -3,8 +3,6 @@ Цепляется на конечность (в идеале торс).area Опреедляет возможности тела серпентида, которые зависят от общего состояния хитина всех конечностей */ -#define COMSIG_CARAPACE_SHELL_PROCESS "process_shell" - /datum/component/carapace_shell var/mob/living/carbon/human/H var/state_1_threshold = 0 @@ -25,10 +23,10 @@ armored_temp_progression = temp_progression /datum/component/carapace_shell/RegisterWithParent() - RegisterSignal(H, COMSIG_CARAPACE_SHELL_PROCESS, PROC_REF(process_shell)) + RegisterSignal(H, COMSIG_LIVING_LIFE, PROC_REF(process_shell)) /datum/component/carapace_shell/UnregisterFromParent() - UnregisterSignal(H, COMSIG_CARAPACE_SHELL_PROCESS) + UnregisterSignal(H, COMSIG_LIVING_LIFE) //Прок на обновление сопротивления урона /datum/component/carapace_shell/proc/process_shell() @@ -84,10 +82,3 @@ specie.heat_level_1 = heat specie.heat_level_2 = specie.heat_level_1 + armored_temp_progression specie.heat_level_3 = specie.heat_level_2 + armored_temp_progression - -//Расширение проков урона и лечения для обращения к компоненту -/datum/species/handle_life(mob/living/carbon/human/H) - . = ..() - SEND_SIGNAL(H, COMSIG_CARAPACE_SHELL_PROCESS) - return - diff --git a/modular_ss220/species/_components/organs/organ_actions_component.dm b/modular_ss220/species/_components/organs/organ_actions_component.dm index 64e4544ac44d..e77bfb897d24 100644 --- a/modular_ss220/species/_components/organs/organ_actions_component.dm +++ b/modular_ss220/species/_components/organs/organ_actions_component.dm @@ -17,11 +17,14 @@ /datum/component/organ_action/RegisterWithParent() RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL, PROC_REF(open_actions)) - RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_RESORT, PROC_REF(resort_buttons)) + RegisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN, PROC_REF(resort_buttons)) + RegisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN, PROC_REF(resort_buttons)) /datum/component/organ_action/UnregisterFromParent() UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL) - UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_RESORT) + UnregisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN) + UnregisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN) + /datum/component/organ_action/proc/check_actions(mob/user) return (organ.owner && organ.owner == user && organ.owner.stat != DEAD && (organ in organ.owner.internal_organs)) diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index a1a75a8712d5..b81f800d25c5 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -182,7 +182,6 @@ H.verbs -= /mob/living/carbon/human/verb/emote_blink H.verbs -= /mob/living/carbon/human/verb/emote_blink_r H.chat_message_y_offset = 11 - SEND_SIGNAL(H, COMSIG_MOB_OVERLAY_SHIFT_UPDATE) /datum/species/serpentid/on_species_loss(mob/living/carbon/human/H) ..() diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm index d90e8e345fa2..797442893bb1 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_ears.dm @@ -25,6 +25,7 @@ /obj/item/organ/internal/ears/serpentid/on_life() .=..() + SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) if(chemical_consuption <= owner.get_chemical_value(chemical_id) && active) if(prob(((max_damage - damage)/max_damage) * 100)) sense_creatures() @@ -33,8 +34,10 @@ .=..() if(!force_off && owner.get_chemical_value(chemical_id) >= chemical_consuption && !(status & ORGAN_DEAD)) active = TRUE + chemical_consuption = initial(chemical_consuption) else active = FALSE + chemical_consuption = 0 /obj/item/organ/internal/ears/serpentid/proc/sense_creatures() var/last_movement_threshold = 5 SECONDS diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index ba0c8c861c08..b15d46da330a 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -39,6 +39,7 @@ /obj/item/organ/internal/eyes/serpentid/on_life() . = ..() + SEND_SIGNAL(src, COMSIG_ORGAN_CHEM_CALL, chemical_consuption) if(!isnull(owner)) var/mob/mob = owner mob.update_client_colour(time = update_time_client_colour) From 28c8c4fc9b0a252eb7edd4b7303edc87ccdaee6d Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 17 Oct 2024 21:00:11 +0300 Subject: [PATCH 065/152] =?UTF-8?q?=D0=9B=D0=B8=D0=BD=D1=82=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appearance/mob_overlay_shift.dm | 6 +-- .../carrying/grab_and_drag_on_mob_crates.dm | 2 +- .../species/serpentids/code/mob/serpentids.dm | 42 +++++++++---------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm index 6170b116a1b1..a9ffaead1310 100644 --- a/modular_ss220/species/_components/appearance/mob_overlay_shift.dm +++ b/modular_ss220/species/_components/appearance/mob_overlay_shift.dm @@ -14,11 +14,11 @@ var/list/positions = list("center", "side", "front") // Initialize shifts using the provided shift_data list or default to zero - for (var/body_part in body_parts) + for(var/body_part in body_parts) // Create a nested list for each body part if it doesn't exist shift_data[body_part] = shift_list[body_part] ? shift_list[body_part] : list() - for (var/position in positions) + for(var/position in positions) // Create a nested list for each position within the body part shift_data[body_part][position] = shift_list[body_part][position] ? shift_list[body_part][position] : list() @@ -54,7 +54,7 @@ var/flip = (dir == WEST || dir == SOUTH) ? -1 : 1 // Update shift values based on direction - for (var/body_part in body_parts) + for(var/body_part in body_parts) var/x_shift_key = "shift_x" var/y_shift_key = "shift_y" diff --git a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm index cc19cb83cac7..4a859b9ad3c0 100644 --- a/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm +++ b/modular_ss220/species/_components/carrying/grab_and_drag_on_mob_crates.dm @@ -73,7 +73,7 @@ return signal_result /datum/component/gadom_cargo/proc/try_load_cargo(datum/component_holder, mob/user, atom/movable/AM) - if((user.a_intent == "grab")) + if(user.a_intent == "grab") if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || get_dist(user, AM) > 1) return if(!istype(AM)) diff --git a/modular_ss220/species/serpentids/code/mob/serpentids.dm b/modular_ss220/species/serpentids/code/mob/serpentids.dm index b81f800d25c5..44311df7eac3 100644 --- a/modular_ss220/species/serpentids/code/mob/serpentids.dm +++ b/modular_ss220/species/serpentids/code/mob/serpentids.dm @@ -118,27 +118,27 @@ var/can_stealth = TRUE var/gene_lastcall = 0 var/list/shift_data = list( - "head" = list( - "center" = list("x" = 0, "y" = 10), - "side" = list("x" = 3, "y" = 0), - "front" = list("x" = 0, "y" = 0) - ), - "inhand" = list( - "center" = list("x" = 0, "y" = 3), - "side" = list("x" = 0, "y" = 0), - "front" = list("x" = 0, "y" = 0) - ), - "belt" = list( - "center" = list("x" = 0, "y" = 7), - "side" = list("x" = 5, "y" = 0), - "front" = list("x" = 0, "y" = 0) - ), - "back" = list( - "center" = list("x" = 0, "y" = 7), - "side" = list("x" = 0, "y" = 0), - "front" = list("x" = 0, "y" = 0) - ) -) + "head" = list( + "center" = list("x" = 0, "y" = 10), + "side" = list("x" = 3, "y" = 0), + "front" = list("x" = 0, "y" = 0) + ), + "inhand" = list( + "center" = list("x" = 0, "y" = 3), + "side" = list("x" = 0, "y" = 0), + "front" = list("x" = 0, "y" = 0) + ), + "belt" = list( + "center" = list("x" = 0, "y" = 7), + "side" = list("x" = 5, "y" = 0), + "front" = list("x" = 0, "y" = 0) + ), + "back" = list( + "center" = list("x" = 0, "y" = 7), + "side" = list("x" = 0, "y" = 0), + "front" = list("x" = 0, "y" = 0) + ) + ) /datum/species/serpentid/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) From cb49e14164199c03451a6dcd5e2254492c845527 Mon Sep 17 00:00:00 2001 From: KageIIte Date: Thu, 17 Oct 2024 21:54:21 +0300 Subject: [PATCH 066/152] =?UTF-8?q?=D0=AF=20=D0=B6=20=D1=82=D1=8F=20=D1=81?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D0=B8=D0=BB,=20=D1=83=D1=80=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modular_ss220/species/_components/reagents.dm | 1 + .../serpentids/code/_defines/reagents.dm | 174 ------------------ 2 files changed, 1 insertion(+), 174 deletions(-) delete mode 100644 modular_ss220/species/serpentids/code/_defines/reagents.dm diff --git a/modular_ss220/species/_components/reagents.dm b/modular_ss220/species/_components/reagents.dm index dd235b37e7c2..0118a806348c 100644 --- a/modular_ss220/species/_components/reagents.dm +++ b/modular_ss220/species/_components/reagents.dm @@ -16,6 +16,7 @@ /datum/reagent/cabbagilium/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE update_flags |= M.adjustCloneLoss(clone_damage_heal * REAGENTS_EFFECT_MULTIPLIER, FALSE) + return ..() | update_flags //Расширение на химикаты - новый химикат для серпентидов //Химикат позволяет ускорять в 2 раза действия серпентидов (погрузка людей/ящиков, активация клинков) diff --git a/modular_ss220/species/serpentids/code/_defines/reagents.dm b/modular_ss220/species/serpentids/code/_defines/reagents.dm deleted file mode 100644 index 0118a806348c..000000000000 --- a/modular_ss220/species/serpentids/code/_defines/reagents.dm +++ /dev/null @@ -1,174 +0,0 @@ -/obj/item/seeds/cabbage/New() - . = .. () - reagents_add += list("cabbagilium" = 0.01) - -/datum/reagent/cabbagilium - name = "Cabbagilium" - id = "cabbagilium" - description = "An unsual reagent that can be found in cabbages and helpful in toxic treatments." - reagent_state = LIQUID - color = "#335517" - taste_description = "awful but healthy" - goal_department = "Science" - goal_difficulty = REAGENT_GOAL_SKIP - var/clone_damage_heal = -0.02 - -/datum/reagent/cabbagilium/on_mob_life(mob/living/M) - var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustCloneLoss(clone_damage_heal * REAGENTS_EFFECT_MULTIPLIER, FALSE) - return ..() | update_flags - -//Расширение на химикаты - новый химикат для серпентидов -//Химикат позволяет ускорять в 2 раза действия серпентидов (погрузка людей/ящиков, активация клинков) -//Для остальных видов он ускоряет действия при движении по прямой (если не двигаться более 1 секунды или сменить направление, бонус сбросится) -//Атакует сердце, мощнее мефедрона - -#define SERPADRONE_SCREEN_FILTER "serpadrone_screen_filter" -#define SERPADRONE_SCREEN_BLUR "serpadrone_screen_blur" - -/datum/reagent/serpadrone - name = "Serpadrone" - id = "serpadrone" - description = "An unsual reagent that allows serptentids to haste their long-term actions and speed up them." - reagent_state = LIQUID - color = "#ff002b" - taste_description = "television static" - metabolization_rate = 0.1 - process_flags = ORGANIC - goal_department = "Science" - goal_difficulty = REAGENT_GOAL_SKIP - var/last_move_count = 0 - var/last_move = null - -/datum/reagent/serpadrone/on_mob_add(mob/living/carbon/L) - L.next_move_modifier = initial(L.next_move_modifier) - RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(on_movement)) - RegisterSignal(L, COMSIG_HUMAN_CREATE_MOB_HUD, PROC_REF(no_hud_cheese)) - var/mob/living/carbon/human/H = L - if(istype(H.dna.species, /datum/species/serpentid)) - var/datum/species/spicie = H.dna.species - spicie.action_mult = 0.5 - if(!L.hud_used) - return - var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] - var/static/list/col_filter_green = list(1,0,0,0, \ - 0, 0.66, 0, 0, \ - 0, 0, 0.66, 0, \ - 0, 0, 0, 1) - game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) - game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) - last_move_count = 0 - last_move = null - if(!IS_CHANGELING(L)) - return - var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) - cling.chem_recharge_slowdown += 1 - -/datum/reagent/serpadrone/on_mob_delete(mob/living/carbon/L) - UnregisterSignal(L, COMSIG_MOVABLE_MOVED) - REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) - REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) - L.next_move_modifier = initial(L.next_move_modifier) - var/mob/living/carbon/human/H = L - if(istype(H.dna.species, /datum/species/serpentid)) - var/datum/species/spicie = H.dna.species - spicie.action_mult = initial(spicie.action_mult) - if(!L.hud_used) - return - var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] - game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_FILTER) - game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) - last_move_count = 0 - last_move = null - - if(IS_CHANGELING(L)) - var/datum/antagonist/changeling/cling = L.mind.has_antag_datum(/datum/antagonist/changeling) - cling.chem_recharge_slowdown -= 1 - -/// Leaves an afterimage behind the mob when they move -/datum/reagent/serpadrone/proc/on_movement(mob/living/carbon/L, atom/old_loc) - SIGNAL_HANDLER - if(HAS_TRAIT(L, TRAIT_IMMOBILIZED)) //No, dead people floating through space do not need afterimages - return NONE - if(last_move == L.last_movement_dir && world.time - L.last_movement < 10) - if(last_move_count >= 5) - if(!HAS_TRAIT(L, TRAIT_GOTTAGONOTSOFAST)) - ADD_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) - if(last_move_count >= 15) - REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) - ADD_TRAIT(L, TRAIT_GOTTAGOFAST, id) - else - last_move_count += 1 - else - last_move_count += 1 - else - last_move_count = 0 - REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) - REMOVE_TRAIT(L, TRAIT_GOTTAGONOTSOFAST, id) - new /obj/effect/temp_visual/decoy/serpadrone_afterimage(old_loc, L, 0.75 SECONDS) - last_move = L.last_movement_dir -/* -Временное отключение урона сердцу (временное, ибо для баланса) - -/datum/reagent/serpadrone/on_mob_life(mob/living/carbon/L) - . = ..() - - if(ishuman(L)) - var/heart_damage = 0.5 - var/mob/living/carbon/human/H = L - if(istype(H.dna.species, /datum/species/serpentid)) - var/datum/organ/heart/datum_heart = H.get_int_organ_datum(ORGAN_DATUM_HEART) - if(datum_heart) - var/obj/item/organ/internal/our_heart = datum_heart.linked_organ - our_heart.receive_damage(heart_damage, TRUE) - */ - -/// So. If a person changes up their hud settings (Changing their ui theme), the visual effects for this reagent will break, and they will be able to see easily. This 3 part proc waits for the plane controlers to be setup, and over 2 other procs, rengages the visuals -/datum/reagent/serpadrone/proc/no_hud_cheese(mob/living/carbon/L) - SIGNAL_HANDLER - addtimer(CALLBACK(src, PROC_REF(no_hud_cheese_2), L), 2 SECONDS) //Calling it instantly will not work, need to give it a moment - -/// This part of the anticheese sets up the basic visual effects normally setup when the reagent gets into your system. -/datum/reagent/serpadrone/proc/no_hud_cheese_2(mob/living/carbon/L) //Basically if you change the UI you would remove the visuals. This fixes that. - var/atom/movable/plane_master_controller/game_plane_master_controller = L.hud_used?.plane_master_controllers[PLANE_MASTERS_GAME] - game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_FILTER) - game_plane_master_controller.remove_filter(SERPADRONE_SCREEN_BLUR) - - var/static/list/col_filter_green = list(1,0,0,0, 0,0.4,0,0, 0,0,0.4,0, 0,0,0,1) - game_plane_master_controller.add_filter(SERPADRONE_SCREEN_FILTER, 10, color_matrix_filter(col_filter_green, FILTER_COLOR_RGB)) - game_plane_master_controller.add_filter(SERPADRONE_SCREEN_BLUR, 1, list("type" = "radial_blur", "size" = 0.02)) - -// Temp visual that changes color for that bootleg sandevistan effect -/obj/effect/temp_visual/decoy/serpadrone_afterimage - duration = 0.75 SECONDS - /// The color matrix it should be at spawn - var/list/matrix_start = list(1, 0, 0, 0, \ - 0, 1, 0, 0, \ - 0, 0, 1, 0, \ - 0, 0, 0, 1, \ - 0.8, 0, 0.1, 0) - /// The color matrix it should be by the time it despawns - var/list/matrix_end = list(1, 0, 0, 0, \ - 0, 1, 0, 0, \ - 0, 0, 1, 0, \ - 0, 0, 0, 1, \ - 0.75, 0, 0.75, 0) - -/obj/effect/temp_visual/decoy/serpadrone_afterimage/Initialize(mapload, atom/mimiced_atom, our_duration = 0.75 SECONDS) - duration = our_duration - . = ..() - color = matrix_start - animate(src, color = matrix_end, time = duration, easing = EASE_OUT) - animate(src, alpha = 0, time = duration, easing = EASE_OUT) - -#undef SERPADRONE_SCREEN_FILTER -#undef SERPADRONE_SCREEN_BLUR - -/datum/chemical_reaction/serpadrone - name = "Serpadrone" - id = "serpadrone" - result = "serpadrone" - required_reagents = list("msg" = 5, "cabbagilium" = 10) - result_amount = 1 - mix_message = "The mixture fizzes into a vibrant red solution that doesn't stay still." - mix_sound = 'sound/goonstation/misc/fuse.ogg' From b70fbc3cba2b542676d3027f00079dc63cca6cfd Mon Sep 17 00:00:00 2001 From: KageIIte Date: Sat, 19 Oct 2024 14:42:00 +0300 Subject: [PATCH 067/152] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA?= =?UTF-8?q?=D0=B8=20+=20=D0=BF=D0=B5=D1=80=D0=B5=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D0=BA=D0=B0=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=BE=D1=80=D0=B3=D0=B0=D0=BD=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organs/organ_actions_component.dm | 6 ++---- .../species/serpentids/_serpentids.dme | 9 +++++++++ .../internal/organs/serpentids_organs_eyes.dm | 2 +- .../organs/serpentids_organs_lungs.dm | 2 +- .../species/serpentids/icons/organs.dmi | Bin 12446 -> 15546 bytes 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/modular_ss220/species/_components/organs/organ_actions_component.dm b/modular_ss220/species/_components/organs/organ_actions_component.dm index e77bfb897d24..9089fcd421e6 100644 --- a/modular_ss220/species/_components/organs/organ_actions_component.dm +++ b/modular_ss220/species/_components/organs/organ_actions_component.dm @@ -17,13 +17,11 @@ /datum/component/organ_action/RegisterWithParent() RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL, PROC_REF(open_actions)) - RegisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN, PROC_REF(resort_buttons)) - RegisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN, PROC_REF(resort_buttons)) + RegisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_RESORT, PROC_REF(resort_buttons)) /datum/component/organ_action/UnregisterFromParent() UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_CALL) - UnregisterSignal(parent, COMSIG_CARBON_GAIN_ORGAN) - UnregisterSignal(parent, COMSIG_CARBON_LOSE_ORGAN) + UnregisterSignal(parent, COMSIG_ORGAN_GROUP_ACTION_RESORT) /datum/component/organ_action/proc/check_actions(mob/user) diff --git a/modular_ss220/species/serpentids/_serpentids.dme b/modular_ss220/species/serpentids/_serpentids.dme index fe72154d4121..80953c4ea100 100644 --- a/modular_ss220/species/serpentids/_serpentids.dme +++ b/modular_ss220/species/serpentids/_serpentids.dme @@ -21,3 +21,12 @@ #include "code/organs/internal/implants/unused/serpentid_mantis_hand.dm" #include "code/organs/internal/implants/unused/serpentid_mantis_implant.dm" +// BEGIN_INTERNALS +// END_INTERNALS +// BEGIN_FILE_DIR +#define FILE_DIR . +// END_FILE_DIR +// BEGIN_PREFERENCES +// END_PREFERENCES +// BEGIN_INCLUDE +// END_INCLUDE diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm index b15d46da330a..04826d168fba 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_eyes.dm @@ -17,7 +17,7 @@ var/chemical_consuption = GAS_ORGAN_CHEMISTRY_EYES var/vision_ajust_coefficient = 0.4 var/update_time_client_colour = 10 - radial_action_state = "eyes02" + radial_action_state = "nvg_green" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' /obj/item/organ/internal/eyes/serpentid/Initialize(mapload) diff --git a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm index 471d71966263..57e7b97b8a25 100644 --- a/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm +++ b/modular_ss220/species/serpentids/code/organs/internal/organs/serpentids_organs_lungs.dm @@ -21,7 +21,7 @@ var/chem_to_oxy_mult = 0.1 var/danger_air = FALSE var/hand_active = FALSE - radial_action_state = "tank" + radial_action_state = "ballon" radial_action_icon = 'modular_ss220/species/serpentids/icons/organs.dmi' /obj/item/organ/internal/lungs/serpentid/Initialize(mapload) diff --git a/modular_ss220/species/serpentids/icons/organs.dmi b/modular_ss220/species/serpentids/icons/organs.dmi index b14a9dc0ca1bbf3ca8f88c2fc00a4a8b61329e9c..606d9e0b4b72331187c90b1d9356b806fe0d4f9c 100644 GIT binary patch literal 15546 zcma*ObyQSQ`!+muN|zuEjUp)^NK1=!NSC01NOuh(-AXAnl!BxPNHa7DN=SEi4nqtu z%)E!^dB1PH-&((Kt@n?C6Z@Qf?|trl$8}#jR!2+q9x)>^2n4$KLQP2z_`h=ZBg6;( zGV;G$1%a@n0t}43l-_vSdN{gyIl8)lKz=#7shuueLZne6fAx*sD!*lPxwL8I$Ktdq zY*bm=e#C!7q!E0>Ou^{DYPLYNTYGz(AswCkciV@2e{m}35w|S9gU!{eFKf{^2l