From 3bd0ba02754753b4b93fbcc403bd198cca4bb44a Mon Sep 17 00:00:00 2001 From: Ghommie Date: Tue, 23 Jul 2019 06:39:53 +0200 Subject: [PATCH 001/136] Cleaning up Arousal code & co. --- code/__DEFINES/DNA.dm | 5 + code/__DEFINES/citadel_defines.dm | 9 + code/__DEFINES/traits.dm | 11 +- code/__HELPERS/_cit_helpers.dm | 41 +- code/__HELPERS/global_lists.dm | 4 + code/__HELPERS/mobs.dm | 1 - code/datums/traits/neutral.dm | 35 ++ code/modules/admin/create_mob.dm | 3 + code/modules/client/preferences.dm | 4 - code/modules/client/preferences_savefile.dm | 7 +- modular_citadel/code/datums/traits/neutral.dm | 33 -- .../code/modules/arousal/arousal.dm | 559 ++++++------------ .../organs/{genitals.dm => _genitals.dm} | 213 +++---- .../code/modules/arousal/organs/breasts.dm | 60 +- .../code/modules/arousal/organs/eggsack.dm | 16 +- .../organs/genitals_sprite_accessories.dm | 21 +- .../code/modules/arousal/organs/ovipositor.dm | 7 +- .../code/modules/arousal/organs/penis.dm | 56 +- .../code/modules/arousal/organs/testicles.dm | 105 ++-- .../code/modules/arousal/organs/vagina.dm | 47 +- .../code/modules/arousal/organs/womb.dm | 50 +- .../modules/client/preferences_savefile.dm | 1 - .../modules/mob/living/carbon/human/life.dm | 4 +- .../carbon/human/species_types/jellypeople.dm | 50 +- .../icons/obj/genitals/testicles_onmob.dmi | Bin 759 -> 562 bytes tgstation.dme | 3 +- 26 files changed, 525 insertions(+), 820 deletions(-) delete mode 100644 modular_citadel/code/datums/traits/neutral.dm rename modular_citadel/code/modules/arousal/organs/{genitals.dm => _genitals.dm} (60%) diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 4ed099d9e2..95c2c70801 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -122,3 +122,8 @@ #define ORGAN_SLOT_BRAIN_ANTISTUN "brain_antistun" #define ORGAN_SLOT_TAIL "tail" #define ORGAN_SLOT_PENIS "penis" +#define ORGAN_SLOT_WOMB "womb" +#define ORGAN_SLOT_VAGINA "vagina" +#define ORGAN_SLOT_TESTICLES "testicles" +#define ORGAN_SLOT_BREASTS "breasts" + diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 2abe0db04e..8b75784ab2 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -18,6 +18,15 @@ #define CIT_FILTER_STAMINACRIT filter(type="drop_shadow", x=0, y=0, size=-3, border=0, color="#04080F") //organ defines +#define VAGINA_LAYER_INDEX 1 +#define TESTICLES_LAYER_INDEX 2 +#define GENITAL_LAYER_INDEX 3 +#define PENIS_LAYER_INDEX 4 + +#define GENITAL_LAYER_INDEX_LENGTH 4 //keep it updated with each new index added, thanks. + +#define MASTURBATE_LINKED_ORGAN 2 //special value used to pass our mission to the linked organ + #define COCK_SIZE_MIN 1 #define COCK_SIZE_MAX 20 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 7bcb4881f0..1546717c7a 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -136,13 +136,14 @@ #define TRAIT_SKITTISH "skittish" #define TRAIT_POOR_AIM "poor_aim" #define TRAIT_PROSOPAGNOSIA "prosopagnosia" -#define TRAIT_DRUNK_HEALING "drunk_healing" -#define TRAIT_TAGGER "tagger" -#define TRAIT_PHOTOGRAPHER "photographer" -#define TRAIT_MUSICIAN "musician" -#define TRAIT_CROCRIN_IMMUNE "crocin_immune" +#define TRAIT_DRUNK_HEALING "drunk_healing" +#define TRAIT_TAGGER "tagger" +#define TRAIT_PHOTOGRAPHER "photographer" +#define TRAIT_MUSICIAN "musician" +#define TRAIT_CROCRIN_IMMUNE "crocin_immune" #define TRAIT_NYMPHO "nymphomania" #define TRAIT_MASO "masochism" +#define TRAIT_EXHIBITIONIST "exhibitionist" #define TRAIT_PARA "paraplegic" #define TRAIT_EMPATH "empath" #define TRAIT_FRIENDLY "friendly" diff --git a/code/__HELPERS/_cit_helpers.dm b/code/__HELPERS/_cit_helpers.dm index 668b151b6e..d75dd31b46 100644 --- a/code/__HELPERS/_cit_helpers.dm +++ b/code/__HELPERS/_cit_helpers.dm @@ -56,6 +56,7 @@ GLOBAL_LIST_EMPTY(ipc_screens_list) GLOBAL_LIST_EMPTY(ipc_antennas_list) //Genitals and Arousal Lists +GLOBAL_LIST_EMPTY(genitals_list) GLOBAL_LIST_EMPTY(cock_shapes_list)//global_lists.dm for the list initializations //Now also _DATASTRUCTURES globals.dm GLOBAL_LIST_EMPTY(cock_shapes_icons) //Associated list for names->icon_states for cockshapes. GLOBAL_LIST_EMPTY(balls_shapes_list) @@ -124,41 +125,39 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE) SSblackbox.record_feedback("tally", "admin_verb", 1, "TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /mob/living/carbon/proc/has_penis() - if(getorganslot("penis"))//slot shared with ovipositor - if(istype(getorganslot("penis"), /obj/item/organ/genital/penis)) - return TRUE + var/obj/item/organ/genital/G = getorganslot(ORGAN_SLOT_PENIS) + if(G && istype(G, /obj/item/organ/genital/penis)) + return TRUE return FALSE /mob/living/carbon/proc/has_balls() - if(getorganslot("balls")) - if(istype(getorganslot("balls"), /obj/item/organ/genital/testicles)) - return TRUE + var/obj/item/organ/genital/G = getorganslot(ORGAN_SLOT_TESTICLES) + if(G && istype(G, /obj/item/organ/genital/testicles)) + return TRUE return FALSE /mob/living/carbon/proc/has_vagina() - if(getorganslot("vagina")) + if(getorganslot(ORGAN_SLOT_VAGINA)) return TRUE return FALSE /mob/living/carbon/proc/has_breasts() - if(getorganslot("breasts")) + if(getorganslot(ORGAN_SLOT_BREASTS)) return TRUE return FALSE /mob/living/carbon/proc/has_ovipositor() - if(getorganslot("penis"))//shared slot - if(istype(getorganslot("penis"), /obj/item/organ/genital/ovipositor)) - return TRUE + var/obj/item/organ/genital/G = getorganslot(ORGAN_SLOT_PENIS) + if(G && istype(G, /obj/item/organ/genital/ovipositor)) + return TRUE return FALSE /mob/living/carbon/human/proc/has_eggsack() - if(getorganslot("balls")) - if(istype(getorganslot("balls"), /obj/item/organ/genital/eggsack)) - return TRUE + var/obj/item/organ/genital/G = getorganslot(ORGAN_SLOT_TESTICLES) + if(G && istype(G, /obj/item/organ/genital/eggsack)) + return TRUE return FALSE -/mob/living/carbon/human/proc/is_bodypart_exposed(bodypart) - /mob/living/carbon/proc/is_groin_exposed(var/list/L) if(!L) L = get_equipped_items() @@ -188,9 +187,9 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE) message_admins("[src] gave everyone genitals.") for(var/mob/living/carbon/human/H in GLOB.mob_list) if(H.gender == MALE) - H.give_penis() - H.give_balls() + H.give_genital(/obj/item/organ/genital/penis) + H.give_genital(/obj/item/organ/genital/testicles) else - H.give_vagina() - H.give_womb() - H.give_breasts() + H.give_genital(/obj/item/organ/genital/vagina) + H.give_genital(/obj/item/organ/genital/womb) + H.give_genital(/obj/item/organ/genital/breasts) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index c8a33959ed..b0b0f32345 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -61,6 +61,10 @@ for(var/K in GLOB.balls_shapes_list) var/datum/sprite_accessory/testicles/value = GLOB.balls_shapes_list[K] GLOB.balls_shapes_icons[K] = value.icon_state + + for(var/gpath in subtypesof(/obj/item/organ/genital)) + var/obj/item/organ/genital/G = gpath + GLOB.genitals_list[initial(G.name)] = gpath //END OF CIT CHANGES //Species diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 5ec839130a..81801cd6a2 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -154,7 +154,6 @@ "xenodorsal" = "Standard", "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", - "exhibitionist" = FALSE, "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = pick(GLOB.cock_shapes_list), diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index f70e3a3c68..156ee00d75 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -94,6 +94,41 @@ lose_text = "You don't feel as prudish as before." medical_record_text = "Patient exhibits a special gene that makes them immune to Crocin and Hexacrocin." +/datum/quirk/libido + name = "Nymphomania" + desc = "You're always feeling a bit in heat. Also, you get aroused faster than usual." + value = 0 + mob_trait = TRAIT_NYMPHO + gain_text = "You are feeling extra wild." + lose_text = "You don't feel that burning sensation anymore." + +/datum/quirk/libido/add() + var/mob/living/M = quirk_holder + M.min_arousal = 16 + M.arousal_rate = 3 + +/datum/quirk/libido/remove() + var/mob/living/M = quirk_holder + M.min_arousal = initial(M.min_arousal) + M.arousal_rate = initial(M.arousal_rate) + +/datum/quirk/maso + name = "Masochism" + desc = "You are aroused by pain." + value = 0 + mob_trait = TRAIT_MASO + gain_text = "You desire to be hurt." + lose_text = "Pain has become less exciting for you." + +/datum/quirk/exhibitionism + name = "Exhibitionism" + desc = "You don't mind showing off your bare body to strangers, in fact you find it quite satistying. Not the best excuse to break Space Law anyway." //as if they'd care anyway. + value = 0 + medical_record_text = "Patient has been diagnosed with exhibitionistic disorder." + mob_trait = TRAIT_EXHIBITIONIST + gain_text = "You feel like exposing yourself to the world." + lose_text = "Indecent exposure doesn't sound as charming to you anymore." + /datum/quirk/assblastusa name = "Buns of Steel" desc = "You've never skipped ass day. With this trait, you are completely immune to all forms of ass slapping and anyone who tries to slap your rock hard ass usually gets a broken hand." diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index fad7410a6a..eb856237bf 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -25,6 +25,9 @@ H.facial_hair_color = H.hair_color H.eye_color = random_eye_color() H.dna.blood_type = random_blood_type() + H.saved_underwear = H.underwear + H.saved_undershirt = H.undershirt + H.saved_socks = H.socks // Mutant randomizing, doesn't affect the mob appearance unless it's the specific mutant. H.dna.features["mcolor"] = random_short_color() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 54d75e8437..bac9ed0c89 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -108,7 +108,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", "taur" = "None", - "exhibitionist" = FALSE, "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = "Human", @@ -790,7 +789,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat +="" dat += "

Citadel Preferences

" //Because fuck me if preferences can't be fucking modularized and expected to update in a reasonable timeframe. dat += "Arousal:[arousable == TRUE ? "Enabled" : "Disabled"]
" - dat += "Exhibitionist:[features["exhibitionist"] == TRUE ? "Yes" : "No"]
" dat += "Voracious MediHound sleepers: [(cit_toggles & MEDIHOUND_SLEEPER) ? "Yes" : "No"]
" dat += "Hear Vore Sounds: [(cit_toggles & EATING_NOISES) ? "Yes" : "No"]
" dat += "Hear Vore Digestion Sounds: [(cit_toggles & DIGESTION_NOISES) ? "Yes" : "No"]
" @@ -2048,8 +2046,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["has_womb"] = FALSE if("has_womb") features["has_womb"] = !features["has_womb"] - if("exhibitionist") - features["exhibitionist"] = !features["exhibitionist"] if("widescreenpref") widescreenpref = !widescreenpref user.client.change_view(CONFIG_GET(string/default_view)) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index b9c5cb7ef9..175cd9613a 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -5,7 +5,7 @@ // You do not need to raise this if you are adding new values that have sane defaults. // Only raise this value when changing the meaning/format/name/layout of an existing value // where you would want the updater procs below to run -#define SAVEFILE_VERSION_MAX 20 +#define SAVEFILE_VERSION_MAX 21 /* SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn @@ -49,6 +49,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car pda_style = "mono" if(current_version < 20) pda_color = "#808000" + if(current_version < 21 && S["feature_exhibitionist"]) + var/datum/quirk/exhibitionism/E + var/quirk_name = initial(E.name) + neutral_quirks += quirk_name + all_quirks += quirk_name /datum/preferences/proc/load_path(ckey,filename="preferences.sav") if(!ckey) diff --git a/modular_citadel/code/datums/traits/neutral.dm b/modular_citadel/code/datums/traits/neutral.dm deleted file mode 100644 index 05aeb27361..0000000000 --- a/modular_citadel/code/datums/traits/neutral.dm +++ /dev/null @@ -1,33 +0,0 @@ -// Citadel-specific Neutral Traits - -/datum/quirk/libido - name = "Nymphomania" - desc = "You're always feeling a bit in heat. Also, you get aroused faster than usual." - value = 0 - mob_trait = TRAIT_NYMPHO - gain_text = "You are feeling extra wild." - lose_text = "You don't feel that burning sensation anymore." - -/datum/quirk/libido/add() - var/mob/living/M = quirk_holder - M.min_arousal = 16 - M.arousal_rate = 3 - -/datum/quirk/libido/remove() - var/mob/living/M = quirk_holder - M.min_arousal = initial(M.min_arousal) - M.arousal_rate = initial(M.arousal_rate) - -/datum/quirk/libido/on_process() - var/mob/living/M = quirk_holder - if(M.canbearoused == FALSE) - to_chat(quirk_holder, "Having high libido is useless when you can't feel arousal at all!") - qdel(src) - -/datum/quirk/maso - name = "Masochism" - desc = "You are aroused by pain." - value = 0 - mob_trait = TRAIT_MASO - gain_text = "You desire to be hurt." - lose_text = "Pain has become less exciting for you." diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 27f7576e7f..8826cb0774 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -19,11 +19,6 @@ var/hidden_undershirt = FALSE var/hidden_socks = FALSE -/mob/living/carbon/human/New() - ..() - saved_underwear = underwear - saved_undershirt = undershirt - //Species vars /datum/species var/arousal_gain_rate = AROUSAL_START_VALUE //Rate at which this species becomes aroused @@ -35,60 +30,53 @@ //Mob procs /mob/living/carbon/human/proc/underwear_toggle() set name = "Toggle undergarments" - set category = "Object" - if(ishuman(src)) - var/mob/living/carbon/human/humz = src - var/confirm = input(src, "Select what part of your form to alter", "Undergarment Toggling", "Cancel") in list("Top", "Bottom", "Socks", "All", "Cancel") - if(confirm == "Top") - humz.hidden_undershirt = !humz.hidden_undershirt + set category = "IC" - if(confirm == "Bottom") - humz.hidden_underwear = !humz.hidden_underwear + var/confirm = input(src, "Select what part of your form to alter", "Undergarment Toggling") as null|anything in list("Top", "Bottom", "Socks", "All") + if(!confirm) + return + if(confirm == "Top") + hidden_undershirt = !hidden_undershirt - if(confirm == "Socks") - humz.hidden_socks = !humz.hidden_socks + if(confirm == "Bottom") + hidden_underwear = !hidden_underwear - if(confirm == "All") - humz.hidden_undershirt = !humz.hidden_undershirt - humz.hidden_underwear = !humz.hidden_underwear - humz.hidden_socks = !humz.hidden_socks + if(confirm == "Socks") + hidden_socks = !hidden_socks - if(confirm == "Cancel") - return - src.update_body() + if(confirm == "All") + var/on_off = (hidden_undershirt || hidden_underwear || hidden_socks) ? FALSE : TRUE + hidden_undershirt = on_off + hidden_underwear = on_off + hidden_socks = on_off - else - to_chat(src, "Humans only. How the fuck did you get this verb anyway.") + update_body() -/mob/living/proc/handle_arousal() - - -/mob/living/carbon/handle_arousal() - if(canbearoused && dna) - var/datum/species/S - S = dna.species - if(S && !(SSmobs.times_fired % 36) && getArousalLoss() < max_arousal)//Totally stolen from breathing code. Do this every 36 ticks. - adjustArousalLoss(arousal_rate * S.arousal_gain_rate) - if(dna.features["exhibitionist"] && client) - var/amt_nude = 0 - if(is_chest_exposed() && (getorganslot("breasts"))) - amt_nude++ - if(is_groin_exposed()) - if(getorganslot("penis")) - amt_nude++ - if(getorganslot("vagina")) - amt_nude++ - if(amt_nude) - var/watchers = 0 - for(var/mob/_M in view(world.view, src)) - var/mob/living/M = _M - if(!istype(M)) - continue - if(M.client && !M.stat && !M.eye_blind && (locate(src) in viewers(world.view,M))) - watchers++ - if(watchers) - adjustArousalLoss((amt_nude * watchers) + S.arousal_gain_rate) +/mob/living/proc/handle_arousal(times_fired) + return +/mob/living/carbon/handle_arousal(times_fired) + if(!canbearoused || !dna) + return + var/datum/species/S = dna.species + if(!S || (times_fired % 36) || !getArousalLoss() >= max_arousal)//Totally stolen from breathing code. Do this every 36 ticks. + return + var/our_loss = arousal_rate * S.arousal_gain_rate + if(HAS_TRAIT(src, TRAIT_EXHIBITIONIST) && client) + var/amt_nude = 0 + for(var/obj/item/organ/genital/G in internal_organs) + if(G.is_exposed()) + amt_nude++ + if(amt_nude) + var/watchers = 0 + for(var/mob/living/L in view(world.view, src)) + if(!istype(L)) + continue + if(L.client && !L.stat && !L.eye_blind && (locate(src) in viewers(world.view, L))) + watchers++ + if(watchers) + our_loss += (amt_nude * watchers) + S.arousal_gain_rate + adjustArousalLoss(our_loss) /mob/living/proc/getArousalLoss() return arousalloss @@ -138,8 +126,6 @@ S = GLOB.breasts_shapes_list[G.shape] if(S?.alt_aroused) G.aroused_state = isPercentAroused(G.aroused_amount) - if(getArousalLoss() >= ((max_arousal / 100) * 33)) - G.aroused_state = TRUE else G.aroused_state = FALSE G.update_appearance() @@ -147,54 +133,18 @@ /mob/living/proc/update_arousal_hud() return FALSE -/datum/species/proc/update_arousal_hud(mob/living/carbon/human/H) - return FALSE - /mob/living/carbon/human/update_arousal_hud() - if(!client || !hud_used) - return FALSE - if(dna.species.update_arousal_hud()) + if(!client || !(hud_used?.arousal)) return FALSE if(!canbearoused) hud_used.arousal.icon_state = "" return FALSE + if(stat == DEAD) + hud_used.arousal.icon_state = "arousal0" else - if(hud_used.arousal) - if(stat == DEAD) - hud_used.arousal.icon_state = "arousal0" - return TRUE - if(getArousalLoss() == max_arousal) - hud_used.arousal.icon_state = "arousal100" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 90)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal90" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 80)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal80" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 70)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal70" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 60)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal60" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 50)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal50" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 40)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal40" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 30)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal30" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 20)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal10" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 10)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal10" - return TRUE - else - hud_used.arousal.icon_state = "arousal0" + var/value = FLOOR(getPercentAroused(), 10) + hud_used.arousal.icon_state = "arousal[value]" + return TRUE /obj/screen/arousal name = "arousal" @@ -213,7 +163,6 @@ to_chat(M, "Arousal is disabled. Feature is unavailable.") - /mob/living/proc/mob_climax()//This is just so I can test this shit without being forced to add actual content to get rid of arousal. Will be a very basic proc for a while. set name = "Masturbate" set category = "IC" @@ -221,212 +170,150 @@ if(mb_cd_timer <= world.time) //start the cooldown even if it fails mb_cd_timer = world.time + mb_cd_length - if(getArousalLoss() >= ((max_arousal / 100) * 33))//33% arousal or greater required - src.visible_message("[src] starts masturbating!", \ + if(getArousalLoss() >= 33)//one third of average max_arousal or greater required + visible_message("[src] starts masturbating!", \ "You start masturbating.") if(do_after(src, 30, target = src)) - src.visible_message("[src] relieves [p_them()]self!", \ + visible_message("[src] relieves [p_them()]self!", \ "You have relieved yourself.") SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) setArousalLoss(min_arousal) else to_chat(src, "You aren't aroused enough for that.") +/obj/item/organ/genital/proc/climaxable(mob/living/carbon/human/H, silent = FALSE) //returns the fluid source (ergo reagents holder) if found. + if(producing) + . = reagents + else + if(linked_organ) + . = linked_organ.reagents + else if(!silent) + to_chat(H, "Your [name] is unable to produce it's own fluids, it's missing the organs for it.") + +/mob/living/carbon/human/proc/do_climax(datum/reagents/R, atom/target, obj/item/organ/genital/G, spill = TRUE) + if(!G) + return + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) + if(!target || !R) + return + var/turfing = isturf(target) + if(spill & R.total_volume >= 5) + R.reaction(turfing ? target : target.loc, TOUCH, 1, 0) + if(!turfing) + R.trans_to(target, R.total_volume * (spill ? G.fluid_transfer_factor : 1)) + R.clear_reagents() //These are various procs that we'll use later, split up for readability instead of having one, huge proc. //For all of these, we assume the arguments given are proper and have been checked beforehand. /mob/living/carbon/human/proc/mob_masturbate(obj/item/organ/genital/G, mb_time = 30) //Masturbation, keep it gender-neutral - var/total_fluids = 0 - var/datum/reagents/fluid_source = null - - if(G.producing) //Can it produce its own fluids, such as breasts? - fluid_source = G.reagents - else - if(!G.linked_organ) - to_chat(src, "Your [G.name] is unable to produce it's own fluids, it's missing the organs for it.") - return - fluid_source = G.linked_organ.reagents - total_fluids = fluid_source.total_volume + var/datum/reagents/fluid_source = G.climaxable(src) + if(!fluid_source) + return + var/obj/item/organ/genital/PP = G.can_masturbate_with == MASTURBATE_LINKED_ORGAN ? G.linked_organ : G + if(!PP) + to_chat(src, "You shudder, unable to cum with your [name].") if(mb_time) - src.visible_message("[src] starts to [G.masturbation_verb] [p_their()] [G.name].", \ - "You start to [G.masturbation_verb] your [G.name].", \ + visible_message("[src] starts to [G.masturbation_verb] [p_their()] [G.name].", \ "You start to [G.masturbation_verb] your [G.name].") - - if(do_after(src, mb_time, target = src)) - if(total_fluids > 5) - fluid_source.reaction(src.loc, TOUCH, 1, 0) - fluid_source.clear_reagents() - src.visible_message("[src] orgasms, cumming[istype(src.loc, /turf/open/floor) ? " onto [src.loc]" : ""]!", \ - "You cum[istype(src.loc, /turf/open/floor) ? " onto [src.loc]" : ""].", \ - "You have relieved yourself.") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) - if(G.can_climax) - setArousalLoss(min_arousal) - + if(!do_after(src, mb_time, target = src) || !G.climaxable(src, TRUE)) + return + visible_message("[src] orgasms, [PP.orgasm_verb][isturf(loc) ? " onto [loc]" : ""]!", \ + "You orgasm, [PP.orgasm_verb][isturf(loc) ? " onto [loc]" : ""].") + do_climax(fluid_source, loc, G) /mob/living/carbon/human/proc/mob_climax_outside(obj/item/organ/genital/G, mb_time = 30) //This is used for forced orgasms and other hands-free climaxes - var/total_fluids = 0 - var/datum/reagents/fluid_source = null - var/unable_to_come = FALSE - - if(G.producing) //Can it produce its own fluids, such as breasts? - fluid_source = G.reagents - total_fluids = fluid_source.total_volume - else - if(!G.linked_organ) - unable_to_come = TRUE - else - fluid_source = G.linked_organ.reagents - total_fluids = fluid_source.total_volume - - if(unable_to_come) - src.visible_message("[src] shudders, their [G.name] unable to cum.", \ - "Your [G.name] cannot cum, giving no relief.", \ + var/datum/reagents/fluid_source = G.climaxable(src, TRUE) + if(!fluid_source) + visible_message("[src] shudders, their [G.name] unable to cum.", \ "Your [G.name] cannot cum, giving no relief.") - else - total_fluids = fluid_source.total_volume - if(mb_time) //as long as it's not instant, give a warning - src.visible_message("[src] looks like they're about to cum.", \ - "You feel yourself about to orgasm.", \ - "You feel yourself about to orgasm.") - if(do_after(src, mb_time, target = src)) - if(total_fluids > 5) - fluid_source.reaction(src.loc, TOUCH, 1, 0) - fluid_source.clear_reagents() - src.visible_message("[src] orgasms[istype(src.loc, /turf/open/floor) ? ", spilling onto [src.loc]" : ""], using [p_their()] [G.name]!", \ - "You climax[istype(src.loc, /turf/open/floor) ? ", spilling onto [src.loc]" : ""] with your [G.name].", \ - "You climax using your [G.name].") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) - if(G.can_climax) - setArousalLoss(min_arousal) - + return + if(mb_time) //as long as it's not instant, give a warning + visible_message("[src] looks like they're about to cum.", \ + "You feel yourself about to orgasm.") + if(!do_after(src, mb_time, target = src) || !G.climaxable(src, TRUE)) + return + visible_message("[src] orgasms[isturf(loc) ? " onto [loc]" : ""], using [p_their()] [G.name]!", \ + "You climax[isturf(loc) ? " onto [loc]" : ""] with your [G.name].") + do_climax(fluid_source, loc, G) /mob/living/carbon/human/proc/mob_climax_partner(obj/item/organ/genital/G, mob/living/L, spillage = TRUE, mb_time = 30) //Used for climaxing with any living thing - var/total_fluids = 0 - var/datum/reagents/fluid_source = null - - if(G.producing) //Can it produce its own fluids, such as breasts? - fluid_source = G.reagents - else - if(!G.linked_organ) - to_chat(src, "Your [G.name] is unable to produce it's own fluids, it's missing the organs for it.") - return - fluid_source = G.linked_organ.reagents - total_fluids = fluid_source.total_volume + var/datum/reagents/fluid_source = G.climaxable(src) + if(!fluid_source) + return if(mb_time) //Skip warning if this is an instant climax. - src.visible_message("[src] is about to climax with [L]!", \ - "You're about to climax with [L]!", \ - "You're preparing to climax with someone!") + visible_message("[src] is about to climax with [L]!", \ + "You're about to climax with [L]!") + if(!do_after(src, mb_time, target = src) || !in_range(src, L) || !G.climaxable(src, TRUE)) + return if(spillage) - if(do_after(src, mb_time, target = src) && in_range(src, L)) - fluid_source.trans_to(L, total_fluids*G.fluid_transfer_factor) - total_fluids -= total_fluids*G.fluid_transfer_factor - if(total_fluids > 5) - fluid_source.reaction(L.loc, TOUCH, 1, 0) - fluid_source.clear_reagents() - src.visible_message("[src] climaxes with [L][spillage ? ", overflowing and spilling":""], using [p_their()] [G.name]!", \ - "You orgasm with [L][spillage ? ", spilling out of them":""], using your [G.name].", \ - "You have climaxed with someone[spillage ? ", spilling out of them":""], using your [G.name].") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) - SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) - if(G.can_climax) - setArousalLoss(min_arousal) + visible_message("[src] climaxes with [L], overflowing and spilling, using [p_their()] [G.name]!", \ + "You orgasm with [L], spilling out of them, using your [G.name].") else //knots and other non-spilling orgasms - if(do_after(src, mb_time, target = src) && in_range(src, L)) - fluid_source.trans_to(L, total_fluids) - total_fluids = 0 - src.visible_message("[src] climaxes with [L], [p_their()] [G.name] spilling nothing!", \ - "You ejaculate with [L], your [G.name] spilling nothing.", \ - "You have climaxed inside someone, your [G.name] spilling nothing.") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) - SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) - if(G.can_climax) - setArousalLoss(min_arousal) + visible_message("[src] climaxes with [L], [p_their()] [G.name] spilling nothing!", \ + "You ejaculate with [L], your [G.name] spilling nothing.") + SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) + do_climax(fluid_source, spillage ? loc : L, G, spillage) /mob/living/carbon/human/proc/mob_fill_container(obj/item/organ/genital/G, obj/item/reagent_containers/container, mb_time = 30) //For beaker-filling, beware the bartender - var/total_fluids = 0 - var/datum/reagents/fluid_source = null - - if(G.producing) //Can it produce its own fluids, such as breasts? - fluid_source = G.reagents - else - if(!G.linked_organ) - to_chat(src, "Your [G.name] is unable to produce it's own fluids, it's missing the organs for it.") + var/datum/reagents/fluid_source = G.climaxable(src) + if(!fluid_source) + return + if(mb_time) + visible_message("[src] starts to [G.masturbation_verb] their [G.name] over [container].", \ + "You start to [G.masturbation_verb] your [G.name] over [container].") + if(!do_after(src, mb_time, target = src) || !in_range(src, container) || !G.climaxable(src, TRUE)) return - fluid_source = G.linked_organ.reagents - total_fluids = fluid_source.total_volume - - //if(!container) //Something weird happened - // to_chat(src, "You need a container to do this!") - // return - - src.visible_message("[src] starts to [G.masturbation_verb] their [G.name] over [container].", \ - "You start to [G.masturbation_verb] your [G.name] over [container].", \ - "You start to [G.masturbation_verb] your [G.name] over something.") - if(do_after(src, mb_time, target = src) && in_range(src, container)) - fluid_source.trans_to(container, total_fluids) - src.visible_message("[src] uses [p_their()] [G.name] to fill [container]!", \ - "You used your [G.name] to fill [container].", \ - "You have relieved some pressure.") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) - if(G.can_climax) - setArousalLoss(min_arousal) + visible_message("[src] uses [p_their()] [G.name] to fill [container]!", \ + "You used your [G.name] to fill [container].") + do_climax(fluid_source, container, G, FALSE) /mob/living/carbon/human/proc/pick_masturbate_genitals() - var/obj/item/organ/genital/ret_organ var/list/genitals_list = list() var/list/worn_stuff = get_equipped_items() for(var/obj/item/organ/genital/G in internal_organs) - if(G.can_masturbate_with) //filter out what you can't masturbate with - if(G.is_exposed(worn_stuff)) //Nude or through_clothing - genitals_list += G + if(G.can_masturbate_with && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with + if(G.can_masturbate_with == MASTURBATE_LINKED_ORGAN && !G.linked_organ) + continue + genitals_list += G if(genitals_list.len) - ret_organ = input(src, "with what?", "Masturbate", null) as null|obj in genitals_list + var/obj/item/organ/genital/ret_organ = input(src, "with what?", "Masturbate", null) as null|obj in genitals_list return ret_organ - return null //error stuff /mob/living/carbon/human/proc/pick_climax_genitals() - var/obj/item/organ/genital/ret_organ var/list/genitals_list = list() var/list/worn_stuff = get_equipped_items() for(var/obj/item/organ/genital/G in internal_organs) - if(G.can_climax) //filter out what you can't masturbate with - if(G.is_exposed(worn_stuff)) //Nude or through_clothing - genitals_list += G + if(G.can_climax && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with + genitals_list += G if(genitals_list.len) - ret_organ = input(src, "with what?", "Climax", null) as null|obj in genitals_list + var/obj/item/organ/genital/ret_organ = input(src, "with what?", "Climax", null) as null|obj in genitals_list return ret_organ - return null //error stuff /mob/living/carbon/human/proc/pick_partner() var/list/partners = list() - if(src.pulling) - partners += src.pulling //Yes, even objects for now - if(src.pulledby) - partners += src.pulledby + if(pulling) + partners += pulling + if(pulledby) + partners += pulledby //Now we got both of them, let's check if they're proper - for(var/I in partners) - if(isliving(I)) - if(iscarbon(I)) - var/mob/living/carbon/C = I - if(!C.exposed_genitals.len) //Nothing through_clothing - if(!C.is_groin_exposed()) //No pants undone - if(!C.is_chest_exposed()) //No chest exposed - partners -= I //Then not proper, remove them - else - partners -= I //No fucking objects + for(var/mob/living/L in partners) + if(iscarbon(L)) + var/mob/living/carbon/C = L + if(!C.exposed_genitals.len && !C.is_groin_exposed() && !C.is_chest_exposed()) //Nothing through_clothing, no proper partner. + partners -= C //NOW the list should only contain correct partners if(!partners.len) - return null //No one left. - return input(src, "With whom?", "Sexual partner", null) in partners //pick one, default to null + return //No one left. + var/mob/living/target = input(src, "With whom?", "Sexual partner", null) as null|anything in partners //pick one, default to null + if(target && in_range(src, target)) + return target /mob/living/carbon/human/proc/pick_climax_container() - var/obj/item/reagent_containers/SC = null var/list/containers_list = list() for(var/obj/item/reagent_containers/container in held_items) @@ -434,12 +321,21 @@ containers_list += container if(containers_list.len) - SC = input(src, "Into or onto what?(Cancel for nowhere)", null) as null|obj in containers_list - if(SC) - if(in_range(src, SC)) - return SC + var/obj/item/reagent_containers/SC = input(src, "Into or onto what?(Cancel for nowhere)", null) as null|obj in containers_list + if(SC && in_range(src, SC)) + return SC return null //If nothing correct, give null. +/mob/living/carbon/human/proc/available_rosie_palms(silent = FALSE) + if(restrained(TRUE)) //TRUE ignores grabs + if(!silent) + to_chat(src, "You can't do that while restrained!") + return FALSE + if(!get_num_arms() || !get_empty_held_indexes()) + if(!silent) + to_chat(src, "You need at least one free arm.") + return FALSE + return TRUE //Here's the main proc itself /mob/living/carbon/human/mob_climax(forced_climax=FALSE) //Forced is instead of the other proc, makes you cum if you have the tools for it, ignoring restraints @@ -447,49 +343,47 @@ if(!forced_climax) //Don't spam the message to the victim if forced to come too fast to_chat(src, "You need to wait [DisplayTimeText((mb_cd_timer - world.time), TRUE)] before you can do that again!") return - mb_cd_timer = (world.time + mb_cd_length) - + mb_cd_timer = world.time + mb_cd_length if(canbearoused && has_dna()) - if(stat==2) - to_chat(src, "You can't do that while dead!") + if(stat == DEAD) + if(!forced_climax) + to_chat(src, "You can't do that while dead!") return if(forced_climax) //Something forced us to cum, this is not a masturbation thing and does not progress to the other checks - for(var/obj/item/organ/O in internal_organs) - if(istype(O, /obj/item/organ/genital)) - var/obj/item/organ/genital/G = O - if(!G.can_climax) //Skip things like wombs and testicles - continue - var/mob/living/partner - var/check_target - var/list/worn_stuff = get_equipped_items() + for(var/obj/item/organ/genital/G in internal_organs) + if(!G.can_climax) //Skip things like wombs and testicles + continue + var/mob/living/partner + var/check_target + var/list/worn_stuff = get_equipped_items() - if(G.is_exposed(worn_stuff)) - if(src.pulling) //Are we pulling someone? Priority target, we can't be making option menus for this, has to be quick - if(isliving(src.pulling)) //Don't fuck objects - check_target = src.pulling - if(src.pulledby && !check_target) //prioritise pulled over pulledby - if(isliving(src.pulledby)) - check_target = src.pulledby - //Now we should have a partner, or else we have to come alone - if(check_target) - if(iscarbon(check_target)) //carbons can have clothes - var/mob/living/carbon/C = check_target - if(C.exposed_genitals.len || C.is_groin_exposed() || C.is_chest_exposed()) //Are they naked enough? - partner = C - else //A cat is fine too - partner = check_target - if(partner) //Did they pass the clothing checks? - mob_climax_partner(G, partner, mb_time = 0) //Instant climax due to forced - continue //You've climaxed once with this organ, continue on - //not exposed OR if no partner was found while exposed, climax alone - mob_climax_outside(G, mb_time = 0) //removed climax timer for sudden, forced orgasms + if(G.is_exposed(worn_stuff)) + if(pulling) //Are we pulling someone? Priority target, we can't be making option menus for this, has to be quick + if(isliving(pulling)) //Don't fuck objects + check_target = pulling + if(pulledby && !check_target) //prioritise pulled over pulledby + if(isliving(pulledby)) + check_target = pulledby + //Now we should have a partner, or else we have to come alone + if(check_target) + if(iscarbon(check_target)) //carbons can have clothes + var/mob/living/carbon/C = check_target + if(C.exposed_genitals.len || C.is_groin_exposed() || C.is_chest_exposed()) //Are they naked enough? + partner = C + else //A cat is fine too + partner = check_target + if(partner) //Did they pass the clothing checks? + mob_climax_partner(G, partner, mb_time = 0) //Instant climax due to forced + continue //You've climaxed once with this organ, continue on + //not exposed OR if no partner was found while exposed, climax alone + mob_climax_outside(G, mb_time = 0) //removed climax timer for sudden, forced orgasms //Now all genitals that could climax, have. //Since this was a forced climax, we do not need to continue with the other stuff return //If we get here, then this is not a forced climax and we gotta check a few things. - if(stat==1) //No sleep-masturbation, you're unconscious. + if(stat == UNCONSCIOUS) //No sleep-masturbation, you're unconscious. to_chat(src, "You must be conscious to do that!") return if(getArousalLoss() < 33) //flat number instead of percentage @@ -497,91 +391,38 @@ return //Ok, now we check what they want to do. - var/choice = input(src, "Select sexual activity", "Sexual activity:") in list("Masturbate", "Climax alone", "Climax with partner", "Fill container") + var/choice = input(src, "Select sexual activity", "Sexual activity:") as null|anything in list("Masturbate", "Climax alone", "Climax with partner", "Fill container") switch(choice) if("Masturbate") - if(restrained(TRUE)) //TRUE ignores grabs - to_chat(src, "You can't do that while restrained!") - return - var/free_hands = get_num_arms() - if(!free_hands) - to_chat(src, "You need at least one free arm.") - return - for(var/helditem in held_items)//how many hands are free - if(isobj(helditem)) - free_hands-- - if(free_hands <= 0) - to_chat(src, "You're holding too many things.") + if(!available_rosie_palms()) return //We got hands, let's pick an organ - var/obj/item/organ/genital/picked_organ - picked_organ = pick_masturbate_genitals() - if(picked_organ) + var/obj/item/organ/genital/picked_organ = pick_masturbate_genitals() + if(picked_organ && available_rosie_palms(TRUE)) mob_masturbate(picked_organ) return - else //They either lack organs that can masturbate, or they didn't pick one. - to_chat(src, "You cannot masturbate without choosing genitals.") - return if("Climax alone") - if(restrained(TRUE)) //TRUE ignores grabs - to_chat(src, "You can't do that while restrained!") + if(!available_rosie_palms()) return - var/free_hands = get_num_arms() - if(!free_hands) - to_chat(src, "You need at least one free arm.") - return - for(var/helditem in held_items)//how many hands are free - if(isobj(helditem)) - free_hands-- - if(free_hands <= 0) - to_chat(src, "You're holding too many things.") - return - //We got hands, let's pick an organ - var/obj/item/organ/genital/picked_organ - picked_organ = pick_climax_genitals() - if(picked_organ) + var/obj/item/organ/genital/picked_organ = pick_climax_genitals() + if(picked_organ && available_rosie_palms(TRUE)) mob_climax_outside(picked_organ) - return - else //They either lack organs that can masturbate, or they didn't pick one. - to_chat(src, "You cannot climax without choosing genitals.") - return if("Climax with partner") //We need no hands, we can be restrained and so on, so let's pick an organ - var/obj/item/organ/genital/picked_organ - picked_organ = pick_climax_genitals() + var/obj/item/organ/genital/picked_organ = pick_climax_genitals() if(picked_organ) var/mob/living/partner = pick_partner() //Get someone if(partner) - var/spillage = input(src, "Would your fluids spill outside?", "Choose overflowing option", "Yes") as anything in list("Yes", "No") - if(spillage == "Yes") - mob_climax_partner(picked_organ, partner, TRUE) - else - mob_climax_partner(picked_organ, partner, FALSE) - return - else - to_chat(src, "You cannot do this alone.") - return - else //They either lack organs that can masturbate, or they didn't pick one. - to_chat(src, "You cannot climax without choosing genitals.") - return + var/spillage = input(src, "Would your fluids spill outside?", "Choose overflowing option", "Yes") as null|anything in list("Yes", "No") + if(spillage && in_range(src, partner)) + mob_climax_partner(picked_organ, partner, spillage == "Yes" ? TRUE : FALSE) if("Fill container") //We'll need hands and no restraints. - if(restrained(TRUE)) //TRUE ignores grabs - to_chat(src, "You can't do that while restrained!") - return - var/free_hands = get_num_arms() - if(!free_hands) - to_chat(src, "You need at least one free arm.") - return - for(var/helditem in held_items)//how many hands are free - if(isobj(helditem)) - free_hands-- - if(free_hands <= 0) - to_chat(src, "You're holding too many things.") + if(!available_rosie_palms()) return //We got hands, let's pick an organ var/obj/item/organ/genital/picked_organ @@ -589,14 +430,6 @@ if(picked_organ) //Good, got an organ, time to pick a container var/obj/item/reagent_containers/fluid_container = pick_climax_container() - if(fluid_container) + if(fluid_container && available_rosie_palms(TRUE)) mob_fill_container(picked_organ, fluid_container) - return - else - to_chat(src, "You cannot do this without anything to fill.") - return - else //They either lack organs that can climax, or they didn't pick one. - to_chat(src, "You cannot fill anything without choosing genitals.") - return - else //Somehow another option was taken, maybe something interrupted the selection or it was cancelled - return //Just end it in that case. + return \ No newline at end of file diff --git a/modular_citadel/code/modules/arousal/organs/genitals.dm b/modular_citadel/code/modules/arousal/organs/_genitals.dm similarity index 60% rename from modular_citadel/code/modules/arousal/organs/genitals.dm rename to modular_citadel/code/modules/arousal/organs/_genitals.dm index 63d6834409..2222624050 100644 --- a/modular_citadel/code/modules/arousal/organs/genitals.dm +++ b/modular_citadel/code/modules/arousal/organs/_genitals.dm @@ -6,8 +6,9 @@ var/list/genital_flags = list() var/can_masturbate_with = FALSE var/masturbation_verb = "masturbate" + var/orgasm_verb = "cumming" //present continous var/can_climax = FALSE - var/fluid_transfer_factor = 0.0 //How much would a partner get in them if they climax using this? + var/fluid_transfer_factor = 0 //How much would a partner get in them if they climax using this? var/size = 2 //can vary between num or text, just used in icon_state strings var/fluid_id = null var/fluid_max_volume = 50 @@ -18,48 +19,49 @@ var/aroused_state = FALSE //Boolean used in icon_state strings var/aroused_amount = 50 //This is a num from 0 to 100 for arousal percentage for when to use arousal state icons. var/obj/item/organ/genital/linked_organ + var/linked_organ_slot //only one of the two organs needs this to be set up. update_link() will handle linking the rest. var/through_clothes = FALSE var/internal = FALSE var/hidden = FALSE + var/layer_index = GENITAL_LAYER_INDEX //Order should be very important. FIRST vagina, THEN testicles, THEN penis, as this affects the order they are rendered in. /obj/item/organ/genital/Initialize() . = ..() - if(!reagents) + if(fluid_id) create_reagents(fluid_max_volume) + if(producing) + reagents.add_reagent(fluid_id, fluid_max_volume) update() /obj/item/organ/genital/Destroy() - remove_ref() + if(linked_organ) + update_link(TRUE)//this should remove any other links it has if(owner) - Remove(owner, 1)//this should remove references to it, so it can be GCd correctly - update_link()//this should remove any other links it has + Remove(owner, TRUE)//this should remove references to it, so it can be GCd correctly return ..() -/obj/item/organ/genital/proc/update() +/obj/item/organ/genital/proc/update(removing = FALSE) if(QDELETED(src)) return update_size() update_appearance() - update_link() + if(linked_organ_slot || (linked_organ && removing)) + update_link(removing) //exposure and through-clothing code /mob/living/carbon var/list/exposed_genitals = list() //Keeping track of them so we don't have to iterate through every genitalia and see if exposed /obj/item/organ/genital/proc/is_exposed() - if(!owner) - return FALSE - if(hidden) - return FALSE - if(internal) + if(!owner || hidden || internal) return FALSE if(through_clothes) return TRUE switch(zone) //update as more genitals are added - if("chest") + if(BODY_ZONE_CHEST) return owner.is_chest_exposed() - if("groin") + if(BODY_ZONE_PRECISE_GROIN) return owner.is_groin_exposed() return FALSE @@ -107,22 +109,37 @@ picked_organ.toggle_visibility(picked_visibility) return - - - /obj/item/organ/genital/proc/update_size() return /obj/item/organ/genital/proc/update_appearance() return -/obj/item/organ/genital/proc/update_link() - return +/obj/item/organ/genital/on_life() + if(!reagents || !owner) + return + reagents.maximum_volume = fluid_max_volume + if(fluid_id && producing) + generate_fluid() -/obj/item/organ/genital/proc/remove_ref() - if(linked_organ) - linked_organ.linked_organ = null +/obj/item/organ/genital/proc/generate_fluid() + if(owner.stat != DEAD && reagents.total_volume < reagents.maximum_volume) + reagents.isolate_reagent(fluid_id)//remove old reagents if it changed and just clean up generally + reagents.add_reagent(fluid_id, (fluid_mult * fluid_rate))//generate the cum + return TRUE + return FALSE + +/obj/item/organ/genital/proc/update_link(removing = FALSE) + if(!removing && owner) + linked_organ = owner.getorganslot(linked_organ_slot) + if(linked_organ) + linked_organ.linked_organ = src + return TRUE + else + if(linked_organ) + linked_organ.linked_organ = null linked_organ = null + return FALSE /obj/item/organ/genital/Insert(mob/living/carbon/M, special = 0) ..() @@ -130,127 +147,42 @@ /obj/item/organ/genital/Remove(mob/living/carbon/M, special = 0) ..() - update() + update(TRUE) //proc to give a player their genitals and stuff when they log in -/mob/living/carbon/human/proc/give_genitals(clean=0)//clean will remove all pre-existing genitals. proc will then give them any genitals that are enabled in their DNA +/mob/living/carbon/human/proc/give_genitals(clean = FALSE)//clean will remove all pre-existing genitals. proc will then give them any genitals that are enabled in their DNA if(clean) - var/obj/item/organ/genital/GtoClean - for(GtoClean in internal_organs) - qdel(GtoClean) + for(var/obj/item/organ/genital/G in internal_organs) + qdel(G) if (NOGENITALS in dna.species.species_traits) return - //Order should be very important. FIRST vagina, THEN testicles, THEN penis, as this affects the order they are rendered in. if(dna.features["has_vag"]) - give_vagina() + give_genital(/obj/item/organ/genital/vagina) if(dna.features["has_womb"]) - give_womb() + give_genital(/obj/item/organ/genital/womb) if(dna.features["has_balls"]) - give_balls() + give_genital(/obj/item/organ/genital/testicles) if(dna.features["has_breasts"]) // since we have multi-boobs as a thing, we'll want to at least draw over these. but not over the pingas. - give_breasts() + give_genital(/obj/item/organ/genital/breasts) if(dna.features["has_cock"]) - give_penis() + give_genital(/obj/item/organ/genital/penis) + /* if(dna.features["has_ovi"]) - give_ovipositor() + give_genital(/obj/item/organ/genital/ovipositor) if(dna.features["has_eggsack"]) - give_eggsack() + give_genital(/obj/item/organ/genital/eggsack) + */ -/mob/living/carbon/human/proc/give_penis() - if(!dna) +/mob/living/carbon/human/proc/give_genital(obj/item/organ/genital/G) + if(!dna || (NOGENITALS in dna.species.species_traits) || getorganslot(initial(G.slot))) return FALSE - if(NOGENITALS in dna.species.species_traits) - return FALSE - if(!getorganslot("penis")) - var/obj/item/organ/genital/penis/P = new - P.Insert(src) - if(P) - if(dna.species.use_skintones && dna.features["genitals_use_skintone"]) - P.color = "#[skintone2hex(skin_tone)]" - else - P.color = "#[dna.features["cock_color"]]" - P.length = dna.features["cock_length"] - P.girth_ratio = dna.features["cock_girth_ratio"] - P.shape = dna.features["cock_shape"] - P.update() + G = new + if(istype(G, /obj/item/organ/genital)) //badminnery-proofing. + G.get_features(src) + G.Insert(src) -/mob/living/carbon/human/proc/give_balls() - if(!dna) - return FALSE - if(NOGENITALS in dna.species.species_traits) - return FALSE - if(!getorganslot("testicles")) - var/obj/item/organ/genital/testicles/T = new - T.Insert(src) - if(T) - if(dna.species.use_skintones && dna.features["genitals_use_skintone"]) - T.color = "#[skintone2hex(skin_tone)]" - else - T.color = "#[dna.features["balls_color"]]" - T.size = dna.features["balls_size"] - T.sack_size = dna.features["balls_sack_size"] - T.shape = dna.features["balls_shape"] - if(dna.features["balls_shape"] == "Hidden") - T.internal = TRUE - else - T.internal = FALSE - T.fluid_id = dna.features["balls_fluid"] - T.fluid_rate = dna.features["balls_cum_rate"] - T.fluid_mult = dna.features["balls_cum_mult"] - T.fluid_efficiency = dna.features["balls_efficiency"] - T.update() - -/mob/living/carbon/human/proc/give_breasts() - if(!dna) - return FALSE - if(NOGENITALS in dna.species.species_traits) - return FALSE - if(!getorganslot("breasts")) - var/obj/item/organ/genital/breasts/B = new - B.Insert(src) - if(B) - if(dna.species.use_skintones && dna.features["genitals_use_skintone"]) - B.color = "#[skintone2hex(skin_tone)]" - else - B.color = "#[dna.features["breasts_color"]]" - B.size = dna.features["breasts_size"] - B.shape = dna.features["breasts_shape"] - B.fluid_id = dna.features["breasts_fluid"] - B.update() - - -/mob/living/carbon/human/proc/give_ovipositor() +/obj/item/organ/genital/proc/get_features(datum/dna/D) return -/mob/living/carbon/human/proc/give_eggsack() - return - -/mob/living/carbon/human/proc/give_vagina() - if(!dna) - return FALSE - if(NOGENITALS in dna.species.species_traits) - return FALSE - if(!getorganslot("vagina")) - var/obj/item/organ/genital/vagina/V = new - V.Insert(src) - if(V) - if(dna.species.use_skintones && dna.features["genitals_use_skintone"]) - V.color = "#[skintone2hex(skin_tone)]" - else - V.color = "[dna.features["vag_color"]]" - V.shape = "[dna.features["vag_shape"]]" - V.update() - -/mob/living/carbon/human/proc/give_womb() - if(!dna) - return FALSE - if(NOGENITALS in dna.species.species_traits) - return FALSE - if(!getorganslot("womb")) - var/obj/item/organ/genital/womb/W = new - W.Insert(src) - if(W) - W.update() - /datum/species/proc/genitals_layertext(layer) switch(layer) @@ -267,7 +199,7 @@ if(ishuman(user)) var/mob/living/carbon/human/H = user H.update_genitals() - ..() + . = ..() /mob/living/carbon/human/doUnEquip(obj/item/I, force) . = ..() @@ -276,20 +208,16 @@ update_genitals() /mob/living/carbon/human/proc/update_genitals() - if(src && !QDELETED(src)) + if(!QDELETED(src)) dna.species.handle_genitals(src) /datum/species/proc/handle_genitals(mob/living/carbon/human/H) if(!H)//no args CRASH("H = null") - if(!LAZYLEN(H.internal_organs))//if they have no organs, we're done - return - if(NOGENITALS in species_traits)//golems and such - return - if(HAS_TRAIT(H, TRAIT_HUSK)) + if(!LAZYLEN(H.internal_organs) || (NOGENITALS in species_traits) || HAS_TRAIT(H, TRAIT_HUSK)) return - var/list/genitals_to_add = list() + var/list/genitals_to_add[GENITAL_LAYER_INDEX_LENGTH] var/list/relevant_layers = list(GENITALS_BEHIND_LAYER, GENITALS_ADJ_LAYER, GENITALS_FRONT_LAYER) var/list/standing = list() var/size @@ -300,18 +228,16 @@ //start scanning for genitals //var/list/worn_stuff = H.get_equipped_items()//cache this list so it's not built again - for(var/obj/item/organ/O in H.internal_organs) - if(isgenital(O)) - var/obj/item/organ/genital/G = O - if(G.hidden) - return //we're gunna just hijack this for updates. - if(G.is_exposed()) //Checks appropriate clothing slot and if it's through_clothes - genitals_to_add += H.getorganslot(G.slot) + for(var/obj/item/organ/genital/G in H.internal_organs) + if(G.hidden) + return //we're gunna just hijack this for updates. + if(G.is_exposed()) //Checks appropriate clothing slot and if it's through_clothes + LAZYADD(genitals_to_add[G.layer_index], G) //Now we added all genitals that aren't internal and should be rendered //start applying overlays for(var/layer in relevant_layers) - var/layertext = genitals_layertext(layer) + var/layertext = flatten_list(genitals_layertext(layer)) for(var/obj/item/organ/genital/G in genitals_to_add) var/datum/sprite_accessory/S size = G.size @@ -357,3 +283,4 @@ for(var/L in relevant_layers) H.apply_overlay(L) + diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index 1223f0b616..f6d5673a53 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -1,38 +1,20 @@ /obj/item/organ/genital/breasts - name = "breasts" - desc = "Female milk producing organs." - icon_state = "breasts" - icon = 'modular_citadel/icons/obj/genitals/breasts.dmi' - zone = "chest" - slot = "breasts" - size = BREASTS_SIZE_DEF - fluid_id = "milk" - var/amount = 2 - producing = TRUE - shape = "pair" - can_masturbate_with = TRUE - masturbation_verb = "massage" - can_climax = TRUE - fluid_transfer_factor = 0.5 - -/obj/item/organ/genital/breasts/Initialize() - . = ..() - reagents.add_reagent(fluid_id, fluid_max_volume) - -/obj/item/organ/genital/breasts/on_life() - if(QDELETED(src)) - return - if(!reagents || !owner) - return - reagents.maximum_volume = fluid_max_volume - if(fluid_id && producing) - generate_milk() - -/obj/item/organ/genital/breasts/proc/generate_milk() - if(owner.stat == DEAD) - return FALSE - reagents.isolate_reagent(fluid_id) - reagents.add_reagent(fluid_id, (fluid_mult * fluid_rate)) + name = "breasts" + desc = "Female milk producing organs." + icon_state = "breasts" + icon = 'modular_citadel/icons/obj/genitals/breasts.dmi' + zone = BODY_ZONE_CHEST + slot = ORGAN_SLOT_BREASTS + size = BREASTS_SIZE_DEF + fluid_id = "milk" + var/amount = 2 + producing = TRUE + shape = "pair" + can_masturbate_with = TRUE + masturbation_verb = "massage" + orgasm_verb = "leaking" + can_climax = TRUE + fluid_transfer_factor = 0.5 /obj/item/organ/genital/breasts/update_appearance() var/lowershape = lowertext(shape) @@ -65,3 +47,13 @@ var/mob/living/carbon/human/H = owner icon_state = sanitize_text(string) H.update_genitals() + +/obj/item/organ/genital/breasts/get_features(mob/living/carbon/human/H) + var/datum/dna/D = H.dna + if(D.species.use_skintones && D.features["genitals_use_skintone"]) + color = "#[skintone2hex(H.skin_tone)]" + else + color = "#[D.features["breasts_color"]]" + size = D.features["breasts_size"] + shape = D.features["breasts_shape"] + fluid_id = D.features["breasts_fluid"] diff --git a/modular_citadel/code/modules/arousal/organs/eggsack.dm b/modular_citadel/code/modules/arousal/organs/eggsack.dm index 402d246e40..3282bad5f9 100644 --- a/modular_citadel/code/modules/arousal/organs/eggsack.dm +++ b/modular_citadel/code/modules/arousal/organs/eggsack.dm @@ -1,14 +1,14 @@ /obj/item/organ/genital/eggsack - name = "Egg sack" - desc = "An egg producing reproductive organ." - icon_state = "egg_sack" - icon = 'modular_citadel/icons/obj/genitals/ovipositor.dmi' - zone = "groin" - slot = "testicles" - color = null //don't use the /genital color since it already is colored + name = "Egg sack" + desc = "An egg producing reproductive organ." + icon_state = "egg_sack" + icon = 'modular_citadel/icons/obj/genitals/ovipositor.dmi' + zone = BODY_ZONE_PRECISE_GROIN + slot = ORGAN_SLOT_TESTICLES + linked_organ_slot = ORGAN_SLOT_PENIS + color = null //don't use the /genital color since it already is colored internal = TRUE var/egg_girth = EGG_GIRTH_DEF var/cum_mult = CUM_RATE_MULT var/cum_rate = CUM_RATE var/cum_efficiency = CUM_EFFICIENCY - var/obj/item/organ/ovipositor/linked_ovi diff --git a/modular_citadel/code/modules/arousal/organs/genitals_sprite_accessories.dm b/modular_citadel/code/modules/arousal/organs/genitals_sprite_accessories.dm index b913a90fb6..4ba2e373a2 100644 --- a/modular_citadel/code/modules/arousal/organs/genitals_sprite_accessories.dm +++ b/modular_citadel/code/modules/arousal/organs/genitals_sprite_accessories.dm @@ -5,11 +5,9 @@ //DICKS,COCKS,PENISES,WHATEVER YOU WANT TO CALL THEM /datum/sprite_accessory/penis icon = 'modular_citadel/icons/obj/genitals/penis_onmob.dmi' - icon_state = null name = "penis" //the preview name of the accessory - gender_specific = 0 //Might be needed somewhere down the list. color_src = "cock_color" - locked = 0 + alt_aroused = TRUE /datum/sprite_accessory/penis/human icon_state = "human" @@ -62,27 +60,21 @@ icon_state = "testicle" name = "testicle" //the preview name of the accessory color_src = "balls_color" - locked = 0 /datum/sprite_accessory/testicles/hidden - icon_state = "hidden" + icon_state = "none" name = "Hidden" - alt_aroused = TRUE /datum/sprite_accessory/testicles/single icon_state = "single" name = "Single" - alt_aroused = TRUE //Vaginas /datum/sprite_accessory/vagina icon = 'modular_citadel/icons/obj/genitals/vagina_onmob.dmi' icon_state = null name = "vagina" - gender_specific = 0 color_src = "vag_color" - locked = 0 - alt_aroused = FALSE //if this is TRUE, then the genitals will use an alternate sprite for aroused states /datum/sprite_accessory/vagina/human icon_state = "human" @@ -114,35 +106,28 @@ //BREASTS BE HERE /datum/sprite_accessory/breasts icon = 'modular_citadel/icons/obj/genitals/breasts_onmob.dmi' - icon_state = null name = "breasts" - gender_specific = 0 color_src = "breasts_color" - locked = 0 + alt_aroused = TRUE /datum/sprite_accessory/breasts/pair icon_state = "pair" name = "Pair" - alt_aroused = TRUE /datum/sprite_accessory/breasts/quad icon_state = "quad" name = "Quad" - alt_aroused = TRUE /datum/sprite_accessory/breasts/sextuple icon_state = "sextuple" name = "Sextuple" - alt_aroused = TRUE //OVIPOSITORS BE HERE /datum/sprite_accessory/ovipositor icon = 'modular_citadel/icons/obj/genitals/penis_onmob.dmi' icon_state = null name = "Ovipositor" //the preview name of the accessory - gender_specific = 0 //Might be needed somewhere down the list. color_src = "cock_color" - locked = 0 /datum/sprite_accessory/ovipositor/knotted icon_state = "knotted" diff --git a/modular_citadel/code/modules/arousal/organs/ovipositor.dm b/modular_citadel/code/modules/arousal/organs/ovipositor.dm index 76bf60d93c..92b608f905 100644 --- a/modular_citadel/code/modules/arousal/organs/ovipositor.dm +++ b/modular_citadel/code/modules/arousal/organs/ovipositor.dm @@ -3,14 +3,13 @@ desc = "An egg laying reproductive organ." icon_state = "ovi_knotted_2" icon = 'modular_citadel/icons/obj/genitals/ovipositor.dmi' - zone = "groin" - slot = "penis" - w_class = 3 + zone = BODY_ZONE_PRECISE_GROIN + slot = ORGAN_SLOT_PENIS shape = "knotted" size = 3 + layer_index = PENIS_LAYER_INDEX var/length = 6 //inches var/girth = 0 var/girth_ratio = COCK_GIRTH_RATIO_DEF //citadel_defines.dm for these defines var/knot_girth_ratio = KNOT_GIRTH_RATIO_DEF var/list/oviflags = list() - var/obj/item/organ/eggsack/linked_eggsack diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index b6cb8fa4b2..2593460a32 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -1,22 +1,23 @@ /obj/item/organ/genital/penis - name = "penis" - desc = "A male reproductive organ." - icon_state = "penis" - icon = 'modular_citadel/icons/obj/genitals/penis.dmi' - zone = "groin" - slot = ORGAN_SLOT_PENIS - can_masturbate_with = TRUE - masturbation_verb = "stroke" - can_climax = TRUE - fluid_transfer_factor = 0.5 - size = 2 //arbitrary value derived from length and girth for sprites. - var/length = 6 //inches - var/cached_length //used to detect a change in length - var/girth = 0 - var/girth_ratio = COCK_GIRTH_RATIO_DEF //0.73; check citadel_defines.dm - var/knot_girth_ratio = KNOT_GIRTH_RATIO_DEF - var/list/dickflags = list() - var/list/knotted_types = list("knotted", "barbed, knotted") + name = "penis" + desc = "A male reproductive organ." + icon_state = "penis" + icon = 'modular_citadel/icons/obj/genitals/penis.dmi' + zone = BODY_ZONE_PRECISE_GROIN + slot = ORGAN_SLOT_PENIS + can_masturbate_with = TRUE + masturbation_verb = "stroke" + can_climax = TRUE + fluid_transfer_factor = 0.5 + size = 2 //arbitrary value derived from length and girth for sprites. + layer_index = PENIS_LAYER_INDEX + var/length = 6 //inches + var/cached_length //used to detect a change in length + var/girth = 0 + var/girth_ratio = COCK_GIRTH_RATIO_DEF //0.73; check citadel_defines.dm + var/knot_girth_ratio = KNOT_GIRTH_RATIO_DEF + var/list/dickflags = list() + var/list/knotted_types = list("knotted", "barbed, knotted") /obj/item/organ/genital/penis/update_size() if(length == cached_length) @@ -38,7 +39,7 @@ /obj/item/organ/genital/penis/update_appearance() var/string var/lowershape = lowertext(shape) - desc = "You see [aroused_state ? "an erect" : "a flaccid"] [lowershape] penis. You estimate it's about [round(length, 0.25)] inch[round(length, 0.25) != 1 ? "es" : ""] long and [round(girth, 0.25)] inch[round(girth, 0.25) != 1 ? "es" : ""] in girth." + desc = "You see [aroused_state ? "an erect" : "a flaccid"] [lowershape] [name]. You estimate it's about [round(length, 0.25)] inch[round(length, 0.25) != 1 ? "es" : ""] long and [round(girth, 0.25)] inch[round(girth, 0.25) != 1 ? "es" : ""] in girth." if(owner) if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"]) @@ -54,13 +55,12 @@ icon_state = sanitize_text(string) H.update_genitals() -/obj/item/organ/genital/penis/update_link() - if(owner) - linked_organ = (owner.getorganslot("testicles")) - if(linked_organ) - linked_organ.linked_organ = src - linked_organ.size = size +/obj/item/organ/genital/penis/get_features(mob/living/carbon/human/H) + var/datum/dna/D = H.dna + if(D.species.use_skintones && D.features["genitals_use_skintone"]) + color = "#[skintone2hex(H.skin_tone)]" else - if(linked_organ) - linked_organ.linked_organ = null - linked_organ = null + color = "#[D.features["cock_color"]]" + length = D.features["cock_length"] + girth_ratio = D.features["cock_girth_ratio"] + shape = D.features["cock_shape"] diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm index 1e6b4d62d4..de7b6d6f70 100644 --- a/modular_citadel/code/modules/arousal/organs/testicles.dm +++ b/modular_citadel/code/modules/arousal/organs/testicles.dm @@ -1,56 +1,34 @@ /obj/item/organ/genital/testicles - name = "testicles" - desc = "A male reproductive organ." - icon_state = "testicles" - icon = 'modular_citadel/icons/obj/genitals/testicles.dmi' - zone = "groin" - slot = "testicles" - size = BALLS_SIZE_MIN - var/size_name = "average" - shape = "single" - var/sack_size = BALLS_SACK_SIZE_DEF - fluid_id = "semen" - producing = TRUE - can_masturbate_with = FALSE - masturbation_verb = "massage" - can_climax = TRUE - var/sent_full_message = TRUE //defaults to 1 since they're full to start + name = "testicles" + desc = "A male reproductive organ." + icon_state = "testicles" + icon = 'modular_citadel/icons/obj/genitals/testicles.dmi' + zone = BODY_ZONE_PRECISE_GROIN + slot = ORGAN_SLOT_TESTICLES + size = BALLS_SIZE_MIN + linked_organ_slot = ORGAN_SLOT_PENIS + var/size_name = "average" + shape = "single" + var/sack_size = BALLS_SACK_SIZE_DEF + fluid_id = "semen" + producing = TRUE + can_masturbate_with = MASTURBATE_LINKED_ORGAN + masturbation_verb = "massage" + layer_index = TESTICLES_LAYER_INDEX + var/size_linked = FALSE -/obj/item/organ/genital/testicles/Initialize() +/obj/item/organ/genital/testicles/generate_fluid() + if(!linked_organ && !update_link()) + return FALSE . = ..() - reagents.add_reagent(fluid_id, fluid_max_volume) + if(.) + send_full_message() -/obj/item/organ/genital/testicles/on_life() - if(QDELETED(src)) - return - if(reagents && producing) - generate_cum() - -/obj/item/organ/genital/testicles/proc/generate_cum() - reagents.maximum_volume = fluid_max_volume - if(reagents.total_volume >= reagents.maximum_volume) - if(!sent_full_message) - send_full_message() - sent_full_message = TRUE - return FALSE - sent_full_message = FALSE - update_link() - if(!linked_organ) - return FALSE - reagents.isolate_reagent(fluid_id)//remove old reagents if it changed and just clean up generally - reagents.add_reagent(fluid_id, (fluid_mult * fluid_rate))//generate the cum - -/obj/item/organ/genital/testicles/update_link() - if(owner && !QDELETED(src)) - linked_organ = (owner.getorganslot("penis")) - if(linked_organ) - linked_organ.linked_organ = src - size = linked_organ.size - - else - if(linked_organ) - linked_organ.linked_organ = null - linked_organ = null +/obj/item/organ/genital/testicles/update_link(removing = FALSE) + . = ..() + if(. && !size_linked) + size = linked_organ.size + size_linked = TRUE /obj/item/organ/genital/testicles/proc/send_full_message(msg = "Your balls finally feel full, again.") if(owner && istext(msg)) @@ -59,19 +37,16 @@ /obj/item/organ/genital/testicles/update_appearance() switch(size) - if(0.1 to 1) + if(BALLS_SIZE_MIN) size_name = "average" - if(1.1 to 2) + if(BALLS_SIZE_DEF) size_name = "enlarged" - if(2.1 to INFINITY) + if(BALLS_SIZE_MAX) size_name = "engorged" else size_name = "nonexistant" - if(!internal) - desc = "You see an [size_name] pair of testicles." - else - desc = "They don't have any testicles you can see." + desc = "You see an [size_name] pair of testicles." if(owner) var/string @@ -87,3 +62,21 @@ var/mob/living/carbon/human/H = owner icon_state = sanitize_text(string) H.update_genitals() + +/obj/item/organ/genital/testicles/get_features(mob/living/carbon/human/H) + var/datum/dna/D = H.dna + if(D.species.use_skintones && D.features["genitals_use_skintone"]) + color = "#[skintone2hex(H.skin_tone)]" + else + color = "#[D.features["balls_color"]]" + size = D.features["balls_size"] + sack_size = D.features["balls_sack_size"] + shape = D.features["balls_shape"] + if(D.features["balls_shape"] == "Hidden") + internal = TRUE + else + internal = FALSE + fluid_id = D.features["balls_fluid"] + fluid_rate = D.features["balls_cum_rate"] + fluid_mult = D.features["balls_cum_mult"] + fluid_efficiency = D.features["balls_efficiency"] diff --git a/modular_citadel/code/modules/arousal/organs/vagina.dm b/modular_citadel/code/modules/arousal/organs/vagina.dm index 8c15aa5437..af2beb5f79 100644 --- a/modular_citadel/code/modules/arousal/organs/vagina.dm +++ b/modular_citadel/code/modules/arousal/organs/vagina.dm @@ -1,25 +1,24 @@ /obj/item/organ/genital/vagina - name = "vagina" - desc = "A female reproductive organ." - icon = 'modular_citadel/icons/obj/genitals/vagina.dmi' - icon_state = "vagina" - zone = "groin" - slot = "vagina" - size = 1 //There is only 1 size right now - can_masturbate_with = TRUE - masturbation_verb = "finger" - can_climax = TRUE + name = "vagina" + desc = "A female reproductive organ." + icon = 'modular_citadel/icons/obj/genitals/vagina.dmi' + icon_state = ORGAN_SLOT_VAGINA + zone = BODY_ZONE_PRECISE_GROIN + slot = "vagina" + size = 1 //There is only 1 size right now + can_masturbate_with = TRUE + masturbation_verb = "finger" + can_climax = TRUE fluid_transfer_factor = 0.1 //Yes, some amount is exposed to you, go get your AIDS - w_class = 3 - var/cap_length = 8//D E P T H (cap = capacity) - var/cap_girth = 12 + layer_index = VAGINA_LAYER_INDEX + var/cap_length = 8//D E P T H (cap = capacity) + var/cap_girth = 12 var/cap_girth_ratio = 1.5 - var/clits = 1 - var/clit_diam = 0.25 - var/clit_len = 0.25 + var/clits = 1 + var/clit_diam = 0.25 + var/clit_len = 0.25 var/list/vag_types = list("tentacle", "dentata", "hairy", "spade", "furred") - /obj/item/organ/genital/vagina/update_appearance() var/string //Keeping this code here, so making multiple sprites for the different kinds is easier. var/lowershape = lowertext(shape) @@ -63,12 +62,10 @@ icon_state = sanitize_text(string) H.update_genitals() -/obj/item/organ/genital/vagina/update_link() - if(owner) - linked_organ = (owner.getorganslot("womb")) - if(linked_organ) - linked_organ.linked_organ = src +/obj/item/organ/genital/vagina/get_features(mob/living/carbon/human/H) + var/datum/dna/D = H.dna + if(D.species.use_skintones && D.features["genitals_use_skintone"]) + color = "#[skintone2hex(H.skin_tone)]" else - if(linked_organ) - linked_organ.linked_organ = null - linked_organ = null + color = "[D.features["vag_color"]]" + shape = "[D.features["vag_shape"]]" diff --git a/modular_citadel/code/modules/arousal/organs/womb.dm b/modular_citadel/code/modules/arousal/organs/womb.dm index 686d9059a0..d99206d0f1 100644 --- a/modular_citadel/code/modules/arousal/organs/womb.dm +++ b/modular_citadel/code/modules/arousal/organs/womb.dm @@ -1,41 +1,11 @@ /obj/item/organ/genital/womb - name = "womb" - desc = "A female reproductive organ." - icon = 'modular_citadel/icons/obj/genitals/vagina.dmi' - icon_state = "womb" - zone = "groin" - slot = "womb" - internal = TRUE - fluid_id = "femcum" - producing = TRUE - -/obj/item/organ/genital/womb/Initialize() - . = ..() - reagents.add_reagent(fluid_id, fluid_max_volume) - -/obj/item/organ/genital/womb/on_life() - if(QDELETED(src)) - return - if(reagents && producing) - generate_femcum() - -/obj/item/organ/genital/womb/proc/generate_femcum() - reagents.maximum_volume = fluid_max_volume - update_link() - if(!linked_organ) - return FALSE - reagents.isolate_reagent(fluid_id)//remove old reagents if it changed and just clean up generally - reagents.add_reagent(fluid_id, (fluid_mult * fluid_rate))//generate the cum - -/obj/item/organ/genital/womb/update_link() - if(owner) - linked_organ = (owner.getorganslot("vagina")) - if(linked_organ) - linked_organ.linked_organ = src - else - if(linked_organ) - linked_organ.linked_organ = null - linked_organ = null - -/obj/item/organ/genital/womb/Destroy() - return ..() + name = "womb" + desc = "A female reproductive organ." + icon = 'modular_citadel/icons/obj/genitals/vagina.dmi' + icon_state = "womb" + zone = BODY_ZONE_PRECISE_GROIN + slot = ORGAN_SLOT_WOMB + internal = TRUE + fluid_id = "femcum" + producing = TRUE + linked_organ_slot = ORGAN_SLOT_VAGINA \ No newline at end of file diff --git a/modular_citadel/code/modules/client/preferences_savefile.dm b/modular_citadel/code/modules/client/preferences_savefile.dm index 2921f70684..be9e92d4c3 100644 --- a/modular_citadel/code/modules/client/preferences_savefile.dm +++ b/modular_citadel/code/modules/client/preferences_savefile.dm @@ -32,7 +32,6 @@ WRITE_FILE(S["feature_ipc_antenna"], features["ipc_antenna"]) //Citadel WRITE_FILE(S["feature_genitals_use_skintone"], features["genitals_use_skintone"]) - WRITE_FILE(S["feature_exhibitionist"], features["exhibitionist"]) WRITE_FILE(S["feature_mcolor2"], features["mcolor2"]) WRITE_FILE(S["feature_mcolor3"], features["mcolor3"]) WRITE_FILE(S["feature_mam_body_markings"], features["mam_body_markings"]) diff --git a/modular_citadel/code/modules/mob/living/carbon/human/life.dm b/modular_citadel/code/modules/mob/living/carbon/human/life.dm index e728d70c97..fbaa1b4b58 100644 --- a/modular_citadel/code/modules/mob/living/carbon/human/life.dm +++ b/modular_citadel/code/modules/mob/living/carbon/human/life.dm @@ -1,7 +1,7 @@ -/mob/living/carbon/human/Life() +/mob/living/carbon/human/Life(seconds, times_fired) //citadel code if(stat != DEAD) - handle_arousal() + handle_arousal(times_fired) . = ..() /mob/living/carbon/human/calculate_affecting_pressure(pressure) diff --git a/modular_citadel/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/modular_citadel/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index fa6ded8065..0e6c12053a 100644 --- a/modular_citadel/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/modular_citadel/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -78,42 +78,30 @@ else H.facial_hair_style = "Shaved" //handle normal hair - var/new_style = input(owner, "Select a hair style", "Hair Alterations") as null|anything in GLOB.hair_styles_list + var/new_style = input(owner, "Select a hair style", "Hair Alterations") as null|anything in GLOB.hair_styles_list if(new_style) H.hair_style = new_style H.update_hair() else if (select_alteration == "Genitals") - var/list/organs = list() var/operation = input("Select organ operation.", "Organ Manipulation", "cancel") in list("add sexual organ", "remove sexual organ", "cancel") switch(operation) if("add sexual organ") - var/new_organ = input("Select sexual organ:", "Organ Manipulation") in list("Penis", "Testicles", "Breasts", "Vagina", "Womb", "Cancel") - if(new_organ == "Penis") - H.give_penis() - else if(new_organ == "Testicles") - H.give_balls() - else if(new_organ == "Breasts") - H.give_breasts() - else if(new_organ == "Vagina") - H.give_vagina() - else if(new_organ == "Womb") - H.give_womb() - else + var/new_organ = input("Select sexual organ:", "Organ Manipulation") as null|anything in GLOB.genitals_list + if(!new_organ) return + H.give_genital(GLOB.genitals_list[new_organ]) + if("remove sexual organ") + var/list/organs = list() for(var/obj/item/organ/genital/X in H.internal_organs) var/obj/item/organ/I = X organs["[I.name] ([I.type])"] = I - var/obj/item/organ = input("Select sexual organ:", "Organ Manipulation", null) in organs - organ = organs[organ] - if(!organ) + var/obj/item/O = input("Select sexual organ:", "Organ Manipulation", null) as null|anything in organs + var/obj/item/organ/genital/G = organs[O] + if(!G) return - var/obj/item/organ/genital/O - if(isorgan(organ)) - O = organ - O.Remove(H) - organ.forceMove(get_turf(H)) - qdel(organ) + G.forceMove(get_turf(H)) + qdel(G) H.update_genitals() else if (select_alteration == "Ears") @@ -203,8 +191,8 @@ if(new_shape) H.dna.features["cock_shape"] = new_shape H.update_genitals() - H.give_balls() - H.give_penis() + H.give_genital(/obj/item/organ/genital/testicles) + H.give_genital(/obj/item/organ/genital/penis) H.apply_overlay() @@ -216,8 +204,8 @@ if(new_shape) H.dna.features["vag_shape"] = new_shape H.update_genitals() - H.give_womb() - H.give_vagina() + H.give_genital(/obj/item/organ/genital/womb) + H.give_genital(/obj/item/organ/genital/vagina) H.apply_overlay() else if (select_alteration == "Penis Length") @@ -229,8 +217,8 @@ H.dna.features["cock_length"] = max(min( round(text2num(new_length)), COCK_SIZE_MAX),COCK_SIZE_MIN) H.update_genitals() H.apply_overlay() - H.give_balls() - H.give_penis() + H.give_genital(/obj/item/organ/genital/testicles) + H.give_genital(/obj/item/organ/genital/penis) else if (select_alteration == "Breast Size") for(var/obj/item/organ/genital/breasts/X in H.internal_organs) @@ -241,7 +229,7 @@ H.dna.features["breasts_size"] = new_size H.update_genitals() H.apply_overlay() - H.give_breasts() + H.give_genital(/obj/item/organ/genital/breasts) else if (select_alteration == "Breast Shape") for(var/obj/item/organ/genital/breasts/X in H.internal_organs) @@ -252,7 +240,7 @@ H.dna.features["breasts_shape"] = new_shape H.update_genitals() H.apply_overlay() - H.give_breasts() + H.give_genital(/obj/item/organ/genital/breasts) else return diff --git a/modular_citadel/icons/obj/genitals/testicles_onmob.dmi b/modular_citadel/icons/obj/genitals/testicles_onmob.dmi index 33659cf13cb42239e1fc3a2e8ccf3c02ff42ea26..7d4d2610c5337d0877fd9d741c38998893444576 100644 GIT binary patch delta 554 zcmV+_0@eNZ1+oNFiBL{Q4GJ0x0000DNk~Le0002s0002s1Oos70O$jE(f|Me6;Mo6 zMZmzo)YR1W-sjr1vg+B~<;Kgvz`!ul@9_Wt00DGTPE!Ct=GbNc0069!P!xZXK@Ng2 z5JlJRDH>R7D0S;X(nf0{S7?ZgbP~jbY4rMn96%j*|1aLWWNscbK#O z0#@$iYx_T2a;4=8so_e^3aNkI5PRSW)%=P1;ss^T%om#<#JO^{{k;Ag^Y-h|ENe+x z0003KNklWH z0{{ScN7EDnhj1SI-)!9Z91`bg`8@W&Qv3Ol7Ooo@9n-wF?mhqjfL~KOPl3|@=eOt( z>Rs-CrOOx!W*g?^{#Q;qT`!@(rFs|pU#UH=dqDsIfK9~y_m>fcVL2W9Usev-kIU)Y s|Dvz*52)AWbcOymyHKorp9v561}X^=h=s}*u>b%707*qoM6N<$f}&*w)Bpeg literal 759 zcmeAS@N?(olHy`uVBq!ia0y~yU~B+k7G|JG*vl0?KuRdUC&cx@fdf~rT={nI`K>LR zUfsO&^w{Z}CW78TS;mqezhDN3XE)M-oG(=&5hX6E#mPmP1tppJc?=8{bCynXw_}%}Keknxc>Bd#9`$GO? z9)BR;e53oW+2c1)Z@*a9J86#PYin`)*#fgOmZu8kcKo|_JE2K_*S%SHQl2e1&zZhf z{%{Rn`u2@GZ&%L!&r&RM#wT#zs;Fewz_3NjgiNQh1bZ5Uu2|{hD|#?Q(C4#n!)NP- z8BO9-%F->wcWgY;tNQa?i^=0-T;^da$*q#s_qUZDPEaktG3V{ggSm$s1Xu&4 zgB$KLE@E<-WX-PC@UPl)$(%h6ZCCpa3cY`tlKC$s{Lz=~uYtkFkYUh!(81pBpVx`- z`OB>~eB%ZQGJI$}wqdT`v&o;$wO+rio3%>p+tG?_yIK5e-!p9u`!37`QuD(l@#d`A z?@xc)78+Cj{MmBNSD&?Szx*1z;9Kp3tM&^&-sP9+{(OKDr1Z(@ch950hd$r@`)5Ub zk=^e3^*>oR0onIA{jAo0KL1xGNKu36jrUEBXWxAcciQ*MX6a)^s{=U+8sE1+TYVms zBp4X(z7*lf>HhiTPw%O^x@tRi;paE^-w}Jf_Gk3ezkfdb6_ri+XBQx|!1Vq*f!GQS zpyR>1O8mck-TCwE{rFWo)}KEc|LtP4OX0zUU!D8x%Z=nDH diff --git a/tgstation.dme b/tgstation.dme index 722ebae9be..7c9fa1e899 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2844,7 +2844,6 @@ #include "modular_citadel\code\datums\mood_events\moodular.dm" #include "modular_citadel\code\datums\mutations\hulk.dm" #include "modular_citadel\code\datums\status_effects\debuffs.dm" -#include "modular_citadel\code\datums\traits\neutral.dm" #include "modular_citadel\code\datums\wires\airlock.dm" #include "modular_citadel\code\datums\wires\autoylathe.dm" #include "modular_citadel\code\game\area\cit_areas.dm" @@ -2912,9 +2911,9 @@ #include "modular_citadel\code\modules\admin\secrets.dm" #include "modular_citadel\code\modules\admin\topic.dm" #include "modular_citadel\code\modules\arousal\arousal.dm" +#include "modular_citadel\code\modules\arousal\organs\_genitals.dm" #include "modular_citadel\code\modules\arousal\organs\breasts.dm" #include "modular_citadel\code\modules\arousal\organs\eggsack.dm" -#include "modular_citadel\code\modules\arousal\organs\genitals.dm" #include "modular_citadel\code\modules\arousal\organs\genitals_sprite_accessories.dm" #include "modular_citadel\code\modules\arousal\organs\ovipositor.dm" #include "modular_citadel\code\modules\arousal\organs\penis.dm" From fd2f2ae1af2b6192cf705a7aa21760401ab9ea4d Mon Sep 17 00:00:00 2001 From: Ghommie Date: Tue, 23 Jul 2019 07:21:03 +0200 Subject: [PATCH 002/136] update, bitflags. --- code/__DEFINES/citadel_defines.dm | 4 +- code/__HELPERS/global_lists.dm | 3 +- .../code/modules/arousal/arousal.dm | 4 +- .../code/modules/arousal/organs/_genitals.dm | 42 +++++++++---------- .../code/modules/arousal/organs/eggsack.dm | 1 + .../code/modules/arousal/organs/ovipositor.dm | 1 + .../code/modules/arousal/organs/testicles.dm | 3 +- 7 files changed, 32 insertions(+), 26 deletions(-) diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 8b75784ab2..b366a792e5 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -25,7 +25,9 @@ #define GENITAL_LAYER_INDEX_LENGTH 4 //keep it updated with each new index added, thanks. -#define MASTURBATE_LINKED_ORGAN 2 //special value used to pass our mission to the linked organ +//genital flags +#define GENITAL_BLACKLISTED (1 << 0) //for genitals that shouldn't be added to GLOB.genitals_list. +#define MASTURBATE_LINKED_ORGAN (1<<1) //used to pass our mission to the linked organ #define COCK_SIZE_MIN 1 #define COCK_SIZE_MAX 20 diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index b0b0f32345..96f2d404f8 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -64,7 +64,8 @@ for(var/gpath in subtypesof(/obj/item/organ/genital)) var/obj/item/organ/genital/G = gpath - GLOB.genitals_list[initial(G.name)] = gpath + if(!CHECK_BITFIELD(initial(G.genital_flags), GENITAL_BLACKLISTED)) + GLOB.genitals_list[initial(G.name)] = gpath //END OF CIT CHANGES //Species diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 8826cb0774..924c507e7d 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -209,7 +209,7 @@ var/datum/reagents/fluid_source = G.climaxable(src) if(!fluid_source) return - var/obj/item/organ/genital/PP = G.can_masturbate_with == MASTURBATE_LINKED_ORGAN ? G.linked_organ : G + var/obj/item/organ/genital/PP = CHECK_BITFIELD(G.genital_flags, MASTURBATE_LINKED_ORGAN) ? G.linked_organ : G if(!PP) to_chat(src, "You shudder, unable to cum with your [name].") if(mb_time) @@ -274,7 +274,7 @@ for(var/obj/item/organ/genital/G in internal_organs) if(G.can_masturbate_with && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with - if(G.can_masturbate_with == MASTURBATE_LINKED_ORGAN && !G.linked_organ) + if(CHECK_BITFIELD(G.genital_flags, MASTURBATE_LINKED_ORGAN) && !G.linked_organ) continue genitals_list += G if(genitals_list.len) diff --git a/modular_citadel/code/modules/arousal/organs/_genitals.dm b/modular_citadel/code/modules/arousal/organs/_genitals.dm index 2222624050..c4c3eaa9f1 100644 --- a/modular_citadel/code/modules/arousal/organs/_genitals.dm +++ b/modular_citadel/code/modules/arousal/organs/_genitals.dm @@ -1,28 +1,28 @@ /obj/item/organ/genital color = "#fcccb3" - w_class = WEIGHT_CLASS_NORMAL - var/shape = "human" - var/sensitivity = AROUSAL_START_VALUE - var/list/genital_flags = list() - var/can_masturbate_with = FALSE - var/masturbation_verb = "masturbate" - var/orgasm_verb = "cumming" //present continous - var/can_climax = FALSE - var/fluid_transfer_factor = 0 //How much would a partner get in them if they climax using this? - var/size = 2 //can vary between num or text, just used in icon_state strings - var/fluid_id = null - var/fluid_max_volume = 50 - var/fluid_efficiency = 1 - var/fluid_rate = 1 - var/fluid_mult = 1 - var/producing = FALSE - var/aroused_state = FALSE //Boolean used in icon_state strings - var/aroused_amount = 50 //This is a num from 0 to 100 for arousal percentage for when to use arousal state icons. + w_class = WEIGHT_CLASS_NORMAL + var/shape = "human" + var/sensitivity = AROUSAL_START_VALUE + var/genital_flags + var/can_masturbate_with = FALSE + var/masturbation_verb = "masturbate" + var/orgasm_verb = "cumming" //present continous + var/can_climax = FALSE + var/fluid_transfer_factor = 0 //How much would a partner get in them if they climax using this? + var/size = 2 //can vary between num or text, just used in icon_state strings + var/fluid_id = null + var/fluid_max_volume = 50 + var/fluid_efficiency = 1 + var/fluid_rate = 1 + var/fluid_mult = 1 + var/producing = FALSE + var/aroused_state = FALSE //Boolean used in icon_state strings + var/aroused_amount = 50 //This is a num from 0 to 100 for arousal percentage for when to use arousal state icons. var/obj/item/organ/genital/linked_organ var/linked_organ_slot //only one of the two organs needs this to be set up. update_link() will handle linking the rest. - var/through_clothes = FALSE - var/internal = FALSE - var/hidden = FALSE + var/through_clothes = FALSE + var/internal = FALSE + var/hidden = FALSE var/layer_index = GENITAL_LAYER_INDEX //Order should be very important. FIRST vagina, THEN testicles, THEN penis, as this affects the order they are rendered in. /obj/item/organ/genital/Initialize() diff --git a/modular_citadel/code/modules/arousal/organs/eggsack.dm b/modular_citadel/code/modules/arousal/organs/eggsack.dm index 3282bad5f9..624b2c24cd 100644 --- a/modular_citadel/code/modules/arousal/organs/eggsack.dm +++ b/modular_citadel/code/modules/arousal/organs/eggsack.dm @@ -5,6 +5,7 @@ icon = 'modular_citadel/icons/obj/genitals/ovipositor.dmi' zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_TESTICLES + genital_flags = GENITAL_BLACKLISTED //unimplemented linked_organ_slot = ORGAN_SLOT_PENIS color = null //don't use the /genital color since it already is colored internal = TRUE diff --git a/modular_citadel/code/modules/arousal/organs/ovipositor.dm b/modular_citadel/code/modules/arousal/organs/ovipositor.dm index 92b608f905..c26424d296 100644 --- a/modular_citadel/code/modules/arousal/organs/ovipositor.dm +++ b/modular_citadel/code/modules/arousal/organs/ovipositor.dm @@ -5,6 +5,7 @@ icon = 'modular_citadel/icons/obj/genitals/ovipositor.dmi' zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_PENIS + genital_flags = GENITAL_BLACKLISTED //unimplemented shape = "knotted" size = 3 layer_index = PENIS_LAYER_INDEX diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm index de7b6d6f70..c67d6a49a4 100644 --- a/modular_citadel/code/modules/arousal/organs/testicles.dm +++ b/modular_citadel/code/modules/arousal/organs/testicles.dm @@ -7,12 +7,13 @@ slot = ORGAN_SLOT_TESTICLES size = BALLS_SIZE_MIN linked_organ_slot = ORGAN_SLOT_PENIS + genital_flags = MASTURBATE_LINKED_ORGAN var/size_name = "average" shape = "single" var/sack_size = BALLS_SACK_SIZE_DEF fluid_id = "semen" producing = TRUE - can_masturbate_with = MASTURBATE_LINKED_ORGAN + can_masturbate_with = TRUE masturbation_verb = "massage" layer_index = TESTICLES_LAYER_INDEX var/size_linked = FALSE From 376f6e8b4adfe74516942577a3b86de12501cb02 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Tue, 23 Jul 2019 23:54:11 +0200 Subject: [PATCH 003/136] arousal states won't persist after death anymore. --- code/modules/surgery/organs/organ_internal.dm | 4 +++- .../code/modules/arousal/organs/_genitals.dm | 14 ++++++++++---- .../code/modules/arousal/organs/breasts.dm | 1 + .../code/modules/arousal/organs/penis.dm | 16 ++++++++-------- .../code/modules/arousal/organs/testicles.dm | 7 +++++-- .../code/modules/arousal/organs/vagina.dm | 1 + .../icons/obj/genitals/testicles_onmob.dmi | Bin 562 -> 561 bytes 7 files changed, 28 insertions(+), 15 deletions(-) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index b16967b6b0..a17b983689 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -16,7 +16,7 @@ /obj/item/organ/proc/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) if(!iscarbon(M) || owner == M) - return + return FALSE var/obj/item/organ/replaced = M.getorganslot(slot) if(replaced) @@ -33,6 +33,7 @@ for(var/X in actions) var/datum/action/A = X A.Grant(M) + return TRUE //Special is for instant replacement like autosurgeons /obj/item/organ/proc/Remove(mob/living/carbon/M, special = 0) @@ -46,6 +47,7 @@ for(var/X in actions) var/datum/action/A = X A.Remove(M) + return TRUE /obj/item/organ/proc/on_find(mob/living/finder) diff --git a/modular_citadel/code/modules/arousal/organs/_genitals.dm b/modular_citadel/code/modules/arousal/organs/_genitals.dm index c4c3eaa9f1..292cc5f4ee 100644 --- a/modular_citadel/code/modules/arousal/organs/_genitals.dm +++ b/modular_citadel/code/modules/arousal/organs/_genitals.dm @@ -113,6 +113,8 @@ return /obj/item/organ/genital/proc/update_appearance() + if(!owner || owner.stat == DEAD) + aroused_state = FALSE return /obj/item/organ/genital/on_life() @@ -142,12 +144,16 @@ return FALSE /obj/item/organ/genital/Insert(mob/living/carbon/M, special = 0) - ..() - update() + . = ..() + if(.) + update() + RegisterSignal(owner, COMSIG_MOB_DEATH, .proc/update_appearance) /obj/item/organ/genital/Remove(mob/living/carbon/M, special = 0) - ..() - update(TRUE) + . = ..() + if(.) + update(TRUE) + UnregisterSignal(M, COMSIG_MOB_DEATH) //proc to give a player their genitals and stuff when they log in /mob/living/carbon/human/proc/give_genitals(clean = FALSE)//clean will remove all pre-existing genitals. proc will then give them any genitals that are enabled in their DNA diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index f6d5673a53..3fec45006b 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -17,6 +17,7 @@ fluid_transfer_factor = 0.5 /obj/item/organ/genital/breasts/update_appearance() + . = ..() var/lowershape = lowertext(shape) switch(lowershape) if("pair") diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index 2593460a32..5ab9868895 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -16,27 +16,27 @@ var/girth = 0 var/girth_ratio = COCK_GIRTH_RATIO_DEF //0.73; check citadel_defines.dm var/knot_girth_ratio = KNOT_GIRTH_RATIO_DEF - var/list/dickflags = list() var/list/knotted_types = list("knotted", "barbed, knotted") /obj/item/organ/genital/penis/update_size() if(length == cached_length) return + var/new_size switch(length) if(-INFINITY to 5) - size = 1 + new_size = 1 if(5 to 9) - size = 2 + new_size = 2 if(15 to INFINITY) - size = 3//no new sprites for anything larger yet -/* if(9 to 15) - size = 3 - if(15 to INFINITY) - size = 3*/ + new_size = 3 //no new sprites for anything larger yet. girth = (length * girth_ratio) cached_length = length + if(linked_organ) + linked_organ.update_size(new_size - size) + size = new_size /obj/item/organ/genital/penis/update_appearance() + . = ..() var/string var/lowershape = lowertext(shape) desc = "You see [aroused_state ? "an erect" : "a flaccid"] [lowershape] [name]. You estimate it's about [round(length, 0.25)] inch[round(length, 0.25) != 1 ? "es" : ""] long and [round(girth, 0.25)] inch[round(girth, 0.25) != 1 ? "es" : ""] in girth." diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm index c67d6a49a4..2e1b330095 100644 --- a/modular_citadel/code/modules/arousal/organs/testicles.dm +++ b/modular_citadel/code/modules/arousal/organs/testicles.dm @@ -36,7 +36,9 @@ to_chat(owner, msg) return TRUE -/obj/item/organ/genital/testicles/update_appearance() +/obj/item/organ/genital/testicles/update_size(new_size) + if(new_size) + size = CLAMP(size + new_size, BALLS_SIZE_MIN, BALLS_SIZE_MAX) switch(size) if(BALLS_SIZE_MIN) size_name = "average" @@ -47,8 +49,9 @@ else size_name = "nonexistant" +/obj/item/organ/genital/testicles/update_appearance() + . = ..() desc = "You see an [size_name] pair of testicles." - if(owner) var/string if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"]) diff --git a/modular_citadel/code/modules/arousal/organs/vagina.dm b/modular_citadel/code/modules/arousal/organs/vagina.dm index af2beb5f79..1b4b088015 100644 --- a/modular_citadel/code/modules/arousal/organs/vagina.dm +++ b/modular_citadel/code/modules/arousal/organs/vagina.dm @@ -20,6 +20,7 @@ var/list/vag_types = list("tentacle", "dentata", "hairy", "spade", "furred") /obj/item/organ/genital/vagina/update_appearance() + . = ..() var/string //Keeping this code here, so making multiple sprites for the different kinds is easier. var/lowershape = lowertext(shape) var/details diff --git a/modular_citadel/icons/obj/genitals/testicles_onmob.dmi b/modular_citadel/icons/obj/genitals/testicles_onmob.dmi index 7d4d2610c5337d0877fd9d741c38998893444576..65eb24268f99929355d5d90054cf8d6a1c2b3a97 100644 GIT binary patch delta 193 zcmV;y06zb+1hE8=Qh%#@R9JLGWpiV4X>fFDZ*Bkpc$}ruK@P$o5CzaRoPxA#O#!zq zY#@q>T!A!pEF`ri4AJY`)&r=po4@$;lF8Jp)kkBQx)}O|h~Y7@J=<*?N?xH)ehyMl z;voz^eFCN~!8}$8Foo*~=rByf2#&kP9n`s^qz@67J(S#HcQuD)=3k1fJ{hb2?}}Vh v6reH}l?5o@VD^F6YW9iqVNnFjd|3Vf*GyZrzWy8X+Uw7#l4CKm2LUSq=#E*> delta 194 zcmV;z06qV)1hNE>Qh%&^R9JLGWpiV4X>fFDZ*Bkpc$}q@K@Ng25JlJRDH>R7D0S;X z(nf0{S7?ZgbP~jbY4rMn96%j*|1aLWWNscQ%-_{sLC+Hq)$ From 6000f96dbc4de60f1088f06a3e7586aff7d307ca Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 24 Jul 2019 02:00:30 +0200 Subject: [PATCH 004/136] deleted some boolean variables in favor of bitflags. --- code/__DEFINES/citadel_defines.dm | 8 ++++- code/_globalvars/bitfields.dm | 10 ++++++ .../code/modules/arousal/arousal.dm | 12 +++---- .../code/modules/arousal/organs/_genitals.dm | 32 +++++++------------ .../code/modules/arousal/organs/breasts.dm | 7 ++-- .../code/modules/arousal/organs/eggsack.dm | 3 +- .../code/modules/arousal/organs/penis.dm | 3 +- .../code/modules/arousal/organs/testicles.dm | 8 ++--- .../code/modules/arousal/organs/vagina.dm | 3 +- .../code/modules/arousal/organs/womb.dm | 3 +- 10 files changed, 43 insertions(+), 46 deletions(-) diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index b366a792e5..035e660176 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -27,7 +27,13 @@ //genital flags #define GENITAL_BLACKLISTED (1 << 0) //for genitals that shouldn't be added to GLOB.genitals_list. -#define MASTURBATE_LINKED_ORGAN (1<<1) //used to pass our mission to the linked organ +#define GENITAL_INTERNAL (1<<1) +#define GENITAL_HIDDEN (1<<2) +#define GENITAL_THROUGH_CLOTHES (1<<3) +#define GENITAL_FUID_PRODUCTION (1<<4) +#define CAN_MASTURBATE_WITH (1<<5) +#define MASTURBATE_LINKED_ORGAN (1<<6) //used to pass our mission to the linked organ +#define CAN_CLIMAX_WITH (1<<7) #define COCK_SIZE_MIN 1 #define COCK_SIZE_MAX 20 diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index bb9fc98b8e..3c7af9af7e 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -177,4 +177,14 @@ GLOBAL_LIST_INIT(bitfields, list( "CAN_CARRY" = CAN_CARRY, "CAN_RESIST" = CAN_RESIST ), + "genital_flags" = list( + "GENITAL_BLACKLISTED" = GENITAL_BLACKLISTED, + "GENITAL_INTERNAL" = GENITAL_INTERNAL, + "GENITAL_HIDDEN" = GENITAL_HIDDEN, + "GENITAL_THROUGH_CLOTHES" = GENITAL_THROUGH_CLOTHES, + "GENITAL_FUID_PRODUCTION" = GENITAL_FUID_PRODUCTION, + "CAN_MASTURBATE_WITH" = CAN_MASTURBATE_WITH, + "MASTURBATE_LINKED_ORGAN" = MASTURBATE_LINKED_ORGAN, + "CAN_CLIMAX_WITH" = CAN_CLIMAX_WITH + ) )) \ No newline at end of file diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 924c507e7d..f5b27b2c15 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -182,13 +182,13 @@ to_chat(src, "You aren't aroused enough for that.") /obj/item/organ/genital/proc/climaxable(mob/living/carbon/human/H, silent = FALSE) //returns the fluid source (ergo reagents holder) if found. - if(producing) + if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)) . = reagents else if(linked_organ) . = linked_organ.reagents - else if(!silent) - to_chat(H, "Your [name] is unable to produce it's own fluids, it's missing the organs for it.") + if(!. && !silent) + to_chat(H, "Your [name] is unable to produce it's own fluids, it's missing the organs for it.") /mob/living/carbon/human/proc/do_climax(datum/reagents/R, atom/target, obj/item/organ/genital/G, spill = TRUE) if(!G) @@ -273,7 +273,7 @@ var/list/worn_stuff = get_equipped_items() for(var/obj/item/organ/genital/G in internal_organs) - if(G.can_masturbate_with && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with + if(CHECK_BITFIELD(G.genital_flags, CAN_MASTURBATE_WITH) && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with if(CHECK_BITFIELD(G.genital_flags, MASTURBATE_LINKED_ORGAN) && !G.linked_organ) continue genitals_list += G @@ -287,7 +287,7 @@ var/list/worn_stuff = get_equipped_items() for(var/obj/item/organ/genital/G in internal_organs) - if(G.can_climax && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with + if(CHECK_BITFIELD(G.genital_flags, CAN_CLIMAX_WITH) && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with genitals_list += G if(genitals_list.len) var/obj/item/organ/genital/ret_organ = input(src, "with what?", "Climax", null) as null|obj in genitals_list @@ -352,7 +352,7 @@ return if(forced_climax) //Something forced us to cum, this is not a masturbation thing and does not progress to the other checks for(var/obj/item/organ/genital/G in internal_organs) - if(!G.can_climax) //Skip things like wombs and testicles + if(!CHECK_BITFIELD(G.genital_flags, CAN_CLIMAX_WITH)) //Skip things like wombs and testicles continue var/mob/living/partner var/check_target diff --git a/modular_citadel/code/modules/arousal/organs/_genitals.dm b/modular_citadel/code/modules/arousal/organs/_genitals.dm index 292cc5f4ee..38c39d4756 100644 --- a/modular_citadel/code/modules/arousal/organs/_genitals.dm +++ b/modular_citadel/code/modules/arousal/organs/_genitals.dm @@ -3,11 +3,9 @@ w_class = WEIGHT_CLASS_NORMAL var/shape = "human" var/sensitivity = AROUSAL_START_VALUE - var/genital_flags - var/can_masturbate_with = FALSE + var/genital_flags //see citadel_defines.dm var/masturbation_verb = "masturbate" var/orgasm_verb = "cumming" //present continous - var/can_climax = FALSE var/fluid_transfer_factor = 0 //How much would a partner get in them if they climax using this? var/size = 2 //can vary between num or text, just used in icon_state strings var/fluid_id = null @@ -15,21 +13,17 @@ var/fluid_efficiency = 1 var/fluid_rate = 1 var/fluid_mult = 1 - var/producing = FALSE var/aroused_state = FALSE //Boolean used in icon_state strings var/aroused_amount = 50 //This is a num from 0 to 100 for arousal percentage for when to use arousal state icons. var/obj/item/organ/genital/linked_organ var/linked_organ_slot //only one of the two organs needs this to be set up. update_link() will handle linking the rest. - var/through_clothes = FALSE - var/internal = FALSE - var/hidden = FALSE var/layer_index = GENITAL_LAYER_INDEX //Order should be very important. FIRST vagina, THEN testicles, THEN penis, as this affects the order they are rendered in. /obj/item/organ/genital/Initialize() . = ..() if(fluid_id) create_reagents(fluid_max_volume) - if(producing) + if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)) reagents.add_reagent(fluid_id, fluid_max_volume) update() @@ -53,9 +47,9 @@ var/list/exposed_genitals = list() //Keeping track of them so we don't have to iterate through every genitalia and see if exposed /obj/item/organ/genital/proc/is_exposed() - if(!owner || hidden || internal) + if(!owner || CHECK_BITFIELD(genital_flags, GENITAL_INTERNAL|GENITAL_HIDDEN)) return FALSE - if(through_clothes) + if(CHECK_BITFIELD(genital_flags, GENITAL_THROUGH_CLOTHES)) return TRUE switch(zone) //update as more genitals are added @@ -69,18 +63,18 @@ /obj/item/organ/genital/proc/toggle_visibility(visibility) switch(visibility) if("Always visible") - through_clothes = TRUE - hidden = FALSE + ENABLE_BITFIELD(genital_flags, GENITAL_THROUGH_CLOTHES) + DISABLE_BITFIELD(genital_flags, GENITAL_HIDDEN) if(!(src in owner.exposed_genitals)) owner.exposed_genitals += src if("Hidden by clothes") - through_clothes = FALSE - hidden = TRUE + DISABLE_BITFIELD(genital_flags, GENITAL_THROUGH_CLOTHES) + DISABLE_BITFIELD(genital_flags, GENITAL_HIDDEN) if(src in owner.exposed_genitals) owner.exposed_genitals -= src if("Always hidden") - through_clothes = FALSE - hidden = TRUE + DISABLE_BITFIELD(genital_flags, GENITAL_THROUGH_CLOTHES) + ENABLE_BITFIELD(genital_flags, GENITAL_HIDDEN) if(src in owner.exposed_genitals) owner.exposed_genitals -= src @@ -97,7 +91,7 @@ for(var/obj/item/organ/O in internal_organs) if(isgenital(O)) var/obj/item/organ/genital/G = O - if(!G.internal) + if(!CHECK_BITFIELD(G.genital_flags, GENITAL_INTERNAL)) genital_list += G if(!genital_list.len) //There is nothing to expose return @@ -121,7 +115,7 @@ if(!reagents || !owner) return reagents.maximum_volume = fluid_max_volume - if(fluid_id && producing) + if(fluid_id && CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)) generate_fluid() /obj/item/organ/genital/proc/generate_fluid() @@ -235,8 +229,6 @@ //start scanning for genitals //var/list/worn_stuff = H.get_equipped_items()//cache this list so it's not built again for(var/obj/item/organ/genital/G in H.internal_organs) - if(G.hidden) - return //we're gunna just hijack this for updates. if(G.is_exposed()) //Checks appropriate clothing slot and if it's through_clothes LAZYADD(genitals_to_add[G.layer_index], G) //Now we added all genitals that aren't internal and should be rendered diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index 3fec45006b..6079c9364f 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -7,13 +7,10 @@ slot = ORGAN_SLOT_BREASTS size = BREASTS_SIZE_DEF fluid_id = "milk" - var/amount = 2 - producing = TRUE shape = "pair" - can_masturbate_with = TRUE + genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH|GENITAL_FUID_PRODUCTION masturbation_verb = "massage" orgasm_verb = "leaking" - can_climax = TRUE fluid_transfer_factor = 0.5 /obj/item/organ/genital/breasts/update_appearance() @@ -32,7 +29,7 @@ desc += " You estimate that they're [uppertext(size)]-cups." else desc += " You wouldn't measure them in cup sizes." - if(producing && aroused_state) + if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION) && aroused_state) desc += " They're leaking [fluid_id]." var/string if(owner) diff --git a/modular_citadel/code/modules/arousal/organs/eggsack.dm b/modular_citadel/code/modules/arousal/organs/eggsack.dm index 624b2c24cd..ebdefd2371 100644 --- a/modular_citadel/code/modules/arousal/organs/eggsack.dm +++ b/modular_citadel/code/modules/arousal/organs/eggsack.dm @@ -5,10 +5,9 @@ icon = 'modular_citadel/icons/obj/genitals/ovipositor.dmi' zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_TESTICLES - genital_flags = GENITAL_BLACKLISTED //unimplemented + genital_flags = GENITAL_INTERNAL|GENITAL_BLACKLISTED //unimplemented linked_organ_slot = ORGAN_SLOT_PENIS color = null //don't use the /genital color since it already is colored - internal = TRUE var/egg_girth = EGG_GIRTH_DEF var/cum_mult = CUM_RATE_MULT var/cum_rate = CUM_RATE diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index 5ab9868895..0441f78774 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -5,9 +5,8 @@ icon = 'modular_citadel/icons/obj/genitals/penis.dmi' zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_PENIS - can_masturbate_with = TRUE masturbation_verb = "stroke" - can_climax = TRUE + genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH fluid_transfer_factor = 0.5 size = 2 //arbitrary value derived from length and girth for sprites. layer_index = PENIS_LAYER_INDEX diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm index 2e1b330095..e06a10b9fc 100644 --- a/modular_citadel/code/modules/arousal/organs/testicles.dm +++ b/modular_citadel/code/modules/arousal/organs/testicles.dm @@ -7,13 +7,11 @@ slot = ORGAN_SLOT_TESTICLES size = BALLS_SIZE_MIN linked_organ_slot = ORGAN_SLOT_PENIS - genital_flags = MASTURBATE_LINKED_ORGAN + genital_flags = CAN_MASTURBATE_WITH|MASTURBATE_LINKED_ORGAN|GENITAL_FUID_PRODUCTION var/size_name = "average" shape = "single" var/sack_size = BALLS_SACK_SIZE_DEF fluid_id = "semen" - producing = TRUE - can_masturbate_with = TRUE masturbation_verb = "massage" layer_index = TESTICLES_LAYER_INDEX var/size_linked = FALSE @@ -77,9 +75,7 @@ sack_size = D.features["balls_sack_size"] shape = D.features["balls_shape"] if(D.features["balls_shape"] == "Hidden") - internal = TRUE - else - internal = FALSE + ENABLE_BITFIELD(genital_flags, GENITAL_INTERNAL) fluid_id = D.features["balls_fluid"] fluid_rate = D.features["balls_cum_rate"] fluid_mult = D.features["balls_cum_mult"] diff --git a/modular_citadel/code/modules/arousal/organs/vagina.dm b/modular_citadel/code/modules/arousal/organs/vagina.dm index 1b4b088015..0df954fd79 100644 --- a/modular_citadel/code/modules/arousal/organs/vagina.dm +++ b/modular_citadel/code/modules/arousal/organs/vagina.dm @@ -6,9 +6,8 @@ zone = BODY_ZONE_PRECISE_GROIN slot = "vagina" size = 1 //There is only 1 size right now - can_masturbate_with = TRUE + genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH masturbation_verb = "finger" - can_climax = TRUE fluid_transfer_factor = 0.1 //Yes, some amount is exposed to you, go get your AIDS layer_index = VAGINA_LAYER_INDEX var/cap_length = 8//D E P T H (cap = capacity) diff --git a/modular_citadel/code/modules/arousal/organs/womb.dm b/modular_citadel/code/modules/arousal/organs/womb.dm index d99206d0f1..3c4ce225f4 100644 --- a/modular_citadel/code/modules/arousal/organs/womb.dm +++ b/modular_citadel/code/modules/arousal/organs/womb.dm @@ -5,7 +5,6 @@ icon_state = "womb" zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_WOMB - internal = TRUE + genital_flags = GENITAL_INTERNAL|GENITAL_FUID_PRODUCTION fluid_id = "femcum" - producing = TRUE linked_organ_slot = ORGAN_SLOT_VAGINA \ No newline at end of file From 6623dd48968b19858155d28799cce5a39c402900 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 24 Jul 2019 02:03:52 +0200 Subject: [PATCH 005/136] As if they'd care anyway. --- code/datums/traits/neutral.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index 156ee00d75..3c7894f250 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -122,7 +122,7 @@ /datum/quirk/exhibitionism name = "Exhibitionism" - desc = "You don't mind showing off your bare body to strangers, in fact you find it quite satistying. Not the best excuse to break Space Law anyway." //as if they'd care anyway. + desc = "You don't mind showing off your bare body to strangers, in fact you find it quite satistying." value = 0 medical_record_text = "Patient has been diagnosed with exhibitionistic disorder." mob_trait = TRAIT_EXHIBITIONIST From 30292c385b77ad5d2e52feb100a7ea89106ff6cb Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 24 Jul 2019 02:07:59 +0200 Subject: [PATCH 006/136] moving files. --- .../code/modules/arousal/{organs/_genitals.dm => genitals.dm} | 0 .../arousal/{organs => }/genitals_sprite_accessories.dm | 0 tgstation.dme | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename modular_citadel/code/modules/arousal/{organs/_genitals.dm => genitals.dm} (100%) rename modular_citadel/code/modules/arousal/{organs => }/genitals_sprite_accessories.dm (100%) diff --git a/modular_citadel/code/modules/arousal/organs/_genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm similarity index 100% rename from modular_citadel/code/modules/arousal/organs/_genitals.dm rename to modular_citadel/code/modules/arousal/genitals.dm diff --git a/modular_citadel/code/modules/arousal/organs/genitals_sprite_accessories.dm b/modular_citadel/code/modules/arousal/genitals_sprite_accessories.dm similarity index 100% rename from modular_citadel/code/modules/arousal/organs/genitals_sprite_accessories.dm rename to modular_citadel/code/modules/arousal/genitals_sprite_accessories.dm diff --git a/tgstation.dme b/tgstation.dme index 7c9fa1e899..c872760203 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2911,10 +2911,10 @@ #include "modular_citadel\code\modules\admin\secrets.dm" #include "modular_citadel\code\modules\admin\topic.dm" #include "modular_citadel\code\modules\arousal\arousal.dm" -#include "modular_citadel\code\modules\arousal\organs\_genitals.dm" +#include "modular_citadel\code\modules\arousal\genitals.dm" +#include "modular_citadel\code\modules\arousal\genitals_sprite_accessories.dm" #include "modular_citadel\code\modules\arousal\organs\breasts.dm" #include "modular_citadel\code\modules\arousal\organs\eggsack.dm" -#include "modular_citadel\code\modules\arousal\organs\genitals_sprite_accessories.dm" #include "modular_citadel\code\modules\arousal\organs\ovipositor.dm" #include "modular_citadel\code\modules\arousal\organs\penis.dm" #include "modular_citadel\code\modules\arousal\organs\testicles.dm" From 56f2a8f8846093f681d6d744230b31ca5aafdf11 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Thu, 25 Jul 2019 04:29:21 +0200 Subject: [PATCH 007/136] Fixes oversized tennis balls, testing and fixing. --- code/__DEFINES/citadel_defines.dm | 16 +- code/__HELPERS/_cit_helpers.dm | 10 +- .../code/modules/arousal/arousal.dm | 229 ++++++++++-------- .../code/modules/arousal/genitals.dm | 33 +-- .../code/modules/arousal/organs/penis.dm | 6 +- .../code/modules/arousal/organs/testicles.dm | 13 +- 6 files changed, 162 insertions(+), 145 deletions(-) diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 035e660176..04e9c52527 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -26,14 +26,14 @@ #define GENITAL_LAYER_INDEX_LENGTH 4 //keep it updated with each new index added, thanks. //genital flags -#define GENITAL_BLACKLISTED (1 << 0) //for genitals that shouldn't be added to GLOB.genitals_list. -#define GENITAL_INTERNAL (1<<1) -#define GENITAL_HIDDEN (1<<2) -#define GENITAL_THROUGH_CLOTHES (1<<3) -#define GENITAL_FUID_PRODUCTION (1<<4) -#define CAN_MASTURBATE_WITH (1<<5) -#define MASTURBATE_LINKED_ORGAN (1<<6) //used to pass our mission to the linked organ -#define CAN_CLIMAX_WITH (1<<7) +#define GENITAL_BLACKLISTED (1<<0) //for genitals that shouldn't be added to GLOB.genitals_list. +#define GENITAL_INTERNAL (1<<1) +#define GENITAL_HIDDEN (1<<2) +#define GENITAL_THROUGH_CLOTHES (1<<3) +#define GENITAL_FUID_PRODUCTION (1<<4) +#define CAN_MASTURBATE_WITH (1<<5) +#define MASTURBATE_LINKED_ORGAN (1<<6) //used to pass our mission to the linked organ +#define CAN_CLIMAX_WITH (1<<7) #define COCK_SIZE_MIN 1 #define COCK_SIZE_MAX 20 diff --git a/code/__HELPERS/_cit_helpers.dm b/code/__HELPERS/_cit_helpers.dm index d75dd31b46..1c7b4aeb99 100644 --- a/code/__HELPERS/_cit_helpers.dm +++ b/code/__HELPERS/_cit_helpers.dm @@ -158,18 +158,20 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE) return TRUE return FALSE -/mob/living/carbon/proc/is_groin_exposed(var/list/L) +/mob/living/carbon/proc/is_groin_exposed(list/L) if(!L) L = get_equipped_items() - for(var/obj/item/I in L) + for(var/A in L) + var/obj/item/I = A if(I.body_parts_covered & GROIN) return FALSE return TRUE -/mob/living/carbon/proc/is_chest_exposed(var/list/L) +/mob/living/carbon/proc/is_chest_exposed(list/L) if(!L) L = get_equipped_items() - for(var/obj/item/I in L) + for(var/A in L) + var/obj/item/I = A if(I.body_parts_covered & CHEST) return FALSE return TRUE diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index f5b27b2c15..83a5622f49 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -139,8 +139,6 @@ if(!canbearoused) hud_used.arousal.icon_state = "" return FALSE - if(stat == DEAD) - hud_used.arousal.icon_state = "arousal0" else var/value = FLOOR(getPercentAroused(), 10) hud_used.arousal.icon_state = "arousal[value]" @@ -194,6 +192,7 @@ if(!G) return SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) + setArousalLoss(min_arousal) if(!target || !R) return var/turfing = isturf(target) @@ -217,8 +216,8 @@ "You start to [G.masturbation_verb] your [G.name].") if(!do_after(src, mb_time, target = src) || !G.climaxable(src, TRUE)) return - visible_message("[src] orgasms, [PP.orgasm_verb][isturf(loc) ? " onto [loc]" : ""]!", \ - "You orgasm, [PP.orgasm_verb][isturf(loc) ? " onto [loc]" : ""].") + visible_message("[src] orgasms, [PP.orgasm_verb][isturf(loc) ? " onto [loc]" : ""] with [p_their()] [PP.name]!", \ + "You orgasm, [PP.orgasm_verb][isturf(loc) ? " onto [loc]" : ""] with your [PP.name].") do_climax(fluid_source, loc, G) /mob/living/carbon/human/proc/mob_climax_outside(obj/item/organ/genital/G, mb_time = 30) //This is used for forced orgasms and other hands-free climaxes @@ -268,33 +267,35 @@ "You used your [G.name] to fill [container].") do_climax(fluid_source, container, G, FALSE) -/mob/living/carbon/human/proc/pick_masturbate_genitals() - var/list/genitals_list = list() +/mob/living/carbon/human/proc/pick_masturbate_genitals(silent = FALSE) + var/list/genitals_list var/list/worn_stuff = get_equipped_items() for(var/obj/item/organ/genital/G in internal_organs) if(CHECK_BITFIELD(G.genital_flags, CAN_MASTURBATE_WITH) && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with if(CHECK_BITFIELD(G.genital_flags, MASTURBATE_LINKED_ORGAN) && !G.linked_organ) continue - genitals_list += G - if(genitals_list.len) - var/obj/item/organ/genital/ret_organ = input(src, "with what?", "Masturbate", null) as null|obj in genitals_list + LAZYADD(genitals_list, G) + if(LAZYLEN(genitals_list)) + var/obj/item/organ/genital/ret_organ = input(src, "with what?", "Masturbate", null) as null|obj in genitals_list return ret_organ + else if(!silent) + to_chat(src, "You cannot masturbate without available genitals.") - -/mob/living/carbon/human/proc/pick_climax_genitals() - var/list/genitals_list = list() +/mob/living/carbon/human/proc/pick_climax_genitals(silent = FALSE) + var/list/genitals_list var/list/worn_stuff = get_equipped_items() for(var/obj/item/organ/genital/G in internal_organs) if(CHECK_BITFIELD(G.genital_flags, CAN_CLIMAX_WITH) && G.is_exposed(worn_stuff)) //filter out what you can't masturbate with - genitals_list += G - if(genitals_list.len) - var/obj/item/organ/genital/ret_organ = input(src, "with what?", "Climax", null) as null|obj in genitals_list + LAZYADD(genitals_list, G) + if(LAZYLEN(genitals_list)) + var/obj/item/organ/genital/ret_organ = input(src, "with what?", "Climax", null) as null|obj in genitals_list return ret_organ + else if(!silent) + to_chat(src, "You cannot climax without available genitals.") - -/mob/living/carbon/human/proc/pick_partner() +/mob/living/carbon/human/proc/pick_partner(silent = FALSE) var/list/partners = list() if(pulling) partners += pulling @@ -308,30 +309,42 @@ partners -= C //NOW the list should only contain correct partners if(!partners.len) + if(!silent) + to_chat(src, "You cannot do this alone.") return //No one left. var/mob/living/target = input(src, "With whom?", "Sexual partner", null) as null|anything in partners //pick one, default to null if(target && in_range(src, target)) return target -/mob/living/carbon/human/proc/pick_climax_container() +/mob/living/carbon/human/proc/pick_climax_container(silent = FALSE) var/list/containers_list = list() - for(var/obj/item/reagent_containers/container in held_items) - if(container.is_open_container() || istype(container, /obj/item/reagent_containers/food/snacks)) - containers_list += container + for(var/obj/item/reagent_containers/C in held_items) + if(C.is_open_container() || istype(C, /obj/item/reagent_containers/food/snacks)) + containers_list += C + for(var/obj/item/reagent_containers/C in range(1, src)) + if((C.is_open_container() || istype(C, /obj/item/reagent_containers/food/snacks)) && CanReach(C)) + containers_list += C if(containers_list.len) var/obj/item/reagent_containers/SC = input(src, "Into or onto what?(Cancel for nowhere)", null) as null|obj in containers_list - if(SC && in_range(src, SC)) + if(SC && CanReach(SC)) return SC - return null //If nothing correct, give null. + else if(!silent) + to_chat(src, "You cannot do this without an appropriate container.") -/mob/living/carbon/human/proc/available_rosie_palms(silent = FALSE) +/mob/living/carbon/human/proc/available_rosie_palms(silent = FALSE, list/whitelist_typepaths = list(/obj/item/dildo)) if(restrained(TRUE)) //TRUE ignores grabs if(!silent) to_chat(src, "You can't do that while restrained!") return FALSE if(!get_num_arms() || !get_empty_held_indexes()) + if(whitelist_typepaths) + if(!islist(whitelist_typepaths)) + whitelist_typepaths = list(whitelist_typepaths) + for(var/path in whitelist_typepaths) + if(is_holding_item_of_type(path)) + return TRUE if(!silent) to_chat(src, "You need at least one free arm.") return FALSE @@ -343,93 +356,97 @@ if(!forced_climax) //Don't spam the message to the victim if forced to come too fast to_chat(src, "You need to wait [DisplayTimeText((mb_cd_timer - world.time), TRUE)] before you can do that again!") return - mb_cd_timer = world.time + mb_cd_length - if(canbearoused && has_dna()) - if(stat == DEAD) - if(!forced_climax) - to_chat(src, "You can't do that while dead!") - return - if(forced_climax) //Something forced us to cum, this is not a masturbation thing and does not progress to the other checks - for(var/obj/item/organ/genital/G in internal_organs) - if(!CHECK_BITFIELD(G.genital_flags, CAN_CLIMAX_WITH)) //Skip things like wombs and testicles - continue - var/mob/living/partner - var/check_target - var/list/worn_stuff = get_equipped_items() + if(!canbearoused || !has_dna()) + return + if(stat == DEAD) + if(!forced_climax) + to_chat(src, "You can't do that while dead!") + return + if(forced_climax) //Something forced us to cum, this is not a masturbation thing and does not progress to the other checks + for(var/obj/item/organ/genital/G in internal_organs) + if(!CHECK_BITFIELD(G.genital_flags, CAN_CLIMAX_WITH)) //Skip things like wombs and testicles + continue + var/mob/living/partner + var/check_target + var/list/worn_stuff = get_equipped_items() - if(G.is_exposed(worn_stuff)) - if(pulling) //Are we pulling someone? Priority target, we can't be making option menus for this, has to be quick - if(isliving(pulling)) //Don't fuck objects - check_target = pulling - if(pulledby && !check_target) //prioritise pulled over pulledby - if(isliving(pulledby)) - check_target = pulledby - //Now we should have a partner, or else we have to come alone - if(check_target) - if(iscarbon(check_target)) //carbons can have clothes - var/mob/living/carbon/C = check_target - if(C.exposed_genitals.len || C.is_groin_exposed() || C.is_chest_exposed()) //Are they naked enough? - partner = C - else //A cat is fine too - partner = check_target - if(partner) //Did they pass the clothing checks? - mob_climax_partner(G, partner, mb_time = 0) //Instant climax due to forced - continue //You've climaxed once with this organ, continue on - //not exposed OR if no partner was found while exposed, climax alone - mob_climax_outside(G, mb_time = 0) //removed climax timer for sudden, forced orgasms - //Now all genitals that could climax, have. - //Since this was a forced climax, we do not need to continue with the other stuff - return - //If we get here, then this is not a forced climax and we gotta check a few things. + if(G.is_exposed(worn_stuff)) + if(pulling) //Are we pulling someone? Priority target, we can't be making option menus for this, has to be quick + if(isliving(pulling)) //Don't fuck objects + check_target = pulling + if(pulledby && !check_target) //prioritise pulled over pulledby + if(isliving(pulledby)) + check_target = pulledby + //Now we should have a partner, or else we have to come alone + if(check_target) + if(iscarbon(check_target)) //carbons can have clothes + var/mob/living/carbon/C = check_target + if(C.exposed_genitals.len || C.is_groin_exposed() || C.is_chest_exposed()) //Are they naked enough? + partner = C + else //A cat is fine too + partner = check_target + if(partner) //Did they pass the clothing checks? + mob_climax_partner(G, partner, mb_time = 0) //Instant climax due to forced + continue //You've climaxed once with this organ, continue on + //not exposed OR if no partner was found while exposed, climax alone + mob_climax_outside(G, mb_time = 0) //removed climax timer for sudden, forced orgasms + //Now all genitals that could climax, have. + //Since this was a forced climax, we do not need to continue with the other stuff + mb_cd_timer = world.time + mb_cd_length + return + //If we get here, then this is not a forced climax and we gotta check a few things. - if(stat == UNCONSCIOUS) //No sleep-masturbation, you're unconscious. - to_chat(src, "You must be conscious to do that!") - return - if(getArousalLoss() < 33) //flat number instead of percentage - to_chat(src, "You aren't aroused enough for that!") - return + if(stat == UNCONSCIOUS) //No sleep-masturbation, you're unconscious. + to_chat(src, "You must be conscious to do that!") + return + if(getArousalLoss() < 33) //flat number instead of percentage + to_chat(src, "You aren't aroused enough for that!") + return - //Ok, now we check what they want to do. - var/choice = input(src, "Select sexual activity", "Sexual activity:") as null|anything in list("Masturbate", "Climax alone", "Climax with partner", "Fill container") + //Ok, now we check what they want to do. + var/choice = input(src, "Select sexual activity", "Sexual activity:") as null|anything in list("Masturbate", "Climax alone", "Climax with partner", "Fill container") + if(!choice) + return - switch(choice) - if("Masturbate") - if(!available_rosie_palms()) - return - //We got hands, let's pick an organ - var/obj/item/organ/genital/picked_organ = pick_masturbate_genitals() - if(picked_organ && available_rosie_palms(TRUE)) - mob_masturbate(picked_organ) - return + switch(choice) + if("Masturbate") + if(!available_rosie_palms()) + return + //We got hands, let's pick an organ + var/obj/item/organ/genital/picked_organ = pick_masturbate_genitals() + if(picked_organ && available_rosie_palms(TRUE)) + mob_masturbate(picked_organ) + return - if("Climax alone") - if(!available_rosie_palms()) - return - var/obj/item/organ/genital/picked_organ = pick_climax_genitals() - if(picked_organ && available_rosie_palms(TRUE)) - mob_climax_outside(picked_organ) + if("Climax alone") + if(!available_rosie_palms()) + return + var/obj/item/organ/genital/picked_organ = pick_climax_genitals() + if(picked_organ && available_rosie_palms(TRUE)) + mob_climax_outside(picked_organ) - if("Climax with partner") - //We need no hands, we can be restrained and so on, so let's pick an organ - var/obj/item/organ/genital/picked_organ = pick_climax_genitals() - if(picked_organ) - var/mob/living/partner = pick_partner() //Get someone - if(partner) - var/spillage = input(src, "Would your fluids spill outside?", "Choose overflowing option", "Yes") as null|anything in list("Yes", "No") - if(spillage && in_range(src, partner)) - mob_climax_partner(picked_organ, partner, spillage == "Yes" ? TRUE : FALSE) + if("Climax with partner") + //We need no hands, we can be restrained and so on, so let's pick an organ + var/obj/item/organ/genital/picked_organ = pick_climax_genitals() + if(picked_organ) + var/mob/living/partner = pick_partner() //Get someone + if(partner) + var/spillage = input(src, "Would your fluids spill outside?", "Choose overflowing option", "Yes") as null|anything in list("Yes", "No") + if(spillage && in_range(src, partner)) + mob_climax_partner(picked_organ, partner, spillage == "Yes" ? TRUE : FALSE) - if("Fill container") - //We'll need hands and no restraints. - if(!available_rosie_palms()) - return - //We got hands, let's pick an organ - var/obj/item/organ/genital/picked_organ - picked_organ = pick_climax_genitals() //Gotta be climaxable, not just masturbation, to fill with fluids. - if(picked_organ) - //Good, got an organ, time to pick a container - var/obj/item/reagent_containers/fluid_container = pick_climax_container() - if(fluid_container && available_rosie_palms(TRUE)) - mob_fill_container(picked_organ, fluid_container) - return \ No newline at end of file + if("Fill container") + //We'll need hands and no restraints. + if(!available_rosie_palms(FALSE, /obj/item/reagent_containers)) + return + //We got hands, let's pick an organ + var/obj/item/organ/genital/picked_organ + picked_organ = pick_climax_genitals() //Gotta be climaxable, not just masturbation, to fill with fluids. + if(picked_organ) + //Good, got an organ, time to pick a container + var/obj/item/reagent_containers/fluid_container = pick_climax_container() + if(fluid_container && available_rosie_palms(TRUE, /obj/item/reagent_containers)) + mob_fill_container(picked_organ, fluid_container) + + mb_cd_timer = world.time + mb_cd_length \ No newline at end of file diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index 38c39d4756..3545c96a50 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -47,7 +47,7 @@ var/list/exposed_genitals = list() //Keeping track of them so we don't have to iterate through every genitalia and see if exposed /obj/item/organ/genital/proc/is_exposed() - if(!owner || CHECK_BITFIELD(genital_flags, GENITAL_INTERNAL|GENITAL_HIDDEN)) + if(!owner || CHECK_BITFIELD(genital_flags, GENITAL_INTERNAL) || CHECK_BITFIELD(genital_flags, GENITAL_HIDDEN)) return FALSE if(CHECK_BITFIELD(genital_flags, GENITAL_THROUGH_CLOTHES)) return TRUE @@ -58,8 +58,6 @@ if(BODY_ZONE_PRECISE_GROIN) return owner.is_groin_exposed() - return FALSE - /obj/item/organ/genital/proc/toggle_visibility(visibility) switch(visibility) if("Always visible") @@ -119,7 +117,7 @@ generate_fluid() /obj/item/organ/genital/proc/generate_fluid() - if(owner.stat != DEAD && reagents.total_volume < reagents.maximum_volume) + if(reagents.total_volume < reagents.maximum_volume) reagents.isolate_reagent(fluid_id)//remove old reagents if it changed and just clean up generally reagents.add_reagent(fluid_id, (fluid_mult * fluid_rate))//generate the cum return TRUE @@ -137,13 +135,13 @@ linked_organ = null return FALSE -/obj/item/organ/genital/Insert(mob/living/carbon/M, special = 0) +/obj/item/organ/genital/Insert(mob/living/carbon/M, special = FALSE, drop_if_replaced = TRUE) . = ..() if(.) update() - RegisterSignal(owner, COMSIG_MOB_DEATH, .proc/update_appearance) + RegisterSignal(owner, COMSIG_MOB_DEATH, .proc/update) -/obj/item/organ/genital/Remove(mob/living/carbon/M, special = 0) +/obj/item/organ/genital/Remove(mob/living/carbon/M, special = FALSE, drop_if_replaced = TRUE) . = ..() if(.) update(TRUE) @@ -176,12 +174,11 @@ /mob/living/carbon/human/proc/give_genital(obj/item/organ/genital/G) if(!dna || (NOGENITALS in dna.species.species_traits) || getorganslot(initial(G.slot))) return FALSE - G = new - if(istype(G, /obj/item/organ/genital)) //badminnery-proofing. - G.get_features(src) + G = new G + G.get_features(src) G.Insert(src) -/obj/item/organ/genital/proc/get_features(datum/dna/D) +/obj/item/organ/genital/proc/get_features(mob/living/carbon/human/H) return /datum/species/proc/genitals_layertext(layer) @@ -217,7 +214,6 @@ if(!LAZYLEN(H.internal_organs) || (NOGENITALS in species_traits) || HAS_TRAIT(H, TRAIT_HUSK)) return - var/list/genitals_to_add[GENITAL_LAYER_INDEX_LENGTH] var/list/relevant_layers = list(GENITALS_BEHIND_LAYER, GENITALS_ADJ_LAYER, GENITALS_FRONT_LAYER) var/list/standing = list() var/size @@ -228,15 +224,22 @@ //start scanning for genitals //var/list/worn_stuff = H.get_equipped_items()//cache this list so it's not built again + + var/list/gen_index[GENITAL_LAYER_INDEX_LENGTH] + var/list/genitals_to_add for(var/obj/item/organ/genital/G in H.internal_organs) if(G.is_exposed()) //Checks appropriate clothing slot and if it's through_clothes - LAZYADD(genitals_to_add[G.layer_index], G) + LAZYADD(gen_index[G.layer_index], G) + for(var/L in gen_index) + if(L) //skip nulls + LAZYADD(genitals_to_add, L) //Now we added all genitals that aren't internal and should be rendered //start applying overlays for(var/layer in relevant_layers) - var/layertext = flatten_list(genitals_layertext(layer)) - for(var/obj/item/organ/genital/G in genitals_to_add) + var/layertext = genitals_layertext(layer) + for(var/A in genitals_to_add) + var/obj/item/organ/genital/G = A var/datum/sprite_accessory/S size = G.size aroused_state = G.aroused_state diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index 0441f78774..b387fa96f5 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -22,11 +22,11 @@ return var/new_size switch(length) - if(-INFINITY to 5) + if(-INFINITY to 6) new_size = 1 - if(5 to 9) + if(6 to 12) new_size = 2 - if(15 to INFINITY) + if(12 to INFINITY) new_size = 3 //no new sprites for anything larger yet. girth = (length * girth_ratio) cached_length = length diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm index e06a10b9fc..06f40b5b51 100644 --- a/modular_citadel/code/modules/arousal/organs/testicles.dm +++ b/modular_citadel/code/modules/arousal/organs/testicles.dm @@ -9,7 +9,7 @@ linked_organ_slot = ORGAN_SLOT_PENIS genital_flags = CAN_MASTURBATE_WITH|MASTURBATE_LINKED_ORGAN|GENITAL_FUID_PRODUCTION var/size_name = "average" - shape = "single" + shape = "Single" var/sack_size = BALLS_SACK_SIZE_DEF fluid_id = "semen" masturbation_verb = "massage" @@ -20,20 +20,16 @@ if(!linked_organ && !update_link()) return FALSE . = ..() - if(.) - send_full_message() + if(. && reagents.holder_full()) + to_chat(owner, "Your balls finally feel full, again.") /obj/item/organ/genital/testicles/update_link(removing = FALSE) . = ..() if(. && !size_linked) size = linked_organ.size + update() size_linked = TRUE -/obj/item/organ/genital/testicles/proc/send_full_message(msg = "Your balls finally feel full, again.") - if(owner && istext(msg)) - to_chat(owner, msg) - return TRUE - /obj/item/organ/genital/testicles/update_size(new_size) if(new_size) size = CLAMP(size + new_size, BALLS_SIZE_MIN, BALLS_SIZE_MAX) @@ -71,7 +67,6 @@ color = "#[skintone2hex(H.skin_tone)]" else color = "#[D.features["balls_color"]]" - size = D.features["balls_size"] sack_size = D.features["balls_sack_size"] shape = D.features["balls_shape"] if(D.features["balls_shape"] == "Hidden") From 44a28066a16607219a1caa478509fe77b06f3e47 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Thu, 25 Jul 2019 04:44:34 +0200 Subject: [PATCH 008/136] coding exasperation. --- modular_citadel/code/modules/arousal/arousal.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 83a5622f49..6c9da17289 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -69,10 +69,8 @@ amt_nude++ if(amt_nude) var/watchers = 0 - for(var/mob/living/L in view(world.view, src)) - if(!istype(L)) - continue - if(L.client && !L.stat && !L.eye_blind && (locate(src) in viewers(world.view, L))) + for(var/mob/living/L in view(src)) + if(L.client && !L.stat && !L.eye_blind && (src in view(L))) watchers++ if(watchers) our_loss += (amt_nude * watchers) + S.arousal_gain_rate From 36ffd3d6a8d69d3ac75145080d0ada2f06f53874 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 1 Sep 2019 03:35:36 +0200 Subject: [PATCH 009/136] More lines. --- code/__DEFINES/misc.dm | 27 ++++---- .../code/modules/arousal/genitals.dm | 40 ++++++------ .../chemistry/reagents/enlargement.dm | 61 +++++++++---------- 3 files changed, 62 insertions(+), 66 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index c71780e7e9..8a0db9ad9c 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -51,24 +51,25 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s //Human Overlays Indexes///////// //LOTS OF CIT CHANGES HERE. BE CAREFUL WHEN UPSTREAM ADDS MORE LAYERS -#define MUTATIONS_LAYER 31 //mutations. Tk headglows, cold resistance glow, etc -#define GENITALS_BEHIND_LAYER 30 //Some genitalia needs to be behind everything, such as with taurs (Taurs use body_behind_layer -#define BODY_BEHIND_LAYER 29 //certain mutantrace features (tail when looking south) that must appear behind the body parts -#define BODYPARTS_LAYER 28 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag -#define MARKING_LAYER 27 //Matrixed body markings because clashing with snouts? -#define BODY_ADJ_LAYER 26 //certain mutantrace features (snout, body markings) that must appear above the body parts -#define GENITALS_FRONT_LAYER 25 //Draws some genitalia above clothes and the TAUR body if need be. -#define BODY_LAYER 24 //underwear, undershirts, socks, eyes, lips(makeup) -#define FRONT_MUTATIONS_LAYER 23 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes) -#define DAMAGE_LAYER 22 //damage indicators (cuts and burns) -#define UNIFORM_LAYER 21 -#define ID_LAYER 20 +#define MUTATIONS_LAYER 32 //mutations. Tk headglows, cold resistance glow, etc +#define GENITALS_BEHIND_LAYER 31 //Some genitalia needs to be behind everything, such as with taurs (Taurs use body_behind_layer +#define BODY_BEHIND_LAYER 30 //certain mutantrace features (tail when looking south) that must appear behind the body parts +#define BODYPARTS_LAYER 29 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag +#define MARKING_LAYER 28 //Matrixed body markings because clashing with snouts? +#define BODY_ADJ_LAYER 27 //certain mutantrace features (snout, body markings) that must appear above the body parts +#define GENITALS_FRONT_LAYER 26 //Draws some genitalia above clothes and the TAUR body if need be. +#define BODY_LAYER 25 //underwear, undershirts, socks, eyes, lips(makeup) +#define FRONT_MUTATIONS_LAYER 24 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes) +#define DAMAGE_LAYER 23 //damage indicators (cuts and burns) +#define UNIFORM_LAYER 22 +#define ID_LAYER 21 #define HANDS_PART_LAYER 20 #define SHOES_LAYER 19 #define GLOVES_LAYER 18 #define EARS_LAYER 17 #define BODY_TAUR_LAYER 16 #define SUIT_LAYER 15 +#define GENITALS_EXPOSED_LAYER 14 #define GLASSES_LAYER 13 #define BELT_LAYER 12 //Possible make this an overlay of somethign required to wear a belt? #define SUIT_STORE_LAYER 11 @@ -82,7 +83,7 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s #define HANDS_LAYER 3 #define BODY_FRONT_LAYER 2 #define FIRE_LAYER 1 //If you're on fire -#define TOTAL_LAYERS 30 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_; +#define TOTAL_LAYERS 32 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_; //Human Overlay Index Shortcuts for alternate_worn_layer, layers //Because I *KNOW* somebody will think layer+1 means "above" diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index 5632aa7eef..f8e404713d 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -166,7 +166,7 @@ give_genital(/obj/item/organ/genital/womb) if(dna.features["has_balls"]) give_genital(/obj/item/organ/genital/testicles) - if(dna.features["has_breasts"]) // since we have multi-boobs as a thing, we'll want to at least draw over these. but not over the pingas. + if(dna.features["has_breasts"]) give_genital(/obj/item/organ/genital/breasts) if(dna.features["has_cock"]) give_genital(/obj/item/organ/genital/penis) @@ -183,6 +183,7 @@ G = new G G.get_features(src) G.Insert(src) + return G /obj/item/organ/genital/proc/get_features(mob/living/carbon/human/H) return @@ -191,8 +192,6 @@ switch(layer) if(GENITALS_BEHIND_LAYER) return "BEHIND" - /*if(GENITALS_ADJ_LAYER) - return "ADJ"*/ if(GENITALS_FRONT_LAYER) return "FRONT" @@ -227,14 +226,12 @@ if(!canbearoused) ADD_TRAIT(src, TRAIT_PHARMA, "pharma")//Prefs prevent unwanted organs. return - for(var/obj/item/organ/O in internal_organs) + for(var/O in internal_organs) if(istype(O, /obj/item/organ/genital)) organCheck = TRUE - if(/obj/item/organ/genital/penis) - //dna.features["has_cock"] = TRUE + if(istype(O, /obj/item/organ/genital/penis)) willyCheck = TRUE - if(/obj/item/organ/genital/breasts) - //dna.features["has_breasts"] = TRUE//Goddamnit get in there. + if(istype(O, /obj/item/organ/genital/breasts)) breastCheck = TRUE if(organCheck == FALSE) if(ishuman(src) && dna.species.id == "human") @@ -260,10 +257,7 @@ CRASH("H = null") if(!LAZYLEN(H.internal_organs) || ((NOGENITALS in species_traits) && !H.genital_override) || HAS_TRAIT(H, TRAIT_HUSK)) return - var/list/relevant_layers = list(GENITALS_BEHIND_LAYER, GENITALS_FRONT_LAYER) //GENITALS_ADJ_LAYER removed - var/list/standing = list() - var/size - var/aroused_state + var/list/relevant_layers = list(GENITALS_BEHIND_LAYER, GENITALS_FRONT_LAYER) for(var/L in relevant_layers) //Less hardcode H.remove_overlay(L) @@ -271,21 +265,25 @@ var/list/gen_index[GENITAL_LAYER_INDEX_LENGTH] var/list/genitals_to_add + var/list/fully_exposed for(var/obj/item/organ/genital/G in H.internal_organs) if(G.is_exposed()) //Checks appropriate clothing slot and if it's through_clothes LAZYADD(gen_index[G.layer_index], G) for(var/L in gen_index) if(L) //skip nulls LAZYADD(genitals_to_add, L) + if(!genitals_to_add) + return //Now we added all genitals that aren't internal and should be rendered //start applying overlays for(var/layer in relevant_layers) + var/list/standing = list() var/layertext = genitals_layertext(layer) for(var/A in genitals_to_add) var/obj/item/organ/genital/G = A var/datum/sprite_accessory/S - size = G.size - aroused_state = G.aroused_state + var/size = G.size + var/aroused_state = G.aroused_state switch(G.type) if(/obj/item/organ/genital/penis) S = GLOB.cock_shapes_list[G.shape] @@ -296,9 +294,6 @@ if(/obj/item/organ/genital/breasts) S = GLOB.breasts_shapes_list[G.shape] - - - if(!S || S.icon_state == "none") continue @@ -322,11 +317,16 @@ if("vag_color") genital_overlay.color = "#[H.dna.features["vag_color"]]" - standing += genital_overlay + if(layer == GENITALS_FRONT_LAYER && CHECK_BITFIELD(G.genital_flags, GENITAL_THROUGH_CLOTHES)) + LAZYADD(fully_exposed, genital_overlay) // to be added to a layer with higher priority than clothes, hence the name of the bitflag. + else + standing += genital_overlay if(LAZYLEN(standing)) - H.overlays_standing[layer] = standing.Copy() - standing = list() + H.overlays_standing[layer] = standing + + if(LAZYLEN(fully_exposed)) + H.overlays_standing[GENITALS_EXPOSED_LAYER] = fully_exposed for(var/L in relevant_layers) H.apply_overlay(L) diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm index 01a0e75710..a4c4e352ac 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm @@ -31,16 +31,13 @@ InverseChem = "BEsmaller" //At really impure vols, it just becomes 100% inverse can_synth = FALSE -/datum/reagent/fermi/breast_enlarger/on_mob_add(mob/living/carbon/M) +/datum/reagent/fermi/breast_enlarger/on_mob_metabolize(mob/living/M) . = ..() if(!ishuman(M)) //The monkey clause if(volume >= 15) //To prevent monkey breast farms var/turf/T = get_turf(M) var/obj/item/organ/genital/breasts/B = new /obj/item/organ/genital/breasts(T) - var/list/seen = viewers(8, T) - for(var/mob/S in seen) - to_chat(S, "A pair of breasts suddenly fly out of the [M]!") - //var/turf/T2 = pick(turf in view(5, M)) + M.visible_message("A pair of breasts suddenly fly out of the [M]!") var/T2 = get_random_station_turf() M.adjustBruteLoss(25) M.Knockdown(50) @@ -51,7 +48,7 @@ log_game("FERMICHEM: [M] ckey: [M.key] has ingested Sucubus milk") var/mob/living/carbon/human/H = M H.genital_override = TRUE - var/obj/item/organ/genital/breasts/B = H.getorganslot("breasts") + var/obj/item/organ/genital/breasts/B = H.getorganslot(ORGAN_SLOT_BREASTS) if(!B) H.emergent_genital_call() return @@ -103,7 +100,7 @@ M.adjustOxyLoss(5, 0) M.apply_damage(1, BRUTE, target) B.update() - ..() + return ..() /datum/reagent/fermi/breast_enlarger/overdose_process(mob/living/carbon/M) //Turns you into a female if male and ODing, doesn't touch nonbinary and object genders. @@ -135,7 +132,7 @@ var/obj/item/organ/genital/womb/nW = new nW.Insert(M) W = nW - ..() + return ..() /datum/reagent/fermi/BEsmaller name = "Modesty milk" @@ -159,7 +156,7 @@ return..() B.cached_size = B.cached_size - 0.05 B.update() - ..() + return ..() /datum/reagent/fermi/BEsmaller_hypo name = "Rectify milk" //Rectify @@ -171,19 +168,18 @@ var/sizeConv = list("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5) can_synth = TRUE -/datum/reagent/fermi/BEsmaller_hypo/on_mob_add(mob/living/carbon/M) +/datum/reagent/fermi/BEsmaller_hypo/on_mob_metabolize(mob/living/M) . = ..() - if(!M.getorganslot("vagina")) - if(M.dna.features["has_vag"]) - var/obj/item/organ/genital/vagina/nV = new - nV.Insert(M) - if(!M.getorganslot("womb")) - if(M.dna.features["has_womb"]) - var/obj/item/organ/genital/womb/nW = new - nW.Insert(M) + if(!ishuman(M)) + return + var/mob/living/carbon/human/H = M + if(!H.getorganslot(ORGAN_SLOT_VAGINA) && H.dna.features["has_vag"]) + H.give_genital(/obj/item/organ/genital/vagina) + if(!H.getorganslot(ORGAN_SLOT_WOMB) && H.dna.features["has_womb"]) + H.give_genital(/obj/item/organ/genital/womb) /datum/reagent/fermi/BEsmaller_hypo/on_mob_life(mob/living/carbon/M) - var/obj/item/organ/genital/breasts/B = M.getorganslot("breasts") + var/obj/item/organ/genital/breasts/B = M.getorganslot(ORGAN_SLOT_BREASTS) if(!B) return..() if(!M.dna.features["has_breasts"])//Fast fix for those who don't want it. @@ -195,7 +191,7 @@ else if(B.cached_size < (sizeConv[M.dna.features["breasts_size"]])+0.1) B.cached_size = B.cached_size + 0.05 B.update() - ..() + return ..() //////////////////////////////////////////////////////////////////////////////////////////////////// // PENIS ENLARGE @@ -216,15 +212,13 @@ InverseChem = "PEsmaller" //At really impure vols, it just becomes 100% inverse and shrinks instead. can_synth = FALSE -/datum/reagent/fermi/penis_enlarger/on_mob_add(mob/living/carbon/M) +/datum/reagent/fermi/penis_enlarger/on_mob_metabolize(mob/living/M) . = ..() if(!ishuman(M)) //Just monkeying around. if(volume >= 15) //to prevent monkey penis farms var/turf/T = get_turf(M) var/obj/item/organ/genital/penis/P = new /obj/item/organ/genital/penis(T) - var/list/seen = viewers(8, T) - for(var/mob/S in seen) - to_chat(S, "A penis suddenly flies out of the [M]!") + M.visible_message("A penis suddenly flies out of the [M]!") var/T2 = get_random_station_turf() M.adjustBruteLoss(25) M.Knockdown(50) @@ -234,7 +228,7 @@ return var/mob/living/carbon/human/H = M H.genital_override = TRUE - var/obj/item/organ/genital/penis/P = M.getorganslot("penis") + var/obj/item/organ/genital/penis/P = M.getorganslot(ORGAN_SLOT_PENIS) if(!P) H.emergent_genital_call() return @@ -277,7 +271,7 @@ M.apply_damage(2.5, BRUTE, target) P.update() - ..() + return ..() /datum/reagent/fermi/penis_enlarger/overdose_process(mob/living/carbon/M) //Turns you into a male if female and ODing, doesn't touch nonbinary and object genders. //Acute hepatic pharmacokinesis. @@ -306,7 +300,7 @@ var/obj/item/organ/genital/testicles/nT = new nT.Insert(M) T = nT - ..() + return ..() /datum/reagent/fermi/PEsmaller // Due to cozmo's request...! name = "Chastity draft" @@ -342,12 +336,13 @@ metabolization_rate = 0.5 can_synth = TRUE -/datum/reagent/fermi/PEsmaller_hypo/on_mob_add(mob/living/carbon/M) +/datum/reagent/fermi/PEsmaller_hypo/on_mob_metabolize(mob/living/M) . = ..() - if(!M.getorganslot("testicles")) - if(M.dna.features["has_balls"]) - var/obj/item/organ/genital/testicles/nT = new - nT.Insert(M) + if(!ishuman(M)) + return + var/mob/living/carbon/human/H = M + if(!H.getorganslot(ORGAN_SLOT_TESTICLES) && H.dna.features["has_balls"]) + H.give_genital(/obj/item/organ/genital/testicles) /datum/reagent/fermi/PEsmaller_hypo/on_mob_life(mob/living/carbon/M) var/obj/item/organ/genital/penis/P = M.getorganslot(ORGAN_SLOT_PENIS) @@ -362,4 +357,4 @@ else if(P.cached_length < (M.dna.features["cock_length"]+0.1)) P.cached_length = P.cached_length + 0.1 P.update() - ..() + return ..() From e66b95b9c9dd5da1d214b10112244d88438e71f8 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 1 Sep 2019 05:58:57 +0200 Subject: [PATCH 010/136] More lines of code rewriting fermis' mess. --- .../code/modules/arousal/genitals.dm | 12 +++-- .../code/modules/arousal/organs/breasts.dm | 54 +++++++++++-------- .../code/modules/arousal/organs/penis.dm | 10 ++-- .../chemistry/reagents/enlargement.dm | 35 +++++------- 4 files changed, 56 insertions(+), 55 deletions(-) diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index f8e404713d..7b3b637e26 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -19,13 +19,17 @@ var/linked_organ_slot //only one of the two organs needs this to be set up. update_link() will handle linking the rest. var/layer_index = GENITAL_LAYER_INDEX //Order should be very important. FIRST vagina, THEN testicles, THEN penis, as this affects the order they are rendered in. -/obj/item/organ/genital/Initialize() +/obj/item/organ/genital/Initialize(mapload, mob/living/carbon/human/H) . = ..() if(fluid_id) create_reagents(fluid_max_volume) if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)) reagents.add_reagent(fluid_id, fluid_max_volume) - update() + if(H) + get_features(H) + Insert(H) + else + update() /obj/item/organ/genital/Destroy() if(linked_organ) @@ -180,9 +184,7 @@ /mob/living/carbon/human/proc/give_genital(obj/item/organ/genital/G) if(!dna || (NOGENITALS in dna.species.species_traits) || getorganslot(initial(G.slot))) return FALSE - G = new G - G.get_features(src) - G.Insert(src) + G = new G(null, src) return G /obj/item/organ/genital/proc/get_features(mob/living/carbon/human/H) diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index c862e21bc5..08b99eabfa 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -12,10 +12,17 @@ masturbation_verb = "massage" orgasm_verb = "leaking" fluid_transfer_factor = 0.5 - var/breast_values = list ("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5, "f" = 6, "g" = 7, "h" = 8, "i" = 9, "j" = 10, "k" = 11, "l" = 12, "m" = 13, "n" = 14, "o" = 15, "huge" = 16, "flat" = 0) + var/list/static/breast_values = list("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5, "f" = 6, "g" = 7, "h" = 8, "i" = 9, "j" = 10, "k" = 11, "l" = 12, "m" = 13, "n" = 14, "o" = 15, "huge" = 16, "flat" = 0) var/cached_size //for enlargement SHOULD BE A NUMBER var/prev_size //For flavour texts SHOULD BE A LETTER +/obj/item/organ/genital/breasts/Initialize(mapload, mob/living/carbon/human/H) + if(!H) + cached_size = size + size = breast_values[size] + prev_size = size + return ..() + /obj/item/organ/genital/breasts/update_appearance() . = ..() var/lowershape = lowertext(shape) @@ -28,14 +35,13 @@ desc = "You see three sets of breasts, running from their chest to their belly." else desc = "You see some breasts, they seem to be quite exotic." - if(cached_size > 16) + if(size == "huge") desc = "You see [pick("some serious honkers", "a real set of badonkers", "some dobonhonkeros", "massive dohoonkabhankoloos", "two big old tonhongerekoogers", "a couple of giant bonkhonagahoogs", "a pair of humongous hungolomghnonoloughongous")]. Their volume is way beyond cupsize now, measuring in about [round(cached_size)]cm in diameter." - else if (!isnum(size)) + else if (size == "flat") desc += " They're very small and flatchested, however." else desc += " You estimate that they're [uppertext(size)]-cups." - //string = "breasts_[lowertext(shape)]_[size]-s" if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION) && aroused_state) desc += " They're leaking [fluid_id]." @@ -62,38 +68,40 @@ //this is far too lewd wah /obj/item/organ/genital/breasts/update_size()//wah - if(cached_size == size) - return if(cached_size < 0)//I don't actually know what round() does to negative numbers, so to be safe!!fixed if(owner) - to_chat(owner, "You feel your breasts shrinking away from your body as your chest flattens out.") + to_chat(owner, "You feel your breasts shrinking away from your body as your chest flattens out.") QDEL_IN(src, 1) + return var/enlargement = FALSE - switch(cached_size) - if(0 to 0.99) //If flatchested + switch(round(cached_size)) + if(0) //flatchested size = "flat" - if(16 to INFINITY) //if Rediculous + if(1 to 8) //modest + size = breast_values[round(cached_size)] + if(9 to 15) //massive + size = breast_values[round(cached_size)] + enlargement = TRUE + if(16 to INFINITY) //rediculous size = "huge" enlargement = TRUE - if(owner && !enlargement) - if(!owner.has_status_effect(/datum/status_effect/chem/breast_enlarger)) + if(owner) + var/status_effect = owner.has_status_effect(/datum/status_effect/chem/breast_enlarger) + if(enlargement && !status_effect) owner.apply_status_effect(/datum/status_effect/chem/breast_enlarger) - size = breast_values[round(cached_size)] + else if(status_effect) + owner.remove_status_effect(/datum/status_effect/chem/breast_enlarger) if(round(cached_size) < 16)//Because byond doesn't count from 0, I have to do this. - if(isnum(prev_size)) - prev_size = breast_values[prev_size] if(owner) var/mob/living/carbon/human/H = owner if (breast_values[size] > breast_values[prev_size]) - to_chat(H, "Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a [uppertext(size)]-cup.") + to_chat(H, "Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a [uppertext(size)]-cup.") H.dna.species.handle_genitals(src) else if (breast_values[size] > 0.5) - to_chat(H, "Your breasts [pick("shrink down to", "decrease into", "diminish into", "deflate into", "shrivel regretfully into", "contracts into")] a [uppertext(size)]-cup.") + to_chat(H, "Your breasts [pick("shrink down to", "decrease into", "diminish into", "deflate into", "shrivel regretfully into", "contracts into")] a [uppertext(size)]-cup.") H.dna.species.handle_genitals(src) prev_size = size - else - size = "huge" /obj/item/organ/genital/breasts/get_features(mob/living/carbon/human/H) var/datum/dna/D = H.dna @@ -107,12 +115,12 @@ if(!isnum(size)) if(size == "flat") cached_size = 0 - prev_size = 0 - else if (cached_size == "huge") - prev_size = "huge" + else if (size == "huge") + cached_size = 16 else cached_size = breast_values[size] - prev_size = size + prev_size = size else cached_size = size + size = breast_values[size] prev_size = size diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index ff5f216f2f..c79a522405 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -19,8 +19,6 @@ var/list/knotted_types = list("knotted", "barbed, knotted") /obj/item/organ/genital/penis/update_size() - if(cached_length == length) - return if(cached_length < 0)//I don't actually know what round() does to negative numbers, so to be safe!! if(owner) to_chat(owner, "You feel your tallywacker shrinking away from your body as your groin flattens out!") @@ -31,13 +29,13 @@ var/new_size var/enlargement = FALSE switch(round(cached_length)) - if(0 to 6.99) //If modest size + if(0 to 6) //If modest size new_size = 1 - if(7 to 10.99) //If large + if(7 to 10) //If large size = 2 - if(11 to 19.99) //If massive + if(11 to 19) //If massive size = 3 - if(20 to 34.99) //If massive and due for large effects + if(20 to 34) //If massive and due for large effects size = 3 enlargement = TRUE if(35 to INFINITY) //If comical diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm index a4c4e352ac..87e1567eda 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm @@ -52,10 +52,6 @@ if(!B) H.emergent_genital_call() return - if(!B.size == "huge") - var/sizeConv = list("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5) - B.prev_size = B.size - B.cached_size = sizeConv[B.size] /datum/reagent/fermi/breast_enlarger/on_mob_life(mob/living/carbon/M) //Increases breast size if(!ishuman(M))//Just in case @@ -87,7 +83,7 @@ nB.color = skintone2hex(H.skin_tone) nB.size = "flat" nB.cached_size = 0 - nB.prev_size = 0 + nB.prev_size = "flat" to_chat(M, "Your chest feels warm, tingling with newfound sensitivity.") M.reagents.remove_reagent(id, 5) B = nB @@ -123,15 +119,13 @@ P.cached_length = P.cached_length - 0.05 P.update() if(T) - T.Remove(M) + qdel(T) if(!V) - var/obj/item/organ/genital/vagina/nV = new - nV.Insert(M) - V = nV + V = new + V.Insert(M) if(!W) - var/obj/item/organ/genital/womb/nW = new - nW.Insert(M) - W = nW + W = new + W.Insert(M) return ..() /datum/reagent/fermi/BEsmaller @@ -232,8 +226,6 @@ if(!P) H.emergent_genital_call() return - P.prev_length = P.length - P.cached_length = P.length /datum/reagent/fermi/penis_enlarger/on_mob_life(mob/living/carbon/M) //Increases penis size, 5u = +1 inch. if(!ishuman(M)) @@ -273,7 +265,9 @@ P.update() return ..() -/datum/reagent/fermi/penis_enlarger/overdose_process(mob/living/carbon/M) //Turns you into a male if female and ODing, doesn't touch nonbinary and object genders. +/datum/reagent/fermi/penis_enlarger/overdose_process(mob/living/carbon/human/M) //Turns you into a male if female and ODing, doesn't touch nonbinary and object genders. + if(!istype(M)) + return ..() //Acute hepatic pharmacokinesis. if(HAS_TRAIT(M, TRAIT_PHARMA)) var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) @@ -292,14 +286,13 @@ if(B) B.cached_size = B.cached_size - 0.05 B.update() - if(V) - V.Remove(M) + if(M.getorganslot(ORGAN_SLOT_VAGINA)) + qdel(V) if(W) - W.Remove(M) + qdel(W) if(!T) - var/obj/item/organ/genital/testicles/nT = new - nT.Insert(M) - T = nT + T = new + T.Insert(M) return ..() /datum/reagent/fermi/PEsmaller // Due to cozmo's request...! From 6dbac16c74065a6a0c486cc8bb4b33ac33d8491b Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 3 Oct 2019 04:31:11 +0200 Subject: [PATCH 011/136] Sanitizing the fermis code biohazard. --- code/__DEFINES/citadel_defines.dm | 21 --- code/__DEFINES/status_effects.dm | 3 + .../objects/items/devices/compressionkit.dm | 41 ++-- .../chemistry/reagents/other_reagents.dm | 18 -- .../code/datums/status_effects/chems.dm | 170 ++++++++--------- .../code/modules/arousal/genitals.dm | 34 ++-- .../code/modules/arousal/organs/breasts.dm | 63 ++++--- .../code/modules/arousal/organs/penis.dm | 33 ++-- .../chemistry/reagents/enlargement.dm | 176 ++++++++---------- 9 files changed, 251 insertions(+), 308 deletions(-) diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 785dd15417..53e3723912 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -67,27 +67,6 @@ #define BREASTS_VOLUME_BASE 50 //base volume for the reagents in the breasts, multiplied by the size then multiplier. 50u for A cups, 850u for HH cups. #define BREASTS_VOLUME_MULT 1 //global multiplier for breast volume. -#define BREASTS_SIZE_FLAT 0 -#define BREASTS_SIZE_A 1 -#define BREASTS_SIZE_AA 1.5 -#define BREASTS_SIZE_B 2 -#define BREASTS_SIZE_BB 2.5 -#define BREASTS_SIZE_C 3 -#define BREASTS_SIZE_CC 3.5 -#define BREASTS_SIZE_D 4 -#define BREASTS_SIZE_DD 4.5 -#define BREASTS_SIZE_E 5 -#define BREASTS_SIZE_EE 5.5 -#define BREASTS_SIZE_F 6 -#define BREASTS_SIZE_FF 6.5 -#define BREASTS_SIZE_G 7 -#define BREASTS_SIZE_GG 7.5//Are these even real sizes? The world may never know because cup sizes make no fucking sense. -#define BREASTS_SIZE_H 8 -#define BREASTS_SIZE_HH 8.5//Largest size, ever. For now. - -#define BREASTS_SIZE_MIN BREASTS_SIZE_A -#define BREASTS_SIZE_DEF BREASTS_SIZE_C -#define BREASTS_SIZE_MAX BREASTS_SIZE_HH #define MILK_RATE 5 #define MILK_RATE_MULT 1 diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 3cd64af8c7..05309333af 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -72,6 +72,9 @@ #define STATUS_EFFECT_ICHORIAL_STAIN /datum/status_effect/ichorial_stain //Prevents a servant from being revived by vitality matrices for one minute. +#define STATUS_EFFECT_BREASTS_ENLARGEMENT /datum/status_effect/chem/breast_enlarger //Applied slowdown due to the ominous bulk. + +#define STATUS_EFFECT_PENIS_ENLARGEMENT //More applied slowdown, just like the above. ///////////// // NEUTRAL // ///////////// diff --git a/code/game/objects/items/devices/compressionkit.dm b/code/game/objects/items/devices/compressionkit.dm index 5ac958328d..a5a9377690 100644 --- a/code/game/objects/items/devices/compressionkit.dm +++ b/code/game/objects/items/devices/compressionkit.dm @@ -89,30 +89,23 @@ else to_chat(user, "Anomalous error. Summon a coder.") - if(istype(target, /mob/living)) - var/mob/living/victim = target - if(istype(victim, /mob/living/carbon/human)) - if(user.zone_selected == "groin") // pp smol. There's probably a smarter way to do this but im retarded. If you have a simpler method let me know. - var/list/organs = victim.getorganszone("groin") - for(var/internal_organ in organs) - if(istype(internal_organ, /obj/item/organ/genital/penis)) - var/obj/item/organ/genital/penis/O = internal_organ - playsound(get_turf(src), 'sound/weapons/flash.ogg', 50, 1) - victim.visible_message("[user] is preparing to shrink [victim]\'s [O.name] with their bluespace compression kit!") - if(do_mob(user, victim, 40) && charges > 0 && O.length > 0) - victim.visible_message("[user] has shrunk [victim]\'s [O.name]!") - playsound(get_turf(src), 'sound/weapons/emitter2.ogg', 50, 1) - sparks() - flash_lighting_fx(3, 3, LIGHT_COLOR_CYAN) - charges -= 1 - O.length -= 5 - if(O.length < 1) - victim.visible_message("[user]\'s [O.name] vanishes!") - qdel(O) // no pp for you - else - O.update_size() - O.update_appearance() - + else if(ishuman(target) && user.zone_selected == BODY_ZONE_PRECISE_GROIN) + var/mob/living/carbon/human/H = target + var/obj/item/organ/genital/penis/P = H.getorganslot(ORGAN_SLOT_PENIS) + if(!P) + return + playsound(get_turf(src), 'sound/weapons/flash.ogg', 50, 1) + H.visible_message("[user] is preparing to shrink [H]\'s [P.name] with their bluespace compression kit!") + if(do_mob(user, H, 40) && charges > 0 && P.length > 0) + H.visible_message("[user] has shrunk [H]\'s [P.name]!") + playsound(get_turf(src), 'sound/weapons/emitter2.ogg', 50, 1) + sparks() + flash_lighting_fx(3, 3, LIGHT_COLOR_CYAN) + charges -= 1 + var/p_name = P.name + P.modify_size(-5) + if(QDELETED(P)) + H.visible_message("[H]\'s [p_name] vanishes!") /obj/item/compressionkit/attackby(obj/item/I, mob/user, params) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 2f7a8652ba..669ac602dc 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1965,24 +1965,6 @@ M.emote("nya") ..() -//Kept for legacy, I think it will break everything if you enable it. -/datum/reagent/penis_enlargement - name = "Penis Enlargement" - id = "penis_enlargement" - description = "A patented chemical forumula by Doctor Ronald Hyatt that is guaranteed to bring maximum GROWTH and LENGTH to your penis, today!" - color = "#888888" - taste_description = "chinese dragon powder" - metabolization_rate = INFINITY //So it instantly removes all of itself. Don't want to put strain on the system. - -/datum/reagent/penis_enlargement/on_mob_life(mob/living/carbon/C) - var/obj/item/organ/genital/penis/P = C.getorganslot(ORGAN_SLOT_PENIS) - if(P) - var/added_length = round(volume/30,0.01) //Every 30u gives an extra inch. Rounded to the nearest 0.01 so float fuckery doesn't occur with the division by 30. - if(added_length >= 0.20) //Only add the length if it's greater than or equal to 0.2. This is to prevent people from smoking the reagents and causing the penis to update constantly. - P.length += added_length - P.update() - ..() - /datum/reagent/changeling_string name = "UNKNOWN" id = "changeling_sting_real" diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 4bc83d2af6..a14c490999 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -37,64 +37,62 @@ alert_type = null var/moveCalc = 1 var/cachedmoveCalc = 1 + var/last_checked_size //used to prevent potential cpu waste from happening every tick. -/datum/status_effect/chem/breast_enlarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now. +/datum/status_effect/chem/breast_enlarger/on_apply()//Removes clothes, they're too small to contain you. You belong to space now. log_game("FERMICHEM: [owner]'s breasts has reached comical sizes. ID: [owner.key]") - var/mob/living/carbon/human/o = owner - var/items = o.get_contents() - for(var/obj/item/W in items) - if(W == o.w_uniform || W == o.wear_suit) - o.dropItemToGround(W, TRUE) - playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) - to_chat(o, "Your clothes give, ripping into peices under the strain of your swelling breasts! Unless you manage to reduce the size of your breasts, there's no way you're going to be able to put anything on over these melons..!") - o.visible_message("[o]'s chest suddenly bursts forth, ripping their clothes off!'") - else - to_chat(o, "Your bountiful bosom is so rich with mass, you seriously doubt you'll be able to fit any clothes over it.") - return ..() + var/mob/living/carbon/human/H = owner + var/message = FALSE + if(H.w_uniform) + H.dropItemToGround(H.w_uniform, TRUE) + message = TRUE + if(H.wear_suit) + H.dropItemToGround(H.wear_suit, TRUE) + message = TRUE + if(message) + playsound(H.loc, 'sound/items/poster_ripped.ogg', 50, 1) + H.visible_message("[H]'s chest suddenly bursts forth, ripping their clothes off!'", \ + "Your clothes give, ripping into peices under the strain of your swelling breasts! Unless you manage to reduce the size of your breasts, there's no way you're going to be able to put anything on over these melons..!") + else + to_chat(H, "Your bountiful bosom is so rich with mass, you seriously doubt you'll be able to fit any clothes over it.") + return ..() -/datum/status_effect/chem/breast_enlarger/tick(mob/living/carbon/human/H)//If you try to wear clothes, you fail. Slows you down if you're comically huge - var/mob/living/carbon/human/o = owner - var/obj/item/organ/genital/breasts/B = o.getorganslot("breasts") - moveCalc = 1+((round(B.cached_size) - 9)/3) //Afffects how fast you move, and how often you can click. +/datum/status_effect/chem/breast_enlarger/tick()//If you try to wear clothes, you fail. Slows you down if you're comically huge + var/mob/living/carbon/human/H = owner + var/obj/item/organ/genital/breasts/B = H.getorganslot(ORGAN_SLOT_BREASTS) if(!B) - o.remove_movespeed_modifier(BREAST_MOVEMENT_SPEED) - sizeMoveMod(1) - owner.remove_status_effect(src) - var/items = o.get_contents() - for(var/obj/item/W in items) - if(W == o.w_uniform || W == o.wear_suit) - o.dropItemToGround(W, TRUE) - playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) - to_chat(owner, "Your enormous breasts are way too large to fit anything over them!") + H.remove_status_effect(src) + return + moveCalc = 1+((round(B.cached_size) - 9)/3) //Afffects how fast you move, and how often you can click. + var/message = FALSE + if(H.w_uniform) + H.dropItemToGround(H.w_uniform, TRUE) + message = TRUE + if(H.wear_suit) + H.dropItemToGround(H.wear_suit, TRUE) + message = TRUE + if(message) + playsound(H.loc, 'sound/items/poster_ripped.ogg', 50, 1) + to_chat(H, "Your enormous breasts are way too large to fit anything over them!") + + if(last_checked_size != B.cached_size) + H.add_movespeed_modifier(BREAST_MOVEMENT_SPEED, TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc) + sizeMoveMod(moveCalc) + if (B.size == "huge") if(prob(1)) to_chat(owner, "Your back is feeling sore.") - var/target = o.get_bodypart(BODY_ZONE_CHEST) - o.apply_damage(0.1, BRUTE, target) - if(!B.cached_size == B.breast_values[B.prev_size]) - o.add_movespeed_modifier(BREAST_MOVEMENT_SPEED, TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc) - sizeMoveMod(moveCalc) - return ..() - else if (B.breast_values[B.size] > B.breast_values[B.prev_size]) - o.add_movespeed_modifier(BREAST_MOVEMENT_SPEED, TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc) - sizeMoveMod(moveCalc) - else if (B.breast_values[B.size] < B.breast_values[B.prev_size]) - o.add_movespeed_modifier(BREAST_MOVEMENT_SPEED, TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc) - sizeMoveMod(moveCalc) - if((B.cached_size) < 16) - switch(round(B.cached_size)) - if(9) - if (B.breast_values[B.prev_size] != B.breast_values[B.size]) - to_chat(o, "Your expansive chest has become a more managable size, liberating your movements.") - if(10 to INFINITY) - if (B.breast_values[B.prev_size] != B.breast_values[B.size]) - to_chat(H, "Your indulgent busom is so substantial, it's affecting your movements!") + var/target = H.get_bodypart(BODY_ZONE_CHEST) + H.apply_damage(0.1, BRUTE, target) + else if(prob(1)) - to_chat(owner, "Your back is feeling a little sore.") - ..() + to_chat(H, "Your back is feeling a little sore.") + last_checked_size = B.cached_size + ..() -/datum/status_effect/chem/breast_enlarger/on_remove(mob/living/carbon/M) +/datum/status_effect/chem/breast_enlarger/on_remove() log_game("FERMICHEM: [owner]'s breasts has reduced to an acceptable size. ID: [owner.key]") + to_chat(owner, "Your expansive chest has become a more managable size, liberating your movements.") owner.remove_movespeed_modifier(BREAST_MOVEMENT_SPEED) sizeMoveMod(1) @@ -112,51 +110,57 @@ alert_type = null var/bloodCalc var/moveCalc + var/last_checked_size //used to prevent potential cpu waste, just like the above. -/datum/status_effect/chem/penis_enlarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now. +/datum/status_effect/chem/penis_enlarger/on_apply()//Removes clothes, they're too small to contain you. You belong to space now. log_game("FERMICHEM: [owner]'s dick has reached comical sizes. ID: [owner.key]") - var/mob/living/carbon/human/o = owner - var/items = o.get_contents() - if(o.w_uniform || o.wear_suit) - to_chat(o, "Your clothes give, ripping into peices under the strain of your swelling pecker! Unless you manage to reduce the size of your emancipated trouser snake, there's no way you're going to be able to put anything on over this girth..!") - owner.visible_message("[o]'s schlong suddenly bursts forth, ripping their clothes off!'") + var/mob/living/carbon/human/H = owner + var/message = FALSE + if(H.w_uniform) + H.dropItemToGround(H.w_uniform, TRUE) + message = TRUE + if(H.wear_suit) + H.dropItemToGround(H.wear_suit, TRUE) + message = TRUE + if(message) + playsound(H.loc, 'sound/items/poster_ripped.ogg', 50, 1) + H.visible_message("[H]'s schlong suddenly bursts forth, ripping their clothes off!'", \ + "Your clothes give, ripping into peices under the strain of your swelling pecker! Unless you manage to reduce the size of your emancipated trouser snake, there's no way you're going to be able to put anything on over this girth..!") else - to_chat(o, "Your emancipated trouser snake is so ripe with girth, you seriously doubt you'll be able to fit any clothes over it.") - for(var/obj/item/W in items) - if(W == o.w_uniform || W == o.wear_suit) - o.dropItemToGround(W, TRUE) - playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) + to_chat(H, "Your emancipated trouser snake is so ripe with girth, you seriously doubt you'll be able to fit any clothes over it.") return ..() -/datum/status_effect/chem/penis_enlarger/tick(mob/living/carbon/M) - var/mob/living/carbon/human/o = owner - var/obj/item/organ/genital/penis/P = o.getorganslot("penis") +/datum/status_effect/chem/penis_enlarger/tick() + var/mob/living/carbon/human/H = owner + var/obj/item/organ/genital/penis/P = H.getorganslot(ORGAN_SLOT_PENIS) + if(!P) + owner.remove_status_effect(src) + return moveCalc = 1+((round(P.length) - 21)/3) //effects how fast you can move bloodCalc = 1+((round(P.length) - 21)/15) //effects how much blood you need (I didn' bother adding an arousal check because I'm spending too much time on this organ already.) - if(!P) - o.remove_movespeed_modifier(DICK_MOVEMENT_SPEED) - o.ResetBloodVol() - owner.remove_status_effect(src) - var/items = o.get_contents() - for(var/obj/item/W in items) - if(W == o.w_uniform || W == o.wear_suit) - o.dropItemToGround(W, TRUE) - playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) - to_chat(owner, "Your enormous package is way to large to fit anything over!") - switch(round(P.cached_length)) - if(21) - to_chat(o, "Your rascally willy has become a more managable size, liberating your movements.") - o.remove_movespeed_modifier(DICK_MOVEMENT_SPEED) - o.AdjustBloodVol(bloodCalc) - if(22 to INFINITY) - if(prob(2)) - to_chat(o, "Your indulgent johnson is so substantial, it's taking all your blood and affecting your movements!") - o.add_movespeed_modifier(DICK_MOVEMENT_SPEED, TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc) - o.AdjustBloodVol(bloodCalc) + + var/message = FALSE + if(H.w_uniform) + H.dropItemToGround(H.w_uniform, TRUE) + message = TRUE + if(H.wear_suit) + H.dropItemToGround(H.wear_suit, TRUE) + message = TRUE + if(message) + playsound(H.loc, 'sound/items/poster_ripped.ogg', 50, 1) + to_chat(H, "Your enormous package is way to large to fit anything over!") + + if(P.length < 22 && H.has_movespeed_modifier(DICK_MOVEMENT_SPEED)) + to_chat(owner, "Your rascally willy has become a more managable size, liberating your movements.") + H.remove_movespeed_modifier(DICK_MOVEMENT_SPEED) + else if(P.length >= 22 && !H.has_movespeed_modifier(DICK_MOVEMENT_SPEED)) + to_chat(H, "Your indulgent johnson is so substantial, it's taking all your blood and affecting your movements!") + H.add_movespeed_modifier(DICK_MOVEMENT_SPEED, TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc) + H.AdjustBloodVol(bloodCalc) ..() -/datum/status_effect/chem/penis_enlarger/on_remove(mob/living/carbon/human/o) +/datum/status_effect/chem/penis_enlarger/on_remove() log_game("FERMICHEM: [owner]'s dick has reduced to an acceptable size. ID: [owner.key]") owner.remove_movespeed_modifier(DICK_MOVEMENT_SPEED) owner.ResetBloodVol() diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index 7b3b637e26..593874496a 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -105,6 +105,9 @@ picked_organ.toggle_visibility(picked_visibility) return +/obj/item/organ/genital/proc/modify_size(modifier, min = -INFINITY, max = INFINITY) + return + /obj/item/organ/genital/proc/update_size() return @@ -215,34 +218,23 @@ if(!QDELETED(src)) dna.species.handle_genitals(src) -//fermichem procs -/mob/living/carbon/human/proc/Force_update_genitals(mob/living/carbon/human/H) //called in fermiChem - dna.species.handle_genitals(src)//should work. - //dna.species.handle_breasts(src) - //Checks to see if organs are new on the mob, and changes their colours so that they don't get crazy colours. /mob/living/carbon/human/proc/emergent_genital_call() - var/organCheck = FALSE - var/breastCheck = FALSE - var/willyCheck = FALSE if(!canbearoused) - ADD_TRAIT(src, TRAIT_PHARMA, "pharma")//Prefs prevent unwanted organs. - return - for(var/O in internal_organs) - if(istype(O, /obj/item/organ/genital)) - organCheck = TRUE - if(istype(O, /obj/item/organ/genital/penis)) - willyCheck = TRUE - if(istype(O, /obj/item/organ/genital/breasts)) - breastCheck = TRUE + return FALSE + + var/organCheck = locate(/obj/item/organ/genital) in internal_organs + var/breastCheck = getorganslot(ORGAN_SLOT_BREASTS) + var/willyCheck = getorganslot(ORGAN_SLOT_PENIS) + if(organCheck == FALSE) if(ishuman(src) && dna.species.id == "human") dna.features["genitals_use_skintone"] = TRUE dna.species.use_skintones = TRUE if(MUTCOLORS) if(src.dna.species.fixed_mut_color) - dna.features["cock_color"] = "[src.dna.species.fixed_mut_color]" - dna.features["breasts_color"] = "[src.dna.species.fixed_mut_color]" + dna.features["cock_color"] = "[dna.species.fixed_mut_color]" + dna.features["breasts_color"] = "[dna.species.fixed_mut_color]" return //So people who haven't set stuff up don't get rainbow surprises. dna.features["cock_color"] = "[dna.features["mcolor"]]" @@ -252,7 +244,7 @@ dna.features["breasts_color"] = dna.features["cock_color"] else if (willyCheck == FALSE) dna.features["cock_color"] = dna.features["breasts_color"] - return + return TRUE /datum/species/proc/handle_genitals(mob/living/carbon/human/H)//more like handle sadness if(!H)//no args @@ -263,6 +255,7 @@ for(var/L in relevant_layers) //Less hardcode H.remove_overlay(L) + H.remove_overlay(GENITALS_EXPOSED_LAYER) //start scanning for genitals var/list/gen_index[GENITAL_LAYER_INDEX_LENGTH] @@ -329,6 +322,7 @@ if(LAZYLEN(fully_exposed)) H.overlays_standing[GENITALS_EXPOSED_LAYER] = fully_exposed + H.apply_overlay(GENITALS_EXPOSED_LAYER) for(var/L in relevant_layers) H.apply_overlay(L) diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index 08b99eabfa..fe502ab66e 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -5,22 +5,21 @@ icon = 'modular_citadel/icons/obj/genitals/breasts.dmi' zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_BREASTS - size = BREASTS_SIZE_DEF + size = "c" //refer to the breast_values static list below for the cups associated number values fluid_id = "milk" shape = "pair" genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH|GENITAL_FUID_PRODUCTION masturbation_verb = "massage" orgasm_verb = "leaking" fluid_transfer_factor = 0.5 - var/list/static/breast_values = list("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5, "f" = 6, "g" = 7, "h" = 8, "i" = 9, "j" = 10, "k" = 11, "l" = 12, "m" = 13, "n" = 14, "o" = 15, "huge" = 16, "flat" = 0) - var/cached_size //for enlargement SHOULD BE A NUMBER - var/prev_size //For flavour texts SHOULD BE A LETTER + var/static/list/breast_values = list("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5, "f" = 6, "g" = 7, "h" = 8, "i" = 9, "j" = 10, "k" = 11, "l" = 12, "m" = 13, "n" = 14, "o" = 15, "huge" = 16, "flat" = 0) + var/cached_size //these two vars pertain size modifications and so should be expressed in NUMBERS. + var/prev_size //former cached_size value, to allow update_size() to early return should be there no significant changes. /obj/item/organ/genital/breasts/Initialize(mapload, mob/living/carbon/human/H) if(!H) - cached_size = size - size = breast_values[size] - prev_size = size + cached_size = breast_values[size] + prev_size = cached_size return ..() /obj/item/organ/genital/breasts/update_appearance() @@ -67,41 +66,47 @@ //Rediculous sizes makes you more cumbersome. //this is far too lewd wah +/obj/item/organ/genital/breasts/modify_size(modifier, min = -INFINITY, max = INFINITY) + var/new_value = CLAMP(cached_size + modifier, min, max) + if(new_value == prev_size) + return + prev_size = cached_size + cached_size = new_value + update() + /obj/item/organ/genital/breasts/update_size()//wah + var/rounded_cached = round(cached_size) if(cached_size < 0)//I don't actually know what round() does to negative numbers, so to be safe!!fixed if(owner) to_chat(owner, "You feel your breasts shrinking away from your body as your chest flattens out.") QDEL_IN(src, 1) return var/enlargement = FALSE - switch(round(cached_size)) + switch(rounded_cached) if(0) //flatchested size = "flat" if(1 to 8) //modest - size = breast_values[round(cached_size)] + size = breast_values[rounded_cached] if(9 to 15) //massive - size = breast_values[round(cached_size)] + size = breast_values[rounded_cached] enlargement = TRUE if(16 to INFINITY) //rediculous size = "huge" enlargement = TRUE if(owner) - var/status_effect = owner.has_status_effect(/datum/status_effect/chem/breast_enlarger) + var/status_effect = owner.has_status_effect(STATUS_EFFECT_BREASTS_ENLARGEMENT) if(enlargement && !status_effect) - owner.apply_status_effect(/datum/status_effect/chem/breast_enlarger) + owner.apply_status_effect(STATUS_EFFECT_BREASTS_ENLARGEMENT) else if(status_effect) - owner.remove_status_effect(/datum/status_effect/chem/breast_enlarger) + owner.remove_status_effect(STATUS_EFFECT_BREASTS_ENLARGEMENT) - if(round(cached_size) < 16)//Because byond doesn't count from 0, I have to do this. - if(owner) - var/mob/living/carbon/human/H = owner - if (breast_values[size] > breast_values[prev_size]) - to_chat(H, "Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a [uppertext(size)]-cup.") - H.dna.species.handle_genitals(src) - else if (breast_values[size] > 0.5) - to_chat(H, "Your breasts [pick("shrink down to", "decrease into", "diminish into", "deflate into", "shrivel regretfully into", "contracts into")] a [uppertext(size)]-cup.") - H.dna.species.handle_genitals(src) - prev_size = size + if(rounded_cached < 16 && owner)//Because byond doesn't count from 0, I have to do this. + var/mob/living/carbon/human/H = owner + var/r_prev_size = round(prev_size) + if (rounded_cached > r_prev_size) + to_chat(H, "Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a [uppertext(size)]-cup.") + else if (rounded_cached < r_prev_size) + to_chat(H, "Your breasts [pick("shrink down to", "decrease into", "diminish into", "deflate into", "shrivel regretfully into", "contracts into")] a [uppertext(size)]-cup.") /obj/item/organ/genital/breasts/get_features(mob/living/carbon/human/H) var/datum/dna/D = H.dna @@ -112,15 +117,11 @@ size = D.features["breasts_size"] shape = D.features["breasts_shape"] fluid_id = D.features["breasts_fluid"] + if(!D.features["breasts_producing"]) + DISABLE_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION) if(!isnum(size)) - if(size == "flat") - cached_size = 0 - else if (size == "huge") - cached_size = 16 - else - cached_size = breast_values[size] - prev_size = size + cached_size = breast_values[size] else cached_size = size size = breast_values[size] - prev_size = size + prev_size = cached_size diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index c79a522405..5df9f30fdd 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -12,42 +12,47 @@ layer_index = PENIS_LAYER_INDEX var/length = 6 //inches var/prev_length = 6 //really should be renamed to prev_length - var/cached_length //used to detect a change in length var/girth = 4.38 var/girth_ratio = COCK_GIRTH_RATIO_DEF //0.73; check citadel_defines.dm - var/knot_girth_ratio = KNOT_GIRTH_RATIO_DEF - var/list/knotted_types = list("knotted", "barbed, knotted") + +/obj/item/organ/genital/penis/modify_size(modifier, min = -INFINITY, max = INFINITY) + var/new_value = CLAMP(length + modifier, min, max) + if(new_value == prev_length) + return + prev_length = length + length = CLAMP(length + modifier, min, max) + update() /obj/item/organ/genital/penis/update_size() - if(cached_length < 0)//I don't actually know what round() does to negative numbers, so to be safe!! + if(length < 0)//I don't actually know what round() does to negative numbers, so to be safe!! if(owner) to_chat(owner, "You feel your tallywacker shrinking away from your body as your groin flattens out!") QDEL_IN(src, 1) if(linked_organ) QDEL_IN(linked_organ, 1) return + var/rounded_length = round(length) var/new_size var/enlargement = FALSE - switch(round(cached_length)) + switch(rounded_length) if(0 to 6) //If modest size new_size = 1 if(7 to 10) //If large - size = 2 + new_size = 2 if(11 to 19) //If massive - size = 3 + new_size = 3 if(20 to 34) //If massive and due for large effects - size = 3 + new_size = 3 enlargement = TRUE if(35 to INFINITY) //If comical - size = 4 //no new sprites for anything larger yet + new_size = 4 //no new sprites for anything larger yet enlargement = TRUE - length = cached_length if(owner) - var/status_effect = owner.has_status_effect(/datum/status_effect/chem/penis_enlarger) + var/status_effect = owner.has_status_effect(STATUS_EFFECT_PENIS_ENLARGEMENT) if(enlargement && !status_effect) - owner.apply_status_effect(/datum/status_effect/chem/penis_enlarger) + owner.apply_status_effect(STATUS_EFFECT_PENIS_ENLARGEMENT) else if(status_effect) - owner.remove_status_effect(/datum/status_effect/chem/penis_enlarger) + owner.remove_status_effect(STATUS_EFFECT_PENIS_ENLARGEMENT) if(linked_organ) linked_organ.update_size(new_size - size) size = new_size @@ -57,7 +62,6 @@ to_chat(owner, "Your [pick(GLOB.gentlemans_organ_names)] [pick("swells up to", "flourishes into", "expands into", "bursts forth into", "grows eagerly into", "amplifys into")] a [uppertext(round(length))] inch penis.") else if ((round(length) < round(prev_length)) && (length > 0.5)) to_chat(owner, "Your [pick(GLOB.gentlemans_organ_names)] [pick("shrinks down to", "decreases into", "diminishes into", "deflates into", "shrivels regretfully into", "contracts into")] a [uppertext(round(length))] inch penis.") - prev_length = length icon_state = sanitize_text("penis_[shape]_[size]") girth = (length * girth_ratio)//Is it just me or is this ludicous, why not make it exponentially decay? @@ -92,4 +96,3 @@ girth_ratio = D.features["cock_girth_ratio"] shape = D.features["cock_shape"] prev_length = length - cached_length = length diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm index 87e1567eda..d6e0297581 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm @@ -30,6 +30,7 @@ InverseChemVal = 0.35 InverseChem = "BEsmaller" //At really impure vols, it just becomes 100% inverse can_synth = FALSE + var/message_spam = FALSE /datum/reagent/fermi/breast_enlarger/on_mob_metabolize(mob/living/M) . = ..() @@ -45,13 +46,9 @@ B.throw_at(T2, 8, 1) M.reagents.remove_reagent(id, volume) return - log_game("FERMICHEM: [M] ckey: [M.key] has ingested Sucubus milk") var/mob/living/carbon/human/H = M - H.genital_override = TRUE - var/obj/item/organ/genital/breasts/B = H.getorganslot(ORGAN_SLOT_BREASTS) - if(!B) - H.emergent_genital_call() - return + if(!H.getorganslot(ORGAN_SLOT_BREASTS) && H.emergent_genital_call()) + H.genital_override = TRUE /datum/reagent/fermi/breast_enlarger/on_mob_life(mob/living/carbon/M) //Increases breast size if(!ishuman(M))//Just in case @@ -62,46 +59,45 @@ if(!B) //If they don't have breasts, give them breasts. //If they have Acute hepatic pharmacokinesis, then route processing though liver. - if(HAS_TRAIT(M, TRAIT_PHARMA)) - var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) + if(HAS_TRAIT(H, TRAIT_PHARMA) || !H.canbearoused) + var/obj/item/organ/liver/L = H.getorganslot(ORGAN_SLOT_LIVER) if(L) - L.swelling+= 0.05 - return..() + L.swelling += 0.05 else - M.adjustToxLoss(1) - return..() + H.adjustToxLoss(1) + return..() //otherwise proceed as normal - var/obj/item/organ/genital/breasts/nB = new - nB.Insert(M) - if(nB) - if(M.dna.species.use_skintones && M.dna.features["genitals_use_skintone"]) - nB.color = skintone2hex(H.skin_tone) - else if(M.dna.features["breasts_color"]) - nB.color = "#[M.dna.features["breasts_color"]]" - else - nB.color = skintone2hex(H.skin_tone) - nB.size = "flat" - nB.cached_size = 0 - nB.prev_size = "flat" - to_chat(M, "Your chest feels warm, tingling with newfound sensitivity.") - M.reagents.remove_reagent(id, 5) - B = nB + B = new + if(H.dna.species.use_skintones && H.dna.features["genitals_use_skintone"]) + B.color = skintone2hex(H.skin_tone) + else if(M.dna.features["breasts_color"]) + B.color = "#[M.dna.features["breasts_color"]]" + else + B.color = skintone2hex(H.skin_tone) + B.size = "flat" + B.cached_size = 0 + B.prev_size = 0 + to_chat(H, "Your chest feels warm, tingling with newfound sensitivity.") + H.reagents.remove_reagent(id, 5) + B.Insert(H) + //If they have them, increase size. If size is comically big, limit movement and rip clothes. - B.cached_size = B.cached_size + 0.05 - if (B.cached_size >= 8.5 && B.cached_size < 9) - if(H.w_uniform || H.wear_suit) - var/target = M.get_bodypart(BODY_ZONE_CHEST) - to_chat(M, "Your breasts begin to strain against your clothes tightly!") - M.adjustOxyLoss(5, 0) - M.apply_damage(1, BRUTE, target) - B.update() + B.modify_size(0.05) + + if (ISINRANGE_EX(B.cached_size, 8.5, 9) && (H.w_uniform || H.wear_suit)) + var/target = H.get_bodypart(BODY_ZONE_CHEST) + if(!message_spam) + to_chat(H, "Your breasts begin to strain against your clothes tightly!") + message_spam = TRUE + H.adjustOxyLoss(5, 0) + H.apply_damage(1, BRUTE, target) return ..() /datum/reagent/fermi/breast_enlarger/overdose_process(mob/living/carbon/M) //Turns you into a female if male and ODing, doesn't touch nonbinary and object genders. //Acute hepatic pharmacokinesis. - if(HAS_TRAIT(M, TRAIT_PHARMA)) + if(HAS_TRAIT(M, TRAIT_PHARMA) || !M.canbearoused) var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) L.swelling+= 0.05 return ..() @@ -116,8 +112,7 @@ M.visible_message("[M] suddenly looks more feminine!", "You suddenly feel more feminine!") if(P) - P.cached_length = P.cached_length - 0.05 - P.update() + P.modify_size(-0.05) if(T) qdel(T) if(!V) @@ -141,15 +136,14 @@ var/obj/item/organ/genital/breasts/B = M.getorganslot(ORGAN_SLOT_BREASTS) if(!B) //Acute hepatic pharmacokinesis. - if(HAS_TRAIT(M, TRAIT_PHARMA)) + if(HAS_TRAIT(M, TRAIT_PHARMA) || !M.canbearoused) var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) L.swelling-= 0.05 return ..() //otherwise proceed as normal return..() - B.cached_size = B.cached_size - 0.05 - B.update() + B.modify_size(-0.05) return ..() /datum/reagent/fermi/BEsmaller_hypo @@ -176,15 +170,13 @@ var/obj/item/organ/genital/breasts/B = M.getorganslot(ORGAN_SLOT_BREASTS) if(!B) return..() - if(!M.dna.features["has_breasts"])//Fast fix for those who don't want it. - B.cached_size = B.cached_size - 0.1 - B.update() - else if(B.cached_size > (sizeConv[M.dna.features["breasts_size"]]+0.1)) - B.cached_size = B.cached_size - 0.05 - B.update() - else if(B.cached_size < (sizeConv[M.dna.features["breasts_size"]])+0.1) - B.cached_size = B.cached_size + 0.05 - B.update() + var/optimal_size = B.breast_values[M.dna.features["breasts_size"]] + if(!optimal_size)//Fast fix for those who don't want it. + B.modify_size(-0.1) + else if(B.cached_size > optimal_size) + B.modify_size(-0.05, optimal_size) + else if(B.cached_size < optimal_size) + B.modify_size(0.05, 0, optimal_size) return ..() //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -205,6 +197,7 @@ InverseChemVal = 0.35 InverseChem = "PEsmaller" //At really impure vols, it just becomes 100% inverse and shrinks instead. can_synth = FALSE + var/message_spam = FALSE /datum/reagent/fermi/penis_enlarger/on_mob_metabolize(mob/living/M) . = ..() @@ -221,55 +214,48 @@ M.reagents.remove_reagent(id, volume) return var/mob/living/carbon/human/H = M - H.genital_override = TRUE - var/obj/item/organ/genital/penis/P = M.getorganslot(ORGAN_SLOT_PENIS) - if(!P) - H.emergent_genital_call() - return + if(!H.getorganslot(ORGAN_SLOT_PENIS) && H.emergent_genital_call()) + H.genital_override = TRUE /datum/reagent/fermi/penis_enlarger/on_mob_life(mob/living/carbon/M) //Increases penis size, 5u = +1 inch. if(!ishuman(M)) - return + return ..() var/mob/living/carbon/human/H = M - var/obj/item/organ/genital/penis/P = M.getorganslot(ORGAN_SLOT_PENIS) + var/obj/item/organ/genital/penis/P = H.getorganslot(ORGAN_SLOT_PENIS) if(!P)//They do have a preponderance for escapism, or so I've heard. //If they have Acute hepatic pharmacokinesis, then route processing though liver. - if(HAS_TRAIT(M, TRAIT_PHARMA)) - var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) + if(HAS_TRAIT(H, TRAIT_PHARMA) || !H.canbearoused) + var/obj/item/organ/liver/L = H.getorganslot(ORGAN_SLOT_LIVER) if(L) - L.swelling+= 0.05 - return..() + L.swelling += 0.05 else - M.adjustToxLoss(1) - return..() + H.adjustToxLoss(1) + return ..() //otherwise proceed as normal - var/obj/item/organ/genital/penis/nP = new - nP.Insert(M) - if(nP) - nP.length = 1 - to_chat(M, "Your groin feels warm, as you feel a newly forming bulge down below.") - nP.cached_length = 1 - nP.prev_length = 1 - M.reagents.remove_reagent(id, 5) - P = nP + P = new + P.length = 1 + to_chat(H, "Your groin feels warm, as you feel a newly forming bulge down below.") + P.prev_length = 1 + H.reagents.remove_reagent(id, 5) + P.Insert(H) - P.cached_length = P.cached_length + 0.1 - if (P.cached_length >= 20.5 && P.cached_length < 21) - if(H.w_uniform || H.wear_suit) - var/target = M.get_bodypart(BODY_ZONE_CHEST) - to_chat(M, "Your cock begin to strain against your clothes tightly!") - M.apply_damage(2.5, BRUTE, target) + P.modify_size(0.1) + if (ISINRANGE_EX(P.length, 20.5, 21) && (H.w_uniform || H.wear_suit)) + var/target = H.get_bodypart(BODY_ZONE_CHEST) + if(!message_spam) + to_chat(H, "Your cock begin to strain against your clothes tightly!") + message_spam = TRUE + H.apply_damage(2.5, BRUTE, target) - P.update() return ..() /datum/reagent/fermi/penis_enlarger/overdose_process(mob/living/carbon/human/M) //Turns you into a male if female and ODing, doesn't touch nonbinary and object genders. if(!istype(M)) return ..() //Acute hepatic pharmacokinesis. - if(HAS_TRAIT(M, TRAIT_PHARMA)) + if(HAS_TRAIT(M, TRAIT_PHARMA) || !M.canbearoused) var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) L.swelling+= 0.05 return..() @@ -284,8 +270,7 @@ M.visible_message("[M] suddenly looks more masculine!", "You suddenly feel more masculine!") if(B) - B.cached_size = B.cached_size - 0.05 - B.update() + B.modify_size(-0.05) if(M.getorganslot(ORGAN_SLOT_VAGINA)) qdel(V) if(W) @@ -305,6 +290,8 @@ can_synth = FALSE /datum/reagent/fermi/PEsmaller/on_mob_life(mob/living/carbon/M) + if(!ishuman(M)) + return ..() var/mob/living/carbon/human/H = M var/obj/item/organ/genital/penis/P = H.getorganslot(ORGAN_SLOT_PENIS) if(!P) @@ -312,12 +299,9 @@ if(HAS_TRAIT(M, TRAIT_PHARMA)) var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) L.swelling-= 0.05 - return..() - - //otherwise proceed as normal return..() - P.cached_length = P.cached_length - 0.1 - P.update() + + P.modify_size(-0.1) ..() /datum/reagent/fermi/PEsmaller_hypo @@ -334,6 +318,8 @@ if(!ishuman(M)) return var/mob/living/carbon/human/H = M + if(!H.getorganslot(ORGAN_SLOT_PENIS) && H.dna.features["has_cock"]) + H.give_genital(/obj/item/organ/genital/penis) if(!H.getorganslot(ORGAN_SLOT_TESTICLES) && H.dna.features["has_balls"]) H.give_genital(/obj/item/organ/genital/testicles) @@ -341,13 +327,11 @@ var/obj/item/organ/genital/penis/P = M.getorganslot(ORGAN_SLOT_PENIS) if(!P) return ..() - if(!M.dna.features["has_cock"])//Fast fix for those who don't want it. - P.cached_length = P.cached_length - 0.2 - P.update() - else if(P.cached_length > (M.dna.features["cock_length"]+0.1)) - P.cached_length = P.cached_length - 0.1 - P.update() - else if(P.cached_length < (M.dna.features["cock_length"]+0.1)) - P.cached_length = P.cached_length + 0.1 - P.update() + var/optimal_size = M.dna.features["cock_length"] + if(!optimal_size)//Fast fix for those who don't want it. + P.modify_size(-0.2) + else if(P.length > optimal_size) + P.modify_size(-0.1, optimal_size) + else if(P.length < optimal_size) + P.modify_size(0.1, 0, optimal_size) return ..() From 8a36c007cd3384f14b1e6f3a6d347044d82250db Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 3 Oct 2019 04:38:36 +0200 Subject: [PATCH 012/136] unatomized sin. --- code/modules/mob/living/carbon/human/species.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index d2e8cab240..9e3b40c9d3 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -507,7 +507,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(H.hidden_underwear) H.underwear = "Nude" else - H.saved_underwear = H.underwear + H.underwear = H.saved_underwear var/datum/sprite_accessory/underwear/bottom/B = GLOB.underwear_list[H.underwear] if(B) var/mutable_appearance/MA = mutable_appearance(B.icon, B.icon_state, -BODY_LAYER) @@ -519,7 +519,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(H.hidden_undershirt) H.undershirt = "Nude" else - H.saved_undershirt = H.undershirt + H.undershirt = H.saved_undershirt var/datum/sprite_accessory/underwear/top/T = GLOB.undershirt_list[H.undershirt] if(T) var/mutable_appearance/MA @@ -535,7 +535,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(H.hidden_socks) H.socks = "Nude" else - H.saved_socks = H.socks + H.socks = H.saved_socks var/datum/sprite_accessory/underwear/socks/S = GLOB.socks_list[H.socks] if(S) var/digilegs = (DIGITIGRADE in species_traits) ? "_d" : "" From 7c77f2d2e3b7c90c8f1a54f6b4bf5b2a0835b233 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 3 Oct 2019 08:57:35 +0200 Subject: [PATCH 013/136] testing... --- code/__DEFINES/status_effects.dm | 2 +- .../code/modules/arousal/genitals.dm | 14 +++++++++++--- .../code/modules/arousal/organs/breasts.dm | 4 ++-- .../code/modules/arousal/organs/penis.dm | 10 ++++++---- .../code/modules/arousal/organs/testicles.dm | 15 +++++---------- modular_citadel/icons/obj/genitals/hud.dmi | Bin 2019 -> 1992 bytes 6 files changed, 25 insertions(+), 20 deletions(-) diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 05309333af..135a8eb679 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -74,7 +74,7 @@ #define STATUS_EFFECT_BREASTS_ENLARGEMENT /datum/status_effect/chem/breast_enlarger //Applied slowdown due to the ominous bulk. -#define STATUS_EFFECT_PENIS_ENLARGEMENT //More applied slowdown, just like the above. +#define STATUS_EFFECT_PENIS_ENLARGEMENT /datum/status_effect/chem/penis_enlarger //More applied slowdown, just like the above. ///////////// // NEUTRAL // ///////////// diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index 593874496a..d94f70ecef 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -16,7 +16,7 @@ var/aroused_state = FALSE //Boolean used in icon_state strings var/aroused_amount = 50 //This is a num from 0 to 100 for arousal percentage for when to use arousal state icons. var/obj/item/organ/genital/linked_organ - var/linked_organ_slot //only one of the two organs needs this to be set up. update_link() will handle linking the rest. + var/linked_organ_slot //used for linking an apparatus' organ to its other half on update_link(). var/layer_index = GENITAL_LAYER_INDEX //Order should be very important. FIRST vagina, THEN testicles, THEN penis, as this affects the order they are rendered in. /obj/item/organ/genital/Initialize(mapload, mob/living/carbon/human/H) @@ -114,7 +114,6 @@ /obj/item/organ/genital/proc/update_appearance() if(!owner || owner.stat == DEAD) aroused_state = FALSE - return /obj/item/organ/genital/on_life() if(!reagents || !owner) @@ -138,9 +137,13 @@ /obj/item/organ/genital/proc/update_link(removing = FALSE) if(!removing && owner) + if(linked_organ) + return linked_organ = owner.getorganslot(linked_organ_slot) if(linked_organ) linked_organ.linked_organ = src + linked_organ.upon_link() + upon_link() return TRUE else if(linked_organ) @@ -148,11 +151,15 @@ linked_organ = null return FALSE +//post organ duo making arrangements. +/obj/item/organ/genital/proc/upon_link() + return + /obj/item/organ/genital/Insert(mob/living/carbon/M, special = FALSE, drop_if_replaced = TRUE) . = ..() if(.) update() - RegisterSignal(owner, COMSIG_MOB_DEATH, .proc/update) + RegisterSignal(owner, COMSIG_MOB_DEATH, .proc/update_appearance) /obj/item/organ/genital/Remove(mob/living/carbon/M, special = FALSE, drop_if_replaced = TRUE) . = ..() @@ -313,6 +320,7 @@ genital_overlay.color = "#[H.dna.features["vag_color"]]" if(layer == GENITALS_FRONT_LAYER && CHECK_BITFIELD(G.genital_flags, GENITAL_THROUGH_CLOTHES)) + genital_overlay.layer = -GENITALS_EXPOSED_LAYER LAZYADD(fully_exposed, genital_overlay) // to be added to a layer with higher priority than clothes, hence the name of the bitflag. else standing += genital_overlay diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index fe502ab66e..6299f68b6c 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -68,7 +68,7 @@ /obj/item/organ/genital/breasts/modify_size(modifier, min = -INFINITY, max = INFINITY) var/new_value = CLAMP(cached_size + modifier, min, max) - if(new_value == prev_size) + if(new_value == cached_size) return prev_size = cached_size cached_size = new_value @@ -97,7 +97,7 @@ var/status_effect = owner.has_status_effect(STATUS_EFFECT_BREASTS_ENLARGEMENT) if(enlargement && !status_effect) owner.apply_status_effect(STATUS_EFFECT_BREASTS_ENLARGEMENT) - else if(status_effect) + else if(!enlargement && status_effect) owner.remove_status_effect(STATUS_EFFECT_BREASTS_ENLARGEMENT) if(rounded_cached < 16 && owner)//Because byond doesn't count from 0, I have to do this. diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index 5df9f30fdd..6b9e5024df 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -7,6 +7,7 @@ slot = ORGAN_SLOT_PENIS masturbation_verb = "stroke" genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH + linked_organ_slot = ORGAN_SLOT_TESTICLES fluid_transfer_factor = 0.5 size = 2 //arbitrary value derived from length and girth for sprites. layer_index = PENIS_LAYER_INDEX @@ -17,13 +18,13 @@ /obj/item/organ/genital/penis/modify_size(modifier, min = -INFINITY, max = INFINITY) var/new_value = CLAMP(length + modifier, min, max) - if(new_value == prev_length) + if(new_value == length) return prev_length = length length = CLAMP(length + modifier, min, max) update() -/obj/item/organ/genital/penis/update_size() +/obj/item/organ/genital/penis/update_size(modified = FALSE) if(length < 0)//I don't actually know what round() does to negative numbers, so to be safe!! if(owner) to_chat(owner, "You feel your tallywacker shrinking away from your body as your groin flattens out!") @@ -51,10 +52,11 @@ var/status_effect = owner.has_status_effect(STATUS_EFFECT_PENIS_ENLARGEMENT) if(enlargement && !status_effect) owner.apply_status_effect(STATUS_EFFECT_PENIS_ENLARGEMENT) - else if(status_effect) + else if(!enlargement && status_effect) owner.remove_status_effect(STATUS_EFFECT_PENIS_ENLARGEMENT) if(linked_organ) - linked_organ.update_size(new_size - size) + linked_organ.size = CLAMP(size + new_size, BALLS_SIZE_MIN, BALLS_SIZE_MAX) + linked_organ.update() size = new_size if(owner) diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm index 06f40b5b51..547674a5f1 100644 --- a/modular_citadel/code/modules/arousal/organs/testicles.dm +++ b/modular_citadel/code/modules/arousal/organs/testicles.dm @@ -14,7 +14,6 @@ fluid_id = "semen" masturbation_verb = "massage" layer_index = TESTICLES_LAYER_INDEX - var/size_linked = FALSE /obj/item/organ/genital/testicles/generate_fluid() if(!linked_organ && !update_link()) @@ -23,16 +22,12 @@ if(. && reagents.holder_full()) to_chat(owner, "Your balls finally feel full, again.") -/obj/item/organ/genital/testicles/update_link(removing = FALSE) - . = ..() - if(. && !size_linked) - size = linked_organ.size - update() - size_linked = TRUE +/obj/item/organ/genital/testicles/upon_link() + size = linked_organ.size + update_size() + update_appearance() -/obj/item/organ/genital/testicles/update_size(new_size) - if(new_size) - size = CLAMP(size + new_size, BALLS_SIZE_MIN, BALLS_SIZE_MAX) +/obj/item/organ/genital/testicles/update_size(modified = FALSE) switch(size) if(BALLS_SIZE_MIN) size_name = "average" diff --git a/modular_citadel/icons/obj/genitals/hud.dmi b/modular_citadel/icons/obj/genitals/hud.dmi index bf2adcb1fcdb9c7ca35d186f72e62ced787db730..f8c8643fe0c9a7fc80760f703b441094123a338e 100644 GIT binary patch delta 1163 zcmV;61a$l356BOYBmu{YCy699jBp11#Esqz2-1Q1C? zK~!jg?U?6VQehZ}A2X76S#Sd|E;(z}bamFdHE8JG$h|R-Z=HNzV{$fZ;O4Av(zID~ z504g}UM;=N)4QdYXA2LH=FOTman1``wHAs*K5g3iip^8(+qR95NF;3CO5mLLYv&)( zzC*`Oox61H)*YZnx2|0}e|PHGp?!dVJHP+oB|V8=z5Dd(9VqP^M7{_7puW;T^X^6T zlvrLszy1RT4jMdo(2(GvA;X4`7#T7&c!+rq9MHet|L}xNAeSo?a=B6w8pf4KLlsKv z7RU&*A2oW+*l`xdPnZ}oX>!QK3FEDM?3mG`&^>30QlYY-mWPKyoOP4KQzHDjfTD)lC0{k8#B3G=m zvx=l_t%!`k?_u?tsI?SCtyzuVLv+l#^%Sg&iN^0CcEiR^6l~lOi{Arm-m;Z~Et{F} zuxv^XGwuOy+)TT5+rq81J8{f=fV=nZKX^#;;QqZwf0f|@9zS{d?D_L&PoF%l z91rm5MS4a?`U{HJhu@RDeD&((A2fCk@cMP-dX}mSV&9{B)V@dcsC|#>>G~bFr|oy# zp03|g=opNzuK6%ZOfm3r*`&*2%r z2!G>?k@w5LB7^ zFV^|WNlYX%U!C}0JbK?3XP0FC_>onTUHoqzfB%aEWhEuDK#HH=0`C6j5(M{89)JHA dQ@;IGmY>1YmMPi=>Q(>%002ovPDHLkV1j69TRs2) delta 1190 zcmV;X1X=sY591GzBmv5?C9ncB0RI4yk&%v$j*^m+m6es3mzR{3lxS#Zo}QkXnwpN0 zG{yh`00DGTPE!Ct=GbNc005Aa1p|VABw8g-g~|%9elFn12LL#klEB&BPI&+T1S?5I zK~!jg?U?6Rl3^H!?=q97Eoj)Xz>@Zk-b%7vHW=DoV0-VKrK#;{d+)vX-n*>S5JNHQ zl#=#8^fJUu-fr^YdHo>Qx8J!q@WA05xE=rxR*Dt(DqbRYmSAVG|MA`>eM$;{a;Jcu z-v8mfN|i2CwoJM5zP9OGz8pJCm-2Ge`&6h{sdA+%LXmBXgjLvCv4W4QzG}7VHT?W) z)~a2nu4UG(Q@d78KffB)t5tQ)``4>4mPi5`Gz^qlrZli&g8+#{T)&>bYrawACQX|) zZ_%<<>o#rM0km)1rgf{9Et)rfYuco7BX@XN2c~1E&Ye32$-4xzpMfa2i#*7(J2D+) z)&q3y*1bp1UcGwu?$bA$DX(pb?d!$ZdkLc^7RTH98s$5_6J zzILXH3DO0CSpE_l-eNLP(ejI%dGiJ`3J;%=6dGqJbo13#{&zd=dzJ~=17cF+M zge7+^TDX9|ho#FRmU9rXY$<&YD zrOQ{Y+PQN18t)$9`i+~nZdPh>a)MNcl+oSzX z+hhGs+k^C-HeP5$qkRA2<9nsXKI66Tr1U+A65trHcUiJNoCAHbjNFs=y*fqDL5kWHPu%yP z4Tcn_7!03X@#KB4O-*x3s@646z5k7A>8VagPc!EH9MbOpFDCKVe27h7ay<3^_ZFJI ziT~o8N%+TK63_jB=YGI~=YGI*KVZdkKj5M0Li>IIfp-6YW6K)e4j==VPcY2Ty$k3rh^c>iON_C4DF7+AlPdK|3ZNj(bI z@1!0_r~hvHkq6UviOzi<$C#eMEwhoc_ Date: Thu, 3 Oct 2019 19:08:11 +0200 Subject: [PATCH 014/136] hopefully a performance improvement to stop genitalia from having to update everytime. --- code/__DEFINES/inventory.dm | 3 +++ code/modules/mob/living/carbon/human/inventory.dm | 4 +++- modular_citadel/code/modules/arousal/genitals.dm | 7 +++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index 24d381d1a8..7f1360d3ac 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -237,3 +237,6 @@ GLOBAL_LIST_INIT(security_wintercoat_allowed, typecacheof(list( //Internals checker #define GET_INTERNAL_SLOTS(C) list(C.head, C.wear_mask) + +//Slots that won't trigger humans' update_genitals() on equip(). +GLOBAL_LIST_INIT(no_genitals_update_slots, list(SLOT_L_STORE, SLOT_R_STORE, SLOT_S_STORE, SLOT_IN_BACKPACK, SLOT_LEGCUFFED, SLOT_HANDCUFFED, SLOT_HANDS, SLOT_GENERC_DEXTROUS_STORAGE)) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index d35df6b789..084dbd83ef 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -79,7 +79,8 @@ //This is an UNSAFE proc. Use mob_can_equip() before calling this one! Or rather use equip_to_slot_if_possible() or advanced_equip_to_slot_if_possible() /mob/living/carbon/human/equip_to_slot(obj/item/I, slot) - if(!..()) //a check failed or the item has already found its slot + . = ..() + if(!.) //a check failed or the item has already found its slot return var/not_handled = FALSE //Added in case we make this type path deeper one day @@ -136,6 +137,7 @@ update_inv_s_store() else to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!") + not_handled = TRUE //Item is handled and in slot, valid to call callback, for this proc should always be true if(!not_handled) diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index d94f70ecef..68759218c7 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -209,11 +209,10 @@ //procs to handle sprite overlays being applied to humans -/obj/item/equipped(mob/user, slot) - if(ishuman(user)) - var/mob/living/carbon/human/H = user - H.update_genitals() +/mob/living/carbon/human/equip_to_slot(obj/item/I, slot) . = ..() + if(!. && !(slot in GLOB.no_genitals_update_slots)) //the item was successfully equipped, and the chosen slot wasn't merely storage or hands. + update_genitals() /mob/living/carbon/human/doUnEquip(obj/item/I, force) . = ..() From 59e6ed701479c9fc883970ae2a6d21a7c80e8680 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 3 Oct 2019 19:09:47 +0200 Subject: [PATCH 015/136] inventory.dm is a mess too. --- modular_citadel/code/modules/arousal/genitals.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index 68759218c7..34c52fe51d 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -211,7 +211,7 @@ /mob/living/carbon/human/equip_to_slot(obj/item/I, slot) . = ..() - if(!. && !(slot in GLOB.no_genitals_update_slots)) //the item was successfully equipped, and the chosen slot wasn't merely storage or hands. + if(!. && I && slot && !(slot in GLOB.no_genitals_update_slots)) //the item was successfully equipped, and the chosen slot wasn't merely storage or hands. update_genitals() /mob/living/carbon/human/doUnEquip(obj/item/I, force) From 6bd0b85e54bc18efe5f3cd40e1b396e825c07f76 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 3 Oct 2019 19:32:11 +0200 Subject: [PATCH 016/136] I'd rather add a redundant get_held_index_of_item(I) than allow it to render privates over and over again. --- modular_citadel/code/modules/arousal/genitals.dm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index 34c52fe51d..9ecf67e4b0 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -211,12 +211,15 @@ /mob/living/carbon/human/equip_to_slot(obj/item/I, slot) . = ..() - if(!. && I && slot && !(slot in GLOB.no_genitals_update_slots)) //the item was successfully equipped, and the chosen slot wasn't merely storage or hands. + if(!. && I && slot && !(slot in GLOB.no_genitals_update_slots)) //the item was successfully equipped, and the chosen slot wasn't merely storage, hands or cuffs. update_genitals() -/mob/living/carbon/human/doUnEquip(obj/item/I, force) +/mob/living/carbon/human/doUnEquip(obj/item/I, force, newloc, no_move, invdrop = TRUE) + var/no_update = FALSE + if(!I || I == l_store || I == r_store || I == s_store || I == handcuffed || I == legcuffed || get_held_index_of_item(I)) //stops storages, cuffs and held items from triggering it. + no_update = TRUE . = ..() - if(!.) + if(!. || no_update) return update_genitals() From b27438773fc15714d52d8fbd3cd3e5e8edc1cbca Mon Sep 17 00:00:00 2001 From: kappa-sama Date: Wed, 16 Oct 2019 19:46:43 -0400 Subject: [PATCH 017/136] Update halloween.dm --- code/modules/holiday/halloween/halloween.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/holiday/halloween/halloween.dm b/code/modules/holiday/halloween/halloween.dm index 2cb80e3e17..5635994a7a 100644 --- a/code/modules/holiday/halloween/halloween.dm +++ b/code/modules/holiday/halloween/halloween.dm @@ -264,6 +264,7 @@ desc = "A standard miniature energy crossbow that uses a hard-light projector to transform bolts into candy corn. Happy Halloween!" category = "Holiday" item = /obj/item/gun/energy/kinetic_accelerator/crossbow/halloween + cost = 12 surplus = 0 /datum/uplink_item/device_tools/emag/hack_o_lantern From cdb9d40baedc7bc471118f2c62792d0a2a457810 Mon Sep 17 00:00:00 2001 From: r4d6 <50276533+r4d6@users.noreply.github.com> Date: Tue, 22 Oct 2019 14:38:09 -0400 Subject: [PATCH 018/136] Add departemental Winter Coats to loadout --- .../code/modules/client/loadout/suit.dm | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/modular_citadel/code/modules/client/loadout/suit.dm b/modular_citadel/code/modules/client/loadout/suit.dm index 5a12a6bf0b..245d345bf7 100644 --- a/modular_citadel/code/modules/client/loadout/suit.dm +++ b/modular_citadel/code/modules/client/loadout/suit.dm @@ -63,6 +63,62 @@ name = "Winter coat" category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/hooded/wintercoat + +/datum/gear/coat/sec + name = "Security winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/security + restricted_roles = list("Head of Security", "Warden", "Detective", "Security Officer") // Reserve it to the Security Departement + +/datum/gear/coat/med + name = "Medical winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/medical + restricted_roles = list("Chief Medical Officer", "Medical Doctor") // Reserve it to Medical Doctors and their boss, the Chief Medical Officer + +/* Commented out until there is a Chemistry Winter Coat +/datum/gear/coat/med/chem + name = "Chemistry winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/medical/chemistry + restricted_roles = list("Chief Medical Officer", "Chemist") // Reserve it to Chemists and their boss, the Chief Medical Officer +*/ + +/datum/gear/coat/sci + name = "Science winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/science + restricted_roles = list("Research Director", "Scientist", "Roboticist") // Reserve it to the Science Departement + +/datum/gear/coat/eng + name = "Engineering winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/engineering + restricted_roles = list("Chief Engineer", "Station Engineer") // Reserve it to Station Engineers and their boss, the Chief Engineer + +/datum/gear/coat/eng/atmos + name = "Atmospherics winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos + restricted_roles = list("Chief Engineer", "Atmospheric Technician") // Reserve it to Atmos Techs and their boss, the Chief Engineer + +/datum/gear/coat/hydro + name = "Hydroponics winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/hydro + restricted_roles = list("Head of Personnel", "Botanist") // Reserve it to Botanists and their boss, the Head of Personnel + +/datum/gear/coat/cargo + name = "Cargo winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/cargo + restricted_roles = list("Quartermaster", "Cargo Technician") // Reserve it to Cargo Techs and their boss, the Quartermaster + +/datum/gear/coat/miner + name = "Mining winter coat" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/hooded/wintercoat/miner + restricted_roles = list("Quartermaster", "Shaft Miner") // Reserve it to Miners and their boss, the Quartermaster /datum/gear/militaryjacket name = "Military Jacket" From ce0ba51b61b31fa4430b9519fecfd18b0b5ceb11 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 25 Oct 2019 12:52:32 +0200 Subject: [PATCH 019/136] Fixing schlongs and death. --- modular_citadel/code/modules/arousal/organs/penis.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index 6b9e5024df..17cd35c144 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -38,11 +38,11 @@ switch(rounded_length) if(0 to 6) //If modest size new_size = 1 - if(7 to 10) //If large + if(7 to 11) //If large new_size = 2 - if(11 to 19) //If massive + if(12 to 20) //If massive new_size = 3 - if(20 to 34) //If massive and due for large effects + if(21 to 34) //If massive and due for large effects new_size = 3 enlargement = TRUE if(35 to INFINITY) //If comical From 5f75664350a397634b40df4471397abde26ed2de Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 25 Oct 2019 09:35:59 -0700 Subject: [PATCH 020/136] Update shuttle.dm --- code/controllers/subsystem/shuttle.dm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 08f657a1b9..09d5a443af 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -37,6 +37,8 @@ SUBSYSTEM_DEF(shuttle) var/points = 5000 //number of trade-points we have var/centcom_message = "" //Remarks from CentCom on how well you checked the last order. var/list/discoveredPlants = list() //Typepaths for unusual plants we've already sent CentCom, associated with their potencies + var/passive_supply_points_per_minute = 750 + var/last_fire = 0 var/list/supply_packs = list() var/list/shoppinglist = list() @@ -111,6 +113,13 @@ SUBSYSTEM_DEF(shuttle) qdel(T, force=TRUE) CheckAutoEvac() + //Cargo stuff start + var/fire_time_diff = max(0, world.time - last_fire) //Don't want this to be below 0, seriously. + var/point_gain = (fire_time_diff / 600) * passive_supply_points_per_minute + points += point_gain + last_fire = world.time + //Cargo stuff end + if(!SSmapping.clearing_reserved_turfs) while(transit_requesters.len) var/requester = popleft(transit_requesters) From 8f1c983b25568a9923c815c693d01dc8586a9431 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 25 Oct 2019 09:36:54 -0700 Subject: [PATCH 021/136] Update armory.dm --- code/modules/cargo/packs/armory.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/packs/armory.dm b/code/modules/cargo/packs/armory.dm index 11aae8a054..ee983784fe 100644 --- a/code/modules/cargo/packs/armory.dm +++ b/code/modules/cargo/packs/armory.dm @@ -87,7 +87,7 @@ /datum/supply_pack/security/armory/mindshield name = "Mindshield Implants Crate" desc = "Prevent against radical thoughts with three Mindshield implants. Requires Armory access to open." - cost = 3000 //Lowered untill cargo rework MK II is done + cost = 4000 contains = list(/obj/item/storage/lockbox/loyalty) crate_name = "mindshield implant crate" From 50b9ae3cf3c31fb567e4bac4d3804f8426ba4175 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 25 Oct 2019 09:39:00 -0700 Subject: [PATCH 022/136] Update large_objects.dm --- code/modules/cargo/exports/large_objects.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm index 88ff5f4729..ce4502ba99 100644 --- a/code/modules/cargo/exports/large_objects.dm +++ b/code/modules/cargo/exports/large_objects.dm @@ -178,7 +178,7 @@ worth += gases[/datum/gas/bz]*4 worth += gases[/datum/gas/stimulum]*25 worth += gases[/datum/gas/hypernoblium]*1000 - worth += gases[/datum/gas/miasma]*15 + worth += gases[/datum/gas/miasma]*4 worth += gases[/datum/gas/tritium]*7 worth += gases[/datum/gas/pluoxium]*6 worth += gases[/datum/gas/nitryl]*30 From 78174fcc0677d038885cd4febc8df90cb7fa00e9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 27 Oct 2019 16:16:02 -0700 Subject: [PATCH 023/136] Update shuttle.dm --- code/controllers/subsystem/shuttle.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 09d5a443af..382bf25b98 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -38,7 +38,6 @@ SUBSYSTEM_DEF(shuttle) var/centcom_message = "" //Remarks from CentCom on how well you checked the last order. var/list/discoveredPlants = list() //Typepaths for unusual plants we've already sent CentCom, associated with their potencies var/passive_supply_points_per_minute = 750 - var/last_fire = 0 var/list/supply_packs = list() var/list/shoppinglist = list() @@ -117,7 +116,6 @@ SUBSYSTEM_DEF(shuttle) var/fire_time_diff = max(0, world.time - last_fire) //Don't want this to be below 0, seriously. var/point_gain = (fire_time_diff / 600) * passive_supply_points_per_minute points += point_gain - last_fire = world.time //Cargo stuff end if(!SSmapping.clearing_reserved_turfs) From cbf74f63c8d85e3ee1e6126366ea5daa5b2b9c3a Mon Sep 17 00:00:00 2001 From: Poojawa Date: Tue, 29 Oct 2019 00:00:48 -0500 Subject: [PATCH 024/136] Level Order listing --- code/controllers/subsystem/job.dm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index ea7e7ce812..efa6b8b59d 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -4,7 +4,7 @@ SUBSYSTEM_DEF(job) flags = SS_NO_FIRE var/list/occupations = list() //List of all jobs - var/list/name_occupations = list() //Dict of all jobs, keys are titles + var/list/datum/job/name_occupations = list() //Dict of all jobs, keys are titles var/list/type_occupations = list() //Dict of all jobs, keys are types var/list/unassigned = list() //Players who need jobs var/initial_players_to_assign = 0 //used for checking against population caps @@ -14,6 +14,8 @@ SUBSYSTEM_DEF(job) var/overflow_role = "Assistant" + var/list/level_order = list(JP_HIGH,JP_MEDIUM,JP_LOW) + /datum/controller/subsystem/job/Initialize(timeofday) SSmapping.HACK_LoadMapConfig() if(!occupations.len) @@ -119,7 +121,7 @@ SUBSYSTEM_DEF(job) if(player.mind && job.title in player.mind.restricted_roles) JobDebug("FOC incompatible with antagonist role, Player: [player]") continue - if(player.client.prefs.job_preferences["[job.title]"] == level) + if(player.client.prefs.job_preferences[job.title] == level) JobDebug("FOC pass, Player: [player], Level:[level]") candidates += player return candidates @@ -181,7 +183,7 @@ SUBSYSTEM_DEF(job) //it locates a head or runs out of levels to check //This is basically to ensure that there's atleast a few heads in the round /datum/controller/subsystem/job/proc/FillHeadPosition() - for(var/level = 1 to 3) + for(var/level in level_order) for(var/command_position in GLOB.command_positions) var/datum/job/job = GetJob(command_position) if(!job) @@ -218,7 +220,7 @@ SUBSYSTEM_DEF(job) if(!job) return 0 for(var/i = job.total_positions, i > 0, i--) - for(var/level = 1 to 3) + for(var/level in level_order) var/list/candidates = list() candidates = FindOccupationCandidates(job, level) if(candidates.len) @@ -304,8 +306,7 @@ SUBSYSTEM_DEF(job) // Loop through all levels from high to low var/list/shuffledoccupations = shuffle(occupations) - var/list/levels = list(JP_HIGH,JP_MEDIUM,JP_LOW) - for(var/level in levels) + for(var/level in level_order) //Check the head jobs first each level CheckHeadPositions(level) @@ -334,7 +335,7 @@ SUBSYSTEM_DEF(job) if(job.required_playtime_remaining(player.client)) JobDebug("DO player not enough xp, Player: [player], Job:[job.title]") continue - + if(!player.client.prefs.pref_species.qualifies_for_rank(job.title, player.client.prefs.features)) JobDebug("DO non-human failed, Player: [player], Job:[job.title]") continue @@ -344,7 +345,7 @@ SUBSYSTEM_DEF(job) continue // If the player wants that job on this level, then try give it to him. - if(player.client.prefs.job_preferences["[job.title]"] == level) + if(player.client.prefs.job_preferences[job.title] == level) // If the job isn't filled if((job.current_positions < job.spawn_positions) || job.spawn_positions == -1) JobDebug("DO pass, Player: [player], Level:[level], Job:[job.title]") @@ -475,7 +476,6 @@ SUBSYSTEM_DEF(job) to_chat(M, "[job.custom_spawn_text]") if(CONFIG_GET(number/minimal_access_threshold)) to_chat(M, "As this station was initially staffed with a [CONFIG_GET(flag/jobs_have_minimal_access) ? "full crew, only your job's necessities" : "skeleton crew, additional access may"] have been added to your ID card.") - if(job && H) if(job.dresscodecompliant)// CIT CHANGE - dress code compliance equip_loadout(N, H) // CIT CHANGE - allows players to spawn with loadout items @@ -551,7 +551,7 @@ SUBSYSTEM_DEF(job) if(job.required_playtime_remaining(player.client)) young++ continue - switch(player.client.prefs.job_preferences["[job.title]"]) + switch(player.client.prefs.job_preferences[job.title]) if(JP_HIGH) high++ if(JP_MEDIUM) @@ -698,4 +698,4 @@ SUBSYSTEM_DEF(job) . |= player.mind /datum/controller/subsystem/job/proc/JobDebug(message) - log_job_debug(message) + log_job_debug(message) \ No newline at end of file From cb88fd1a44d13410d7976b09e1001c5335810024 Mon Sep 17 00:00:00 2001 From: Putnam Date: Mon, 28 Oct 2019 22:58:35 -0700 Subject: [PATCH 025/136] added dynamic antag injection to config --- .../configuration/entries/game_options.dm | 16 ++++++++++++++++ code/game/gamemodes/dynamic/dynamic.dm | 4 ++++ config/game_options.txt | 6 ++++++ 3 files changed, 26 insertions(+) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index fb974c85bc..18a7ae524d 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -376,6 +376,22 @@ config_entry_value = 6 min_val = 1 +/datum/config_entry/number/dynamic_midround_delay_min + config_entry_value = 15 + min_val = 1 + +/datum/config_entry/number/dynamic_midround_delay_max + config_entry_value = 35 + min_val = 1 + +/datum/config_entry/number/dynamic_latejoin_delay_min + config_entry_value = 5 + min_val = 1 + +/datum/config_entry/number/dynamic_latejoin_delay_min + config_entry_value = 25 + min_val = 1 + /datum/config_entry/keyed_list/dynamic_cost key_mode = KEY_MODE_TEXT value_mode = VALUE_MODE_NUM diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index 24cfddd14f..4e02379b12 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -111,6 +111,10 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) ..() pop_per_requirement = CONFIG_GET(number/dynamic_pop_per_requirement) GLOB.dynamic_high_pop_limit = CONFIG_GET(number/dynamic_high_pop_limit) + GLOB.dynamic_latejoin_delay_min = CONFIG_GET(number/dynamic_latejoin_delay_min)*600 + GLOB.dynamic_latejoin_delay_max = CONFIG_GET(number/dynamic_latejoin_delay_max)*600 + GLOB.dynamic_midround_delay_min = CONFIG_GET(number/dynamic_midround_delay_min)*600 + GLOB.dynamic_midround_delay_max = CONFIG_GET(number/dynamic_midround_delay_max)*600 /datum/game_mode/dynamic/admin_panel() var/list/dat = list("Game Mode Panel

Game Mode Panel

") diff --git a/config/game_options.txt b/config/game_options.txt index ca58e58a5b..0194d66c02 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -258,6 +258,12 @@ EVENTS_MIN_PLAYERS_MUL 1 ### DYNAMIC MODE ### +## Injection delays: how long (in minutes) will pass before a midround or latejoin antag is injected. +DYNAMIC_MIDROUND_DELAY_MIN 15 +DYNAMIC_MIDROUND_DELAY_MAX 35 +DYNAMIC_LATEJOIN_DELAY_MIN 5 +DYNAMIC_LATEJOIN_DELAY_MAX 25 + ## How many roundstart players required for high population override to take effect. DYNAMIC_HIGH_POP_LIMIT 55 From df3d5ab51fec7dd8f7d3f7f4d7c399f3f578d131 Mon Sep 17 00:00:00 2001 From: Putnam Date: Mon, 28 Oct 2019 23:05:22 -0700 Subject: [PATCH 026/136] always gotta be one, at least --- code/controllers/configuration/entries/game_options.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 18a7ae524d..759c1baf2f 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -388,7 +388,7 @@ config_entry_value = 5 min_val = 1 -/datum/config_entry/number/dynamic_latejoin_delay_min +/datum/config_entry/number/dynamic_latejoin_delay_max config_entry_value = 25 min_val = 1 From 22c87b07913000b083e65b3f46a612a59a092460 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2019 14:09:47 +0000 Subject: [PATCH 027/136] Bump pillow from 5.1.0 to 6.2.0 in /tools/mapmerge2 Bumps [pillow](https://github.com/python-pillow/Pillow) from 5.1.0 to 6.2.0. - [Release notes](https://github.com/python-pillow/Pillow/releases) - [Changelog](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst) - [Commits](https://github.com/python-pillow/Pillow/compare/5.1.0...6.2.0) Signed-off-by: dependabot[bot] --- tools/mapmerge2/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/mapmerge2/requirements.txt b/tools/mapmerge2/requirements.txt index adb42438e7..d24cb40dcc 100644 --- a/tools/mapmerge2/requirements.txt +++ b/tools/mapmerge2/requirements.txt @@ -1,3 +1,3 @@ pygit2==0.27.2 bidict==0.13.1 -Pillow==5.1.0 +Pillow==6.2.0 From 6a64647ee8a2c345cbf6c8e1e8718bedc2f2b155 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Tue, 29 Oct 2019 19:45:10 +0100 Subject: [PATCH 028/136] Fixing dogborg sleepers runtimes, how atrocious... --- .../objects/items/devices/dogborg_sleeper.dm | 249 ++++++++---------- 1 file changed, 103 insertions(+), 146 deletions(-) diff --git a/code/game/objects/items/devices/dogborg_sleeper.dm b/code/game/objects/items/devices/dogborg_sleeper.dm index c1a9136f76..3c945f464e 100644 --- a/code/game/objects/items/devices/dogborg_sleeper.dm +++ b/code/game/objects/items/devices/dogborg_sleeper.dm @@ -6,8 +6,7 @@ icon = 'icons/mob/dogborg.dmi' icon_state = "sleeper" w_class = WEIGHT_CLASS_TINY - var/mob/living/carbon/patient = null - var/mob/living/silicon/robot/hound = null + var/mob/living/carbon/patient var/inject_amount = 10 var/min_health = -100 var/cleaning = FALSE @@ -61,8 +60,18 @@ /obj/item/dogborg/sleeper/Exit(atom/movable/O) return 0 +/obj/item/dogborg/sleeper/proc/get_host() + if(!loc) + return + if(iscyborg(loc)) + return loc + else if(iscyborg(loc.loc)) + return loc.loc //cursed cyborg code + /obj/item/dogborg/sleeper/afterattack(mob/living/carbon/target, mob/living/silicon/user, proximity) - hound = loc + var/mob/living/silicon/robot/hound = get_host() + if(!hound) + return if(!proximity) return if(!iscarbon(target)) @@ -82,7 +91,8 @@ if(!in_range(src, target)) //Proximity is probably old news by now, do a new check. return //If they moved away, you can't eat them. - if(patient) return //If you try to eat two people at once, you can only eat one. + if(patient) + return //If you try to eat two people at once, you can only eat one. else //If you don't have someone in you, proceed. if(!isjellyperson(target) && ("toxin" in injection_chems)) @@ -94,14 +104,17 @@ target.forceMove(src) target.reset_perspective(src) target.ExtinguishMob() //The tongue already puts out fire stacks but being put into the sleeper shouldn't allow you to keep burning. - update_gut() + update_gut(hound) user.visible_message("[voracious ? "[hound]'s [src.name] lights up and expands as [target] slips inside into their [src.name]." : "[hound]'s sleeper indicator lights up as [target] is scooped up into [hound.p_their()] [src]."]", \ "Your [voracious ? "[src.name] lights up as [target] slips into" : "sleeper indicator light shines brightly as [target] is scooped inside"] your [src]. Life support functions engaged.") message_admins("[key_name(hound)] has sleeper'd [key_name(patient)] as a dogborg. [ADMIN_JMP(src)]") playsound(hound, 'sound/effects/bin_close.ogg', 100, 1) /obj/item/dogborg/sleeper/container_resist(mob/living/user) - hound = loc + var/mob/living/silicon/robot/hound = get_host() + if(!hound) + go_out(user) + return user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT if(user.a_intent == INTENT_HELP) @@ -113,55 +126,41 @@ "[voracious ? "You start struggling inside of [src]'s tight, flexible confines," : "You start pounding against the metallic walls of [src],"] trying to trigger the release... (this will take about [DisplayTimeText(breakout_time)].)", \ "You hear a [voracious ? "couple of thumps" : "loud banging noise"] coming from within [hound].") if(do_after(user, breakout_time, target = src)) - if(!user || user.stat != CONSCIOUS || user.loc != src ) - return user.visible_message("[user] successfully broke out of [hound.name]!", \ "You successfully break out of [hound.name]!") - go_out() + go_out(user, hound) -/obj/item/dogborg/sleeper/proc/go_out(var/target) - hound = loc - hound.setClickCooldown(50) - var/voracious = TRUE - if(!hound.client || !(hound.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)) - voracious = FALSE - else - for(var/mob/M in contents) - if(!M.client || !(M.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)) - voracious = FALSE - if(length(contents) > 0) - hound.visible_message("[voracious ? "[hound] empties out [hound.p_their()] contents via [hound.p_their()] release port." : "[hound]'s underside slides open with an audible clunk before [hound.p_their()] [src] flips over, carelessly dumping its contents onto the ground below [hound.p_them()] before closing right back up again."]", \ - "[voracious ? "You empty your contents via your release port." : "You open your sleeper hatch, quickly releasing all of the contents within before closing it again."]") - if(target) - if(iscarbon(target)) - var/mob/living/carbon/person = target - person.forceMove(get_turf(src)) - person.reset_perspective() - else - var/obj/T = target - T.loc = hound.loc +/obj/item/dogborg/sleeper/proc/go_out(atom/movable/target, mob/living/silicon/robot/hound) + var/voracious = hound ? TRUE : FALSE + var/list/targets = target && hound ? list(target) : contents + if(hound) + hound.setClickCooldown(50) + if(!hound.client || !(hound.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)) + voracious = FALSE else - for(var/C in contents) - if(iscarbon(C)) - var/mob/living/carbon/person = C - person.forceMove(get_turf(src)) - person.reset_perspective() - else - var/obj/T = C - T.loc = hound.loc - items_preserved.Cut() - update_gut() - cleaning = FALSE + for(var/mob/M in targets) + if(!M.client || !(M.client.prefs.cit_toggles & MEDIHOUND_SLEEPER)) + voracious = FALSE + if(length(targets)) + if(hound) + hound.visible_message("[voracious ? "[hound] empties out [hound.p_their()] contents via [hound.p_their()] release port." : "[hound]'s underside slides open with an audible clunk before [hound.p_their()] [src] flips over, carelessly dumping its contents onto the ground below [hound.p_them()] before closing right back up again."]", \ + "[voracious ? "You empty your contents via your release port." : "You open your sleeper hatch, quickly releasing all of the contents within before closing it again."]") + for(var/a in contents) + var/atom/movable/AM = a + AM.forceMove(get_turf(src)) + if(ismob(AM)) + var/mob/M = AM + M.reset_perspective() playsound(loc, voracious ? 'sound/effects/splat.ogg' : 'sound/effects/bin_close.ogg', 50, 1) - - else //You clicked eject with nothing in you, let's just reset stuff to be sure. - items_preserved.Cut() - cleaning = FALSE - update_gut() + items_preserved.Cut() + cleaning = FALSE + if(hound) + update_gut(hound) /obj/item/dogborg/sleeper/attack_self(mob/user) - if(..()) + . = ..() + if(. || !iscyborg(user)) return ui_interact(user) @@ -219,30 +218,31 @@ return data /obj/item/dogborg/sleeper/ui_act(action, params) - if(..()) + . = ..() + if(. || !iscyborg(usr)) return switch(action) if("eject") - go_out() + go_out(null, usr) . = TRUE if("inject") var/chem = params["chem"] if(!patient) return - inject_chem(chem) + inject_chem(chem, usr) . = TRUE if("cleaning") if(!contents) to_chat(src, "Your [src] is already cleaned.") return if(patient) - to_chat(patient, "[hound.name]'s [src] fills with caustic enzymes around you!") + to_chat(patient, "[usr.name]'s [src] fills with caustic enzymes around you!") to_chat(src, "Cleaning process enabled.") - clean_cycle() + clean_cycle(usr) . = TRUE -/obj/item/dogborg/sleeper/proc/update_gut() +/obj/item/dogborg/sleeper/proc/update_gut(mob/living/silicon/robot/hound) //Well, we HAD one, what happened to them? var/prociconupdate = FALSE var/currentenvy = hound.sleeper_nv @@ -291,7 +291,7 @@ //Update icon and return new patient hound.update_icons() - return(C) + return //Cleaning looks better with red on, even with nobody in it if(cleaning && !patient) @@ -307,8 +307,10 @@ hound.update_icons() //Gurgleborg process -/obj/item/dogborg/sleeper/proc/clean_cycle() +/obj/item/dogborg/sleeper/proc/clean_cycle(mob/living/silicon/robot/hound) //Sanity + if(!hound) + return for(var/I in items_preserved) if(!(I in contents)) items_preserved -= I @@ -320,13 +322,12 @@ if(cleaning_cycles) cleaning_cycles-- cleaning = TRUE - for(var/mob/living/carbon/human/T in (touchable_items)) - if((T.status_flags & GODMODE) || !T.digestable) - items_preserved += T + for(var/mob/living/carbon/C in (touchable_items)) + if((C.status_flags & GODMODE) || !C.digestable) + items_preserved += C else - T.adjustBruteLoss(2) - T.adjustFireLoss(3) - update_gut() + C.adjustBruteLoss(2) + C.adjustFireLoss(3) if(contents) var/atom/target = pick(touchable_items) if(iscarbon(target)) //Handle the target being a mob @@ -359,7 +360,6 @@ if(!T.dropItemToGround(W)) qdel(W) qdel(T) - update_gut() //Handle the target being anything but a mob else if(isobj(target)) var/obj/T = target @@ -374,12 +374,10 @@ cleaning_cycles = initial(cleaning_cycles) cleaning = FALSE to_chat(hound, "Your [src] chimes it ends its self-cleaning cycle.")//Belly is entirely empty - update_gut() if(!length(contents)) to_chat(hound, "Your [src] is now clean. Ending self-cleaning cycle.") cleaning = FALSE - update_gut() //sound effects if(prob(50)) @@ -397,13 +395,17 @@ else if(H in contents) H.playsound_local(source, null, 65, falloff = 0, S = prey_digest) + update_gut(hound) + if(cleaning) - addtimer(CALLBACK(src, .proc/clean_cycle), 50) + addtimer(CALLBACK(src, .proc/clean_cycle, hound), 50) /obj/item/dogborg/sleeper/proc/CheckAccepted(obj/item/I) return is_type_in_typecache(I, important_items) -/obj/item/dogborg/sleeper/proc/inject_chem(chem) +/obj/item/dogborg/sleeper/proc/inject_chem(chem, mob/living/silicon/robot/hound) + if(!hound) + return if(hound.cell.charge <= 800) //This is so borgs don't kill themselves with it. Remember, 750 charge used every injection. to_chat(hound, "You don't have enough power to synthesize fluids.") return @@ -438,40 +440,27 @@ else . = ..() -/obj/item/dogborg/sleeper/K9/afterattack(var/atom/movable/target, mob/living/silicon/user, proximity) - hound = loc +/obj/item/dogborg/sleeper/K9/afterattack(mob/living/carbon/target, mob/living/silicon/user, proximity) + var/mob/living/silicon/robot/hound = get_host() + if(!hound || !istype(target) || !proximity || target.anchored) + return + if (!target.devourable) + to_chat(user, "The target registers an error code. Unable to insert into [src].") + return + if(target) + to_chat(user,"Your [src] is already occupied.") + return + if(target.buckled) + to_chat(user,"[target] is buckled and can not be put into your [src].") + return + user.visible_message("[hound.name] is ingesting [target] into their [src].", "You start ingesting [target] into your [src.name]...") + if(do_after(user, 30, target = target) && !patient && !target.buckled) + target.forceMove(src) + target.reset_perspective(src) + update_gut(hound) + user.visible_message("[hound.name]'s mobile brig clunks in series as [target] slips inside.", "Your mobile brig groans lightly as [target] slips inside.") + playsound(hound, 'sound/effects/bin_close.ogg', 80, 1) // Really don't need ERP sound effects for robots - if(!istype(target)) - return - if(!proximity) - return - if(target.anchored) - return - if(isobj(target)) - to_chat(user, "You are above putting such trash inside of yourself.") - return - if(iscarbon(target)) - var/mob/living/carbon/brigman = target - if (!brigman.devourable) - to_chat(user, "The target registers an error code. Unable to insert into [src].") - return - if(patient) - to_chat(user,"Your [src] is already occupied.") - return - if(brigman.buckled) - to_chat(user,"[brigman] is buckled and can not be put into your [src].") - return - user.visible_message("[hound.name] is ingesting [brigman] into their [src].", "You start ingesting [brigman] into your [src.name]...") - if(do_after(user, 30, target = brigman) && !patient && !brigman.buckled) - if(!in_range(src, brigman)) //Proximity is probably old news by now, do a new check. - return //If they moved away, you can't eat them. - brigman.forceMove(src) - brigman.reset_perspective(src) - update_gut() - user.visible_message("[hound.name]'s mobile brig clunks in series as [brigman] slips inside.", "Your mobile brig groans lightly as [brigman] slips inside.") - playsound(hound, 'sound/effects/bin_close.ogg', 80, 1) // Really don't need ERP sound effects for robots - return - return /obj/item/dogborg/sleeper/compactor //Janihound gut. name = "garbage processor" @@ -489,31 +478,25 @@ else . = ..() -/obj/item/dogborg/sleeper/compactor/afterattack(var/atom/movable/target, mob/living/silicon/user, proximity)//GARBO NOMS - hound = loc - var/obj/item/target_obj = target - if(!istype(target)) - return - if(!proximity) - return - if(target.anchored) +/obj/item/dogborg/sleeper/compactor/afterattack(atom/movable/target, mob/living/silicon/user, proximity)//GARBO NOMS + var/mob/living/silicon/robot/hound = get_host() + if(!hound || !istype(target) || !proximity || target.anchored) return if(length(contents) > (max_item_count - 1)) to_chat(user,"Your [src] is full. Eject or process contents to continue.") return - if(isobj(target)) - if(CheckAccepted(target)) - to_chat(user,"\The [target] registers an error code to your [src]") + if(isitem(target)) + var/obj/item/I = target + if(CheckAccepted(I)) + to_chat(user,"[I] registers an error code to your [src]") return - if(target_obj.w_class > WEIGHT_CLASS_NORMAL) - to_chat(user,"\The [target] is too large to fit into your [src]") + if(I.w_class > WEIGHT_CLASS_NORMAL) + to_chat(user,"[I] is too large to fit into your [src]") return - user.visible_message("[hound.name] is ingesting [target.name] into their [src.name].", "You start ingesting [target] into your [src.name]...") + user.visible_message("[hound.name] is ingesting [I] into their [src.name].", "You start ingesting [target] into your [src.name]...") if(do_after(user, 15, target = target) && length(contents) < max_item_count) - if(!in_range(src, target)) //Proximity is probably old news by now, do a new check. - return //If they moved away, you can't eat them. This still applies to items, don't magically eat things I picked up already. - target.forceMove(src) - user.visible_message("[hound.name]'s garbage processor groans lightly as [target.name] slips inside.", "Your garbage compactor groans lightly as [target] slips inside.") + I.forceMove(src) + I.visible_message("[hound.name]'s garbage processor groans lightly as [I] slips inside.", "Your garbage compactor groans lightly as [I] slips inside.") playsound(hound, 'sound/machines/disposalflush.ogg', 50, 1) if(length(contents) > 11) //grow that tum after a certain junk amount hound.sleeper_r = 1 @@ -523,9 +506,9 @@ hound.update_icons() return - else if(iscarbon(target)) - var/mob/living/carbon/trashman = target - if (!trashman.devourable) + if(iscarbon(target) || issilicon(target)) + var/mob/living/trashman = target + if(!trashman.devourable) to_chat(user, "[target] registers an error code to your [src]") return if(patient) @@ -536,34 +519,8 @@ return user.visible_message("[hound.name] is ingesting [trashman] into their [src].", "You start ingesting [trashman] into your [src.name]...") if(do_after(user, 30, target = trashman) && !patient && !trashman.buckled && length(contents) < max_item_count) - if(!in_range(src, trashman)) //Proximity is probably old news by now, do a new check. - return //If they moved away, you can't eat them. trashman.forceMove(src) trashman.reset_perspective(src) update_gut() user.visible_message("[hound.name]'s garbage processor groans lightly as [trashman] slips inside.", "Your garbage compactor groans lightly as [trashman] slips inside.") playsound(hound, 'sound/effects/bin_close.ogg', 80, 1) - return - else if(issilicon(target)) - var/mob/living/silicon/trashbot = target - if (!trashbot.devourable) - to_chat(user, "[target] registers an error code to your [src]") - return - if(patient) - to_chat(user,"Your [src] is already occupied.") - return - if(trashbot.buckled) - to_chat(user,"[trashbot] is buckled and can not be put into your [src].") - return - user.visible_message("[hound.name] is ingesting [trashbot] into their [src].", "You start ingesting [trashbot] into your [src.name]...") - if(do_after(user, 30, target = trashbot) && !patient && !trashbot.buckled && length(contents) < max_item_count) - if(!in_range(src, trashbot)) //Proximity is probably old news by now, do a new check. - return //If they moved away, you can't eat them. - trashbot.forceMove(src) - trashbot.reset_perspective(src) - update_gut() - user.visible_message("[hound.name]'s garbage processor groans lightly as [trashbot] slips inside.", "Your garbage compactor groans lightly as [trashbot] slips inside.") - playsound(hound, 'sound/effects/bin_close.ogg', 80, 1) - return - - return From 9f00423bbdc084c28c69b51cc5dc57c2d30edc63 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Tue, 29 Oct 2019 21:51:00 +0100 Subject: [PATCH 029/136] Fixing the deep space gorilla. --- _maps/RandomRuins/SpaceRuins/bigape.dmm | 8 +++----- .../mob/living/simple_animal/hostile/gorilla/gorilla.dm | 9 ++++++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/_maps/RandomRuins/SpaceRuins/bigape.dmm b/_maps/RandomRuins/SpaceRuins/bigape.dmm index 09e85e129d..602f1737e0 100644 --- a/_maps/RandomRuins/SpaceRuins/bigape.dmm +++ b/_maps/RandomRuins/SpaceRuins/bigape.dmm @@ -56,11 +56,9 @@ /obj/structure/chair/sofa{ dir = 4 }, -/mob/living/simple_animal/hostile/gorilla{ - AIStatus = null; - desc = "There is no need to be upset."; - dir = 4; - name = "Familiar Gorilla" +/mob/living/simple_animal/hostile/gorilla/familiar{ + icon_state = "crawling"; + dir = 4 }, /turf/open/floor/plating/beach/sand, /area/ruin/powered) diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm index 5d1db8d35e..6866df01d5 100644 --- a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm @@ -2,7 +2,7 @@ #define GORILLA_TOTAL_LAYERS 1 /mob/living/simple_animal/hostile/gorilla - name = "Gorilla" + name = "gorilla" desc = "A ground-dwelling, predominantly herbivorous ape that inhabits the forests of central Africa." icon = 'icons/mob/gorilla.dmi' icon_state = "crawling" @@ -108,3 +108,10 @@ playsound(src, 'sound/creatures/gorilla.ogg', 200) oogas = 0 +/mob/living/simple_animal/hostile/gorilla/familiar + name = "familiar gorilla" + desc = "There is no need to be upset." + unique_name = FALSE + AIStatus = AI_OFF + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 \ No newline at end of file From 54f8c290052e5bf4b8924ecac199ce8465c3af0a Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Tue, 29 Oct 2019 23:33:35 +0100 Subject: [PATCH 030/136] Fixing riding component runtimes, how drifting... --- code/datums/components/riding.dm | 47 +++++++++---------- code/game/objects/buckling.dm | 1 - .../carbon/human/species_types/zombies.dm | 2 +- 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index 0af90f694c..dcdbd5ca4b 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -18,6 +18,7 @@ var/ride_check_rider_incapacitated = FALSE var/ride_check_rider_restrained = FALSE var/ride_check_ridden_incapacitated = FALSE + var/list/offhands = list() // keyed list containing all the current riding offsets associated by mob /datum/component/riding/Initialize() if(!ismovableatom(parent)) @@ -299,36 +300,34 @@ M.throw_at(target, 14, 5, AM) M.Knockdown(60) -/datum/component/riding/proc/equip_buckle_inhands(mob/living/carbon/human/user, amount_required = 1, riding_target_override = null) - var/atom/movable/AM = parent - var/amount_equipped = 0 +/datum/component/riding/proc/equip_buckle_inhands(mob/living/carbon/human/user, amount_required = 1, mob/living/riding_target_override) + var/list/equipped + var/mob/living/L = riding_target_override ? riding_target_override : user for(var/amount_needed = amount_required, amount_needed > 0, amount_needed--) - var/obj/item/riding_offhand/inhand = new /obj/item/riding_offhand(user) - if(!riding_target_override) - inhand.rider = user - else - inhand.rider = riding_target_override - inhand.parent = AM - if(user.put_in_hands(inhand, TRUE)) - amount_equipped++ - else + var/obj/item/riding_offhand/inhand = new + inhand.rider = L + inhand.parent = parent + if(!user.put_in_hands(inhand, TRUE)) + qdel(inhand) // it isn't going to be added to offhands anyway break + LAZYADD(equipped, src) + var/amount_equipped = LAZYLEN(equipped) + if(amount_equipped) + LAZYADD(offhands[L], amount_equipped) if(amount_equipped >= amount_required) return TRUE - else - unequip_buckle_inhands(user) - return FALSE + unequip_buckle_inhands(L) + return FALSE /datum/component/riding/proc/unequip_buckle_inhands(mob/living/carbon/user) - var/atom/movable/AM = parent - for(var/obj/item/riding_offhand/O in user.contents) - if(O.parent != AM) - CRASH("RIDING OFFHAND ON WRONG MOB") - continue - if(O.selfdeleting) - continue - else - qdel(O) + for(var/a in offhands[user]) + LAZYREMOVE(offhands[user], a) + if(a) //edge cases null entries + var/obj/item/riding_offhand/O = a + if(O.parent != parent) + CRASH("RIDING OFFHAND ON WRONG MOB") + else if(!O.selfdeleting) + qdel(O) return TRUE /obj/item/riding_offhand diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 693d32e545..9c3df5395f 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -89,7 +89,6 @@ buckled_mob.clear_alert("buckled") buckled_mobs -= buckled_mob SEND_SIGNAL(src, COMSIG_MOVABLE_UNBUCKLE, buckled_mob, force) - SEND_SIGNAL(src, COMSIG_MOVABLE_UNBUCKLE, src, force) post_unbuckle_mob(.) diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index a1dce4fb0f..c50677c54c 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -66,7 +66,7 @@ playsound(C, pick(spooks), 50, TRUE, 10) //Congrats you somehow died so hard you stopped being a zombie -/datum/species/zombie/infectious/spec_death(mob/living/carbon/C) +/datum/species/zombie/infectious/spec_death(gibbed, mob/living/carbon/C) . = ..() var/obj/item/organ/zombie_infection/infection infection = C.getorganslot(ORGAN_SLOT_ZOMBIE) From 1b8bda7040485138dd867ba0f968f04e02d17667 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 30 Oct 2019 00:48:51 +0100 Subject: [PATCH 031/136] Fixes some average runtimes, how null... --- code/modules/mob/living/carbon/life.dm | 2 +- code/modules/surgery/organs/eyes.dm | 2 +- code/modules/surgery/surgery.dm | 2 +- code/modules/vore/eating/belly_obj.dm | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 5b18e95235..ca139cace7 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -98,7 +98,7 @@ var/datum/gas_mixture/breath if(!getorganslot(ORGAN_SLOT_BREATHING_TUBE)) - if(health <= HEALTH_THRESHOLD_FULLCRIT || (pulledby && pulledby.grab_state >= GRAB_KILL) || lungs.organ_flags & ORGAN_FAILING) + if(health <= HEALTH_THRESHOLD_FULLCRIT || (pulledby && pulledby.grab_state >= GRAB_KILL) || !lungs || lungs.organ_flags & ORGAN_FAILING) losebreath++ //You can't breath at all when in critical or when being choked, so you're going to miss a breath else if(health <= crit_threshold) diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 95258c709a..faaa1c63ad 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -338,7 +338,7 @@ /obj/item/organ/eyes/robotic/glow/proc/start_visuals() if(!islist(eye_lighting)) regenerate_light_effects() - if((eye_lighting.len < light_beam_distance) || !on_mob) + if((LAZYLEN(eye_lighting) < light_beam_distance) || !on_mob) regenerate_light_effects() sync_light_effects() update_visuals() diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index e81cbf528f..a920ea765a 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -92,7 +92,7 @@ return TRUE if(iscyborg(user) && user.a_intent != INTENT_HARM) //to save asimov borgs a LOT of heartache return TRUE - if(tool.item_flags & SURGICAL_TOOL) //Just because you used the wrong tool it doesn't mean you meant to whack the patient with it + if(tool && tool.item_flags & SURGICAL_TOOL) //Just because you used the wrong tool it doesn't mean you meant to whack the patient with it to_chat(user, "This step requires a different tool!") return TRUE diff --git a/code/modules/vore/eating/belly_obj.dm b/code/modules/vore/eating/belly_obj.dm index 741aff5f9a..5c2b45dace 100644 --- a/code/modules/vore/eating/belly_obj.dm +++ b/code/modules/vore/eating/belly_obj.dm @@ -158,7 +158,7 @@ /obj/belly/Destroy() SSbellies.belly_list -= src - if(owner) + if(owner?.vore_organs) owner.vore_organs -= src owner = null . = ..() From 005c87bdf6771a28ad1571e8572cc41024d7d1cc Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 30 Oct 2019 01:31:29 +0100 Subject: [PATCH 032/136] I'm making a joke title, don't ban me github. --- code/modules/clothing/head/vg_hats.dm | 14 --------- code/modules/clothing/spacesuits/vg_spess.dm | 19 ------------ icons/obj/citvending.dmi | Bin 6338 -> 4504 bytes .../code/game/machinery/vending.dm | 29 ------------------ 4 files changed, 62 deletions(-) diff --git a/code/modules/clothing/head/vg_hats.dm b/code/modules/clothing/head/vg_hats.dm index dc245cd39a..87f64baf13 100644 --- a/code/modules/clothing/head/vg_hats.dm +++ b/code/modules/clothing/head/vg_hats.dm @@ -82,13 +82,6 @@ item_state = "nr_helmet" icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' -/obj/item/clothing/head/stalhelm - name = "Stalhelm" - desc = "Ein Helm, um die Nazi-Interesse an fremden Raumstationen zu sichern." - icon_state = "stalhelm" - item_state = "stalhelm" - icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' - /obj/item/clothing/head/panzer name = "Panzer Cap" desc = "Command any mech in style." @@ -96,13 +89,6 @@ item_state = "panzercap" icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' -/obj/item/clothing/head/naziofficer - name = "Officer Cap" - desc = "Style is all that matters." - icon_state = "officercap" - item_state = "officercap" - icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' - /obj/item/clothing/head/russobluecamohat name = "russian blue camo beret" desc = "A symbol of discipline, honor, and lots and lots of removal of some type of skewered food." diff --git a/code/modules/clothing/spacesuits/vg_spess.dm b/code/modules/clothing/spacesuits/vg_spess.dm index e6b1c7a1ee..517539f3af 100644 --- a/code/modules/clothing/spacesuits/vg_spess.dm +++ b/code/modules/clothing/spacesuits/vg_spess.dm @@ -1,24 +1,5 @@ //VG Ports -/obj/item/clothing/head/helmet/space/hardsuit/nazi - name = "nazi hardhelmet" - desc = "This is the face of das vaterland's top elite. Gas or energy are your only escapes." - item_state = "hardsuit0-nazi" - icon_state = "hardsuit0-nazi" - armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20) - item_color = "nazi" - icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' - -/obj/item/clothing/suit/space/hardsuit/nazi - name = "nazi hardsuit" - desc = "The attire of a true krieger. All shall fall, and only das vaterland will remain." - item_state = "hardsuit-nazi" - icon_state = "hardsuit-nazi" - slowdown = 1 - armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 20) - allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/melee/) - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/nazi - icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi' /obj/item/clothing/head/helmet/space/hardsuit/soviet name = "soviet hardhelmet" diff --git a/icons/obj/citvending.dmi b/icons/obj/citvending.dmi index 37c2c8fcf1d13871417597ec0331aee40fde9c41..8f836b7eb5116b0def626f06c1194214e9ea2a8f 100644 GIT binary patch literal 4504 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 literal 6338 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 diff --git a/modular_citadel/code/game/machinery/vending.dm b/modular_citadel/code/game/machinery/vending.dm index 6a91810173..a71175c345 100755 --- a/modular_citadel/code/game/machinery/vending.dm +++ b/modular_citadel/code/game/machinery/vending.dm @@ -72,32 +72,7 @@ /obj/item/reagent_containers/glass/bottle/hexacrocin = 10 ) refill_canister = /obj/item/vending_refill/kink -/* -/obj/machinery/vending/nazivend - name = "Nazivend" - desc = "A vending machine containing Nazi German supplies. A label reads: \"Remember the gorrilions lost.\"" - icon = 'icons/obj/citvending.dmi' - icon_state = "nazi" - vend_reply = "SIEG HEIL!" - product_slogans = "Das Vierte Reich wird zuruckkehren!;ENTFERNEN JUDEN!;Billiger als die Juden jemals geben!;Rader auf dem adminbus geht rund und rund.;Warten Sie, warum wir wieder hassen Juden?- *BZZT*" - products = list( - /obj/item/clothing/head/stalhelm = 20, - /obj/item/clothing/head/panzer = 20, - /obj/item/clothing/suit/soldiercoat = 20, - // /obj/item/clothing/under/soldieruniform = 20, - /obj/item/clothing/shoes/jackboots = 20 - ) - contraband = list( - /obj/item/clothing/head/naziofficer = 10, - // /obj/item/clothing/suit/officercoat = 10, - // /obj/item/clothing/under/officeruniform = 10, - /obj/item/clothing/suit/space/hardsuit/nazi = 3, - /obj/item/gun/energy/plasma/MP40k = 4 - ) - premium = list() - refill_canister = /obj/item/vending_refill/nazi -*/ /obj/machinery/vending/sovietvend name = "KomradeVendtink" desc = "Rodina-mat' zovyot!" @@ -137,10 +112,6 @@ icon = 'modular_citadel/icons/vending_restock.dmi' icon_state = "refill_kink" -/obj/item/vending_refill/nazi - machine_name = "nazivend" - icon_state = "refill_nazi" - /obj/item/vending_refill/soviet machine_name = "sovietvend" icon_state = "refill_soviet" From 9c30672bf0fe4ba587b816204ddafae10fb97822 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Tue, 29 Oct 2019 23:03:47 -0400 Subject: [PATCH 033/136] nerfs miasma points from 120 to 6 wtf --- code/__DEFINES/reactions.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__DEFINES/reactions.dm b/code/__DEFINES/reactions.dm index 9579571174..8f01f453b6 100644 --- a/code/__DEFINES/reactions.dm +++ b/code/__DEFINES/reactions.dm @@ -27,7 +27,7 @@ #define NOBLIUM_RESEARCH_AMOUNT 1000 #define BZ_RESEARCH_SCALE 4 #define BZ_RESEARCH_MAX_AMOUNT 400 -#define MIASMA_RESEARCH_AMOUNT 160 +#define MIASMA_RESEARCH_AMOUNT 6 #define STIMULUM_RESEARCH_AMOUNT 50 //Plasma fusion properties #define FUSION_ENERGY_THRESHOLD 3e9 //Amount of energy it takes to start a fusion reaction From bb197c2251d989453424cf490517a9d0b04c1840 Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 30 Oct 2019 01:34:03 -0700 Subject: [PATCH 034/136] allows heal viruses not to hurt slimes --- code/datums/diseases/advance/symptoms/heal.dm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 1ab3456c22..9b81868958 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -79,7 +79,7 @@ if(M.getToxLoss() && prob(5)) to_chat(M, "Your skin tingles as the starlight seems to heal you.") - M.adjustToxLoss(-(4 * heal_amt)) //most effective on toxins + M.adjustToxLoss(-(4 * heal_amt), forced = TRUE) //most effective on toxins var/list/parts = M.get_damaged_bodyparts(1,1) @@ -368,7 +368,8 @@ level = 8 passive_message = "You feel an odd attraction to plasma." var/temp_rate = 1 - threshold_desc = "Transmission 6: Increases temperature adjustment rate.
\ + var/heals_slimes = FALSE + threshold_desc = "Transmission 6: Increases temperature adjustment rate and heals toxin lovers.
\ Stage Speed 7: Increases healing speed." /datum/symptom/heal/plasma/Start(datum/disease/advance/A) @@ -410,7 +411,7 @@ if(prob(5)) to_chat(M, "You feel warmer.") - M.adjustToxLoss(-heal_amt) + M.adjustToxLoss(-heal_amt, forced = (temp_rate == 4)) var/list/parts = M.get_damaged_bodyparts(1,1) if(!parts.len) @@ -435,7 +436,7 @@ symptom_delay_max = 1 passive_message = "Your skin glows faintly for a moment." var/cellular_damage = FALSE - threshold_desc = "Transmission 6: Additionally heals cellular damage.
\ + threshold_desc = "Transmission 6: Additionally heals cellular damage and toxin lovers.
\ Resistance 7: Increases healing speed." /datum/symptom/heal/radiation/Start(datum/disease/advance/A) @@ -468,7 +469,7 @@ if(cellular_damage) M.adjustCloneLoss(-heal_amt * 0.5) - M.adjustToxLoss(-(2 * heal_amt)) + M.adjustToxLoss(-(2 * heal_amt), forced = cellular_damage) var/list/parts = M.get_damaged_bodyparts(1,1) From b86c5059d5744e3cde19fc4b060fe8031653e41d Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 30 Oct 2019 13:17:12 +0100 Subject: [PATCH 035/136] [s] modkit uninstall() calling forceMove() calling loc.Exited() calling modkit.uninstall() calling f... --- code/modules/projectiles/guns/energy/kinetic_accelerator.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index df8eba00ed..646b4bd57d 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -331,9 +331,9 @@ uninstall(KA) /obj/item/borg/upgrade/modkit/proc/uninstall(obj/item/gun/energy/kinetic_accelerator/KA, forcemove = TRUE) + KA.modkits -= src if(forcemove) forceMove(get_turf(KA)) - KA.modkits -= src /obj/item/borg/upgrade/modkit/proc/modify_projectile(obj/item/projectile/kinetic/K) From f6feeb93eaa735ea54cfadf1e37238f27a7741af Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 30 Oct 2019 16:47:44 +0100 Subject: [PATCH 036/136] Mapping in arcade dirs. --- .../LavaRuins/lavaland_surface_golem_ship.dmm | 18 +- .../lavaland_surface_syndicate_base1.dmm | 103 +++-- _maps/RandomZLevels/moonoutpost19.dmm | 15 +- _maps/RandomZLevels/research.dmm | 428 +++++++++--------- _maps/map_files/BoxStation/BoxStation.dmm | 49 +- .../map_files/Deltastation/DeltaStation2.dmm | 114 ++++- _maps/map_files/OmegaStation/OmegaStation.dmm | 32 +- _maps/map_files/PubbyStation/PubbyStation.dmm | 46 +- _maps/shuttles/emergency_cere.dmm | 34 +- code/game/machinery/computer/arcade.dm | 3 +- 10 files changed, 469 insertions(+), 373 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm index 8015f25696..2c6eda9f90 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm @@ -68,7 +68,10 @@ /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) "k" = ( -/obj/machinery/computer/arcade/battle, +/obj/machinery/computer/arcade/battle{ + icon_state = "arcade"; + dir = 4 + }, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) "l" = ( @@ -105,6 +108,13 @@ /obj/machinery/computer/shuttle, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) +"s" = ( +/obj/machinery/computer/arcade/orion_trail{ + icon_state = "arcade"; + dir = 4 + }, +/turf/open/floor/mineral/titanium/purple, +/area/ruin/powered/golem_ship) "t" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 30 @@ -142,10 +152,6 @@ /obj/machinery/reagentgrinder, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) -"y" = ( -/obj/machinery/computer/arcade/orion_trail, -/turf/open/floor/mineral/titanium/purple, -/area/ruin/powered/golem_ship) "z" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 @@ -332,7 +338,7 @@ l l j l -y +s b a a diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 8e0d9a523a..2ec5b88792 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -167,6 +167,56 @@ }, /turf/open/floor/plating, /area/ruin/unpowered/syndicate_lava_base/circuits) +"av" = ( +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/mob/living/carbon/monkey{ + faction = list("neutral","Syndicate") + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"aw" = ( +/obj/machinery/light/small, +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/mob/living/carbon/monkey{ + faction = list("neutral","Syndicate") + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/testlab) +"ax" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/arcade/orion_trail{ + icon_state = "arcade"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/syndicate_lava_base/bar) "aF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ dir = 4 @@ -790,26 +840,6 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/syndicate_lava_base/virology) -"ej" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/mob/living/carbon/monkey{ - faction = list("neutral","Syndicate") - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered/syndicate_lava_base/testlab) "ek" = ( /obj/structure/grille, /obj/structure/window/plastitanium, @@ -1136,27 +1166,6 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/unpowered/syndicate_lava_base/virology) -"eK" = ( -/obj/machinery/light/small, -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/mob/living/carbon/monkey{ - faction = list("neutral","Syndicate") - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered/syndicate_lava_base/testlab) "eL" = ( /obj/machinery/door/airlock/hatch{ name = "Monkey Pen"; @@ -5148,12 +5157,6 @@ /obj/item/clothing/mask/gas, /turf/open/floor/plating, /area/ruin/unpowered/syndicate_lava_base/arrivals) -"mt" = ( -/obj/machinery/computer/arcade/orion_trail, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/unpowered/syndicate_lava_base/bar) "mu" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" @@ -7340,8 +7343,8 @@ ae ae ae ae -ej -eK +av +aw ae fD ad @@ -7362,7 +7365,7 @@ kH jN jZ lU -mt +ax mU np nP diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm index c251a338a5..ddc8778ac1 100644 --- a/_maps/RandomZLevels/moonoutpost19.dmm +++ b/_maps/RandomZLevels/moonoutpost19.dmm @@ -16,6 +16,13 @@ heat_capacity = 1e+006 }, /area/awaymission/moonoutpost19/hive) +"ae" = ( +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/awaymission/moonoutpost19/arrivals) "ag" = ( /obj/structure/alien/weeds, /obj/structure/alien/weeds{ @@ -6408,10 +6415,6 @@ heat_capacity = 1e+006 }, /area/awaymission/moonoutpost19/arrivals) -"mB" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/plasteel/dark, -/area/awaymission/moonoutpost19/arrivals) "mC" = ( /obj/machinery/vending/cigarette, /obj/structure/sign/poster/contraband/smoke{ @@ -43385,7 +43388,7 @@ la lq jk mj -mB +ae hJ ba ba @@ -43642,7 +43645,7 @@ jN lr jj mj -mB +ae hI ba ba diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm index 3a58d85143..2499270d8f 100644 --- a/_maps/RandomZLevels/research.dmm +++ b/_maps/RandomZLevels/research.dmm @@ -245,10 +245,38 @@ }, /turf/open/floor/plating, /area/awaymission/research/interior/engineering) +"aS" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/mob/living/carbon/monkey, +/turf/open/floor/plasteel, +/area/awaymission/research/interior/genetics) "aT" = ( /mob/living/simple_animal/hostile/syndicate/melee/sword, /turf/open/floor/plating, /area/awaymission/research/interior/engineering) +"aU" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/mob/living/carbon/human, +/turf/open/floor/plasteel, +/area/awaymission/research/interior/genetics) "aV" = ( /obj/item/stack/sheet/plasteel, /obj/effect/turf_decal/tile/yellow{ @@ -326,6 +354,23 @@ icon_state = "damaged4" }, /area/awaymission/research/interior/engineering) +"bc" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/mob/living/carbon/monkey, +/turf/open/floor/plasteel, +/area/awaymission/research/interior/genetics) "bd" = ( /turf/open/floor/plasteel{ icon_state = "damaged3" @@ -903,6 +948,17 @@ /obj/machinery/light/small, /turf/open/floor/plating, /area/awaymission/research/interior/maint) +"co" = ( +/obj/item/ammo_casing/c45, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/mob/living/simple_animal/hostile/syndicate, +/turf/open/floor/plasteel/white, +/area/awaymission/research/interior) "cp" = ( /turf/closed/wall/r_wall, /area/awaymission/research/interior) @@ -1195,19 +1251,19 @@ /turf/open/floor/plating, /area/awaymission/research/interior/genetics) "cT" = ( -/mob/living/carbon/monkey, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/red{ dir = 8 }, +/mob/living/simple_animal/hostile/nanotrasen/ranged, /turf/open/floor/plasteel, -/area/awaymission/research/interior/genetics) +/area/awaymission/research/interior/security) "cU" = ( /obj/machinery/door/window/eastright, /obj/effect/turf_decal/tile/purple{ @@ -1253,7 +1309,9 @@ /turf/open/floor/plasteel, /area/awaymission/research/interior/genetics) "cX" = ( -/mob/living/carbon/human, +/obj/structure/window/reinforced{ + dir = 8 + }, /obj/effect/turf_decal/tile/purple{ dir = 1 }, @@ -1264,6 +1322,7 @@ /obj/effect/turf_decal/tile/purple{ dir = 8 }, +/mob/living/carbon/human, /turf/open/floor/plasteel, /area/awaymission/research/interior/genetics) "cY" = ( @@ -1356,22 +1415,15 @@ /turf/open/floor/plasteel, /area/awaymission/research/interior/genetics) "di" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/mob/living/carbon/monkey, /obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/awaymission/research/interior/genetics) +/mob/living/simple_animal/hostile/nanotrasen/ranged, +/turf/open/floor/plasteel/white, +/area/awaymission/research/interior/cryo) "dj" = ( /obj/effect/decal/cleanable/blood, /obj/item/stack/rods, @@ -1416,14 +1468,14 @@ /turf/open/floor/plasteel/white, /area/awaymission/research/interior) "dn" = ( -/obj/item/ammo_casing/c45, -/mob/living/simple_animal/hostile/syndicate, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, +/obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ - dir = 8 + dir = 4 }, +/mob/living/simple_animal/hostile/syndicate, /turf/open/floor/plasteel/white, /area/awaymission/research/interior) "do" = ( @@ -1675,7 +1727,6 @@ /turf/open/floor/plasteel, /area/awaymission/research/interior/security) "dI" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -1686,7 +1737,8 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, -/turf/open/floor/plasteel, +/mob/living/simple_animal/hostile/nanotrasen/ranged/smg, +/turf/open/floor/plasteel/white, /area/awaymission/research/interior/security) "dJ" = ( /obj/structure/rack, @@ -1777,11 +1829,7 @@ }, /turf/open/floor/plasteel/dark, /area/awaymission/research/interior/genetics) -"dQ" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/mob/living/carbon/human, +"dP" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 }, @@ -1792,8 +1840,23 @@ /obj/effect/turf_decal/tile/purple{ dir = 8 }, +/mob/living/simple_animal/hostile/nanotrasen/ranged, +/turf/open/floor/plasteel/white, +/area/awaymission/research/interior/cryo) +"dQ" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/mob/living/simple_animal/hostile/nanotrasen, /turf/open/floor/plasteel, -/area/awaymission/research/interior/genetics) +/area/awaymission/research/interior/cryo) "dR" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2144,15 +2207,15 @@ /turf/open/floor/plasteel/white, /area/awaymission/research/interior/cryo) "eB" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/red{ dir = 4 }, +/mob/living/simple_animal/hostile/nanotrasen/ranged/smg, /turf/open/floor/plasteel/white, -/area/awaymission/research/interior/cryo) +/area/awaymission/research/interior/security) "eC" = ( /obj/item/ammo_casing/c9mm, /obj/effect/turf_decal/tile/purple{ @@ -2214,16 +2277,22 @@ /turf/open/floor/plasteel/white, /area/awaymission/research/interior) "eL" = ( -/mob/living/simple_animal/hostile/syndicate, -/obj/effect/turf_decal/tile/yellow{ +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/awaymission/research/interior) +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/mob/living/carbon/monkey, +/turf/open/floor/plasteel, +/area/awaymission/research/interior/genetics) "eM" = ( /obj/item/ammo_casing/c45, /obj/item/ammo_casing/c45, @@ -2846,19 +2915,19 @@ /turf/open/floor/plasteel/white, /area/awaymission/research/interior/security) "fY" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/green{ dir = 1 }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ dir = 4 }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/green{ dir = 8 }, +/mob/living/simple_animal/hostile/syndicate/ranged/smg, /turf/open/floor/plasteel/white, -/area/awaymission/research/interior/security) +/area/awaymission/research/interior) "fZ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2966,6 +3035,23 @@ }, /turf/open/floor/plasteel/dark, /area/awaymission/research/interior/secure) +"gi" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/mob/living/simple_animal/bot/secbot/beepsky{ + desc = "A beefy variant of the standard securitron model."; + emagged = 1; + faction = list("nanotrasenprivate"); + health = 50; + maxHealth = 50; + name = "Officer Genesky" + }, +/turf/open/floor/plasteel/white, +/area/awaymission/research/interior/security) "gj" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3115,19 +3201,13 @@ /turf/open/floor/plasteel/white, /area/awaymission/research/interior/cryo) "gv" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ dir = 4 }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, +/mob/living/simple_animal/hostile/syndicate, /turf/open/floor/plasteel/white, -/area/awaymission/research/interior/cryo) +/area/awaymission/research/interior) "gw" = ( /obj/effect/mob_spawn/human/doctor{ brute_damage = 145; @@ -3508,6 +3588,35 @@ }, /turf/open/floor/plasteel/white, /area/awaymission/research/interior) +"gW" = ( +/obj/structure/sign/directions/security{ + dir = 1; + pixel_x = 32; + pixel_y = 40 + }, +/obj/structure/sign/directions/engineering{ + dir = 1; + pixel_x = 32; + pixel_y = 33 + }, +/obj/structure/sign/directions/science{ + dir = 1; + pixel_x = 32; + pixel_y = 26 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/mob/living/simple_animal/hostile/syndicate/ranged/smg, +/turf/open/floor/plasteel/white, +/area/awaymission/research/interior) "gX" = ( /obj/effect/decal/cleanable/blood/drip, /obj/effect/turf_decal/tile/purple{ @@ -3660,19 +3769,19 @@ /turf/open/floor/plasteel/white, /area/awaymission/research/interior/security) "hj" = ( -/mob/living/simple_animal/hostile/nanotrasen, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/turf/open/floor/plasteel, -/area/awaymission/research/interior/cryo) +/mob/living/simple_animal/hostile/syndicate/ranged/smg, +/turf/open/floor/plasteel/white, +/area/awaymission/research/interior/medbay) "hk" = ( /obj/effect/decal/cleanable/blood, /obj/effect/turf_decal/tile/purple{ @@ -3736,15 +3845,19 @@ /turf/open/floor/plasteel/white, /area/awaymission/research/interior/security) "hq" = ( -/mob/living/simple_animal/hostile/nanotrasen/ranged/smg, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/mob/living/simple_animal/hostile/syndicate, /turf/open/floor/plasteel/white, -/area/awaymission/research/interior/security) +/area/awaymission/research/interior/medbay) "hr" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3799,6 +3912,15 @@ }, /turf/open/floor/plasteel/white, /area/awaymission/research/interior/cryo) +"hw" = ( +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 8 + }, +/turf/open/floor/plasteel/yellowsiding{ + dir = 4 + }, +/area/awaymission/research/interior/dorm) "hx" = ( /obj/structure/cable{ icon_state = "2-4" @@ -4066,23 +4188,6 @@ }, /turf/open/floor/plasteel/dark, /area/awaymission/research/interior/genetics) -"hW" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/mob/living/carbon/monkey, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/awaymission/research/interior/genetics) "hX" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, @@ -4139,20 +4244,6 @@ }, /turf/open/floor/plating, /area/awaymission/research/interior/maint) -"if" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/smg, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/awaymission/research/interior) "ig" = ( /obj/structure/cable{ icon_state = "2-4" @@ -4186,23 +4277,6 @@ }, /turf/open/floor/plasteel/white, /area/awaymission/research/interior/security) -"ij" = ( -/mob/living/simple_animal/bot/secbot/beepsky{ - desc = "A beefy variant of the standard securitron model."; - emagged = 1; - faction = list("nanotrasenprivate"); - health = 50; - maxHealth = 50; - name = "Officer Genesky" - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/awaymission/research/interior/security) "ik" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4546,14 +4620,6 @@ }, /turf/open/floor/plasteel/freezer, /area/awaymission/research/interior/bathroom) -"iQ" = ( -/mob/living/simple_animal/hostile/syndicate, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/awaymission/research/interior) "iR" = ( /turf/open/floor/plasteel, /area/awaymission/research/interior/maint) @@ -4723,35 +4789,6 @@ }, /turf/open/floor/plasteel, /area/awaymission/research/interior) -"jr" = ( -/obj/structure/sign/directions/security{ - dir = 1; - pixel_x = 32; - pixel_y = 40 - }, -/obj/structure/sign/directions/engineering{ - dir = 1; - pixel_x = 32; - pixel_y = 33 - }, -/obj/structure/sign/directions/science{ - dir = 1; - pixel_x = 32; - pixel_y = 26 - }, -/mob/living/simple_animal/hostile/syndicate/ranged/smg, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/awaymission/research/interior) "js" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -4976,20 +5013,6 @@ }, /turf/open/floor/plasteel/white, /area/awaymission/research/interior/medbay) -"jP" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/smg, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/awaymission/research/interior/medbay) "jQ" = ( /obj/effect/decal/cleanable/blood/drip, /obj/effect/turf_decal/tile/blue{ @@ -5591,9 +5614,6 @@ dir = 8 }, /area/awaymission/research/interior/dorm) -"ln" = ( -/turf/open/floor/plasteel, -/area/space/nearstation) "lo" = ( /obj/structure/table/wood, /obj/structure/bedsheetbin, @@ -5613,20 +5633,6 @@ }, /turf/open/floor/plasteel/white, /area/awaymission/research/interior/medbay) -"lr" = ( -/mob/living/simple_animal/hostile/syndicate, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/awaymission/research/interior/medbay) "ls" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, @@ -5867,12 +5873,6 @@ /obj/effect/landmark/awaystart, /turf/open/floor/wood, /area/awaymission/research/interior/dorm) -"lU" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/plasteel/yellowsiding{ - dir = 4 - }, -/area/awaymission/research/interior/dorm) "lV" = ( /obj/machinery/light/small{ dir = 1 @@ -38316,7 +38316,7 @@ ea ev fd fE -gv +dP ev fd fE @@ -38565,10 +38565,10 @@ aH cm cw cx -cT +aS dh dq -cT +aS ea ev fc @@ -38823,7 +38823,7 @@ cd cx cx cU -di +bc dr dr ea @@ -39603,7 +39603,7 @@ ey fG gw gR -hj +dQ hu hK cK @@ -40367,7 +40367,7 @@ cx cW dh du -dQ +cX ea eA fd @@ -40377,7 +40377,7 @@ ev fd fE ea -hW +eL ib ib iz @@ -40621,12 +40621,12 @@ aH ce cc cx -cX +aU dh dv dh ea -eB +di fc fH gx @@ -40637,7 +40637,7 @@ ea dh dv dh -cT +aS cx cm cw @@ -40651,7 +40651,7 @@ kr jn jF jF -ln +jF kc lL jk @@ -41143,7 +41143,7 @@ ea ev fh fI -gv +dP ev fc fE @@ -43224,8 +43224,8 @@ lc lp lp lN -lU -lU +hw +hw lY aP cd @@ -44224,7 +44224,7 @@ dl dz cZ ek -eL +dn fl eJ eZ @@ -44238,7 +44238,7 @@ ir hZ hZ hZ -iQ +gv hZ hZ hA @@ -44490,7 +44490,7 @@ hl hl hl hl -if +fY is hl hl @@ -44734,7 +44734,7 @@ cs cC cP TD -dn +co dB da em @@ -44756,7 +44756,7 @@ ia ia ia ia -jr +gW jI hl kv @@ -47584,7 +47584,7 @@ aO iW iW ju -jP +hj kh iW iW @@ -48361,7 +48361,7 @@ kg kM jh jw -lr +hq kg iW cd @@ -48855,7 +48855,7 @@ fq fW gK fW -hq +eB do dH dH @@ -49366,7 +49366,7 @@ dT eo eR fr -fY +dI gK fW ho @@ -49646,7 +49646,7 @@ kg kL kZ lg -lr +hq lD iW lW @@ -50389,7 +50389,7 @@ ad aH aO do -dI +cT dH dH eS @@ -50401,7 +50401,7 @@ fW fW fW fW -ij +gi do hD aH @@ -50672,7 +50672,7 @@ jw km kB kO -jP +hj lj lw lI diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 125da46b81..cf1b2c6835 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -372,7 +372,10 @@ /turf/open/space, /area/space/nearstation) "aaU" = ( -/obj/machinery/computer/arcade, +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 4 + }, /turf/open/floor/plasteel, /area/security/prison) "aaV" = ( @@ -6019,6 +6022,18 @@ }, /turf/open/floor/plasteel, /area/security/processing) +"amd" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 4 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit) "ame" = ( /obj/structure/cable{ icon_state = "1-2" @@ -6225,6 +6240,17 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/fore) +"amB" = ( +/obj/effect/turf_decal/tile/bar, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/bar) "amC" = ( /turf/open/floor/plating, /area/maintenance/port/fore) @@ -19937,15 +19963,6 @@ dir = 1 }, /area/chapel/main) -"aUL" = ( -/obj/machinery/computer/arcade, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) "aUM" = ( /obj/machinery/camera{ c_tag = "Arrivals Bay 2"; @@ -22268,14 +22285,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/bar) -"baa" = ( -/obj/machinery/computer/arcade, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/bar) "bab" = ( /obj/machinery/light, /obj/machinery/firealarm{ @@ -91961,7 +91970,7 @@ aUf aQc aXi aQc -baa +amB aJC bcq bcq @@ -106349,7 +106358,7 @@ aCR aCR aCR aTl -aUL +amd aVW aXD aZj diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 79b7561ebb..e500c85640 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -173,6 +173,88 @@ /obj/effect/landmark/xeno_spawn, /turf/open/space, /area/solar/starboard/fore) +"aav" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aaw" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"aax" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"aay" = ( +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aaz" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard/fore) +"aaA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"aaB" = ( +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 1 + }, +/turf/open/floor/plating, +/area/security/prison) "aaE" = ( /obj/structure/lattice/catwalk, /turf/open/space, @@ -4563,11 +4645,6 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) -"anz" = ( -/obj/machinery/computer/arcade, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "anA" = ( /obj/structure/cable/white{ icon_state = "0-2" @@ -7122,10 +7199,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"arX" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "arY" = ( /obj/structure/table/wood, /obj/item/toy/talking/codex_gigas, @@ -7156,11 +7229,6 @@ }, /turf/open/floor/plasteel/dark, /area/maintenance/starboard/fore) -"asa" = ( -/obj/machinery/computer/arcade, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "asb" = ( /obj/machinery/airalarm{ dir = 1; @@ -21997,10 +22065,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/security/prison) -"aRi" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/plating, -/area/security/prison) "aRj" = ( /obj/structure/cable/white{ icon_state = "0-2" @@ -170617,7 +170681,7 @@ aox apu aqy arb -aoy +aax aig auA avU @@ -170874,7 +170938,7 @@ aoy apv aqz apu -arX +aay aig auB avU @@ -171383,8 +171447,8 @@ aiC akU alI amE -anz -aox +aav +aaw apw aqA apy @@ -171902,7 +171966,7 @@ aiC apy apy apu -aox +aaz atw auD avW @@ -172159,7 +172223,7 @@ aoB apz apw apv -asa +aaA atw auE avW @@ -182715,7 +182779,7 @@ aFn aMn aNI aPr -aRi +aaB aKV aUC aWk diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index a87c17836c..a7ab212bd6 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -1279,6 +1279,22 @@ }, /turf/open/floor/plasteel, /area/science/mixing) +"abQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/computer/arcade{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/port) "abR" = ( /obj/structure/lattice, /turf/open/space, @@ -37164,20 +37180,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"dEa" = ( -/obj/machinery/computer/arcade, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/maintenance/port) "dFV" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 @@ -76194,7 +76196,7 @@ aZp bak bbc bbQ -dEa +abQ bdD beu sKE diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 698eb6cd5a..9ae92b26d4 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -35,6 +35,30 @@ icon_state = "platingdmg3" }, /area/maintenance/department/science) +"aae" = ( +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/prison) +"aaf" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/computer/arcade{ + icon_state = "arcade"; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/heads/captain) "abf" = ( /obj/structure/bed, /turf/open/floor/plating, @@ -1621,10 +1645,6 @@ }, /turf/open/floor/plasteel/dark, /area/security/prison) -"afI" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/plasteel/dark, -/area/security/prison) "afJ" = ( /obj/effect/landmark/carpspawn, /turf/open/space/basic, @@ -13685,20 +13705,6 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) -"aGm" = ( -/obj/machinery/computer/arcade, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/heads/captain) "aGn" = ( /obj/item/twohanded/required/kirbyplants/photosynthetic{ layer = 3.1 @@ -83601,7 +83607,7 @@ aeu aeI lGp aeU -afI +aae aeU dUk agy @@ -90832,7 +90838,7 @@ aCC aDG aBm aFz -aGm +aaf awR aHQ aIO diff --git a/_maps/shuttles/emergency_cere.dmm b/_maps/shuttles/emergency_cere.dmm index 23de211226..f49e70aeb9 100644 --- a/_maps/shuttles/emergency_cere.dmm +++ b/_maps/shuttles/emergency_cere.dmm @@ -591,6 +591,22 @@ /obj/machinery/recharger, /turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) +"bh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/computer/arcade{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/shuttle/escape) "bj" = ( /turf/open/floor/mech_bay_recharge_floor, /area/shuttle/escape) @@ -1181,20 +1197,6 @@ }, /turf/open/floor/plasteel/white, /area/shuttle/escape) -"cz" = ( -/obj/machinery/computer/arcade, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/shuttle/escape) "cA" = ( /obj/machinery/light{ dir = 8 @@ -1815,8 +1817,8 @@ ab ad cn cn -cz -cz +bh +bh cn cn ab diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index b988bd8d35..8d950f8458 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -86,7 +86,8 @@ /obj/item/circuitboard/computer/arcade/amputation = 2) var/thegame = pickweight(gameodds) var/obj/item/circuitboard/CB = new thegame() - new CB.build_path(loc, CB) + var/obj/machinery/computer/arcade/A = new CB.build_path(loc, CB) + A.setDir(dir) return INITIALIZE_HINT_QDEL //The below object acts as a spawner with a wide array of possible picks, most being uninspired references to past/current player characters. //Nevertheless, this keeps its ratio constant with the sum of all the others prizes. From 05dc64fd0ae8bd661a52abbd8baf668266f827b1 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 30 Oct 2019 21:47:33 +0100 Subject: [PATCH 037/136] Obligatory changes for 513 kevinz forgot about. --- Dockerfile | 2 +- code/__DEFINES/citadel_defines.dm | 2 +- code/__DEFINES/misc.dm | 2 +- code/datums/components/phantomthief.dm | 21 ++++++--------------- 4 files changed, 9 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index ec3694c7e8..ad347079cd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM tgstation/byond:512.1488 as base +FROM tgstation/byond:513.1490 as base FROM base as build_base diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 3301def4a1..d4ec6a7d3f 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -15,7 +15,7 @@ #define ui_boxvore "EAST-5:22,SOUTH+1:6" //Filters -#define CIT_FILTER_STAMINACRIT filter(type="drop_shadow", x=0, y=0, size=-3, border=0, color="#04080F") +#define CIT_FILTER_STAMINACRIT filter(type="drop_shadow", x=0, y=0, size=-3, color="#04080F") //organ defines #define COCK_SIZE_MIN 1 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 94a189ff07..38fd102b19 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -489,7 +489,7 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S #define PDAIMG(what) {""} //Filters -#define AMBIENT_OCCLUSION list("type"="drop_shadow","x"=0,"y"=-2,"size"=4,"border"=4,"color"="#04080FAA") +#define AMBIENT_OCCLUSION list("type"="drop_shadow","x"=0,"y"=-2,"size"=4,"color"="#04080FAA") #define EYE_BLUR(size) list("type"="blur", "size"=size) #define GRAVITY_MOTION_BLUR list("type"="motion_blur","x"=0,"y"=0) diff --git a/code/datums/components/phantomthief.dm b/code/datums/components/phantomthief.dm index ff1c48936f..7afe64994f 100644 --- a/code/datums/components/phantomthief.dm +++ b/code/datums/components/phantomthief.dm @@ -7,33 +7,24 @@ var/filter_x var/filter_y var/filter_size - var/filter_border var/filter_color -/datum/component/wearertargeting/phantomthief/Initialize(_x = -2, _y = 0, _size = 0, _border = 0, _color = "#E62111", list/_valid_slots = list(SLOT_GLASSES)) +/datum/component/wearertargeting/phantomthief/Initialize(_x = -2, _y = 0, _size = 0, _color = "#E62111", list/_valid_slots = list(SLOT_GLASSES)) . = ..() if(. == COMPONENT_INCOMPATIBLE) return filter_x = _x filter_y = _y filter_size = _size - filter_border = _border filter_color = _color valid_slots = _valid_slots /datum/component/wearertargeting/phantomthief/proc/handlefilterstuff(datum/source, mob/user, combatmodestate) - if(istype(user)) - var/thefilter = filter(type = "drop_shadow", x = filter_x, y = filter_y, size = filter_size, border = filter_border, color = filter_color) - if(!combatmodestate) - user.filters -= thefilter - else - user.filters += thefilter - -/datum/component/wearertargeting/phantomthief/proc/stripdesiredfilter(mob/user) - if(istype(user)) - var/thefilter = filter(type = "drop_shadow", x = filter_x, y = filter_y, size = filter_size, border = filter_border, color = filter_color) - user.filters -= thefilter + if(!combatmodestate) + user.remove_filter("phantomthief") + else + user.add_filter("phantomthief", 4, list(type = "drop_shadow", x = filter_x, y = filter_y, size = filter_size, color = filter_color)) /datum/component/wearertargeting/phantomthief/on_drop(datum/source, mob/user) . = ..() - stripdesiredfilter(user) + user.remove_filter("phantomthief") From 56b65130fb00693ccc7312dad361d47fa9615cbe Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 31 Oct 2019 01:17:21 +0100 Subject: [PATCH 038/136] Modernizing ratvarian computer sprites. --- code/game/machinery/computer/_computer.dm | 6 +++--- icons/obj/computer.dmi | Bin 118008 -> 129964 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 3c3f0e7f0f..fb46229bdb 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -34,9 +34,9 @@ /obj/machinery/computer/ratvar_act() if(!clockwork) clockwork = TRUE - icon_screen = "ratvar[rand(1, 4)]" - icon_keyboard = "ratvar_key[rand(1, 6)]" - icon_state = "ratvarcomputer[rand(1, 4)]" + icon_screen = "ratvar[rand(1, 3)]" + icon_keyboard = "ratvar_key[rand(1, 2)]" + icon_state = "ratvarcomputer" update_icon() /obj/machinery/computer/narsie_act() diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index d22002935fa08ae475f23d11a029eb4cd92dd785..74ca14803975fc0d9d9c86cc1d77b3f7451083f4 100644 GIT binary patch literal 129964 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 z�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]-T$xM#K150g=rN(qZ zCWba_p9mG=`fA9a=OOBVkdPbt%mD-QJ!7K#9lH>Mnf7?!VOc#((|T*-y}q?)!yLZl zvp)PUGt_G5Sy3MQqKTAa2l6_W^A5(yJ2B4*ov@|#L|te=l0I!iGO!fU3t56eSG*|Uq{0KHy*F+hBwgUAg1|5H{GfJyf4MkP4;)a({%XAw*PjL3Gw{j z3l#R(9YSkrj-vRXZo4lWo)-@1FLF9|0fj}>35edAuh4GT+u%LORJmu@pGXT%D(27CbtcYN%m?73G!1XN z`3U%}1|6f`*X3D#}_eZ12O8sJ4LeKlQLMb?iq_|Ss44Y z(qoy$AL`vWCB0cnRvGSr{W*$hwh>7aaVXr(U6>p)0i|(MxuD*bUVEmqg-u1$_V(0` z_0)bkN)&@B#(tuc7io_Nl#$>RIQC2+X(wfq2;A-g;=Va07>&viaHFkL`0_=D0jeyE zTRrF^UNsR=&%KFrD7zC|W3L#}6?_rT%?g->omeRwr;!}B4j*~#UxBhN@gIB(-m0NXRgD>d# z8S^C#9`{|HvaJ=0T%P4h zqo>YuxtFaEky{yvPL$sqPlU@OSoelYcNH-&P%(awKYVqbDK8R1+8Lc3Kxc+|qq^oq z5C_w0NP-oifLX*9PY+YGdP#dJ3ieRX5^P@Asaxg1vhA_V2aYib${&*A{5a`5EQ8%B z?>0j>3^2PrF26o7!`STnl*9T57x3xx z)o%q}cAMjPL2PwtjD9s1b##>uIDtm%{jXWwsq%!!3g)a|S&Ha>ymVf=@Xj0=Z)C(g z7|VFHKfb-_lm}au1()1#-F#rpNfr+-2pCPny%>&lg<}zv6{|)FaE3b#39zOkL}k{O z3z<#G2C24iG(wvJQUHXJu{z-`g{0U4-+D)F5?eSu%qc%*D7u}EWz^1oiZgO?=c&pjTF`ziKZS>yt&INvrK!Ta{xp;|%RFa;LN= zWQ5S?&kQ~;+K~6|V#%+~(?)3Lvcdu)Cw9Cra#OcVSh^52{>#tt%s?R&C457zBN7K> zeX0KxPCJvkAp)0U<#e_$X*nwA`}mTHVDYC`@43vEag1#*Yt~JUPjLd(cmrcmt;j(U z<~aS%acHy<>7Q#w^ExP`ak`AMU(HApHuu?JMlx*lYZ7zn4$Xk%$AKh|F_lsxI#P#$FwBh1tOSO z_}z4OifI+GLJtDKf-OfA4M~t)j3Uen+#S1>ddXe(ku~Xz0CsXH1Xv2Eq6ry@EHO7$O(ugRjC~!QLzt z{Sf>>-3`5`wqUa(0UuhQ=TqhY2zFZUY|vau`(R#AA?3npgL_T6OzVkXiLG%yRL019 zPJe18<-4oDxS;?q&!N-s&(kl2zandNUoItl5zZlY@TZgll#I}hN6t8k_6~0}O+ker z3Cq1_$79ZC-O+81zjb3q_t?`G7i7ASV565y>-{}>v30`v8KdzD{q@8N+9WdS`)&cB zwzPV4CCFXuaV3#ak!%<9aLvA;j6b1AJbf;kzQ-U_dRJqW_pI@7%a^(0Z~gdUXNyrK zyVy@USJ-lqy`Z*Eki{&C_+L=tWz<$-m3RHPn)f@U%2N{%(*e$c9*tb_EHsT+(ftG} zpNps3(edWfZ^1M$vjdozWCXLzsC8nYv2|5%q*|@fdyK)Wn?yV+OU~U7I`*1bNic;8 zceqSXr(7P(K_KmCv=?8y*>Z{SmcV7hhAP;{2?5~*@lleX1cbNnaCJjQh#XjJly1H7IyJ8@MGg z!pDHeLEcGwht>Tjgsz@W{&H4DOjuRW-bRzZJDPJKFX^=S{&aw@5*rS0w=S( zS~!ut3t`i<&E9ZFe|_p^5BbGpV0>wJLA&D^ak2AQD~yx%`31F1&)@6I z^qFUE_GV949IT0@)6np{J=1#$dKFOvOySnmjh=BJJ*B^rI3cSaI{t+%XB#$1u<;6` zGXlKt)J`pIGWGVPhzvE57`Qy3UXLxhdUs^!wGtro2RCwhggRkKm6JV

D(+0P&3s_>=*EG6FJB!t&l?iY&P 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

-+9Vl}(uu>b@j(ExFA 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⪳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

Bpc1RR+Z9lnaF?zQH!zvkS*r!E%wwMh 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 E2FDjs-T(jq From 1e911cd5b267f8a7413f28c6ad883245e33fba0a Mon Sep 17 00:00:00 2001 From: Persi Date: Wed, 30 Oct 2019 21:16:49 -0400 Subject: [PATCH 039/136] Patches an exploit that allows the crew to shoot the Ark from the Reebe dressing room. --- _maps/map_files/generic/City_of_Cogs.dmm | 70 ++++++++++++------------ 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/_maps/map_files/generic/City_of_Cogs.dmm b/_maps/map_files/generic/City_of_Cogs.dmm index 584564ba2a..e1e7659ce3 100644 --- a/_maps/map_files/generic/City_of_Cogs.dmm +++ b/_maps/map_files/generic/City_of_Cogs.dmm @@ -26979,9 +26979,9 @@ ab ab ab ab -ab -ab -ab +ae +ae +ae ab ab ab @@ -27235,11 +27235,11 @@ ab ab ab ab -ab -ab -ab -ab -ab +ae +ag +ag +ag +ae ab ab ab @@ -27492,11 +27492,11 @@ ab ab ab ab -ab -ab -ab -ab -ab +ae +ag +ag +ag +ae aF aF aF @@ -27747,8 +27747,8 @@ ab ab ab ab -ae -ae +ab +ab ah ah ai @@ -28003,9 +28003,9 @@ ab ab ab ab -ae -ag -ag +ab +ab +ab ah ar aj @@ -28260,9 +28260,9 @@ ab ab ab ab -ae -ag -ag +ab +ab +ab ah as aj @@ -28517,9 +28517,9 @@ ab ab ab ab -ae -ag -ag +ab +ab +ab ah VP aj @@ -28775,8 +28775,8 @@ ab ab ab ab -ae -ae +ab +ab ah ah ay @@ -29033,7 +29033,7 @@ ab ab ab ab -ae +ab an au aj @@ -33657,7 +33657,7 @@ ab ab ab ab -ae +ab ah al aj @@ -33914,7 +33914,7 @@ ab ab ab ab -ae +ab ai bE aj @@ -34171,7 +34171,7 @@ ab ab ab ab -ae +ab ah al aj @@ -34688,11 +34688,11 @@ ab ab ab ab -ab -ab -ab -ab -ab +ae +ae +ag +ae +ae aF aF aF From 2e2c85eb95d300a7ab5175d0c70019e7e1a9c03d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 30 Oct 2019 22:22:29 -0500 Subject: [PATCH 040/136] Automatic changelog generation for PR #9667 [ci skip] --- html/changelogs/AutoChangeLog-pr-9667.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9667.yml diff --git a/html/changelogs/AutoChangeLog-pr-9667.yml b/html/changelogs/AutoChangeLog-pr-9667.yml new file mode 100644 index 0000000000..96488edaff --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9667.yml @@ -0,0 +1,4 @@ +author: "kappa-sama" +delete-after: True +changes: + - bugfix: "kevinz forgot to nerf miasma research and cargo value after making it produce like 100x as much lmao" From 57dd768950810d5d17a344acbff89b9c9f33684c Mon Sep 17 00:00:00 2001 From: Putnam Date: Wed, 30 Oct 2019 23:11:50 -0700 Subject: [PATCH 041/136] makes cloning have no 2-second delay --- code/game/machinery/computer/cloning.dm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 5cbd2d8975..c19e0be343 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -296,15 +296,13 @@ loading = 1 src.updateUsrDialog() - playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) say("Initiating scan...") - spawn(20) - src.scan_occupant(scanner.occupant) - - loading = 0 - src.updateUsrDialog() - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) + src.scan_occupant(scanner.occupant) + + loading = 0 + src.updateUsrDialog() + playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) //No locking an open scanner. From 9f97f768da2021c6d8fdf2a4edc09796d9b21860 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Thu, 31 Oct 2019 18:59:00 +0100 Subject: [PATCH 042/136] Respriting the ore redemption and miner vending machines. --- icons/obj/machines/mining_machines.dmi | Bin 4139 -> 4485 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/machines/mining_machines.dmi b/icons/obj/machines/mining_machines.dmi index 28d608125d70aac951964a6b3b9832d9fa03db02..aa60e7100c0d102ac4043f03a5139af7c201aa5d 100644 GIT binary patch literal 4485 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 delta 4099 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 Date: Thu, 31 Oct 2019 22:40:11 +0100 Subject: [PATCH 043/136] Ports "Replaces the rpg loot datum with a component and makes some suffixes have real effects" & co --- code/__DEFINES/components.dm | 7 + code/__DEFINES/fantasy_affixes.dm | 5 + code/__DEFINES/is_helpers.dm | 4 + code/datums/components/bane.dm | 45 +++++ code/datums/components/fantasy/_fantasy.dm | 140 +++++++++++++++ code/datums/components/fantasy/affix.dm | 13 ++ code/datums/components/fantasy/prefixes.dm | 68 +++++++ code/datums/components/fantasy/suffixes.dm | 170 ++++++++++++++++++ code/datums/components/igniter.dm | 37 ++++ code/datums/components/knockback.dm | 44 +++++ code/datums/components/lifesteal.dm | 39 ++++ code/datums/components/shrapnel.dm | 39 ++++ code/datums/components/summoning.dm | 69 +++++++ code/datums/components/tactical.dm | 42 +++++ .../machinery/porta_turret/portable_turret.dm | 1 + code/game/objects/items.dm | 6 +- code/game/objects/items/robot/robot_items.dm | 4 +- code/game/objects/structures/flora.dm | 15 +- code/modules/events/wizard/rpgloot.dm | 81 +-------- .../living/simple_animal/hostile/hostile.dm | 4 +- code/modules/power/singularity/emitter.dm | 1 + .../modules/projectiles/ammunition/_firing.dm | 7 +- .../ammunition/caseless/_caseless.dm | 2 +- code/modules/projectiles/gun.dm | 4 +- code/modules/projectiles/projectile.dm | 5 + tgstation.dme | 12 ++ 26 files changed, 766 insertions(+), 98 deletions(-) create mode 100644 code/__DEFINES/fantasy_affixes.dm create mode 100644 code/datums/components/bane.dm create mode 100644 code/datums/components/fantasy/_fantasy.dm create mode 100644 code/datums/components/fantasy/affix.dm create mode 100644 code/datums/components/fantasy/prefixes.dm create mode 100644 code/datums/components/fantasy/suffixes.dm create mode 100644 code/datums/components/igniter.dm create mode 100644 code/datums/components/knockback.dm create mode 100644 code/datums/components/lifesteal.dm create mode 100644 code/datums/components/shrapnel.dm create mode 100644 code/datums/components/summoning.dm create mode 100644 code/datums/components/tactical.dm diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 7ed8ee558b..3a680d1c90 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -157,6 +157,10 @@ // /mob/living/carbon signals #define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" //from base of mob/living/carbon/soundbang_act(): (list(intensity)) +// /mob/living/simple_animal/hostile signals +#define COMSIG_HOSTILE_ATTACKINGTARGET "hostile_attackingtarget" + #define COMPONENT_HOSTILE_NO_ATTACK 1 + // /obj signals #define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" //from base of obj/deconstruct(): (disassembled) #define COMSIG_OBJ_BREAK "obj_break" //from base of /obj/obj_break(): (damage_flag) @@ -206,6 +210,9 @@ // /obj/item/pen signals #define COMSIG_PEN_ROTATED "pen_rotated" //called after rotation in /obj/item/pen/attack_self(): (rotation, mob/living/carbon/user) +// /obj/item/projectile signals (sent to the firer) +#define COMSIG_PROJECTILE_ON_HIT "projectile_on_hit" // from base of /obj/item/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle) +#define COMSIG_PROJECTILE_BEFORE_FIRE "projectile_before_fire" // from base of /obj/item/projectile/proc/fire(): (obj/item/projectile, atom/original_target) // /mob/living/carbon/human signals #define COMSIG_HUMAN_MELEE_UNARMED_ATTACK "human_melee_unarmed_attack" //from mob/living/carbon/human/UnarmedAttack(): (atom/target) diff --git a/code/__DEFINES/fantasy_affixes.dm b/code/__DEFINES/fantasy_affixes.dm new file mode 100644 index 0000000000..709d414d11 --- /dev/null +++ b/code/__DEFINES/fantasy_affixes.dm @@ -0,0 +1,5 @@ +#define AFFIX_PREFIX (1 << 0) +#define AFFIX_SUFFIX (1 << 1) + +#define AFFIX_GOOD (1 << 0) +#define AFFIX_EVIL (1 << 1) \ No newline at end of file diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 0dee8bd1e8..70010eeffc 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -219,6 +219,10 @@ GLOBAL_LIST_INIT(pointed_types, typecacheof(list( #define isbodypart(A) (istype(A, /obj/item/bodypart)) +#define isprojectile(A) (istype(A, /obj/item/projectile)) + +#define isgun(A) (istype(A, /obj/item/gun)) + //Assemblies #define isassembly(O) (istype(O, /obj/item/assembly)) diff --git a/code/datums/components/bane.dm b/code/datums/components/bane.dm new file mode 100644 index 0000000000..84f8010270 --- /dev/null +++ b/code/datums/components/bane.dm @@ -0,0 +1,45 @@ +/datum/component/bane + dupe_mode = COMPONENT_DUPE_ALLOWED + + var/mobtype + var/speciestype + var/damage_multiplier + +/datum/component/bane/Initialize(mobtype, damage_multiplier=1) + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + if(ispath(mobtype, /mob/living)) + src.mobtype = mobtype + else if(ispath(mobtype, /datum/species)) + speciestype = mobtype + else + return COMPONENT_INCOMPATIBLE + + src.damage_multiplier = damage_multiplier + +/datum/component/bane/RegisterWithParent() + if(speciestype) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/speciesCheck) + else + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/mobCheck) + +/datum/component/bane/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_ITEM_AFTERATTACK) + +/datum/component/bane/proc/speciesCheck(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters) + if(!is_species(target, speciestype)) + return + activate(source, target, user) + +/datum/component/bane/proc/mobCheck(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters) + if(!istype(target, mobtype)) + return + activate(source, target, user) + +/datum/component/bane/proc/activate(obj/item/source, mob/living/target, mob/attacker) + if(attacker.a_intent != INTENT_HARM) + return + + var/extra_damage = max(0, source.force * damage_multiplier) + target.apply_damage(extra_damage, source.damtype, attacker.zone_selected) diff --git a/code/datums/components/fantasy/_fantasy.dm b/code/datums/components/fantasy/_fantasy.dm new file mode 100644 index 0000000000..86e016784a --- /dev/null +++ b/code/datums/components/fantasy/_fantasy.dm @@ -0,0 +1,140 @@ +/datum/component/fantasy + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + + var/quality + + var/canFail + var/announce + + var/originalName + var/list/affixes + var/list/appliedComponents + + var/static/list/affixListing + +/datum/component/fantasy/Initialize(quality, list/affixes = list(), canFail=FALSE, announce=FALSE) + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + src.quality = quality || randomQuality() + src.canFail = canFail + src.announce = announce + + src.affixes = affixes + appliedComponents = list() + randomAffixes() + +/datum/component/fantasy/Destroy() + unmodify() + affixes = null + return ..() + +/datum/component/fantasy/RegisterWithParent() + var/obj/item/master = parent + originalName = master.name + modify() + +/datum/component/fantasy/UnregisterFromParent() + unmodify() + +/datum/component/fantasy/InheritComponent(datum/component/fantasy/newComp, original, list/arguments) + unmodify() + if(newComp) + quality += newComp.quality + canFail = newComp.canFail + announce = newComp.announce + else + arguments.len = 5 // This is done to replicate what happens when an arglist smaller than the necessary arguments is given + quality += arguments[1] + canFail = arguments[4] || canFail + announce = arguments[5] || announce + modify() + +/datum/component/fantasy/proc/randomQuality() + var/quality = pick(1;15, 2;14, 2;13, 2;12, 3;11, 3;10, 3;9, 4;8, 4;7, 4;6, 5;5, 5;4, 5;3, 6;2, 6;1, 6;0) + if(prob(50)) + quality = -quality + return quality + +/datum/component/fantasy/proc/randomAffixes(force) + if(!affixListing) + affixListing = list() + for(var/T in subtypesof(/datum/fantasy_affix)) + var/datum/fantasy_affix/affix = new T + affixListing[affix] = affix.weight + + if(length(affixes)) + if(!force) + return + affixes = list() + + var/alignment + if(quality >= 0) + alignment |= AFFIX_GOOD + if(quality <= 0) + alignment |= AFFIX_EVIL + + var/usedSlots = NONE + for(var/i in 1 to max(1, abs(quality))) // We want at least 1 affix applied + var/datum/fantasy_affix/affix = pickweight(affixListing) + if(affix.placement & usedSlots) + continue + if(!(affix.alignment & alignment)) + continue + if(!affix.validate(src)) + continue + affixes += affix + usedSlots |= affix.placement + +/datum/component/fantasy/proc/modify() + var/obj/item/master = parent + + master.force = max(0, master.force + quality) + master.throwforce = max(0, master.throwforce + quality) + master.armor = master.armor?.modifyAllRatings(quality) + + var/newName = originalName + for(var/i in affixes) + var/datum/fantasy_affix/affix = i + newName = affix.apply(src, newName) + + if(quality != 0) + newName = "[newName] [quality > 0 ? "+" : ""][quality]" + + if(canFail && prob((quality - 9)*10)) + var/turf/place = get_turf(parent) + place.visible_message("[parent] violently glows blue for a while, then evaporates.") + master.burn() + return + else if(announce) + announce() + + master.name = newName + +/datum/component/fantasy/proc/unmodify() + var/obj/item/master = parent + + for(var/i in affixes) + var/datum/fantasy_affix/affix = i + affix.remove(src) + for(var/i in appliedComponents) + qdel(i) + + master.force = max(0, master.force - quality) + master.throwforce = max(0, master.throwforce - quality) + master.armor = master.armor?.modifyAllRatings(-quality) + + master.name = originalName + +/datum/component/fantasy/proc/announce() + var/turf/location = get_turf(parent) + var/span + var/effect_description + if(quality >= 0) + span = "" + effect_description = "shimmering golden glow" + else + span = "" + effect_description = "mottled black glow" + + location.visible_message("[span][originalName] is covered by a [effect_description] and then transforms into [parent]!") diff --git a/code/datums/components/fantasy/affix.dm b/code/datums/components/fantasy/affix.dm new file mode 100644 index 0000000000..ad1f44ce4d --- /dev/null +++ b/code/datums/components/fantasy/affix.dm @@ -0,0 +1,13 @@ +/datum/fantasy_affix + var/placement // A bitflag of "slots" this affix takes up, for example pre/suffix + var/alignment + var/weight = 10 + +// For those occasional affixes which only make sense in certain circumstances +/datum/fantasy_affix/proc/validate(datum/component/fantasy/comp) + return TRUE + +/datum/fantasy_affix/proc/apply(datum/component/fantasy/comp, newName) + return newName + +/datum/fantasy_affix/proc/remove(datum/component/fantasy/comp) diff --git a/code/datums/components/fantasy/prefixes.dm b/code/datums/components/fantasy/prefixes.dm new file mode 100644 index 0000000000..702ec9329a --- /dev/null +++ b/code/datums/components/fantasy/prefixes.dm @@ -0,0 +1,68 @@ +/datum/fantasy_affix/cosmetic_prefixes + placement = AFFIX_PREFIX + alignment = AFFIX_GOOD | AFFIX_EVIL + + var/list/goodPrefixes + var/list/badPrefixes + +/datum/fantasy_affix/cosmetic_prefixes/New() + goodPrefixes = list( + "greater", + "major", + "blessed", + "superior", + "empowered", + "honed", + "true", + "glorious", + "robust", + ) + badPrefixes = list( + "lesser", + "minor", + "blighted", + "inferior", + "enfeebled", + "rusted", + "unsteady", + "tragic", + "gimped", + "cursed", + ) + + weight = (length(goodPrefixes) + length(badPrefixes)) * 10 + +/datum/fantasy_affix/cosmetic_prefixes/apply(datum/component/fantasy/comp, newName) + if(comp.quality > 0 || (comp.quality == 0 && prob(50))) + return "[pick(goodPrefixes)] [newName]" + else + return "[pick(badPrefixes)] [newName]" + +/datum/fantasy_affix/tactical + placement = AFFIX_PREFIX + alignment = AFFIX_GOOD + weight = 1 // Very powerful, no one should have such power + +/datum/fantasy_affix/tactical/apply(datum/component/fantasy/comp, newName) + var/obj/item/master = comp.parent + comp.appliedComponents += master.AddComponent(/datum/component/tactical) + return "tactical [newName]" + +/datum/fantasy_affix/pyromantic + placement = AFFIX_PREFIX + alignment = AFFIX_GOOD + +/datum/fantasy_affix/pyromantic/apply(datum/component/fantasy/comp, newName) + var/obj/item/master = comp.parent + comp.appliedComponents += master.AddComponent(/datum/component/igniter, CLAMP(comp.quality, 1, 10)) + return "pyromantic [newName]" + +/datum/fantasy_affix/vampiric + placement = AFFIX_PREFIX + alignment = AFFIX_GOOD + weight = 5 + +/datum/fantasy_affix/vampiric/apply(datum/component/fantasy/comp, newName) + var/obj/item/master = comp.parent + comp.appliedComponents += master.AddComponent(/datum/component/lifesteal, comp.quality) + return "vampiric [newName]" \ No newline at end of file diff --git a/code/datums/components/fantasy/suffixes.dm b/code/datums/components/fantasy/suffixes.dm new file mode 100644 index 0000000000..f32ca50595 --- /dev/null +++ b/code/datums/components/fantasy/suffixes.dm @@ -0,0 +1,170 @@ +/datum/fantasy_affix/cosmetic_suffixes + placement = AFFIX_SUFFIX + alignment = AFFIX_GOOD | AFFIX_EVIL + + var/list/goodSuffixes + var/list/badSuffixes + +/datum/fantasy_affix/cosmetic_suffixes/New() + goodSuffixes = list( + "dexterity", + "constitution", + "intelligence", + "wisdom", + "charisma", + "the forest", + "the hills", + "the plains", + "the sea", + "the sun", + "the moon", + "the void", + "the world", + "many secrets", + "many tales", + "many colors", + "rending", + "sundering", + "the night", + "the day", + ) + badSuffixes = list( + "draining", + "burden", + "discomfort", + "awkwardness", + "poor hygiene", + "timidity", + ) + + weight = (length(goodSuffixes) + length(badSuffixes)) * 10 + +/datum/fantasy_affix/cosmetic_suffixes/apply(datum/component/fantasy/comp, newName) + if(comp.quality > 0 || (comp.quality == 0 && prob(50))) + return "[newName] of [pick(goodSuffixes)]" + else + return "[newName] of [pick(badSuffixes)]" + +//////////// Good suffixes +/datum/fantasy_affix/bane + placement = AFFIX_SUFFIX + alignment = AFFIX_GOOD + weight = 20 + +/datum/fantasy_affix/bane/apply(datum/component/fantasy/comp, newName) + . = ..() + // This is set up to be easy to add to these lists as I expect it will need modifications + var/static/list/possible_mobtypes + if(!possible_mobtypes) + // The base list of allowed mob/species types + possible_mobtypes = typecacheof(list( + /mob/living/simple_animal, + /mob/living/carbon, + /datum/species, + )) + // Some particular types to disallow if they're too broad/abstract + possible_mobtypes -= list( + /mob/living/simple_animal/hostile, + ) + // Some types to remove them and their subtypes + possible_mobtypes -= typecacheof(list( + /mob/living/carbon/human/species, + )) + + var/mob/picked_mobtype = pick(possible_mobtypes) + // This works even with the species picks since we're only accessing the name + + var/obj/item/master = comp.parent + comp.appliedComponents += master.AddComponent(/datum/component/bane, picked_mobtype) + return "[newName] of [initial(picked_mobtype.name)] slaying" + +/datum/fantasy_affix/summoning + placement = AFFIX_SUFFIX + alignment = AFFIX_GOOD + weight = 5 + +/datum/fantasy_affix/summoning/apply(datum/component/fantasy/comp, newName) + . = ..() + // This is set up to be easy to add to these lists as I expect it will need modifications + var/static/list/possible_mobtypes + if(!possible_mobtypes) + // The base list of allowed mob/species types + possible_mobtypes = typecacheof(list( + /mob/living/simple_animal, + /mob/living/carbon, + /datum/species, + )) + // Some particular types to disallow if they're too broad/abstract + possible_mobtypes -= list( + /mob/living/simple_animal/hostile, + ) + // Some types to remove them and their subtypes + possible_mobtypes -= typecacheof(list( + /mob/living/carbon/human/species, + /mob/living/simple_animal/hostile/megafauna, + )) + + var/mob/picked_mobtype = pick(possible_mobtypes) + // This works even with the species picks since we're only accessing the name + + var/obj/item/master = comp.parent + var/max_mobs = max(CEILING(comp.quality/2, 1), 1) + var/spawn_delay = 300 - 30 * comp.quality + comp.appliedComponents += master.AddComponent(/datum/component/summoning, list(picked_mobtype), 100, max_mobs, spawn_delay) + return "[newName] of [initial(picked_mobtype.name)] summoning" + +/datum/fantasy_affix/shrapnel + placement = AFFIX_SUFFIX + alignment = AFFIX_GOOD + +/datum/fantasy_affix/shrapnel/validate(datum/component/fantasy/comp) + if(isgun(comp.parent)) + return TRUE + return FALSE + +/datum/fantasy_affix/shrapnel/apply(datum/component/fantasy/comp, newName) + . = ..() + // higher means more likely + var/list/weighted_projectile_types = list(/obj/item/projectile/meteor = 1, + /obj/item/projectile/energy/nuclear_particle = 1, + /obj/item/projectile/beam/pulse = 1, + /obj/item/projectile/bullet/honker = 15, + /obj/item/projectile/temp = 15, + /obj/item/projectile/ion = 15, + /obj/item/projectile/magic/door = 15, + /obj/item/projectile/magic/locker = 15, +// /obj/item/projectile/magic/fetch = 15, + /obj/item/projectile/beam/emitter = 15, +// /obj/item/projectile/magic/flying = 15, + /obj/item/projectile/energy/net = 15, + /obj/item/projectile/bullet/incendiary/c9mm = 15, + /obj/item/projectile/temp/hot = 15, + /obj/item/projectile/beam/disabler = 15) + + var/obj/item/projectile/picked_projectiletype = pickweight(weighted_projectile_types) + + var/obj/item/master = comp.parent + comp.appliedComponents += master.AddComponent(/datum/component/shrapnel, picked_projectiletype) + return "[newName] of [initial(picked_projectiletype.name)] shrapnel" + +/datum/fantasy_affix/strength + placement = AFFIX_SUFFIX + alignment = AFFIX_GOOD + +/datum/fantasy_affix/strength/apply(datum/component/fantasy/comp, newName) + . = ..() + var/obj/item/master = comp.parent + comp.appliedComponents += master.AddComponent(/datum/component/knockback, CEILING(comp.quality/2, 1), FLOOR(comp.quality/10, 1)) + return "[newName] of strength" + +//////////// Bad suffixes + +/datum/fantasy_affix/fool + placement = AFFIX_SUFFIX + alignment = AFFIX_EVIL + +/datum/fantasy_affix/fool/apply(datum/component/fantasy/comp, newName) + . = ..() + var/obj/item/master = comp.parent + comp.appliedComponents += master.AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50) + return "[newName] of the fool" diff --git a/code/datums/components/igniter.dm b/code/datums/components/igniter.dm new file mode 100644 index 0000000000..b40383e828 --- /dev/null +++ b/code/datums/components/igniter.dm @@ -0,0 +1,37 @@ + +/datum/component/igniter + var/fire_stacks + +/datum/component/igniter/Initialize(fire_stacks=1) + if(!isitem(parent) && !ishostile(parent) && !isgun(parent) && !ismachinery(parent) && !isstructure(parent)) + return COMPONENT_INCOMPATIBLE + + src.fire_stacks = fire_stacks + +/datum/component/igniter/RegisterWithParent() + if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + else if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + else if(ishostile(parent)) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + +/datum/component/igniter/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT)) + +/datum/component/igniter/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters) + if(!proximity_flag) + return + do_igniter(target) + +/datum/component/igniter/proc/hostile_attackingtarget(mob/living/simple_animal/hostile/attacker, atom/target) + do_igniter(target) + +/datum/component/igniter/proc/projectile_hit(atom/fired_from, atom/movable/firer, atom/target, Angle) + do_igniter(target) + +/datum/component/igniter/proc/do_igniter(atom/target) + if(isliving(target)) + var/mob/living/L = target + L.adjust_fire_stacks(fire_stacks) + L.IgniteMob() \ No newline at end of file diff --git a/code/datums/components/knockback.dm b/code/datums/components/knockback.dm new file mode 100644 index 0000000000..b4fcaa2dd8 --- /dev/null +++ b/code/datums/components/knockback.dm @@ -0,0 +1,44 @@ +/datum/component/knockback + var/throw_distance + var/throw_anchored + +/datum/component/knockback/Initialize(throw_distance=1) + if(!isitem(parent) && !ishostile(parent) && !isgun(parent) && !ismachinery(parent) && !isstructure(parent)) + return COMPONENT_INCOMPATIBLE + + src.throw_distance = throw_distance + src.throw_anchored = throw_anchored + +/datum/component/knockback/RegisterWithParent() + if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + else if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + else if(ishostile(parent)) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + +/datum/component/knockback/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT)) + +/datum/component/knockback/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters) + if(!proximity_flag) + return + do_knockback(target, user, get_dir(source, target)) + +/datum/component/knockback/proc/hostile_attackingtarget(mob/living/simple_animal/hostile/attacker, atom/target) + do_knockback(target, attacker, get_dir(attacker, target)) + +/datum/component/knockback/proc/projectile_hit(atom/fired_from, atom/movable/firer, atom/target, Angle) + do_knockback(target, null, angle2dir(Angle)) + +/datum/component/knockback/proc/do_knockback(atom/target, mob/thrower, throw_dir) + if(!ismovableatom(target) || throw_dir == null) + return + var/atom/movable/throwee = target + if(throwee.anchored && !throw_anchored) + return + if(throw_distance < 0) + throw_dir = turn(throw_dir, 180) + throw_distance *= -1 + var/atom/throw_target = get_edge_target_turf(throwee, throw_dir) + throwee.safe_throw_at(throw_target, throw_distance, 1, thrower) diff --git a/code/datums/components/lifesteal.dm b/code/datums/components/lifesteal.dm new file mode 100644 index 0000000000..c7a78e10a3 --- /dev/null +++ b/code/datums/components/lifesteal.dm @@ -0,0 +1,39 @@ + +/datum/component/lifesteal + var/flat_heal // heals a constant amount every time a hit occurs + var/static/list/damage_heal_order = list(BRUTE, BURN, OXY) + +/datum/component/lifesteal/Initialize(flat_heal=0) + if(!isitem(parent) && !ishostile(parent) && !isgun(parent)) + return COMPONENT_INCOMPATIBLE + + src.flat_heal = flat_heal + +/datum/component/lifesteal/RegisterWithParent() + if(isgun(parent)) + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + else if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + else if(ishostile(parent)) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + +/datum/component/lifesteal/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT)) + +/datum/component/lifesteal/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters) + if(!proximity_flag) + return + do_lifesteal(user, target) + +/datum/component/lifesteal/proc/hostile_attackingtarget(mob/living/simple_animal/hostile/attacker, atom/target) + do_lifesteal(attacker, target) + +/datum/component/lifesteal/proc/projectile_hit(atom/fired_from, atom/movable/firer, atom/target, Angle) + do_lifesteal(firer, target) + +/datum/component/lifesteal/proc/do_lifesteal(atom/heal_target, atom/damage_target) + if(isliving(heal_target) && isliving(damage_target)) + var/mob/living/healing = heal_target + var/mob/living/damaging = damage_target + if(damaging.stat != DEAD) + healing.heal_ordered_damage(flat_heal, damage_heal_order) diff --git a/code/datums/components/shrapnel.dm b/code/datums/components/shrapnel.dm new file mode 100644 index 0000000000..a911221f26 --- /dev/null +++ b/code/datums/components/shrapnel.dm @@ -0,0 +1,39 @@ + +/datum/component/shrapnel + var/projectile_type + var/radius // shoots a projectile for every turf on this radius from the hit target + var/override_projectile_range + +/datum/component/shrapnel/Initialize(projectile_type, radius=1, override_projectile_range) + if(!isgun(parent) && !ismachinery(parent) && !isstructure(parent)) + return COMPONENT_INCOMPATIBLE + + src.projectile_type = projectile_type + src.radius = radius + src.override_projectile_range = override_projectile_range + +/datum/component/shrapnel/RegisterWithParent() + if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + +/datum/component/shrapnel/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_PROJECTILE_ON_HIT)) + +/datum/component/shrapnel/proc/projectile_hit(atom/fired_from, atom/movable/firer, atom/target, Angle) + do_shrapnel(firer, target) + +/datum/component/shrapnel/proc/do_shrapnel(mob/firer, atom/target) + if(radius < 1) + return + var/turf/target_turf = get_turf(target) + for(var/turf/shootat_turf in RANGE_TURFS(radius, target) - RANGE_TURFS(radius-1, target)) + var/obj/item/projectile/P = new projectile_type(target_turf) + + //Shooting Code: + P.range = radius+1 + if(override_projectile_range) + P.range = override_projectile_range + P.preparePixelProjectile(shootat_turf, target) + P.firer = firer // don't hit ourself that would be really annoying + P.permutated += target // don't hit the target we hit already with the flak + P.fire() diff --git a/code/datums/components/summoning.dm b/code/datums/components/summoning.dm new file mode 100644 index 0000000000..552959603d --- /dev/null +++ b/code/datums/components/summoning.dm @@ -0,0 +1,69 @@ + +/datum/component/summoning + var/list/mob_types = list() + var/spawn_chance // chance for the mob to spawn on hit in percent + var/max_mobs + var/spawn_delay // delay in spawning between mobs (deciseconds) + var/spawn_text + var/spawn_sound + var/list/faction + + var/last_spawned_time = 0 + var/list/spawned_mobs = list() + +/datum/component/summoning/Initialize(mob_types, spawn_chance=100, max_mobs=3, spawn_delay=100, spawn_text="appears out of nowhere", spawn_sound='sound/magic/summon_magic.ogg', faction) + if(!isitem(parent) && !ishostile(parent) && !isgun(parent) && !ismachinery(parent) && !isstructure(parent)) + return COMPONENT_INCOMPATIBLE + + src.mob_types = mob_types + src.spawn_chance = spawn_chance + src.max_mobs = max_mobs + src.spawn_delay = spawn_delay + src.spawn_text = spawn_text + src.spawn_sound = spawn_sound + src.faction = faction + +/datum/component/summoning/RegisterWithParent() + if(ismachinery(parent) || isstructure(parent) || isgun(parent)) // turrets, etc + RegisterSignal(parent, COMSIG_PROJECTILE_ON_HIT, .proc/projectile_hit) + else if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/item_afterattack) + else if(ishostile(parent)) + RegisterSignal(parent, COMSIG_HOSTILE_ATTACKINGTARGET, .proc/hostile_attackingtarget) + +/datum/component/summoning/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ITEM_AFTERATTACK, COMSIG_HOSTILE_ATTACKINGTARGET, COMSIG_PROJECTILE_ON_HIT)) + +/datum/component/summoning/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters) + if(!proximity_flag) + return + do_spawn_mob(get_turf(target), user) + +/datum/component/summoning/proc/hostile_attackingtarget(mob/living/simple_animal/hostile/attacker, atom/target) + do_spawn_mob(get_turf(target), attacker) + +/datum/component/summoning/proc/projectile_hit(atom/fired_from, atom/movable/firer, atom/target, Angle) + do_spawn_mob(get_turf(target), firer) + +/datum/component/summoning/proc/do_spawn_mob(atom/spawn_location, summoner) + if(spawned_mobs.len >= max_mobs) + return 0 + if(last_spawned_time > world.time) + return 0 + if(!prob(spawn_chance)) + return 0 + last_spawned_time = world.time + spawn_delay + var/chosen_mob_type = pick(mob_types) + var/mob/living/simple_animal/L = new chosen_mob_type(spawn_location) + if(ishostile(L)) + var/mob/living/simple_animal/hostile/H = L + H.friends += summoner // do not attack our summon boy + spawned_mobs += L + if(faction != null) + L.faction = faction + RegisterSignal(L, COMSIG_MOB_DEATH, .proc/on_spawned_death) // so we can remove them from the list, etc (for mobs with corpses) + playsound(spawn_location,spawn_sound, 50, 1) + spawn_location.visible_message("[L] [spawn_text].") + +/datum/component/summoning/proc/on_spawned_death(mob/killed, gibbed) + spawned_mobs -= killed \ No newline at end of file diff --git a/code/datums/components/tactical.dm b/code/datums/components/tactical.dm new file mode 100644 index 0000000000..5917fc3009 --- /dev/null +++ b/code/datums/components/tactical.dm @@ -0,0 +1,42 @@ + +/datum/component/tactical + var/allowed_slot + +/datum/component/tactical/Initialize(allowed_slot) + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + src.allowed_slot = allowed_slot + +/datum/component/tactical/RegisterWithParent() + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/modify) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/unmodify) + +/datum/component/tactical/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) + unmodify() + +/datum/component/fantasy/Destroy() + unmodify() + return ..() + +/datum/component/tactical/proc/modify(obj/item/source, mob/user, slot) + if(allowed_slot && slot != allowed_slot) + unmodify() + return + + var/obj/item/master = parent + var/image/I = image(icon = master.icon, icon_state = master.icon_state, loc = user) + I.copy_overlays(master) + I.override = TRUE + source.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/everyone, "sneaking_mission", I) + I.layer = ABOVE_MOB_LAYER + +/datum/component/tactical/proc/unmodify(obj/item/source, mob/user) + var/obj/item/master = source || parent + if(!user) + if(!ismob(master.loc)) + return + user = master.loc + + user.remove_alt_appearance("sneaking_mission") diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 165170cf0f..7aaab0d8ea 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -562,6 +562,7 @@ //Shooting Code: A.preparePixelProjectile(target, T) A.firer = src + A.fired_from = src A.fire() return A diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 9ce2e66abf..4f81a875f1 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -97,9 +97,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) // non-clothing items var/datum/dog_fashion/dog_fashion = null - var/datum/rpg_loot/rpg_loot = null - - //Tooltip vars var/force_string //string form of an item's force. Edit this var only to set a custom force string var/last_force_string_check = 0 @@ -124,7 +121,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) actions_types = null if(GLOB.rpg_loot_items) - rpg_loot = new(src) + AddComponent(/datum/component/fantasy) if(force_string) item_flags |= FORCE_STRING_OVERRIDE @@ -149,7 +146,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) m.temporarilyRemoveItemFromInventory(src, TRUE) for(var/X in actions) qdel(X) - QDEL_NULL(rpg_loot) return ..() /obj/item/proc/check_allowed_items(atom/target, not_inside, target_self) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index d6effe0727..77bc7ed810 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -430,7 +430,7 @@ A.BB.nodamage = FALSE A.BB.speed = 0.5 playsound(src.loc, 'sound/machines/click.ogg', 50, 1) - A.fire_casing(target, user, params, 0, 0, null, 0) + A.fire_casing(target, user, params, 0, 0, null, 0, src) user.visible_message("[user] blasts a flying lollipop at [target]!") check_amount() @@ -446,7 +446,7 @@ A.BB.speed = 0.5 A.BB.color = rgb(rand(0, 255), rand(0, 255), rand(0, 255)) playsound(src.loc, 'sound/weapons/bulletflyby3.ogg', 50, 1) - A.fire_casing(target, user, params, 0, 0, null, 0) + A.fire_casing(target, user, params, 0, 0, null, 0, src) user.visible_message("[user] shoots a high-velocity gumball at [target]!") check_amount() diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 7c73a1fd8c..12529fb9e0 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -300,18 +300,9 @@ throw_speed = 2 throw_range = 4 - -/obj/item/twohanded/required/kirbyplants/equipped(mob/living/user) - var/image/I = image(icon = 'icons/obj/flora/plants.dmi' , icon_state = src.icon_state, loc = user) - I.copy_overlays(src) - I.override = 1 - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/everyone, "sneaking_mission", I) - I.layer = ABOVE_MOB_LAYER - ..() - -/obj/item/twohanded/required/kirbyplants/dropped(mob/living/user) - ..() - user.remove_alt_appearance("sneaking_mission") +/obj/item/twohanded/required/kirbyplants/Initialize() + . = ..() + AddComponent(/datum/component/tactical) /obj/item/twohanded/required/kirbyplants/random icon = 'icons/obj/flora/_flora.dmi' diff --git a/code/modules/events/wizard/rpgloot.dm b/code/modules/events/wizard/rpgloot.dm index 3d560aefb8..bf3104450e 100644 --- a/code/modules/events/wizard/rpgloot.dm +++ b/code/modules/events/wizard/rpgloot.dm @@ -8,8 +8,11 @@ /datum/round_event/wizard/rpgloot/start() var/upgrade_scroll_chance = 0 for(var/obj/item/I in world) - if(!istype(I.rpg_loot)) - I.rpg_loot = new(I) + CHECK_TICK + if(!(I.flags_1 & INITIALIZED_1)) + continue + + I.AddComponent(/datum/component/fantasy) if(istype(I, /obj/item/storage)) var/obj/item/storage/S = I @@ -31,86 +34,20 @@ var/upgrade_amount = 1 var/can_backfire = TRUE - var/one_use = TRUE + var/uses = 1 /obj/item/upgradescroll/afterattack(obj/item/target, mob/user , proximity) . = ..() if(!proximity || !istype(target)) return - var/datum/rpg_loot/rpg_loot_datum = target.rpg_loot - if(!istype(rpg_loot_datum)) - target.rpg_loot = rpg_loot_datum = new /datum/rpg_loot(target) + target.AddComponent(/datum/component/fantasy, upgrade_amount, null, null, can_backfire, TRUE) - var/quality = rpg_loot_datum.quality - - if(can_backfire && (quality > 9 && prob((quality - 9)*10))) - to_chat(user, "[target] violently glows blue for a while, then evaporates.") - target.burn() - else - to_chat(user, "[target] glows blue and seems vaguely \"better\"!") - rpg_loot_datum.modify(upgrade_amount) - - if(one_use) + if(--uses <= 0) qdel(src) /obj/item/upgradescroll/unlimited name = "unlimited foolproof item fortification scroll" desc = "Somehow, this piece of paper can be applied to items to make them \"better\". This scroll is made from the tongues of dead paper wizards, and can be used an unlimited number of times, with no drawbacks." - one_use = FALSE + uses = INFINITY can_backfire = FALSE - -/datum/rpg_loot - var/positive_prefix = "okay" - var/negative_prefix = "weak" - var/suffix = "something profound" - var/quality = 0 - - var/obj/item/attached - var/original_name - -/datum/rpg_loot/New(attached_item=null) - attached = attached_item - - randomise() - -/datum/rpg_loot/Destroy() - attached = null - -/datum/rpg_loot/proc/randomise() - var/static/list/prefixespositive = list("greater", "major", "blessed", "superior", "empowered", "honed", "true", "glorious", "robust") - var/static/list/prefixesnegative = list("lesser", "minor", "blighted", "inferior", "enfeebled", "rusted", "unsteady", "tragic", "gimped") - var/static/list/suffixes = list("orc slaying", "elf slaying", "corgi slaying", "strength", "dexterity", "constitution", "intelligence", "wisdom", "charisma", "the forest", "the hills", "the plains", "the sea", "the sun", "the moon", "the void", "the world", "the fool", "many secrets", "many tales", "many colors", "rending", "sundering", "the night", "the day") - - var/new_quality = pick(1;15, 2;14, 2;13, 2;12, 3;11, 3;10, 3;9, 4;8, 4;7, 4;6, 5;5, 5;4, 5;3, 6;2, 6;1, 6;0) - - suffix = pick(suffixes) - positive_prefix = pick(prefixespositive) - negative_prefix = pick(prefixesnegative) - - if(prob(50)) - new_quality = -new_quality - - modify(new_quality) - -/datum/rpg_loot/proc/rename() - var/obj/item/I = attached - if(!original_name) - original_name = I.name - if(quality < 0) - I.name = "[negative_prefix] [original_name] of [suffix] [quality]" - else if(quality == 0) - I.name = "[original_name] of [suffix]" - else if(quality > 0) - I.name = "[positive_prefix] [original_name] of [suffix] +[quality]" - -/datum/rpg_loot/proc/modify(quality_mod) - var/obj/item/I = attached - quality += quality_mod - - I.force = max(0,I.force + quality_mod) - I.throwforce = max(0,I.throwforce + quality_mod) - - I.armor = I.armor.modifyAllRatings(quality) - - rename() diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 368c5ad4a8..9cd0504315 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -344,6 +344,7 @@ /mob/living/simple_animal/hostile/proc/AttackingTarget() + SEND_SIGNAL(src, COMSIG_HOSTILE_ATTACKINGTARGET, target) in_melee = TRUE if(vore_active) if(isliving(target)) @@ -426,12 +427,13 @@ if(casingtype) var/obj/item/ammo_casing/casing = new casingtype(startloc) playsound(src, projectilesound, 100, 1) - casing.fire_casing(targeted_atom, src, null, null, null, ran_zone()) + casing.fire_casing(targeted_atom, src, null, null, null, ran_zone(), src) else if(projectiletype) var/obj/item/projectile/P = new projectiletype(startloc) playsound(src, projectilesound, 100, 1) P.starting = startloc P.firer = src + P.fired_from = src P.yo = targeted_atom.y - startloc.y P.xo = targeted_atom.x - startloc.x if(AIStatus != AI_ON)//Don't want mindless mobs to have their movement screwed up firing in space diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 4d6ede69d1..71a8565d26 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -199,6 +199,7 @@ if(prob(35)) sparks.start() P.firer = user ? user : src + P.fired_from = src if(last_projectile_params) P.p_x = last_projectile_params[2] P.p_y = last_projectile_params[3] diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index 441088c78c..a83042c90a 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -1,8 +1,8 @@ -/obj/item/ammo_casing/proc/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread) +/obj/item/ammo_casing/proc/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread, atom/fired_from) distro += variance for (var/i = max(1, pellets), i > 0, i--) var/targloc = get_turf(target) - ready_proj(target, user, quiet, zone_override) + ready_proj(target, user, quiet, zone_override, fired_from) if(distro) //We have to spread a pixel-precision bullet. throw_proj was called before so angles should exist by now... if(randomspread) spread = round((rand() - 0.5) * distro) @@ -20,11 +20,12 @@ update_icon() return 1 -/obj/item/ammo_casing/proc/ready_proj(atom/target, mob/living/user, quiet, zone_override = "") +/obj/item/ammo_casing/proc/ready_proj(atom/target, mob/living/user, quiet, zone_override = "", fired_from) if (!BB) return BB.original = target BB.firer = user + BB.fired_from = fired_from if (zone_override) BB.def_zone = zone_override else diff --git a/code/modules/projectiles/ammunition/caseless/_caseless.dm b/code/modules/projectiles/ammunition/caseless/_caseless.dm index a6b65f79e3..11f7b8670d 100644 --- a/code/modules/projectiles/ammunition/caseless/_caseless.dm +++ b/code/modules/projectiles/ammunition/caseless/_caseless.dm @@ -3,7 +3,7 @@ firing_effect_type = null heavy_metal = FALSE -/obj/item/ammo_casing/caseless/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread) +/obj/item/ammo_casing/caseless/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread, atom/fired_from) if (..()) //successfully firing moveToNullspace() QDEL_NULL(src) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 4004bc81ae..6694d42dce 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -233,7 +233,7 @@ else //Smart spread sprd = round((((rand_spr/burst_size) * iteration) - (0.5 + (rand_spr * 0.25))) * (randomized_gun_spread + randomized_bonus_spread), 1) - if(!chambered.fire_casing(target, user, params, ,suppressed, zone_override, sprd)) + if(!chambered.fire_casing(target, user, params, ,suppressed, zone_override, sprd, src)) shoot_with_empty_chamber(user) firing_burst = FALSE return FALSE @@ -280,7 +280,7 @@ to_chat(user, " [src] is lethally chambered! You don't want to risk harming anyone...") return sprd = round((rand() - 0.5) * DUALWIELD_PENALTY_EXTRA_MULTIPLIER * (randomized_gun_spread + randomized_bonus_spread)) - if(!chambered.fire_casing(target, user, params, , suppressed, zone_override, sprd)) + if(!chambered.fire_casing(target, user, params, , suppressed, zone_override, sprd, src)) shoot_with_empty_chamber(user) return else diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index dca7a6087c..e1122f7eaa 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -17,6 +17,7 @@ resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/def_zone = "" //Aiming at var/atom/movable/firer = null//Who shot it + var/atom/fired_from = null // the atom that the projectile was fired from (gun, turret) var/suppressed = FALSE //Attack message var/candink = FALSE //Can this projectile play the dink sound when hitting the head? var/yo = null @@ -131,6 +132,8 @@ return TRUE /obj/item/projectile/proc/on_hit(atom/target, blocked = FALSE) + if(fired_from) + SEND_SIGNAL(fired_from, COMSIG_PROJECTILE_ON_HIT, firer, target, Angle) var/turf/target_loca = get_turf(target) var/hitx @@ -356,6 +359,8 @@ pixel_move(1, FALSE) /obj/item/projectile/proc/fire(angle, atom/direct_target) + if(fired_from) + SEND_SIGNAL(fired_from, COMSIG_PROJECTILE_BEFORE_FIRE, src, original) //If no angle needs to resolve it from xo/yo! if(!log_override && firer && original) log_combat(firer, original, "fired at", src, "from [get_area_name(src, TRUE)]") diff --git a/tgstation.dme b/tgstation.dme index c13db8171d..ba6ac3cc99 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -45,6 +45,7 @@ #include "code\__DEFINES\donator_groupings.dm" #include "code\__DEFINES\events.dm" #include "code\__DEFINES\exports.dm" +#include "code\__DEFINES\fantasy_affixes.dm" #include "code\__DEFINES\flags.dm" #include "code\__DEFINES\food.dm" #include "code\__DEFINES\footsteps.dm" @@ -344,6 +345,7 @@ #include "code\datums\components\_component.dm" #include "code\datums\components\anti_magic.dm" #include "code\datums\components\armor_plate.dm" +#include "code\datums\components\bane.dm" #include "code\datums\components\bouncy.dm" #include "code\datums\components\butchering.dm" #include "code\datums\components\caltrop.dm" @@ -357,9 +359,12 @@ #include "code\datums\components\empprotection.dm" #include "code\datums\components\footstep.dm" #include "code\datums\components\forced_gravity.dm" +#include "code\datums\components\igniter.dm" #include "code\datums\components\infective.dm" #include "code\datums\components\jousting.dm" +#include "code\datums\components\knockback.dm" #include "code\datums\components\knockoff.dm" +#include "code\datums\components\lifesteal.dm" #include "code\datums\components\lockon_aiming.dm" #include "code\datums\components\magnetic_catch.dm" #include "code\datums\components\material_container.dm" @@ -375,16 +380,23 @@ #include "code\datums\components\remote_materials.dm" #include "code\datums\components\riding.dm" #include "code\datums\components\rotation.dm" +#include "code\datums\components\shrapnel.dm" #include "code\datums\components\slippery.dm" #include "code\datums\components\spooky.dm" #include "code\datums\components\squeak.dm" #include "code\datums\components\stationloving.dm" +#include "code\datums\components\summoning.dm" #include "code\datums\components\swarming.dm" +#include "code\datums\components\tactical.dm" #include "code\datums\components\thermite.dm" #include "code\datums\components\uplink.dm" #include "code\datums\components\virtual_reality.dm" #include "code\datums\components\wearertargeting.dm" #include "code\datums\components\wet_floor.dm" +#include "code\datums\components\fantasy\_fantasy.dm" +#include "code\datums\components\fantasy\affix.dm" +#include "code\datums\components\fantasy\prefixes.dm" +#include "code\datums\components\fantasy\suffixes.dm" #include "code\datums\components\storage\storage.dm" #include "code\datums\components\storage\concrete\_concrete.dm" #include "code\datums\components\storage\concrete\bag_of_holding.dm" From 848c9dce0068e285da32578cb7ff7a607bb161ed Mon Sep 17 00:00:00 2001 From: Putnam Date: Thu, 31 Oct 2019 16:39:02 -0700 Subject: [PATCH 044/136] Revert "makes cloning have no 2-second delay" This reverts commit 57dd768950810d5d17a344acbff89b9c9f33684c. --- code/game/machinery/computer/cloning.dm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index c19e0be343..5cbd2d8975 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -296,13 +296,15 @@ loading = 1 src.updateUsrDialog() + playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) say("Initiating scan...") - src.scan_occupant(scanner.occupant) - - loading = 0 - src.updateUsrDialog() - playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) + spawn(20) + src.scan_occupant(scanner.occupant) + + loading = 0 + src.updateUsrDialog() + playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) //No locking an open scanner. From d81d1c6b2d4dd894ac14c87476c9ad4d5275d8a2 Mon Sep 17 00:00:00 2001 From: Putnam Date: Thu, 31 Oct 2019 16:39:54 -0700 Subject: [PATCH 045/136] actually make it lock instead --- code/game/machinery/computer/cloning.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 5cbd2d8975..03949503e1 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -298,13 +298,14 @@ src.updateUsrDialog() playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) say("Initiating scan...") - + scanner.locked = TRUE spawn(20) src.scan_occupant(scanner.occupant) loading = 0 src.updateUsrDialog() playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) + scanner.locked = FALSE //No locking an open scanner. From 64b812254851b3d3f17a6350fadd3c2807fc528f Mon Sep 17 00:00:00 2001 From: Putnam Date: Thu, 31 Oct 2019 16:46:04 -0700 Subject: [PATCH 046/136] made it go back to previous locked state instead --- code/game/machinery/computer/cloning.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 03949503e1..43cfbdb33b 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -298,6 +298,7 @@ src.updateUsrDialog() playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0) say("Initiating scan...") + var/prev_locked = scanner.locked scanner.locked = TRUE spawn(20) src.scan_occupant(scanner.occupant) @@ -305,7 +306,7 @@ loading = 0 src.updateUsrDialog() playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) - scanner.locked = FALSE + scanner.locked = prev_locked //No locking an open scanner. From 1f53f5ee72e124d938de553d654f7ae68fe944d2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 31 Oct 2019 19:27:06 -0500 Subject: [PATCH 047/136] Automatic changelog generation for PR #8948 [ci skip] --- html/changelogs/AutoChangeLog-pr-8948.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8948.yml diff --git a/html/changelogs/AutoChangeLog-pr-8948.yml b/html/changelogs/AutoChangeLog-pr-8948.yml new file mode 100644 index 0000000000..af3d28eb34 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8948.yml @@ -0,0 +1,9 @@ +author: "Ghommie" +delete-after: True +changes: + - code_imp: "Cleaned up the absolute state of the arousal module." + - refactor: "refactored exhibitionism into a quirk." + - tweak: "arousal states won't persist after death." + - bugfix: "Fixes testicles size adjective thing." + - bugfix: "undergarments toggling now works instead of just making underwear disappear and not come back." + - tweak: "The \"Always visible\" genitals setting will now display them above clothes." From ab92421e20fc3ebfae87a3a1b9bf94f51f90553e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 31 Oct 2019 19:27:41 -0500 Subject: [PATCH 048/136] Automatic changelog generation for PR #9677 [ci skip] --- html/changelogs/AutoChangeLog-pr-9677.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9677.yml diff --git a/html/changelogs/AutoChangeLog-pr-9677.yml b/html/changelogs/AutoChangeLog-pr-9677.yml new file mode 100644 index 0000000000..8b8608ff29 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9677.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - tweak: "Made the clone scanner lock while it's scanning." From 9506a78429d059c7bb7db55d4399cedd78fb9dd6 Mon Sep 17 00:00:00 2001 From: Putnam Date: Fri, 1 Nov 2019 18:46:31 -0700 Subject: [PATCH 049/136] whoops replaced this var with a simpler check --- code/datums/diseases/advance/symptoms/heal.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 9b81868958..8b205db756 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -368,7 +368,6 @@ level = 8 passive_message = "You feel an odd attraction to plasma." var/temp_rate = 1 - var/heals_slimes = FALSE threshold_desc = "Transmission 6: Increases temperature adjustment rate and heals toxin lovers.
\ Stage Speed 7: Increases healing speed." From 874cdfefb89b2e4b82c1a3f90f594c43ecbccd48 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 Nov 2019 14:03:14 +0100 Subject: [PATCH 050/136] fixing storage implant transplant. --- code/game/objects/items/implants/implant_storage.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/implants/implant_storage.dm b/code/game/objects/items/implants/implant_storage.dm index 1f44b5318e..bbe63cb7f5 100644 --- a/code/game/objects/items/implants/implant_storage.dm +++ b/code/game/objects/items/implants/implant_storage.dm @@ -12,7 +12,7 @@ /obj/item/implant/storage/removed(source, silent = FALSE, special = 0) if(!special) - qdel(pocket) + QDEL_NULL(pocket) else pocket?.moveToNullspace() return ..() @@ -29,7 +29,7 @@ return FALSE . = ..() if(.) - if(pocket) + if(!QDELETED(pocket)) pocket.forceMove(target) else pocket = new(target) From 91625b6e6068ef17b0ad2433042e136ed546b05a Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 Nov 2019 14:15:31 +0100 Subject: [PATCH 051/136] item/doMove() calling dropped() callign qdel(src) because of DROPDEL. --- code/game/objects/items/implants/implant_storage.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/implants/implant_storage.dm b/code/game/objects/items/implants/implant_storage.dm index bbe63cb7f5..1dfc0b4580 100644 --- a/code/game/objects/items/implants/implant_storage.dm +++ b/code/game/objects/items/implants/implant_storage.dm @@ -41,7 +41,6 @@ desc = "A tiny yet spacious pocket, usually found implanted inside sneaky syndicate agents and nowhere else." component_type = /datum/component/storage/concrete/implant resistance_flags = INDESTRUCTIBLE //A bomb! - item_flags = DROPDEL /obj/item/implanter/storage name = "implanter (storage)" From 1bf10c0435507ac1a9d5b440e23f780fd508d9cd Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 Nov 2019 15:50:54 +0100 Subject: [PATCH 052/136] Improving Jacqueen's teleportation area selection. --- code/modules/holiday/halloween/jacqueen.dm | 54 +++++++++++----------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index ed9254c295..0180f083a3 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -95,45 +95,45 @@ last_poof = world.realtime var/datum/reagents/R = new/datum/reagents(100)//Hey, just in case. var/datum/effect_system/smoke_spread/chem/s = new() - R.add_reagent("secretcatchem", (10)) + R.add_reagent("secretcatchem", 10) s.set_up(R, 0, loc) s.start() visible_message("[src] disappears in a puff of smoke!") canmove = TRUE health = 25 - var/hp_list = list() - for(var/obj/machinery/holopad/hp in world) - hp_list += hp + var/list/areas = list() + for(var/A in GLOB.teleportlocs) + if(findtextEx(A, "AI") + continue + areas += GLOB.teleportlocs[A] - var/nono_areas = list("AI ") + //Try to go to populated areas + var/list/pop_areas = list() + for(var/M in GLOB.player_list) + var/area/A = get_area(M) + pop_areas += A - for(var/i = 0, i <= 6, i+=1) //Attempts a jump 6 times. - var/obj/machinery/holopad/hp = pick(hp_list) - if(forceMove(pick(hp.loc))) + var/list/cool_places = uniquemergelist(areas, pop_areas) - var/jacq_please_no = FALSE - for(var/no_area in nono_areas) - var/turf/L1 = hp.loc - if(!L1) //Incase the area isn't a turf (i.e. in a locker) - continue - var/area/L2 = L1.loc - if(L2) - if(findtext(L2.name, no_area)) - jacq_please_no = TRUE + if(!cool_places) + cool_places = areas - if(jacq_please_no) - i-=1 + for(var/i in 1 to 6) //Attempts a jump up to 6 times. + var/area/A = pick(cool_places) + var/list/L = list() + + if(i != 6) // We need to teleport away, no matter what. + for(var/turf/T in get_area_turfs(A.type)) + if(!is_blocked_turf(T)) + L += T + if(!L.len) + cool_places -= A continue - //Try to go to populated areas - var/list/seen = viewers(8, get_turf(src)) - for(var/victim in seen) - if(ishuman(victim)) - if(z == cached_z) - return TRUE - - + if(!do_teleport(src, pick(L), channel = TELEPORT_CHANNEL_MAGIC)) + return TRUE + cool_places -= A return FALSE /mob/living/simple_animal/jacq/proc/gender_check(mob/living/carbon/C) From a949f84557e922d26b9db802528f80de2e3171f0 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 Nov 2019 16:00:48 +0100 Subject: [PATCH 053/136] missing bits. --- code/modules/holiday/halloween/jacqueen.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index 0180f083a3..c77de912f9 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -104,7 +104,7 @@ var/list/areas = list() for(var/A in GLOB.teleportlocs) - if(findtextEx(A, "AI") + if(findtextEx(A, "AI")) continue areas += GLOB.teleportlocs[A] @@ -116,7 +116,7 @@ var/list/cool_places = uniquemergelist(areas, pop_areas) - if(!cool_places) + if(!cool_places.len) cool_places = areas for(var/i in 1 to 6) //Attempts a jump up to 6 times. From 3193e3ce20544f22546db9f3b27e0538f4d34aed Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 Nov 2019 16:12:37 +0100 Subject: [PATCH 054/136] fix. --- code/modules/holiday/halloween/jacqueen.dm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index c77de912f9..4b5874d3e5 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -121,15 +121,16 @@ for(var/i in 1 to 6) //Attempts a jump up to 6 times. var/area/A = pick(cool_places) - var/list/L = list() + var/list/area_turfs = list(get_area_turfs(A.type)) if(i != 6) // We need to teleport away, no matter what. - for(var/turf/T in get_area_turfs(A.type)) + for(var/t in area_turfs) + var/turf/T = t if(!is_blocked_turf(T)) - L += T - if(!L.len) - cool_places -= A - continue + L -= T + if(!L.len) + cool_places -= A + continue if(!do_teleport(src, pick(L), channel = TELEPORT_CHANNEL_MAGIC)) return TRUE From 50fc1004bace7d480599f9d3a38a148baa676a91 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 Nov 2019 16:46:02 +0100 Subject: [PATCH 055/136] Actually holopads, so they won't end up in maintenance... --- code/game/machinery/hologram.dm | 11 +++---- code/modules/holiday/halloween/jacqueen.dm | 34 +++++++--------------- 2 files changed, 17 insertions(+), 28 deletions(-) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 893f36acb3..79aef8ba7b 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -24,6 +24,8 @@ Possible to do for anyone motivated enough: * Holopad */ +GLOBAL_LIST_EMPTY(network_holopads) + #define HOLOPAD_PASSIVE_POWER_USAGE 1 #define HOLOGRAM_POWER_USAGE 2 @@ -55,7 +57,6 @@ Possible to do for anyone motivated enough: var/record_user //user that inititiated the recording var/obj/effect/overlay/holo_pad_hologram/replay_holo //replay hologram var/static/force_answer_call = FALSE //Calls will be automatically answered after a couple rings, here for debugging - var/static/list/holopads = list() var/obj/effect/overlay/holoray/ray var/ringing = FALSE var/offset = FALSE @@ -96,7 +97,7 @@ Possible to do for anyone motivated enough: /obj/machinery/holopad/Initialize() . = ..() if(on_network) - holopads += src + GLOB.network_holopads += src /obj/machinery/holopad/Destroy() if(outgoing_call) @@ -116,7 +117,7 @@ Possible to do for anyone motivated enough: QDEL_NULL(disk) - holopads -= src + GLOB.network_holopads -= src return ..() /obj/machinery/holopad/power_change() @@ -260,7 +261,7 @@ Possible to do for anyone motivated enough: temp += "
Main Menu" if(usr.loc == loc) var/list/callnames = list() - for(var/I in holopads) + for(var/I in GLOB.network_holopads) var/area/A = get_area(I) if(A) LAZYADD(callnames[A], I) @@ -474,7 +475,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ var/obj/effect/overlay/holo_pad_hologram/h = masters[holo_owner] if(!h || h.HC) //Holocalls can't change source. return FALSE - for(var/pad in holopads) + for(var/pad in GLOB.network_holopads) var/obj/machinery/holopad/another = pad if(another == src) continue diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index 4b5874d3e5..3ad4149700 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -102,39 +102,27 @@ canmove = TRUE health = 25 - var/list/areas = list() - for(var/A in GLOB.teleportlocs) - if(findtextEx(A, "AI")) - continue - areas += GLOB.teleportlocs[A] - //Try to go to populated areas var/list/pop_areas = list() for(var/M in GLOB.player_list) var/area/A = get_area(M) pop_areas += A - var/list/cool_places = uniquemergelist(areas, pop_areas) + var/list/targets = list() + for(var/H in GLOB.network_holopads) + var/area/A = get_area(H) + if(findtextEx(A, "AI") || !(A in pop_areas) || !is_station_level(H)) + continue + targets += H - if(!cool_places.len) - cool_places = areas + if(!targets) + targets = GLOB.generic_event_spawns for(var/i in 1 to 6) //Attempts a jump up to 6 times. - var/area/A = pick(cool_places) - var/list/area_turfs = list(get_area_turfs(A.type)) - - if(i != 6) // We need to teleport away, no matter what. - for(var/t in area_turfs) - var/turf/T = t - if(!is_blocked_turf(T)) - L -= T - if(!L.len) - cool_places -= A - continue - - if(!do_teleport(src, pick(L), channel = TELEPORT_CHANNEL_MAGIC)) + var/atom/A = pick(targets) + if(!do_teleport(src, A, channel = TELEPORT_CHANNEL_MAGIC)) return TRUE - cool_places -= A + targets -= A return FALSE /mob/living/simple_animal/jacq/proc/gender_check(mob/living/carbon/C) From f4587b4260bebfb45350dff74a102b9dcd93a072 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 Nov 2019 16:47:25 +0100 Subject: [PATCH 056/136] This is very unprofessional. Yet I'm no google architect. --- code/modules/holiday/halloween/jacqueen.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index 3ad4149700..a8111a3e3d 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -120,7 +120,7 @@ for(var/i in 1 to 6) //Attempts a jump up to 6 times. var/atom/A = pick(targets) - if(!do_teleport(src, A, channel = TELEPORT_CHANNEL_MAGIC)) + if(do_teleport(src, A, channel = TELEPORT_CHANNEL_MAGIC)) return TRUE targets -= A return FALSE From 2653a2965dc630cb76c5a3e1d30fa3aa0eb4aa1d Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 Nov 2019 20:46:33 +0100 Subject: [PATCH 057/136] How about we only check the living? --- code/modules/holiday/halloween/jacqueen.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index a8111a3e3d..f67c099309 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -104,8 +104,8 @@ //Try to go to populated areas var/list/pop_areas = list() - for(var/M in GLOB.player_list) - var/area/A = get_area(M) + for(var/mob/living/L in GLOB.player_list) + var/area/A = get_area(L) pop_areas += A var/list/targets = list() From 3e95a665138f51e9ea619d0c045d4e9a8ffd7456 Mon Sep 17 00:00:00 2001 From: kappa-sama Date: Sat, 2 Nov 2019 23:04:06 -0400 Subject: [PATCH 058/136] Update energy_gun.dm --- code/modules/projectiles/guns/energy/energy_gun.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index de738c9047..163deae0ed 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -55,7 +55,7 @@ desc = "This is an expensive, modern recreation of an antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time." icon_state = "hoslaser" force = 10 - ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/disabler) + ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser/hos) ammo_x_offset = 4 resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF @@ -97,7 +97,7 @@ pin = null can_charge = 0 ammo_x_offset = 1 - ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/disabler) + ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) selfcharge = EGUN_SELFCHARGE var/fail_tick = 0 var/fail_chance = 0 From 7e4aef46d98d2e80d7ec39a9bfb41346f3685d4e Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 3 Nov 2019 04:23:31 +0100 Subject: [PATCH 059/136] Unmodularize and update pAI/Intellicards very slighty. --- code/game/objects/items/devices/aicard.dm | 11 +++++++-- code/game/objects/items/devices/paicard.dm | 6 +++-- code/modules/crafting/recipes/recipes_misc.dm | 10 +------- .../modules/crafting/recipes/recipes_robot.dm | 22 ++++++++++++++---- code/modules/mob/living/silicon/ai/death.dm | 2 ++ .../mob/living/silicon/pai/software.dm | 8 ++++--- icons/obj/aicards.dmi | Bin 3069 -> 3905 bytes .../code/game/objects/items/devices/aicard.dm | 4 ---- modular_citadel/icons/aicards.dmi | Bin 1033 -> 0 bytes modular_citadel/icons/obj/aicards.dmi | Bin 439 -> 0 bytes 10 files changed, 39 insertions(+), 24 deletions(-) delete mode 100644 modular_citadel/code/game/objects/items/devices/aicard.dm delete mode 100644 modular_citadel/icons/aicards.dmi delete mode 100644 modular_citadel/icons/obj/aicards.dmi diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index 679dbecd10..7c21ac9144 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -17,6 +17,11 @@ desc = "A stylish upgrade (?) to the intelliCard." icon_state = "aitater" +/obj/item/aicard/aispook + name = "intelliLantern" + desc = "A spoOoOoky upgrade to the intelliCard." + icon_state = "aispook" + /obj/item/aicard/suicide_act(mob/living/user) user.visible_message("[user] is trying to upload [user.p_them()]self into [src]! That's not going to work out well!") return BRUTELOSS @@ -26,16 +31,18 @@ if(!proximity || !target) return if(AI) //AI is on the card, implies user wants to upload it. - target.transfer_ai(AI_TRANS_FROM_CARD, user, AI, src) log_combat(user, AI, "carded", src) + target.transfer_ai(AI_TRANS_FROM_CARD, user, AI, src) else //No AI on the card, therefore the user wants to download one. target.transfer_ai(AI_TRANS_TO_CARD, user, null, src) + if(AI) + log_combat(user, AI, "carded", src) update_icon() //Whatever happened, update the card's state (icon, name) to match. /obj/item/aicard/update_icon() cut_overlays() if(AI) - name = "[initial(name)]- [AI.name]" + name = "[initial(name)] - [AI.name]" if(AI.stat == DEAD) icon_state = "[initial(icon_state)]-404" else diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 1f69db1bbc..7dc2f1d60b 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -148,9 +148,11 @@ if(10) src.add_overlay("pai-null") if(11) - src.add_overlay(mutable_appearance('modular_citadel/icons/obj/aicards.dmi', "pai-exclamation")) // CITADEL EDIT + src.add_overlay("pai-exclamation") if(12) - src.add_overlay(mutable_appearance('modular_citadel/icons/obj/aicards.dmi', "pai-question")) // CITADEL EDIT + src.add_overlay("pai-question") + if(13) + src.add_overlay("pai-sunglasses") /obj/item/paicard/proc/alertUpdate() visible_message("[src] flashes a message across its screen, \"Additional personalities available for download.\"", "[src] bleeps electronically.") diff --git a/code/modules/crafting/recipes/recipes_misc.dm b/code/modules/crafting/recipes/recipes_misc.dm index f05c7bd94b..fdfb959fe6 100644 --- a/code/modules/crafting/recipes/recipes_misc.dm +++ b/code/modules/crafting/recipes/recipes_misc.dm @@ -4,7 +4,7 @@ /datum/crafting_recipe/showercurtain name = "Shower Curtains" - reqs = list(/obj/item/stack/sheet/cloth = 2, + reqs = list(/obj/item/stack/sheet/cloth = 2, /obj/item/stack/sheet/plastic = 2, /obj/item/stack/rods = 1) result = /obj/structure/curtain @@ -197,14 +197,6 @@ /obj/item/bikehorn = 1) category = CAT_MISC -/datum/crafting_recipe/aitater - name = "intelliTater" - result = /obj/item/aicard/aitater - time = 30 - reqs = list(/obj/item/aicard = 1, - /obj/item/reagent_containers/food/snacks/grown/potato = 1) - category = CAT_MISC - /datum/crafting_recipe/mousetrap name = "Mouse Trap" result = /obj/item/assembly/mousetrap diff --git a/code/modules/crafting/recipes/recipes_robot.dm b/code/modules/crafting/recipes/recipes_robot.dm index ae5bca7779..2b8ee0fe3a 100644 --- a/code/modules/crafting/recipes/recipes_robot.dm +++ b/code/modules/crafting/recipes/recipes_robot.dm @@ -77,8 +77,22 @@ time = 40 category = CAT_ROBOT -/datum/crafting_recipe/potatos - name = "Potat-OS" - reqs = list(/obj/item/stack/cable_coil = 1, /obj/item/stack/rods = 1, /obj/item/reagent_containers/food/snacks/grown/potato = 1, /obj/item/aicard = 1 ) - result = /obj/item/aicard/potato +/datum/crafting_recipe/aitater + name = "intelliTater" + result = /obj/item/aicard/aitater + time = 30 + tools = list(TOOL_WIRECUTTER) + reqs = list(/obj/item/aicard = 1, + /obj/item/reagent_containers/food/snacks/grown/potato = 1, + /obj/item/stack/cable_coil = 5) + category = CAT_ROBOT + +/datum/crafting_recipe/aispook + name = "intelliLantern" + result = /obj/item/aicard/aispook + time = 30 + tools = list(TOOL_WIRECUTTER) + reqs = list(/obj/item/aicard = 1, + /obj/item/reagent_containers/food/snacks/grown/pumpkin = 1, + /obj/item/stack/cable_coil = 5) category = CAT_ROBOT \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm index 301d2bd218..f72e03350e 100644 --- a/code/modules/mob/living/silicon/ai/death.dm +++ b/code/modules/mob/living/silicon/ai/death.dm @@ -36,6 +36,8 @@ if(istype(loc, /obj/item/aicard/aitater)) loc.icon_state = "aitater-404" + else if(istype(loc, /obj/item/aicard/aispook)) + loc.icon_state = "aispook-404" else if(istype(loc, /obj/item/aicard)) loc.icon_state = "aicard-404" diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index 0e8d37a807..9882d028d1 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -140,7 +140,7 @@ radio.attack_self(src) if("image") - var/newImage = input("Select your new display image.", "Display Image", "Happy") in list("Happy", "Cat", "Extremely Happy", "Face", "Laugh", "Off", "Sad", "Angry", "What" , "Exclamation" ,"Question") // CITADEL EDIT + var/newImage = input("Select your new display image.", "Display Image", "Happy") in list("Happy", "Cat", "Extremely Happy", "Face", "Laugh", "Off", "Sad", "Angry", "What" , "Exclamation" ,"Question", "Sunglasses") var/pID = 1 switch(newImage) @@ -164,10 +164,12 @@ pID = 9 if("Null") pID = 10 - if("Exclamation") // CITADEL EDIT + if("Exclamation") pID = 11 - if("Question") // CITADEL EDIT + if("Question") pID = 12 + if("Sunglasses") + pID = 13 card.setEmotion(pID) if("signaller") diff --git a/icons/obj/aicards.dmi b/icons/obj/aicards.dmi index e03e5d9567e53f53bcdecbb19f89499e778bb2b3..8e846c3796863d1f63ad7fbf55bae4f943e0c67a 100644 GIT binary patch delta 3772 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 delta 2955 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 Ddy@Du diff --git a/modular_citadel/icons/obj/aicards.dmi b/modular_citadel/icons/obj/aicards.dmi deleted file mode 100644 index f956a6e88da6a66b51af7b439c6c23cc66bb9bfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 439 zcmV;o0Z9IdP)|F!l10D%81um694e|AVihyVZp0d!JMQvg8b*k%9#0E&84Sad{Xb7OL8aCB*J zZU6vyoKseCa&`CgQ*iP1 Date: Sun, 3 Nov 2019 04:43:24 +0100 Subject: [PATCH 060/136] the .dmeeeeeeeeeeee --- tgstation.dme | 1 - 1 file changed, 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index c13db8171d..534120c1b6 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -3001,7 +3001,6 @@ #include "modular_citadel\code\game\objects\items\stunsword.dm" #include "modular_citadel\code\game\objects\items\vending_items.dm" #include "modular_citadel\code\game\objects\items\circuitboards\machine_circuitboards.dm" -#include "modular_citadel\code\game\objects\items\devices\aicard.dm" #include "modular_citadel\code\game\objects\items\devices\radio\encryptionkey.dm" #include "modular_citadel\code\game\objects\items\devices\radio\headset.dm" #include "modular_citadel\code\game\objects\items\devices\radio\shockcollar.dm" From ae4cfbf92dd892c0efa79dca8c977e3df5da954a Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 3 Nov 2019 04:56:56 +0100 Subject: [PATCH 061/136] clock welder overlay fix. --- modular_citadel/icons/obj/tools.dmi | Bin 18598 -> 18637 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/modular_citadel/icons/obj/tools.dmi b/modular_citadel/icons/obj/tools.dmi index 7b99880799aa452f6dfc3a89e7e726a788d827cb..10a0db3ed564daa36258e2acb525e4036bec3107 100644 GIT binary patch literal 18637 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 literal 18598 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 From d8e0771dcd3e36fbe81696ac62be4b560d8553f0 Mon Sep 17 00:00:00 2001 From: Poojawa Date: Sat, 2 Nov 2019 23:14:39 -0500 Subject: [PATCH 062/136] Better Health Analyzer formatting Because having it all bunched up is a pet peeve. --- code/game/objects/items/devices/scanners.dm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index d644e0637e..5ad5b41e95 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -338,17 +338,17 @@ SLIME SCANNER if(report_organs) //we either finish the list, or set it to be empty if no organs were reported in that category if(!max_damage) - max_damage = "\tNon-Functional Organs: " + max_damage = "\tNon-Functional Organs: \n" else - max_damage += "" + max_damage += "\n" if(!major_damage) - major_damage = "\tSeverely Damaged Organs: " + major_damage = "\tSeverely Damaged Organs: \n" else - major_damage += "" + major_damage += "\n" if(!minor_damage) - minor_damage = "\tMildly Damaged Organs: " + minor_damage = "\tMildly Damaged Organs: \n" else - minor_damage += "" + minor_damage += "\n" msg += "[minor_damage]" msg += "[major_damage]" msg += "[max_damage]" @@ -382,10 +382,11 @@ SLIME SCANNER else if (S.mutantstomach != initial(S.mutantstomach)) mutant = TRUE - msg += "Species: [H.dna.custom_species ? H.dna.custom_species : S.name] Base: [S.name]\n" + msg += "\tReported Species: [H.dna.custom_species ? H.dna.custom_species : S.name]\n" + msg += "\tBase Species: [S.name]\n" if(mutant) - msg += "Subject has mutations present." - msg += "Body temperature: [round(M.bodytemperature-T0C,0.1)] °C ([round(M.bodytemperature*1.8-459.67,0.1)] °F)\n" + msg += "\tSubject has mutations present.\n" + msg += "\tBody temperature: [round(M.bodytemperature-T0C,0.1)] °C ([round(M.bodytemperature*1.8-459.67,0.1)] °F)\n" // Time of death if(M.tod && (M.stat == DEAD || ((HAS_TRAIT(M, TRAIT_FAKEDEATH)) && !advanced))) From b12d7842d60b21b2e8d6575f35f3cea4ea0d8613 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 3 Nov 2019 07:11:23 -0600 Subject: [PATCH 063/136] Automatic changelog generation for PR #9686 [ci skip] --- html/changelogs/AutoChangeLog-pr-9686.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9686.yml diff --git a/html/changelogs/AutoChangeLog-pr-9686.yml b/html/changelogs/AutoChangeLog-pr-9686.yml new file mode 100644 index 0000000000..18e411c3dc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9686.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed storage implant transplant." From 23b6881453b77762a9df8e843cde55fddb74edb1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 3 Nov 2019 07:14:15 -0600 Subject: [PATCH 064/136] Automatic changelog generation for PR #9679 [ci skip] --- html/changelogs/AutoChangeLog-pr-9679.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9679.yml diff --git a/html/changelogs/AutoChangeLog-pr-9679.yml b/html/changelogs/AutoChangeLog-pr-9679.yml new file mode 100644 index 0000000000..b2b3a718c4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9679.yml @@ -0,0 +1,5 @@ +author: "ninjanomnom and WhoneedSpacee" +delete-after: True +changes: + - rscadd: "Some rpg affixes now have special effects" + - rscadd: "New RPGLoot modifiers: Vampirism which heals you when you attack, Pyromantic which sets things you hit on fire. Shrapnel which causes projectiles fired from a gun to fire projectiles in a radius when they hit something. Finally, Summoning which summons mobs that sometimes aid you in combat." From 5d2678a2b615ef2a59c7c0a06c8343fb62c76caa Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 3 Nov 2019 07:14:57 -0600 Subject: [PATCH 065/136] Automatic changelog generation for PR #9675 [ci skip] --- html/changelogs/AutoChangeLog-pr-9675.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9675.yml diff --git a/html/changelogs/AutoChangeLog-pr-9675.yml b/html/changelogs/AutoChangeLog-pr-9675.yml new file mode 100644 index 0000000000..35d9110f7b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9675.yml @@ -0,0 +1,4 @@ +author: "PersianXerxes" +delete-after: True +changes: + - tweak: "Relocates cult catwalks outside the Reebe dressing room." From 6873f0b0cbe49ee1f643f73fc61a732c130ad272 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 3 Nov 2019 07:15:19 -0600 Subject: [PATCH 066/136] Automatic changelog generation for PR #9674 [ci skip] --- html/changelogs/AutoChangeLog-pr-9674.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9674.yml diff --git a/html/changelogs/AutoChangeLog-pr-9674.yml b/html/changelogs/AutoChangeLog-pr-9674.yml new file mode 100644 index 0000000000..9ca51c9b0e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9674.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - imageadd: "Updated ratvarian computer sprites." From e8c7afb69c3904221964460fff483c5749bed849 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 3 Nov 2019 07:18:03 -0600 Subject: [PATCH 067/136] Automatic changelog generation for PR #9668 [ci skip] --- html/changelogs/AutoChangeLog-pr-9668.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9668.yml diff --git a/html/changelogs/AutoChangeLog-pr-9668.yml b/html/changelogs/AutoChangeLog-pr-9668.yml new file mode 100644 index 0000000000..b892f7c3ea --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9668.yml @@ -0,0 +1,5 @@ +author: "Putnam3145" +delete-after: True +changes: + - balance: "Made starlight condensation not kill slime people." + - balance: "Added not-killing-slime-people to the transmission threshold of plasma fixation and radioactive resonance." From a2c1881990f0dc3cba2bcbddf997a6e6d1f27da8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 3 Nov 2019 07:20:08 -0600 Subject: [PATCH 068/136] Automatic changelog generation for PR #9659 [ci skip] --- html/changelogs/AutoChangeLog-pr-9659.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9659.yml diff --git a/html/changelogs/AutoChangeLog-pr-9659.yml b/html/changelogs/AutoChangeLog-pr-9659.yml new file mode 100644 index 0000000000..2590aec672 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9659.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Buffed the deep space familiar gorilla against runtimes." From 75914dd0856b6c8df38c5da27e6f0d1b1e75f0db Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 3 Nov 2019 07:20:32 -0600 Subject: [PATCH 069/136] Automatic changelog generation for PR #9658 [ci skip] --- html/changelogs/AutoChangeLog-pr-9658.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9658.yml diff --git a/html/changelogs/AutoChangeLog-pr-9658.yml b/html/changelogs/AutoChangeLog-pr-9658.yml new file mode 100644 index 0000000000..199f847c4e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9658.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixed dogborg sleepers. Just don't tell me what is exactly fixed, cause I don't want to find out." From 193e54c6a81734ff37dd343bd18acc93797ffc03 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 3 Nov 2019 07:21:26 -0600 Subject: [PATCH 070/136] Automatic changelog generation for PR #9654 [ci skip] --- html/changelogs/AutoChangeLog-pr-9654.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9654.yml diff --git a/html/changelogs/AutoChangeLog-pr-9654.yml b/html/changelogs/AutoChangeLog-pr-9654.yml new file mode 100644 index 0000000000..420697aec5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9654.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - config: "Added dynamic midround/latejoin antag injection to the config." From e09412b64e5ca3acaf31dbcb93c6d1b719b9bf9f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 3 Nov 2019 13:22:37 +0000 Subject: [PATCH 071/136] Bump lodash.merge from 4.6.1 to 4.6.2 in /tgui Bumps [lodash.merge](https://github.com/lodash/lodash) from 4.6.1 to 4.6.2. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/commits) Signed-off-by: dependabot[bot] --- tgui/package-lock.json | 86 ++++++++++++++++++++++++------------------ 1 file changed, 50 insertions(+), 36 deletions(-) diff --git a/tgui/package-lock.json b/tgui/package-lock.json index 3c1cad4bef..59dca50c9d 100644 --- a/tgui/package-lock.json +++ b/tgui/package-lock.json @@ -340,21 +340,14 @@ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" }, "async-done": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz", - "integrity": "sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.2", - "process-nextick-args": "^1.0.7", + "process-nextick-args": "^2.0.0", "stream-exhaust": "^1.0.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - } } }, "async-each": { @@ -2004,11 +1997,12 @@ } }, "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, "date-now": { @@ -2279,13 +2273,13 @@ } }, "es5-ext": { - "version": "0.10.50", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz", - "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", + "version": "0.10.52", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.52.tgz", + "integrity": "sha512-bWCbE9fbpYQY4CU6hJbJ1vSz70EClMlDgJ7BmwI+zEJhxrwjesZRPglGJlsZhu0334U3hI+gaspwksH9IGD6ag==", "requires": { "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "^1.0.0" + "es6-symbol": "~3.1.2", + "next-tick": "~1.0.0" } }, "es6-iterator": { @@ -2304,22 +2298,22 @@ "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=" }, "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "^1.0.1", + "ext": "^1.1.2" } }, "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "requires": { "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, @@ -2376,6 +2370,21 @@ "homedir-polyfill": "^1.0.1" } }, + "ext": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.1.2.tgz", + "integrity": "sha512-/KLjJdTNyDepCihrk4HQt57nAE1IRCEo5jUt+WgWGCr1oARhibDvmI2DMcSNWood1T9AUWwq+jaV1wvRqaXfnA==", + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==" + } + } + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -3409,9 +3418,9 @@ }, "dependencies": { "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", + "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4647,9 +4656,9 @@ "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" }, "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "lodash.partialright": { "version": "4.2.1", @@ -7434,6 +7443,11 @@ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", From 774696b5183fc30992c5d6fbd36b572c69b507a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 3 Nov 2019 13:22:50 +0000 Subject: [PATCH 072/136] Bump mixin-deep from 1.3.1 to 1.3.2 in /tgui Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2. - [Release notes](https://github.com/jonschlinkert/mixin-deep/releases) - [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2) Signed-off-by: dependabot[bot] --- tgui/package-lock.json | 86 ++++++++++++++++++++++++------------------ 1 file changed, 50 insertions(+), 36 deletions(-) diff --git a/tgui/package-lock.json b/tgui/package-lock.json index 3c1cad4bef..d5a0eda5fb 100644 --- a/tgui/package-lock.json +++ b/tgui/package-lock.json @@ -340,21 +340,14 @@ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" }, "async-done": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz", - "integrity": "sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.2", - "process-nextick-args": "^1.0.7", + "process-nextick-args": "^2.0.0", "stream-exhaust": "^1.0.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - } } }, "async-each": { @@ -2004,11 +1997,12 @@ } }, "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, "date-now": { @@ -2279,13 +2273,13 @@ } }, "es5-ext": { - "version": "0.10.50", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz", - "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", + "version": "0.10.52", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.52.tgz", + "integrity": "sha512-bWCbE9fbpYQY4CU6hJbJ1vSz70EClMlDgJ7BmwI+zEJhxrwjesZRPglGJlsZhu0334U3hI+gaspwksH9IGD6ag==", "requires": { "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "^1.0.0" + "es6-symbol": "~3.1.2", + "next-tick": "~1.0.0" } }, "es6-iterator": { @@ -2304,22 +2298,22 @@ "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=" }, "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "^1.0.1", + "ext": "^1.1.2" } }, "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "requires": { "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, @@ -2376,6 +2370,21 @@ "homedir-polyfill": "^1.0.1" } }, + "ext": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.1.2.tgz", + "integrity": "sha512-/KLjJdTNyDepCihrk4HQt57nAE1IRCEo5jUt+WgWGCr1oARhibDvmI2DMcSNWood1T9AUWwq+jaV1wvRqaXfnA==", + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==" + } + } + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -3409,9 +3418,9 @@ }, "dependencies": { "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", + "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5138,9 +5147,9 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -7434,6 +7443,11 @@ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", From bf562de84ec84c7accc0cd1e428c7b51aee2c06c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 3 Nov 2019 13:23:40 +0000 Subject: [PATCH 073/136] Bump lodash from 4.17.11 to 4.17.15 in /tgui Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.15. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.15) Signed-off-by: dependabot[bot] --- tgui/package-lock.json | 86 ++++++++++++++++++++++++------------------ 1 file changed, 50 insertions(+), 36 deletions(-) diff --git a/tgui/package-lock.json b/tgui/package-lock.json index 3c1cad4bef..f2f5536b5d 100644 --- a/tgui/package-lock.json +++ b/tgui/package-lock.json @@ -340,21 +340,14 @@ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" }, "async-done": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz", - "integrity": "sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.2", - "process-nextick-args": "^1.0.7", + "process-nextick-args": "^2.0.0", "stream-exhaust": "^1.0.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - } } }, "async-each": { @@ -2004,11 +1997,12 @@ } }, "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, "date-now": { @@ -2279,13 +2273,13 @@ } }, "es5-ext": { - "version": "0.10.50", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz", - "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", + "version": "0.10.52", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.52.tgz", + "integrity": "sha512-bWCbE9fbpYQY4CU6hJbJ1vSz70EClMlDgJ7BmwI+zEJhxrwjesZRPglGJlsZhu0334U3hI+gaspwksH9IGD6ag==", "requires": { "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "^1.0.0" + "es6-symbol": "~3.1.2", + "next-tick": "~1.0.0" } }, "es6-iterator": { @@ -2304,22 +2298,22 @@ "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=" }, "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "^1.0.1", + "ext": "^1.1.2" } }, "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "requires": { "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, @@ -2376,6 +2370,21 @@ "homedir-polyfill": "^1.0.1" } }, + "ext": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.1.2.tgz", + "integrity": "sha512-/KLjJdTNyDepCihrk4HQt57nAE1IRCEo5jUt+WgWGCr1oARhibDvmI2DMcSNWood1T9AUWwq+jaV1wvRqaXfnA==", + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==" + } + } + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -3409,9 +3418,9 @@ }, "dependencies": { "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", + "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4515,9 +4524,9 @@ } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "lodash._baseassign": { "version": "3.2.0", @@ -7434,6 +7443,11 @@ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", From 4e8c8ad335bdfd4118dfaac5f4708f1f8190b9a4 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 3 Nov 2019 07:24:56 -0600 Subject: [PATCH 074/136] Automatic changelog generation for PR #9687 [ci skip] --- html/changelogs/AutoChangeLog-pr-9687.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-9687.yml diff --git a/html/changelogs/AutoChangeLog-pr-9687.yml b/html/changelogs/AutoChangeLog-pr-9687.yml new file mode 100644 index 0000000000..3bc1644806 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-9687.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Refactored how Jacqueen teleportation destination is selected, preventing them from teleporting on off-station holopads." From 3cf056ed93c1934c9d5a3cd13e0f8fb24d52f8bd Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 3 Nov 2019 15:26:16 +0100 Subject: [PATCH 075/136] Also fixing jacqueen... wrong tools.dmi --- code/modules/holiday/halloween/jacqueen.dm | 2 +- icons/obj/tools.dmi | Bin 26026 -> 26077 bytes modular_citadel/icons/obj/tools.dmi | Bin 18637 -> 18598 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index f67c099309..3120b7acd4 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -111,7 +111,7 @@ var/list/targets = list() for(var/H in GLOB.network_holopads) var/area/A = get_area(H) - if(findtextEx(A, "AI") || !(A in pop_areas) || !is_station_level(H)) + if(findtextEx(A.name, "AI") || !(A in pop_areas) || !is_station_level(H)) continue targets += H diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index 6130c67eb36ef6c27597cf2861d9a6f3b993f1b9..efd797489792e4592abbafdda8fd5f648482b501 100644 GIT binary patch delta 6478 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 E0OiLUP5=M^ delta 6430 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 literal 18637 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 From 286b78c84c615cd9b8fcf40e8b35d146ba33edd5 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 3 Nov 2019 17:14:55 +0100 Subject: [PATCH 076/136] Minor ninja tweaks and stealth nerf. --- code/__DEFINES/components.dm | 4 ++- code/datums/dash_weapon.dm | 9 +++--- code/datums/helper_datums/teleport.dm | 1 + .../ninja/suit/n_suit_verbs/ninja_stealth.dm | 28 ++++++++++++------- code/modules/ninja/suit/suit.dm | 1 + code/modules/ninja/suit/suit_process.dm | 2 +- code/modules/projectiles/gun.dm | 1 + 7 files changed, 29 insertions(+), 17 deletions(-) diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 7ed8ee558b..409ebea747 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -70,7 +70,7 @@ #define COMSIG_ATOM_CANREACH "atom_can_reach" //from internal loop in atom/movable/proc/CanReach(): (list/next) #define COMPONENT_BLOCK_REACH 1 #define COMSIG_ATOM_SCREWDRIVER_ACT "atom_screwdriver_act" //from base of atom/screwdriver_act(): (mob/living/user, obj/item/I) -#define COMSIG_ATOM_INTERCEPT_TELEPORT "intercept_teleport" //called when teleporting into a protected turf: (channel, turf/origin) +#define COMSIG_ATOM_INTERCEPT_TELEPORT "intercept_teleport" //called when teleporting into a protected turf: (channel, turf/origin, turf/destination) #define COMPONENT_BLOCK_TELEPORT 1 ///////////////// #define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost" //from base of atom/attack_ghost(): (mob/dead/observer/ghost) @@ -117,6 +117,7 @@ #define COMSIG_MOVABLE_Z_CHANGED "movable_ztransit" //from base of atom/movable/onTransitZ(): (old_z, new_z) #define COMSIG_MOVABLE_HEAR "movable_hear" //from base of atom/movable/Hear(): (message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode) #define COMSIG_MOVABLE_DISPOSING "movable_disposing" //called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source) +#define COMSIG_MOVABLE_TELEPORTED "movable_teleported" //from base of do_teleport(): (channel, turf/origin, turf/destination) // /mind signals #define COMSIG_MIND_TRANSFER "mind_transfer" //from base of mind/transfer_to(): (new_character, old_character) @@ -153,6 +154,7 @@ #define COMSIG_LIVING_EXTINGUISHED "living_extinguished" //from base of mob/living/ExtinguishMob() (/mob/living) #define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act" //from base of mob/living/electrocute_act(): (shock_damage) #define COMSIG_LIVING_MINOR_SHOCK "living_minor_shock" //sent by stuff like stunbatons and tasers: () +#define COMSIG_LIVING_GUN_PROCESS_FIRE "living_gun_process_fire" //from base of /obj/item/gun/proc/process_fire(): (atom/target, params, zone_override) // /mob/living/carbon signals #define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" //from base of mob/living/carbon/soundbang_act(): (list(intensity)) diff --git a/code/datums/dash_weapon.dm b/code/datums/dash_weapon.dm index a870ecae66..8eda936bb7 100644 --- a/code/datums/dash_weapon.dm +++ b/code/datums/dash_weapon.dm @@ -34,11 +34,10 @@ var/turf/T = get_turf(target) if(target in view(user.client.view, user)) var/obj/spot1 = new phaseout(get_turf(user), user.dir) - user.forceMove(T) - playsound(T, dash_sound, 25, 1) - var/obj/spot2 = new phasein(get_turf(user), user.dir) - spot1.Beam(spot2,beam_effect,time=20) - current_charges-- + if(do_teleport(user, T, null, TRUE, null, null, dash_sound, dash_sound, TRUE, TELEPORT_CHANNEL_FREE, TRUE)) + var/obj/spot2 = new phasein(get_turf(user), user.dir) + spot1.Beam(spot2,beam_effect,time=20) + current_charges-- holder.update_action_buttons_icon() addtimer(CALLBACK(src, .proc/charge), charge_rate) diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index 4d1986cccf..74f22b5ac0 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -79,6 +79,7 @@ tele_play_specials(teleatom, destturf, effectout, asoundout) if(ismegafauna(teleatom)) message_admins("[teleatom] [ADMIN_FLW(teleatom)] has teleported from [ADMIN_VERBOSEJMP(curturf)] to [ADMIN_VERBOSEJMP(destturf)].") + SEND_SIGNAL(teleatom, COMSIG_MOVABLE_TELEPORTED, channel, curturf, destturf) if(ismob(teleatom)) var/mob/M = teleatom diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm index 94be922fdf..8c304d8a2b 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm @@ -8,7 +8,7 @@ Contents: /obj/item/clothing/suit/space/space_ninja/proc/toggle_stealth() - if(!affecting) + if(!affecting || stealth_cooldown > world.time) return if(stealth) cancel_stealth() @@ -16,26 +16,34 @@ Contents: if(cell.charge <= 0) to_chat(affecting, "You don't have enough power to enable Stealth!") return - stealth = !stealth - animate(affecting, alpha = 10,time = 15) + stealth = TRUE + stealth_cooldown = world.time + 5 SECONDS + animate(affecting, alpha = 15, time = 3 SECONDS) affecting.visible_message("[affecting.name] vanishes into thin air!", \ "You are now mostly invisible to normal detection.") - RegisterSignal(affecting, list(COMSIG_MOB_ITEM_ATTACK, COMSIG_MOB_ATTACK_RANGED, COMSIG_MOB_ATTACK_HAND, COMSIG_MOB_THROW, COMSIG_PARENT_ATTACKBY), .proc/reduce_stealth) - RegisterSignal(affecting, COMSIG_MOVABLE_BUMP, .proc/bumping_stealth) + addtimer(CALLBACK(src, .proc/enable_signals), 3 SECONDS) -/obj/item/clothing/suit/space/space_ninja/proc/reduce_stealth() - affecting.alpha = min(affecting.alpha + 30, 80) +/obj/item/clothing/suit/space/space_ninja/proc/enable_signals() + if(!affecting) + return + RegisterSignal(affecting, list(COMSIG_MOB_ITEM_ATTACK, COMSIG_MOB_ATTACK_RANGED, COMSIG_MOB_ATTACK_HAND, COMSIG_MOB_THROW, COMSIG_PARENT_ATTACKBY, COMSIG_MOVABLE_TELEPORTED, COMSIG_LIVING_GUN_PROCESS_FIRE), .proc/reduce_stealth) + RegisterSignal(affecting, COMSIG_MOVABLE_BUMP, .proc/bumping_stealth) + + +/obj/item/clothing/suit/space/space_ninja/proc/reduce_stealth(datum/source) + affecting.alpha = min(affecting.alpha + 40, 100) /obj/item/clothing/suit/space/space_ninja/proc/bumping_stealth(datum/source, atom/A) if(isliving(A)) - affecting.alpha = min(affecting.alpha + 15, 80) + affecting.alpha = min(affecting.alpha + 20, 100) /obj/item/clothing/suit/space/space_ninja/proc/cancel_stealth() if(!affecting || !stealth) return FALSE stealth = !stealth - UnregisterSignal(affecting, list(COMSIG_MOB_ITEM_ATTACK, COMSIG_MOB_ATTACK_RANGED, COMSIG_MOB_ATTACK_HAND, COMSIG_MOB_THROW, COMSIG_PARENT_ATTACKBY, COMSIG_MOVABLE_BUMP)) - animate(affecting, alpha = 255, time = 15) + stealth_cooldown = world.time + 5 SECONDS + UnregisterSignal(affecting, list(COMSIG_MOB_ITEM_ATTACK, COMSIG_MOB_ATTACK_RANGED, COMSIG_MOB_ATTACK_HAND, COMSIG_MOB_THROW, COMSIG_PARENT_ATTACKBY, COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_TELEPORTED, COMSIG_LIVING_GUN_PROCESS_FIRE)) + animate(affecting, alpha = 255, time = 3 SECONDS) affecting.visible_message("[affecting.name] appears from thin air!", \ "You are now visible.") return TRUE diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index ac1ef3b96a..d89bb9edf2 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -49,6 +49,7 @@ Contents: //Support function variables. var/stealth = FALSE//Stealth off. + var/stealth_cooldown = 0 var/s_busy = FALSE//Is the suit busy with a process? Like AI hacking. Used for safety functions. //Ability function variables. diff --git a/code/modules/ninja/suit/suit_process.dm b/code/modules/ninja/suit/suit_process.dm index 850fb837b4..e3b0320176 100644 --- a/code/modules/ninja/suit/suit_process.dm +++ b/code/modules/ninja/suit/suit_process.dm @@ -7,7 +7,7 @@ s_coold--//Checks for ability s_cooldown first. cell.charge -= s_cost//s_cost is the default energy cost each tick, usually 5. - if(stealth)//If stealth is active. + if(stealth && stealth_cooldown <= world.time)//If stealth is active. cell.charge -= s_acost affecting.alpha = max(affecting.alpha - 10, 10) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 4004bc81ae..8030d1c776 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -298,6 +298,7 @@ if(user) user.update_inv_hands() + SEND_SIGNAL(user, COMSIG_LIVING_GUN_PROCESS_FIRE, target, params, zone_override) SSblackbox.record_feedback("tally", "gun_fired", 1, type) return TRUE From 76294cf1627ae2e2dba9e77de3c147430a81a01d Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 3 Nov 2019 17:29:53 +0100 Subject: [PATCH 077/136] oh flak. --- code/modules/ninja/suit/suit_process.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/ninja/suit/suit_process.dm b/code/modules/ninja/suit/suit_process.dm index e3b0320176..5c1276e29a 100644 --- a/code/modules/ninja/suit/suit_process.dm +++ b/code/modules/ninja/suit/suit_process.dm @@ -9,7 +9,7 @@ cell.charge -= s_cost//s_cost is the default energy cost each tick, usually 5. if(stealth && stealth_cooldown <= world.time)//If stealth is active. cell.charge -= s_acost - affecting.alpha = max(affecting.alpha - 10, 10) + affecting.alpha = max(affecting.alpha - 10, 15) else cell.charge = 0 From 431ab8fc0ba6a470c8721c284129c7c2b68d86a9 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 3 Nov 2019 17:56:30 +0100 Subject: [PATCH 078/136] better be safe than sorry. --- code/modules/holiday/halloween/jacqueen.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/holiday/halloween/jacqueen.dm b/code/modules/holiday/halloween/jacqueen.dm index 3120b7acd4..d71e7c0f6a 100644 --- a/code/modules/holiday/halloween/jacqueen.dm +++ b/code/modules/holiday/halloween/jacqueen.dm @@ -111,7 +111,7 @@ var/list/targets = list() for(var/H in GLOB.network_holopads) var/area/A = get_area(H) - if(findtextEx(A.name, "AI") || !(A in pop_areas) || !is_station_level(H)) + if(!A || findtextEx(A.name, "AI") || !(A in pop_areas) || !is_station_level(H)) continue targets += H From 0114b7fbe2f9de8e9c6ff102b346a18bed41ef41 Mon Sep 17 00:00:00 2001 From: r4d6 <50276533+r4d6@users.noreply.github.com> Date: Sun, 3 Nov 2019 16:51:07 -0500 Subject: [PATCH 079/136] Comment out Sec coat --- modular_citadel/code/modules/client/loadout/suit.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modular_citadel/code/modules/client/loadout/suit.dm b/modular_citadel/code/modules/client/loadout/suit.dm index 245d345bf7..d3a8258fc0 100644 --- a/modular_citadel/code/modules/client/loadout/suit.dm +++ b/modular_citadel/code/modules/client/loadout/suit.dm @@ -63,13 +63,15 @@ name = "Winter coat" category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/hooded/wintercoat - + +/* Commented out until it is "balanced" /datum/gear/coat/sec name = "Security winter coat" category = SLOT_WEAR_SUIT path = /obj/item/clothing/suit/hooded/wintercoat/security restricted_roles = list("Head of Security", "Warden", "Detective", "Security Officer") // Reserve it to the Security Departement - +*/ + /datum/gear/coat/med name = "Medical winter coat" category = SLOT_WEAR_SUIT From dcc81d92b5a12c01ae23c8aaeea180f3140b8f1d Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Mon, 4 Nov 2019 00:12:41 +0100 Subject: [PATCH 080/136] Fixing a few throw_at calls and modular computer processors Init. --- code/game/machinery/doors/airlock_types.dm | 2 +- code/modules/flufftext/Hallucination.dm | 4 ++-- code/modules/integrated_electronics/subtypes/manipulation.dm | 2 +- code/modules/modular_computers/computers/item/processor.dm | 3 +-- code/modules/shuttle/special.dm | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 8704a4c749..82ca502029 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -499,7 +499,7 @@ SEND_SOUND(L, sound(pick('sound/hallucinations/turn_around1.ogg','sound/hallucinations/turn_around2.ogg'),0,1,50)) flash_color(L, flash_color="#960000", flash_time=20) L.Knockdown(40) - L.throw_at(throwtarget, 5, 1,src) + L.throw_at(throwtarget, 5, 1) return 0 /obj/machinery/door/airlock/cult/proc/conceal() diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 7232b717df..3e867d2634 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -236,10 +236,10 @@ GLOBAL_LIST_INIT(hallucination_list, list( xeno = new(pump.loc,target) sleep(10) xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32) - xeno.throw_at(target,7,1, xeno, FALSE, TRUE) + xeno.throw_at(target,7,1, null, FALSE, TRUE) sleep(10) xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32) - xeno.throw_at(pump,7,1, xeno, FALSE, TRUE) + xeno.throw_at(pump,7,1, null, FALSE, TRUE) sleep(10) var/xeno_name = xeno.name to_chat(target, "[xeno_name] begins climbing into the ventilation system...") diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index 81961c2d9c..fb00897eec 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -339,7 +339,7 @@ assembly.visible_message("[assembly] has thrown [A]!") log_attack("[assembly] [REF(assembly)] has thrown [A] with non-lethal force.") A.forceMove(drop_location()) - A.throw_at(locate(x_abs, y_abs, T.z), range, 3, , , , CALLBACK(src, .proc/post_throw, A)) + A.throw_at(locate(x_abs, y_abs, T.z), range, 3, null, null, null, CALLBACK(src, .proc/post_throw, A)) // If the item came from a grabber now we can update the outputs since we've thrown it. if(istype(G)) diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm index 99d648d02b..b86d4e5d0d 100644 --- a/code/modules/modular_computers/computers/item/processor.dm +++ b/code/modules/modular_computers/computers/item/processor.dm @@ -17,8 +17,7 @@ machinery_computer = null /obj/item/modular_computer/processor/New(comp) - STOP_PROCESSING(SSobj, src) // Processed by its machine - + . = ..() if(!comp || !istype(comp, /obj/machinery/modular_computer)) CRASH("Inapropriate type passed to obj/item/modular_computer/processor/New()! Aborting.") return diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index 9bea790957..ab08c162a1 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -187,7 +187,7 @@ var/mob/living/M = AM var/throwtarget = get_edge_target_turf(src, boot_dir) M.Knockdown(40) - M.throw_at(throwtarget, 5, 1,src) + M.throw_at(throwtarget, 5, 1) to_chat(M, "No climbing on the bar please.") else . = ..() From 9f04cba7bf1f2f6cb0c62caff75c419097cae6af Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Sun, 3 Nov 2019 18:27:47 -0500 Subject: [PATCH 081/136] workaround --- code/modules/uplink/uplink_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index ba531cac93..280740688e 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1714,7 +1714,7 @@ datum/uplink_item/stealthy_weapons/taeclowndo_shoes /datum/uplink_item/role_restricted/alientech name = "Alien Research Disk" desc = "A technology disk holding a terabyte of highly confidential abductor technology. \ - Simply insert into research console of choice and import the files from the disk. You might research some useful gear from this." + Simply insert into research console of choice and import the files from the disk. Because of its foreign nature, it may require multiple uploads to work properly." item = /obj/item/disk/tech_disk/abductor cost = 12 restricted_roles = list("Research Director", "Scientist", "Roboticist") From 5efed320950871739442131d5801aa11b374bbc6 Mon Sep 17 00:00:00 2001 From: BonniePandora Date: Mon, 4 Nov 2019 02:29:56 +0000 Subject: [PATCH 082/136] Ports Welding Hard Hats from /tg/ Changelog: modules/clothing/head/Hardhat.dm: -Added Welder Hard Hats & various colours --They function as a combi hard hat & welder mask, but have a slightly dimmer head lamp modules/clothing/vending/wardrobes.dm -Added 3 Welder Hard Hats to the Engi-drobe and Atmos-drobe -Equalized some values between the two (3 atmos winter coats now instead of 5, and 3 engineering dufflebags instead of 2) game/objects/structures/crates_lockers/closets/secure/engineering.dm -Replaced the welding mask in the CE's locker with a white WHH (This one has brighter buld in it! Same brightness as a regular hard hat) datums/action.dm - Added the item_action to lower the WHH's face shield icons/mob/head.dmi -Added weldervisor + welderhat, which are used by the WHH's -Recoloured hardhat0/1_dblue to be in atmos colours as I've never seen it on the station before and this way is actually used icons/mob/obj/hats.dmi -Added weldervisor, again, used by the WHH's -Repositioned the hardhat sprites up several pixels so they don't clip and look weird with the weldervisor -Recoloured hardhat0/1_dblue to be in atmos colours as I've never seen it on the station before and this way is actually used --- code/datums/action.dm | 8 ++ .../closets/secure/engineering.dm | 2 +- code/modules/clothing/head/hardhat.dm | 84 ++++++++++++++++-- code/modules/vending/wardrobes.dm | 8 +- icons/mob/head.dmi | Bin 196947 -> 197344 bytes icons/obj/clothing/hats.dmi | Bin 94748 -> 94777 bytes 6 files changed, 92 insertions(+), 10 deletions(-) diff --git a/code/datums/action.dm b/code/datums/action.dm index fd33ef79b5..77aa729eb1 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -245,6 +245,14 @@ /datum/action/item_action/toggle_helmet_light name = "Toggle Helmet Light" +/datum/action/item_action/toggle_welding_screen + name = "Toggle Welding Screen" + +/datum/action/item_action/toggle_welding_screen/Trigger() + var/obj/item/clothing/head/hardhat/weldhat/H = target + if(istype(H)) + H.toggle_welding_screen(owner) + /datum/action/item_action/toggle_headphones name = "Toggle Headphones" desc = "UNTZ UNTZ UNTZ" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index a7adafdad4..f173ac0662 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -10,7 +10,7 @@ new /obj/item/clothing/under/rank/chief_engineer(src) new /obj/item/clothing/under/rank/chief_engineer/skirt(src) new /obj/item/clothing/head/hardhat/white(src) - new /obj/item/clothing/head/welding(src) + new /obj/item/clothing/head/hardhat/weldhat/white(src) new /obj/item/clothing/gloves/color/yellow(src) new /obj/item/clothing/shoes/sneakers/brown(src) new /obj/item/tank/jetpack/suit(src) diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 54f0ebea45..d72e4ba1d7 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -17,19 +17,26 @@ dog_fashion = /datum/dog_fashion/head -/obj/item/clothing/head/hardhat/attack_self(mob/user) - on = !on - icon_state = "hardhat[on]_[item_color]" - item_state = "hardhat[on]_[item_color]" - user.update_inv_head() //so our mob-overlays update +/obj/item/clothing/head/hardhat/attack_self(mob/living/user) + toggle_helmet_light(user) +/obj/item/clothing/head/hardhat/proc/toggle_helmet_light(mob/living/user) + on = !on if(on) turn_on(user) else turn_off(user) + update_icon() + +/obj/item/clothing/head/hardhat/update_icon() + icon_state = "hardhat[on]_[item_color]" + item_state = "hardhat[on]_[item_color]" + if(ishuman(loc)) + var/mob/living/carbon/human/H = loc + H.update_inv_head() for(var/X in actions) var/datum/action/A = X - A.UpdateButtonIcon() + A.UpdateButtonIcon(force = TRUE) /obj/item/clothing/head/hardhat/proc/turn_on(mob/user) set_light(brightness_on, power_on) @@ -86,3 +93,68 @@ cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT mutantrace_variation = MUTANTRACE_VARIATION + +/obj/item/clothing/head/hardhat/weldhat + name = "welding hard hat" + desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight AND welding shield! The bulb seems a little smaller though." + brightness_on = 3 //Needs a little bit of tradeoff + dog_fashion = null + actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_welding_screen) + flash_protect = 2 + tint = 2 + flags_inv = HIDEEYES | HIDEFACE + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH + visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT + visor_flags_inv = HIDEEYES | HIDEFACE + visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH + +/obj/item/clothing/head/hardhat/weldhat/Initialize() + . = ..() + update_icon() + +/obj/item/clothing/head/hardhat/weldhat/attack_self(mob/living/user) + toggle_helmet_light(user) + +/obj/item/clothing/head/hardhat/weldhat/AltClick(mob/user) + if(user.canUseTopic(src, BE_CLOSE)) + toggle_welding_screen(user) + +/obj/item/clothing/head/hardhat/weldhat/proc/toggle_welding_screen(mob/living/user) + if(weldingvisortoggle(user)) + playsound(src, 'sound/mecha/mechmove03.ogg', 50, TRUE) //Visors don't just come from nothing + update_icon() + +/obj/item/clothing/head/hardhat/weldhat/worn_overlays(isinhands) + . = ..() + if(!isinhands) + . += mutable_appearance('icons/mob/head.dmi', "weldhelmet") + if(!up) + . += mutable_appearance('icons/mob/head.dmi', "weldvisor") + +/obj/item/clothing/head/hardhat/weldhat/update_icon() + cut_overlays() + if(!up) + add_overlay("weldvisor") + ..() + +/obj/item/clothing/head/hardhat/weldhat/orange + icon_state = "hardhat0_orange" + item_state = "hardhat0_orange" + item_color = "orange" + +/obj/item/clothing/head/hardhat/weldhat/white + desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight AND welding shield!" //This bulb is not smaller + icon_state = "hardhat0_white" + item_state = "hardhat0_white" + brightness_on = 4 //Boss always takes the best stuff + item_color = "white" + clothing_flags = STOPSPRESSUREDAMAGE + heat_protection = HEAD + max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT + cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT + +/obj/item/clothing/head/hardhat/weldhat/dblue + icon_state = "hardhat0_dblue" + item_state = "hardhat0_dblue" + item_color = "dblue" \ No newline at end of file diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index fbc7713f25..e64435accc 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -63,7 +63,7 @@ product_ads = "Guaranteed to protect your feet from industrial accidents!;Afraid of radiation? Then wear yellow!" vend_reply = "Thank you for using the EngiDrobe!" products = list(/obj/item/clothing/accessory/pocketprotector = 5, - /obj/item/storage/backpack/duffelbag/engineering = 2, + /obj/item/storage/backpack/duffelbag/engineering = 3, /obj/item/storage/backpack/industrial = 3, /obj/item/storage/backpack/satchel/eng = 3, /obj/item/clothing/suit/hooded/wintercoat/engineering = 3, @@ -71,7 +71,8 @@ /obj/item/clothing/under/rank/engineer/skirt = 5, /obj/item/clothing/suit/hazardvest = 5, /obj/item/clothing/shoes/workboots = 5, - /obj/item/clothing/head/hardhat = 5) + /obj/item/clothing/head/hardhat = 5, + /obj/item/clothing/head/hardhat/weldhat = 3) refill_canister = /obj/item/vending_refill/wardrobe/engi_wardrobe /obj/item/vending_refill/wardrobe/engi_wardrobe @@ -87,7 +88,8 @@ /obj/item/storage/backpack/duffelbag/engineering = 3, /obj/item/storage/backpack/satchel/eng = 3, /obj/item/storage/backpack/industrial = 3, - /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 5, + /obj/item/clothing/head/hardhat/weldhat/dblue = 3, + /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 3, /obj/item/clothing/under/rank/atmospheric_technician = 5, /obj/item/clothing/under/rank/atmospheric_technician/skirt = 5, /obj/item/clothing/shoes/sneakers/black = 5) diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 3d8f26a82e2d6147f90042a3f9cbfb6c1507d66a..1c477e968f726d0fc439238482b60389ed188374 100644 GIT binary patch delta 171309 zcmY(qbzBtR7e73J2uLibNJ$AwOGzlPNC={Y(k(5L(mkXoNJ&Zx64HotEg_&Z(%s!G zwac>m44>ck_q?8G{@9(@%)NK!&N*}L`~5y=hJ(l!Ldjy-L3(dZT~~Qa7jtJDCs!Ls z2LSL)%Qg7>g-wh?O2;p>tvT^Q&fcl#L$|Nx=50hi(yRo}WuI5p(phjDV9}3rlwZ`1 zpni~~7cNN!kP_pw9CeK%z{>$gu-G4US+h=H8+%))tcV{sAqiJ8D>7&*l?J{2oq2jh9{10Z}lLDRk@t>no6r_VjGy=)Ct5;735g{uR$>nNI)a>N^(}jgOw@C#g**c^n77J+cv(t-q1_D%WhG z>~`)0qt3j+q*sYGE94U@s@%&5ZP%~k#t9@`+TtGLF+Ha(p)G85-)Z+&Ut9ftNM&RH z{H&xm=XTiI)Ba)#iIe$72ZO&&%&A1vK0CLjWh9==BT@9isuUN0|6SHoEB9sfD_!>=yvXl&o;_TUR$;2Gx^5Y@ z@pVhD&Rt5cS9+DU$eI`@;u{g}AP~7!nD@OKem8{ruy(II> zf8V~5BlH?7cW55|GZ;)2QDD3KzG1qJOc;HGIcR9SKi4Am3-+6Dh~xqTrF($RvvzH= zr3HR%0wM1QePl0@2H%2adOJT&y10_Xb0XefD`wNM+RX!Vs{ej@r*vOJTaa&UN`Ck@ zr+ZJRxr$P;b3(FmCD}DM9WVYr8&Y4TEK01|?Mfx8p9e1di#D_ga8|R7kUe|7KWgER zX7Tk=jHeA8MLO53JcSE!x`ZsZEpZCa%0A%yba0dCU(D^hWuv$2NZEh7|Iy1l?EWgx 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"Gw59r~k81 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 z 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 FzW`urB830| delta 170986 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 z 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

WL!pmqF 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≫~&ne%TOxFT=I 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%0A>fiS&+2GK9axC)RVyv-)NP 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 delta 75117 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 Date: Mon, 4 Nov 2019 00:34:03 -0500 Subject: [PATCH 083/136] aliens man --- code/game/objects/items/theft_tools.dm | 26 ++++++- code/modules/cargo/packs.dm | 18 ++--- code/modules/cargo/packs/livestock.dm | 7 -- code/modules/cargo/packs/science.dm | 98 ++++++++++++++++++++++++- icons/obj/nuke_tools.dmi | Bin 4423 -> 5017 bytes 5 files changed, 131 insertions(+), 18 deletions(-) diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index b99be7e988..d52c280f1b 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -49,6 +49,10 @@ lefthand_file = 'icons/mob/inhands/misc/sheets_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/sheets_righthand.dmi' var/obj/item/nuke_core/core + var/nt =FALSE //For the lid + +/obj/item/nuke_core_container/nt + nt = TRUE /obj/item/nuke_core_container/Destroy() QDEL_NULL(core) @@ -67,10 +71,13 @@ /obj/item/nuke_core_container/proc/seal() if(istype(core)) STOP_PROCESSING(SSobj, core) - icon_state = "core_container_sealed" playsound(src, 'sound/items/deconstruct.ogg', 60, 1) if(ismob(loc)) to_chat(loc, "[src] is permanently sealed, [core]'s radiation is contained.") + if(nt != TRUE) + icon_state = "core_container_sealed" + else + icon_state = "core_container_sealed_nt" /obj/item/nuke_core_container/attackby(obj/item/nuke_core/core, mob/user) if(istype(core)) @@ -92,6 +99,11 @@ toolspeed = 0.5 random_color = FALSE +/obj/item/screwdriver/nuke/nt + desc = "A screwdriver with an ultra thin diamon tip." + toolspeed = 0.25 + icon_state = "screwdriver_nt" + /obj/item/paper/guides/antag/nuke_instructions info = "How to break into a Nanotrasen self-destruct terminal and remove its plutonium core:
\

" +/obj/item/paper/guides/nt/nuke_instructions + info = "How to remove its plutonium core:
\ +
    \ +
  • Use a screwdriver with a very thin tip (provided) to unscrew the terminal's front panel
  • \ +
  • Dislodge and remove the front panel with a crowbar
  • \ +
  • Cut the inner metal plate with a welding tool
  • \ +
  • Pry off the inner plate with a crowbar to expose the radioactive core
  • \ +
  • Use the core container to remove the plutonium core; the container will take some time to seal
  • \ +
  • Send core back to CC
  • \ +
" + + // STEALING SUPERMATTER /obj/item/paper/guides/antag/supermatter_sliver diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 89c463f3e3..6e99b2fd2e 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -1,20 +1,20 @@ /datum/supply_pack var/name = "Crate" var/group = "" - var/hidden = FALSE - var/contraband = FALSE + var/hidden = FALSE //Aka emag only + var/contraband = FALSE //Hacking the console with a multy tool var/cost = 700 // Minimum cost, or infinite points are possible. - var/access = FALSE - var/access_any = FALSE - var/list/contains = null - var/crate_name = "crate" + var/access = FALSE //What access does the Crate itself need? + var/access_any = FALSE //Do we care about access? + var/list/contains = null //What items are in the crate + var/crate_name = "crate" //The crate that comes with each order var/desc = ""//no desc by default - var/crate_type = /obj/structure/closet/crate + var/crate_type = /obj/structure/closet/crate //what kind of crate - Locked crates needed for access locked crates var/dangerous = FALSE // Should we message admins? var/special = FALSE //Event/Station Goals/Admin enabled packs var/special_enabled = FALSE - var/DropPodOnly = FALSE//only usable by the Bluespace Drop Pod via the express cargo console - var/admin_spawned = FALSE + var/DropPodOnly = FALSE //only usable by the Bluespace Drop Pod via the express cargo console + var/admin_spawned = FALSE //Can only an admin spawn this crate? /datum/supply_pack/proc/generate(atom/A) var/obj/structure/closet/crate/C = new crate_type(A) diff --git a/code/modules/cargo/packs/livestock.dm b/code/modules/cargo/packs/livestock.dm index 6479869ee0..8708562a06 100644 --- a/code/modules/cargo/packs/livestock.dm +++ b/code/modules/cargo/packs/livestock.dm @@ -112,13 +112,6 @@ contains = list(/mob/living/simple_animal/hostile/retaliate/goose) crate_name = "goose crate" -/datum/supply_pack/critter/monkey - name = "Monkey Cube Crate" - desc = "Stop monkeying around! Contains seven monkey cubes. Just add water!" - cost = 2000 - contains = list (/obj/item/storage/box/monkeycubes) - crate_name = "monkey cube crate" - /datum/supply_pack/critter/pug name = "Pug Crate" desc = "Like a normal dog, but... squished. Comes with a nice collar!" diff --git a/code/modules/cargo/packs/science.dm b/code/modules/cargo/packs/science.dm index c4fbc0bfe5..f6250bb1f7 100644 --- a/code/modules/cargo/packs/science.dm +++ b/code/modules/cargo/packs/science.dm @@ -10,6 +10,46 @@ group = "Science" crate_type = /obj/structure/closet/crate/science +/* For later +/datum/supply_pack/science/monkey + name = "Ape Cube Crate" + desc = "Pss what a new test subject with supper strangth, speed, and love for bananas all at the same time? Say no more... Contains a single ape cube. Dont add water!" + contraband = TRUE + cost = 2500 + contains = list (/obj/item/reagent_containers/food/snacks/monkeycube/ape) + crate_name = "ape cube crate" +*/ + +/datum/supply_pack/science/aliens + name = "Advanced Alien Alloy Crate Crate" + desc = "Hello brothers from the stars!!! Are fellow brethren have made contact at long last and gave us gifts man! They really did build the prymi- Connection Error- Bro will send you a sheet of advanced alien alloy " + cost = 9000 + contraband = TRUE + contains = list(/obj/item/stack/sheet/mineral/abductor) + crate_name = "alien bro alloy crate" + +/datum/supply_pack/science/beakers + name = "Chemistry Beackers Crate" + desc = "Glass ware for any chemistry! Contains four small beakers three large two plastic one metamaterial. As well as three droppers and two latex gloves" + cost = 1500 + contains = list(/obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/beaker/large, + /obj/item/reagent_containers/glass/beaker/large, + /obj/item/reagent_containers/glass/beaker/large, + /obj/item/reagent_containers/glass/beaker/plastic, + /obj/item/reagent_containers/glass/beaker/plastic, + /obj/item/reagent_containers/glass/beaker/meta, + /obj/item/reagent_containers/glass/beaker/noreact, + /obj/item/reagent_containers/dropper, + /obj/item/reagent_containers/dropper, + /obj/item/reagent_containers/dropper, + /obj/item/clothing/gloves/color/latex, + /obj/item/clothing/gloves/color/latex) + crate_name = "chemistry beacker crate" + /datum/supply_pack/science/robotics/mecha_odysseus name = "Circuit Crate (Odysseus)" desc = "Ever wanted to build your own giant medical robot? Well, now you can! Contains the Odysseus main control board and Odysseus peripherals board. Requires Robotics access to open." @@ -41,6 +81,33 @@ /obj/item/integrated_electronics/wirer) crate_name = "circuitry starter pack crate" +/datum/supply_pack/science/monkey + name = "Monkey Cube Crate" + desc = "Stop monkeying around! Contains seven monkey cubes. Just add water!" + cost = 2000 + contains = list (/obj/item/storage/box/monkeycubes) + crate_name = "monkey cube crate" + +/datum/supply_pack/science/nitrilegloves + name = "Nitrile Gloves Crate" + desc = "Ever handling toxic chemicals? Well worry not to keep your flesh with some nitrile made gloves! Contains three pares of nitrile gloves." + cost = 1500 + contains = list(/obj/item/clothing/gloves/color/latex/nitrile, + /obj/item/clothing/gloves/color/latex/nitrile, + /obj/item/clothing/gloves/color/latex/nitrile) + crate_name = "nitrile gloves crate" + +/datum/supply_pack/science/nuke_b_gone + name = "Nuke Defusal Kit" + desc = "Contains set of tools to defuse a nuke." + cost = 7500 //Usefull for traitors/nukies that fucked up + dangerous = TRUE + DropPodOnly = TRUE + contains = list(/obj/item/nuke_core_container/nt, + /obj/item/screwdriver/nuke/nt, + /obj/item/paper/guides/nt/nuke_instructions) + crate_name = "safe defusal kit storge" + /datum/supply_pack/science/plasma name = "Plasma Assembly Crate" desc = "Everything you need to burn something to the ground, this contains three plasma assembly sets. Each set contains a plasma tank, igniter, proximity sensor, and timer! Warranty void if exposed to high temperatures. Requires Toxins access to open." @@ -61,6 +128,15 @@ crate_name = "plasma assembly crate" crate_type = /obj/structure/closet/crate/secure/plasma +/datum/supply_pack/science/relic + name = "Relic Crate" + desc = "Ever want to play with old discounted toys? Look no more. Contains two relic." + cost = 1000 + contraband = TRUE + contains = list(/obj/item/relic, + /obj/item/relic) + crate_name = "relic crate" + /datum/supply_pack/science/robotics name = "Robotics Assembly Crate" desc = "The tools you need to replace those finicky humans with a loyal robot army! Contains three proximity sensors, two high-powered cells, six flashes, and an electrical toolbox. Requires Robotics access to open." @@ -88,10 +164,30 @@ crate_name = "shield generators crate" crate_type = /obj/structure/closet/crate/secure/science +/datum/supply_pack/science/slime + name = "Slime Core Crate" + desc = "Ran out of slimes? No problem, contains one gray slime core. Requires Xenobio access to open" + cost = 1000 + access = ACCESS_XENOBIOLOGY + contains = list(/obj/item/slime_extract/grey) + crate_name = "slime core crate" + crate_type = /obj/structure/closet/crate/secure/science + +/datum/supply_pack/science/supermater + name = "Supermatter Exstraction Tools (Crate)" + desc = "Contains set of tools to exstract a sliver of supermatter." + cost = 7500 //Usefull for traitors that fucked up + hidden = TRUE + contains = list(/obj/item/nuke_core_container/supermatter, + /obj/item/scalpel/supermatter, + /obj/item/hemostat/supermatter, + /obj/item/paper/guides/antag/supermatter_sliver) + crate_name = "supermatter exstraction kit crate" + /datum/supply_pack/science/tablets name = "Tablet Crate" desc = "What's a computer? Contains five cargo tablets." - cost = 5000 + cost = 3000 contains = list(/obj/item/modular_computer/tablet/preset/cargo, /obj/item/modular_computer/tablet/preset/cargo, /obj/item/modular_computer/tablet/preset/cargo, diff --git a/icons/obj/nuke_tools.dmi b/icons/obj/nuke_tools.dmi index 2c10b5424ff2641a91825db79f6df0f38c828750..799c4baabbc7070fabb5471bbe8c865d8f4c477b 100644 GIT binary patch literal 5017 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 Af&c&j delta 4309 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 SPtd Date: Mon, 4 Nov 2019 03:17:21 -0500 Subject: [PATCH 084/136] changlong update --- html/changelog.html | 3249 ++++++++++++--------- html/changelogs/.all_changelog.yml | 2522 ++++++++++++++++ html/changelogs/AutoChangeLog-pr-7451.yml | 4 - html/changelogs/AutoChangeLog-pr-7465.yml | 4 - html/changelogs/AutoChangeLog-pr-7544.yml | 4 - html/changelogs/AutoChangeLog-pr-7550.yml | 13 - html/changelogs/AutoChangeLog-pr-7592.yml | 5 - html/changelogs/AutoChangeLog-pr-7596.yml | 9 - html/changelogs/AutoChangeLog-pr-7598.yml | 4 - html/changelogs/AutoChangeLog-pr-7600.yml | 4 - html/changelogs/AutoChangeLog-pr-7604.yml | 4 - html/changelogs/AutoChangeLog-pr-7605.yml | 5 - html/changelogs/AutoChangeLog-pr-7608.yml | 4 - html/changelogs/AutoChangeLog-pr-7611.yml | 8 - html/changelogs/AutoChangeLog-pr-7612.yml | 4 - html/changelogs/AutoChangeLog-pr-7620.yml | 4 - html/changelogs/AutoChangeLog-pr-7624.yml | 9 - html/changelogs/AutoChangeLog-pr-7625.yml | 7 - html/changelogs/AutoChangeLog-pr-7626.yml | 4 - html/changelogs/AutoChangeLog-pr-7627.yml | 4 - html/changelogs/AutoChangeLog-pr-7630.yml | 5 - html/changelogs/AutoChangeLog-pr-7631.yml | 4 - html/changelogs/AutoChangeLog-pr-7632.yml | 5 - html/changelogs/AutoChangeLog-pr-7639.yml | 6 - html/changelogs/AutoChangeLog-pr-7640.yml | 4 - html/changelogs/AutoChangeLog-pr-7643.yml | 4 - html/changelogs/AutoChangeLog-pr-7650.yml | 4 - html/changelogs/AutoChangeLog-pr-7652.yml | 6 - html/changelogs/AutoChangeLog-pr-7653.yml | 4 - html/changelogs/AutoChangeLog-pr-7658.yml | 4 - html/changelogs/AutoChangeLog-pr-7659.yml | 5 - html/changelogs/AutoChangeLog-pr-7660.yml | 4 - html/changelogs/AutoChangeLog-pr-7664.yml | 4 - html/changelogs/AutoChangeLog-pr-7666.yml | 4 - html/changelogs/AutoChangeLog-pr-7667.yml | 8 - html/changelogs/AutoChangeLog-pr-7671.yml | 4 - html/changelogs/AutoChangeLog-pr-7675.yml | 4 - html/changelogs/AutoChangeLog-pr-7677.yml | 4 - html/changelogs/AutoChangeLog-pr-7681.yml | 4 - html/changelogs/AutoChangeLog-pr-7683.yml | 4 - html/changelogs/AutoChangeLog-pr-7686.yml | 4 - html/changelogs/AutoChangeLog-pr-7688.yml | 4 - html/changelogs/AutoChangeLog-pr-7689.yml | 5 - html/changelogs/AutoChangeLog-pr-7694.yml | 5 - html/changelogs/AutoChangeLog-pr-7696.yml | 4 - html/changelogs/AutoChangeLog-pr-7699.yml | 4 - html/changelogs/AutoChangeLog-pr-7700.yml | 4 - html/changelogs/AutoChangeLog-pr-7703.yml | 4 - html/changelogs/AutoChangeLog-pr-7712.yml | 9 - html/changelogs/AutoChangeLog-pr-7714.yml | 5 - html/changelogs/AutoChangeLog-pr-7717.yml | 6 - html/changelogs/AutoChangeLog-pr-7719.yml | 4 - html/changelogs/AutoChangeLog-pr-7721.yml | 7 - html/changelogs/AutoChangeLog-pr-7723.yml | 5 - html/changelogs/AutoChangeLog-pr-7726.yml | 4 - html/changelogs/AutoChangeLog-pr-7727.yml | 4 - html/changelogs/AutoChangeLog-pr-7728.yml | 4 - html/changelogs/AutoChangeLog-pr-7729.yml | 4 - html/changelogs/AutoChangeLog-pr-7730.yml | 4 - html/changelogs/AutoChangeLog-pr-7731.yml | 4 - html/changelogs/AutoChangeLog-pr-7733.yml | 5 - html/changelogs/AutoChangeLog-pr-7734.yml | 16 - html/changelogs/AutoChangeLog-pr-7735.yml | 4 - html/changelogs/AutoChangeLog-pr-7736.yml | 4 - html/changelogs/AutoChangeLog-pr-7737.yml | 4 - html/changelogs/AutoChangeLog-pr-7738.yml | 4 - html/changelogs/AutoChangeLog-pr-7739.yml | 4 - html/changelogs/AutoChangeLog-pr-7741.yml | 4 - html/changelogs/AutoChangeLog-pr-7742.yml | 4 - html/changelogs/AutoChangeLog-pr-7743.yml | 5 - html/changelogs/AutoChangeLog-pr-7748.yml | 4 - html/changelogs/AutoChangeLog-pr-7750.yml | 4 - html/changelogs/AutoChangeLog-pr-7751.yml | 4 - html/changelogs/AutoChangeLog-pr-7752.yml | 4 - html/changelogs/AutoChangeLog-pr-7754.yml | 4 - html/changelogs/AutoChangeLog-pr-7756.yml | 4 - html/changelogs/AutoChangeLog-pr-7765.yml | 5 - html/changelogs/AutoChangeLog-pr-7770.yml | 4 - html/changelogs/AutoChangeLog-pr-7771.yml | 4 - html/changelogs/AutoChangeLog-pr-7772.yml | 5 - html/changelogs/AutoChangeLog-pr-7776.yml | 4 - html/changelogs/AutoChangeLog-pr-7778.yml | 4 - html/changelogs/AutoChangeLog-pr-7779.yml | 4 - html/changelogs/AutoChangeLog-pr-7781.yml | 5 - html/changelogs/AutoChangeLog-pr-7782.yml | 4 - html/changelogs/AutoChangeLog-pr-7783.yml | 4 - html/changelogs/AutoChangeLog-pr-7791.yml | 4 - html/changelogs/AutoChangeLog-pr-7860.yml | 4 - html/changelogs/AutoChangeLog-pr-7865.yml | 4 - html/changelogs/AutoChangeLog-pr-7866.yml | 4 - html/changelogs/AutoChangeLog-pr-7876.yml | 4 - html/changelogs/AutoChangeLog-pr-7878.yml | 4 - html/changelogs/AutoChangeLog-pr-7908.yml | 4 - html/changelogs/AutoChangeLog-pr-7911.yml | 4 - html/changelogs/AutoChangeLog-pr-7912.yml | 4 - html/changelogs/AutoChangeLog-pr-7914.yml | 4 - html/changelogs/AutoChangeLog-pr-7916.yml | 4 - html/changelogs/AutoChangeLog-pr-7918.yml | 4 - html/changelogs/AutoChangeLog-pr-7919.yml | 4 - html/changelogs/AutoChangeLog-pr-7920.yml | 4 - html/changelogs/AutoChangeLog-pr-7921.yml | 4 - html/changelogs/AutoChangeLog-pr-7922.yml | 4 - html/changelogs/AutoChangeLog-pr-7923.yml | 4 - html/changelogs/AutoChangeLog-pr-7930.yml | 4 - html/changelogs/AutoChangeLog-pr-7945.yml | 5 - html/changelogs/AutoChangeLog-pr-7951.yml | 6 - html/changelogs/AutoChangeLog-pr-7954.yml | 6 - html/changelogs/AutoChangeLog-pr-7964.yml | 6 - html/changelogs/AutoChangeLog-pr-7973.yml | 4 - html/changelogs/AutoChangeLog-pr-7976.yml | 7 - html/changelogs/AutoChangeLog-pr-7977.yml | 5 - html/changelogs/AutoChangeLog-pr-7978.yml | 4 - html/changelogs/AutoChangeLog-pr-7979.yml | 4 - html/changelogs/AutoChangeLog-pr-7980.yml | 4 - html/changelogs/AutoChangeLog-pr-7981.yml | 5 - html/changelogs/AutoChangeLog-pr-7982.yml | 9 - html/changelogs/AutoChangeLog-pr-7983.yml | 4 - html/changelogs/AutoChangeLog-pr-7987.yml | 10 - html/changelogs/AutoChangeLog-pr-7990.yml | 5 - html/changelogs/AutoChangeLog-pr-7993.yml | 8 - html/changelogs/AutoChangeLog-pr-7994.yml | 4 - html/changelogs/AutoChangeLog-pr-7995.yml | 5 - html/changelogs/AutoChangeLog-pr-7996.yml | 4 - html/changelogs/AutoChangeLog-pr-7997.yml | 9 - html/changelogs/AutoChangeLog-pr-7999.yml | 5 - html/changelogs/AutoChangeLog-pr-8008.yml | 4 - html/changelogs/AutoChangeLog-pr-8010.yml | 4 - html/changelogs/AutoChangeLog-pr-8011.yml | 5 - html/changelogs/AutoChangeLog-pr-8012.yml | 4 - html/changelogs/AutoChangeLog-pr-8021.yml | 4 - html/changelogs/AutoChangeLog-pr-8023.yml | 5 - html/changelogs/AutoChangeLog-pr-8024.yml | 6 - html/changelogs/AutoChangeLog-pr-8025.yml | 4 - html/changelogs/AutoChangeLog-pr-8030.yml | 5 - html/changelogs/AutoChangeLog-pr-8031.yml | 4 - html/changelogs/AutoChangeLog-pr-8032.yml | 5 - html/changelogs/AutoChangeLog-pr-8033.yml | 4 - html/changelogs/AutoChangeLog-pr-8034.yml | 4 - html/changelogs/AutoChangeLog-pr-8035.yml | 4 - html/changelogs/AutoChangeLog-pr-8037.yml | 6 - html/changelogs/AutoChangeLog-pr-8038.yml | 4 - html/changelogs/AutoChangeLog-pr-8039.yml | 5 - html/changelogs/AutoChangeLog-pr-8041.yml | 4 - html/changelogs/AutoChangeLog-pr-8042.yml | 5 - html/changelogs/AutoChangeLog-pr-8043.yml | 5 - html/changelogs/AutoChangeLog-pr-8044.yml | 4 - html/changelogs/AutoChangeLog-pr-8047.yml | 4 - html/changelogs/AutoChangeLog-pr-8051.yml | 5 - html/changelogs/AutoChangeLog-pr-8052.yml | 4 - html/changelogs/AutoChangeLog-pr-8053.yml | 4 - html/changelogs/AutoChangeLog-pr-8054.yml | 4 - html/changelogs/AutoChangeLog-pr-8055.yml | 4 - html/changelogs/AutoChangeLog-pr-8056.yml | 4 - html/changelogs/AutoChangeLog-pr-8057.yml | 4 - html/changelogs/AutoChangeLog-pr-8058.yml | 4 - html/changelogs/AutoChangeLog-pr-8062.yml | 4 - html/changelogs/AutoChangeLog-pr-8064.yml | 4 - html/changelogs/AutoChangeLog-pr-8070.yml | 5 - html/changelogs/AutoChangeLog-pr-8071.yml | 4 - html/changelogs/AutoChangeLog-pr-8080.yml | 4 - html/changelogs/AutoChangeLog-pr-8084.yml | 4 - html/changelogs/AutoChangeLog-pr-8090.yml | 5 - html/changelogs/AutoChangeLog-pr-8091.yml | 5 - html/changelogs/AutoChangeLog-pr-8098.yml | 4 - html/changelogs/AutoChangeLog-pr-8104.yml | 5 - html/changelogs/AutoChangeLog-pr-8108.yml | 4 - html/changelogs/AutoChangeLog-pr-8114.yml | 4 - html/changelogs/AutoChangeLog-pr-8118.yml | 6 - html/changelogs/AutoChangeLog-pr-8119.yml | 5 - html/changelogs/AutoChangeLog-pr-8121.yml | 5 - html/changelogs/AutoChangeLog-pr-8122.yml | 4 - html/changelogs/AutoChangeLog-pr-8123.yml | 4 - html/changelogs/AutoChangeLog-pr-8130.yml | 4 - html/changelogs/AutoChangeLog-pr-8132.yml | 4 - html/changelogs/AutoChangeLog-pr-8140.yml | 4 - html/changelogs/AutoChangeLog-pr-8141.yml | 4 - html/changelogs/AutoChangeLog-pr-8145.yml | 4 - html/changelogs/AutoChangeLog-pr-8146.yml | 5 - html/changelogs/AutoChangeLog-pr-8159.yml | 6 - html/changelogs/AutoChangeLog-pr-8160.yml | 5 - html/changelogs/AutoChangeLog-pr-8164.yml | 12 - html/changelogs/AutoChangeLog-pr-8167.yml | 4 - html/changelogs/AutoChangeLog-pr-8169.yml | 4 - html/changelogs/AutoChangeLog-pr-8172.yml | 4 - html/changelogs/AutoChangeLog-pr-8175.yml | 4 - html/changelogs/AutoChangeLog-pr-8182.yml | 4 - html/changelogs/AutoChangeLog-pr-8183.yml | 5 - html/changelogs/AutoChangeLog-pr-8184.yml | 4 - html/changelogs/AutoChangeLog-pr-8185.yml | 4 - html/changelogs/AutoChangeLog-pr-8189.yml | 4 - html/changelogs/AutoChangeLog-pr-8190.yml | 4 - html/changelogs/AutoChangeLog-pr-8192.yml | 4 - html/changelogs/AutoChangeLog-pr-8194.yml | 9 - html/changelogs/AutoChangeLog-pr-8195.yml | 4 - html/changelogs/AutoChangeLog-pr-8196.yml | 4 - html/changelogs/AutoChangeLog-pr-8197.yml | 4 - html/changelogs/AutoChangeLog-pr-8198.yml | 12 - html/changelogs/AutoChangeLog-pr-8199.yml | 4 - html/changelogs/AutoChangeLog-pr-8200.yml | 4 - html/changelogs/AutoChangeLog-pr-8207.yml | 4 - html/changelogs/AutoChangeLog-pr-8211.yml | 5 - html/changelogs/AutoChangeLog-pr-8214.yml | 5 - html/changelogs/AutoChangeLog-pr-8219.yml | 6 - html/changelogs/AutoChangeLog-pr-8228.yml | 4 - html/changelogs/AutoChangeLog-pr-8229.yml | 4 - html/changelogs/AutoChangeLog-pr-8231.yml | 5 - html/changelogs/AutoChangeLog-pr-8232.yml | 6 - html/changelogs/AutoChangeLog-pr-8233.yml | 5 - html/changelogs/AutoChangeLog-pr-8235.yml | 4 - html/changelogs/AutoChangeLog-pr-8236.yml | 4 - html/changelogs/AutoChangeLog-pr-8237.yml | 7 - html/changelogs/AutoChangeLog-pr-8247.yml | 5 - html/changelogs/AutoChangeLog-pr-8252.yml | 6 - html/changelogs/AutoChangeLog-pr-8255.yml | 4 - html/changelogs/AutoChangeLog-pr-8258.yml | 4 - html/changelogs/AutoChangeLog-pr-8259.yml | 5 - html/changelogs/AutoChangeLog-pr-8260.yml | 5 - html/changelogs/AutoChangeLog-pr-8261.yml | 7 - html/changelogs/AutoChangeLog-pr-8264.yml | 7 - html/changelogs/AutoChangeLog-pr-8265.yml | 5 - html/changelogs/AutoChangeLog-pr-8274.yml | 4 - html/changelogs/AutoChangeLog-pr-8277.yml | 4 - html/changelogs/AutoChangeLog-pr-8278.yml | 5 - html/changelogs/AutoChangeLog-pr-8279.yml | 4 - html/changelogs/AutoChangeLog-pr-8283.yml | 4 - html/changelogs/AutoChangeLog-pr-8286.yml | 5 - html/changelogs/AutoChangeLog-pr-8287.yml | 4 - html/changelogs/AutoChangeLog-pr-8288.yml | 7 - html/changelogs/AutoChangeLog-pr-8289.yml | 4 - html/changelogs/AutoChangeLog-pr-8290.yml | 5 - html/changelogs/AutoChangeLog-pr-8294.yml | 4 - html/changelogs/AutoChangeLog-pr-8295.yml | 5 - html/changelogs/AutoChangeLog-pr-8296.yml | 5 - html/changelogs/AutoChangeLog-pr-8301.yml | 5 - html/changelogs/AutoChangeLog-pr-8302.yml | 5 - html/changelogs/AutoChangeLog-pr-8303.yml | 5 - html/changelogs/AutoChangeLog-pr-8305.yml | 4 - html/changelogs/AutoChangeLog-pr-8306.yml | 6 - html/changelogs/AutoChangeLog-pr-8311.yml | 5 - html/changelogs/AutoChangeLog-pr-8315.yml | 4 - html/changelogs/AutoChangeLog-pr-8316.yml | 4 - html/changelogs/AutoChangeLog-pr-8317.yml | 4 - html/changelogs/AutoChangeLog-pr-8318.yml | 4 - html/changelogs/AutoChangeLog-pr-8319.yml | 4 - html/changelogs/AutoChangeLog-pr-8322.yml | 4 - html/changelogs/AutoChangeLog-pr-8323.yml | 4 - html/changelogs/AutoChangeLog-pr-8325.yml | 4 - html/changelogs/AutoChangeLog-pr-8334.yml | 4 - html/changelogs/AutoChangeLog-pr-8336.yml | 5 - html/changelogs/AutoChangeLog-pr-8341.yml | 4 - html/changelogs/AutoChangeLog-pr-8342.yml | 7 - html/changelogs/AutoChangeLog-pr-8348.yml | 4 - html/changelogs/AutoChangeLog-pr-8349.yml | 5 - html/changelogs/AutoChangeLog-pr-8352.yml | 4 - html/changelogs/AutoChangeLog-pr-8362.yml | 4 - html/changelogs/AutoChangeLog-pr-8366.yml | 10 - html/changelogs/AutoChangeLog-pr-8367.yml | 7 - html/changelogs/AutoChangeLog-pr-8368.yml | 4 - html/changelogs/AutoChangeLog-pr-8369.yml | 4 - html/changelogs/AutoChangeLog-pr-8370.yml | 4 - html/changelogs/AutoChangeLog-pr-8372.yml | 4 - html/changelogs/AutoChangeLog-pr-8374.yml | 4 - html/changelogs/AutoChangeLog-pr-8376.yml | 4 - html/changelogs/AutoChangeLog-pr-8377.yml | 4 - html/changelogs/AutoChangeLog-pr-8384.yml | 6 - html/changelogs/AutoChangeLog-pr-8387.yml | 4 - html/changelogs/AutoChangeLog-pr-8388.yml | 4 - html/changelogs/AutoChangeLog-pr-8391.yml | 4 - html/changelogs/AutoChangeLog-pr-8392.yml | 5 - html/changelogs/AutoChangeLog-pr-8393.yml | 4 - html/changelogs/AutoChangeLog-pr-8397.yml | 5 - html/changelogs/AutoChangeLog-pr-8398.yml | 6 - html/changelogs/AutoChangeLog-pr-8399.yml | 4 - html/changelogs/AutoChangeLog-pr-8400.yml | 4 - html/changelogs/AutoChangeLog-pr-8401.yml | 6 - html/changelogs/AutoChangeLog-pr-8404.yml | 5 - html/changelogs/AutoChangeLog-pr-8407.yml | 6 - html/changelogs/AutoChangeLog-pr-8408.yml | 4 - html/changelogs/AutoChangeLog-pr-8409.yml | 4 - html/changelogs/AutoChangeLog-pr-8411.yml | 4 - html/changelogs/AutoChangeLog-pr-8413.yml | 5 - html/changelogs/AutoChangeLog-pr-8414.yml | 4 - html/changelogs/AutoChangeLog-pr-8416.yml | 4 - html/changelogs/AutoChangeLog-pr-8417.yml | 5 - html/changelogs/AutoChangeLog-pr-8419.yml | 4 - html/changelogs/AutoChangeLog-pr-8420.yml | 5 - html/changelogs/AutoChangeLog-pr-8424.yml | 4 - html/changelogs/AutoChangeLog-pr-8429.yml | 4 - html/changelogs/AutoChangeLog-pr-8430.yml | 4 - html/changelogs/AutoChangeLog-pr-8432.yml | 5 - html/changelogs/AutoChangeLog-pr-8434.yml | 4 - html/changelogs/AutoChangeLog-pr-8435.yml | 4 - html/changelogs/AutoChangeLog-pr-8436.yml | 4 - html/changelogs/AutoChangeLog-pr-8437.yml | 5 - html/changelogs/AutoChangeLog-pr-8439.yml | 6 - html/changelogs/AutoChangeLog-pr-8442.yml | 4 - html/changelogs/AutoChangeLog-pr-8443.yml | 4 - html/changelogs/AutoChangeLog-pr-8448.yml | 4 - html/changelogs/AutoChangeLog-pr-8449.yml | 4 - html/changelogs/AutoChangeLog-pr-8450.yml | 4 - html/changelogs/AutoChangeLog-pr-8452.yml | 4 - html/changelogs/AutoChangeLog-pr-8453.yml | 4 - html/changelogs/AutoChangeLog-pr-8454.yml | 5 - html/changelogs/AutoChangeLog-pr-8455.yml | 4 - html/changelogs/AutoChangeLog-pr-8456.yml | 4 - html/changelogs/AutoChangeLog-pr-8459.yml | 4 - html/changelogs/AutoChangeLog-pr-8460.yml | 4 - html/changelogs/AutoChangeLog-pr-8463.yml | 4 - html/changelogs/AutoChangeLog-pr-8465.yml | 4 - html/changelogs/AutoChangeLog-pr-8466.yml | 4 - html/changelogs/AutoChangeLog-pr-8470.yml | 5 - html/changelogs/AutoChangeLog-pr-8473.yml | 10 - html/changelogs/AutoChangeLog-pr-8476.yml | 4 - html/changelogs/AutoChangeLog-pr-8477.yml | 4 - html/changelogs/AutoChangeLog-pr-8479.yml | 4 - html/changelogs/AutoChangeLog-pr-8482.yml | 4 - html/changelogs/AutoChangeLog-pr-8483.yml | 4 - html/changelogs/AutoChangeLog-pr-8485.yml | 5 - html/changelogs/AutoChangeLog-pr-8489.yml | 5 - html/changelogs/AutoChangeLog-pr-8491.yml | 5 - html/changelogs/AutoChangeLog-pr-8494.yml | 4 - html/changelogs/AutoChangeLog-pr-8495.yml | 4 - html/changelogs/AutoChangeLog-pr-8497.yml | 5 - html/changelogs/AutoChangeLog-pr-8500.yml | 4 - html/changelogs/AutoChangeLog-pr-8501.yml | 4 - html/changelogs/AutoChangeLog-pr-8503.yml | 5 - html/changelogs/AutoChangeLog-pr-8504.yml | 4 - html/changelogs/AutoChangeLog-pr-8505.yml | 4 - html/changelogs/AutoChangeLog-pr-8506.yml | 5 - html/changelogs/AutoChangeLog-pr-8514.yml | 6 - html/changelogs/AutoChangeLog-pr-8515.yml | 5 - html/changelogs/AutoChangeLog-pr-8516.yml | 4 - html/changelogs/AutoChangeLog-pr-8517.yml | 6 - html/changelogs/AutoChangeLog-pr-8518.yml | 5 - html/changelogs/AutoChangeLog-pr-8522.yml | 4 - html/changelogs/AutoChangeLog-pr-8524.yml | 4 - html/changelogs/AutoChangeLog-pr-8525.yml | 5 - html/changelogs/AutoChangeLog-pr-8528.yml | 7 - html/changelogs/AutoChangeLog-pr-8534.yml | 4 - html/changelogs/AutoChangeLog-pr-8537.yml | 4 - html/changelogs/AutoChangeLog-pr-8538.yml | 4 - html/changelogs/AutoChangeLog-pr-8540.yml | 4 - html/changelogs/AutoChangeLog-pr-8541.yml | 4 - html/changelogs/AutoChangeLog-pr-8543.yml | 4 - html/changelogs/AutoChangeLog-pr-8544.yml | 4 - html/changelogs/AutoChangeLog-pr-8547.yml | 6 - html/changelogs/AutoChangeLog-pr-8548.yml | 4 - html/changelogs/AutoChangeLog-pr-8549.yml | 6 - html/changelogs/AutoChangeLog-pr-8551.yml | 4 - html/changelogs/AutoChangeLog-pr-8552.yml | 4 - html/changelogs/AutoChangeLog-pr-8553.yml | 5 - html/changelogs/AutoChangeLog-pr-8554.yml | 10 - html/changelogs/AutoChangeLog-pr-8555.yml | 5 - html/changelogs/AutoChangeLog-pr-8556.yml | 4 - html/changelogs/AutoChangeLog-pr-8557.yml | 4 - html/changelogs/AutoChangeLog-pr-8558.yml | 4 - html/changelogs/AutoChangeLog-pr-8559.yml | 4 - html/changelogs/AutoChangeLog-pr-8560.yml | 5 - html/changelogs/AutoChangeLog-pr-8561.yml | 4 - html/changelogs/AutoChangeLog-pr-8562.yml | 5 - html/changelogs/AutoChangeLog-pr-8565.yml | 4 - html/changelogs/AutoChangeLog-pr-8566.yml | 4 - html/changelogs/AutoChangeLog-pr-8567.yml | 4 - html/changelogs/AutoChangeLog-pr-8569.yml | 4 - html/changelogs/AutoChangeLog-pr-8570.yml | 4 - html/changelogs/AutoChangeLog-pr-8578.yml | 4 - html/changelogs/AutoChangeLog-pr-8579.yml | 5 - html/changelogs/AutoChangeLog-pr-8581.yml | 6 - html/changelogs/AutoChangeLog-pr-8584.yml | 4 - html/changelogs/AutoChangeLog-pr-8587.yml | 4 - html/changelogs/AutoChangeLog-pr-8591.yml | 4 - html/changelogs/AutoChangeLog-pr-8599.yml | 4 - html/changelogs/AutoChangeLog-pr-8602.yml | 5 - html/changelogs/AutoChangeLog-pr-8605.yml | 4 - html/changelogs/AutoChangeLog-pr-8611.yml | 4 - html/changelogs/AutoChangeLog-pr-8614.yml | 4 - html/changelogs/AutoChangeLog-pr-8615.yml | 5 - html/changelogs/AutoChangeLog-pr-8618.yml | 7 - html/changelogs/AutoChangeLog-pr-8623.yml | 4 - html/changelogs/AutoChangeLog-pr-8624.yml | 4 - html/changelogs/AutoChangeLog-pr-8632.yml | 4 - html/changelogs/AutoChangeLog-pr-8633.yml | 4 - html/changelogs/AutoChangeLog-pr-8634.yml | 5 - html/changelogs/AutoChangeLog-pr-8636.yml | 4 - html/changelogs/AutoChangeLog-pr-8639.yml | 10 - html/changelogs/AutoChangeLog-pr-8640.yml | 4 - html/changelogs/AutoChangeLog-pr-8643.yml | 4 - html/changelogs/AutoChangeLog-pr-8645.yml | 4 - html/changelogs/AutoChangeLog-pr-8648.yml | 4 - html/changelogs/AutoChangeLog-pr-8649.yml | 4 - html/changelogs/AutoChangeLog-pr-8652.yml | 4 - html/changelogs/AutoChangeLog-pr-8654.yml | 5 - html/changelogs/AutoChangeLog-pr-8658.yml | 5 - html/changelogs/AutoChangeLog-pr-8659.yml | 4 - html/changelogs/AutoChangeLog-pr-8660.yml | 4 - html/changelogs/AutoChangeLog-pr-8663.yml | 5 - html/changelogs/AutoChangeLog-pr-8665.yml | 4 - html/changelogs/AutoChangeLog-pr-8666.yml | 4 - html/changelogs/AutoChangeLog-pr-8667.yml | 4 - html/changelogs/AutoChangeLog-pr-8669.yml | 5 - html/changelogs/AutoChangeLog-pr-8671.yml | 4 - html/changelogs/AutoChangeLog-pr-8673.yml | 4 - html/changelogs/AutoChangeLog-pr-8674.yml | 4 - html/changelogs/AutoChangeLog-pr-8675.yml | 4 - html/changelogs/AutoChangeLog-pr-8676.yml | 4 - html/changelogs/AutoChangeLog-pr-8677.yml | 4 - html/changelogs/AutoChangeLog-pr-8681.yml | 6 - html/changelogs/AutoChangeLog-pr-8687.yml | 4 - html/changelogs/AutoChangeLog-pr-8688.yml | 5 - html/changelogs/AutoChangeLog-pr-8689.yml | 4 - html/changelogs/AutoChangeLog-pr-8690.yml | 4 - html/changelogs/AutoChangeLog-pr-8691.yml | 4 - html/changelogs/AutoChangeLog-pr-8692.yml | 7 - html/changelogs/AutoChangeLog-pr-8693.yml | 4 - html/changelogs/AutoChangeLog-pr-8695.yml | 6 - html/changelogs/AutoChangeLog-pr-8698.yml | 4 - html/changelogs/AutoChangeLog-pr-8708.yml | 4 - html/changelogs/AutoChangeLog-pr-8709.yml | 4 - html/changelogs/AutoChangeLog-pr-8711.yml | 4 - html/changelogs/AutoChangeLog-pr-8715.yml | 5 - html/changelogs/AutoChangeLog-pr-8718.yml | 4 - html/changelogs/AutoChangeLog-pr-8720.yml | 4 - html/changelogs/AutoChangeLog-pr-8721.yml | 4 - html/changelogs/AutoChangeLog-pr-8722.yml | 4 - html/changelogs/AutoChangeLog-pr-8724.yml | 5 - html/changelogs/AutoChangeLog-pr-8725.yml | 4 - html/changelogs/AutoChangeLog-pr-8726.yml | 4 - html/changelogs/AutoChangeLog-pr-8727.yml | 5 - html/changelogs/AutoChangeLog-pr-8728.yml | 6 - html/changelogs/AutoChangeLog-pr-8729.yml | 4 - html/changelogs/AutoChangeLog-pr-8730.yml | 6 - html/changelogs/AutoChangeLog-pr-8731.yml | 9 - html/changelogs/AutoChangeLog-pr-8732.yml | 4 - html/changelogs/AutoChangeLog-pr-8733.yml | 4 - html/changelogs/AutoChangeLog-pr-8734.yml | 5 - html/changelogs/AutoChangeLog-pr-8736.yml | 6 - html/changelogs/AutoChangeLog-pr-8737.yml | 4 - html/changelogs/AutoChangeLog-pr-8738.yml | 4 - html/changelogs/AutoChangeLog-pr-8739.yml | 5 - html/changelogs/AutoChangeLog-pr-8740.yml | 5 - html/changelogs/AutoChangeLog-pr-8741.yml | 4 - html/changelogs/AutoChangeLog-pr-8742.yml | 4 - html/changelogs/AutoChangeLog-pr-8744.yml | 4 - html/changelogs/AutoChangeLog-pr-8745.yml | 5 - html/changelogs/AutoChangeLog-pr-8747.yml | 4 - html/changelogs/AutoChangeLog-pr-8750.yml | 4 - html/changelogs/AutoChangeLog-pr-8752.yml | 5 - html/changelogs/AutoChangeLog-pr-8753.yml | 4 - html/changelogs/AutoChangeLog-pr-8755.yml | 6 - html/changelogs/AutoChangeLog-pr-8756.yml | 4 - html/changelogs/AutoChangeLog-pr-8760.yml | 4 - html/changelogs/AutoChangeLog-pr-8761.yml | 5 - html/changelogs/AutoChangeLog-pr-8762.yml | 4 - html/changelogs/AutoChangeLog-pr-8763.yml | 4 - html/changelogs/AutoChangeLog-pr-8764.yml | 4 - html/changelogs/AutoChangeLog-pr-8765.yml | 5 - html/changelogs/AutoChangeLog-pr-8766.yml | 4 - html/changelogs/AutoChangeLog-pr-8767.yml | 4 - html/changelogs/AutoChangeLog-pr-8768.yml | 4 - html/changelogs/AutoChangeLog-pr-8773.yml | 4 - html/changelogs/AutoChangeLog-pr-8774.yml | 4 - html/changelogs/AutoChangeLog-pr-8775.yml | 4 - html/changelogs/AutoChangeLog-pr-8776.yml | 11 - html/changelogs/AutoChangeLog-pr-8778.yml | 16 - html/changelogs/AutoChangeLog-pr-8779.yml | 4 - html/changelogs/AutoChangeLog-pr-8781.yml | 4 - html/changelogs/AutoChangeLog-pr-8783.yml | 4 - html/changelogs/AutoChangeLog-pr-8784.yml | 4 - html/changelogs/AutoChangeLog-pr-8785.yml | 4 - html/changelogs/AutoChangeLog-pr-8790.yml | 6 - html/changelogs/AutoChangeLog-pr-8793.yml | 5 - html/changelogs/AutoChangeLog-pr-8794.yml | 5 - html/changelogs/AutoChangeLog-pr-8795.yml | 7 - html/changelogs/AutoChangeLog-pr-8796.yml | 4 - html/changelogs/AutoChangeLog-pr-8797.yml | 4 - html/changelogs/AutoChangeLog-pr-8798.yml | 4 - html/changelogs/AutoChangeLog-pr-8799.yml | 4 - html/changelogs/AutoChangeLog-pr-8800.yml | 4 - html/changelogs/AutoChangeLog-pr-8801.yml | 4 - html/changelogs/AutoChangeLog-pr-8802.yml | 6 - html/changelogs/AutoChangeLog-pr-8805.yml | 4 - html/changelogs/AutoChangeLog-pr-8812.yml | 4 - html/changelogs/AutoChangeLog-pr-8819.yml | 4 - html/changelogs/AutoChangeLog-pr-8820.yml | 4 - html/changelogs/AutoChangeLog-pr-8821.yml | 7 - html/changelogs/AutoChangeLog-pr-8823.yml | 4 - html/changelogs/AutoChangeLog-pr-8824.yml | 4 - html/changelogs/AutoChangeLog-pr-8825.yml | 6 - html/changelogs/AutoChangeLog-pr-8826.yml | 9 - html/changelogs/AutoChangeLog-pr-8827.yml | 4 - html/changelogs/AutoChangeLog-pr-8828.yml | 4 - html/changelogs/AutoChangeLog-pr-8829.yml | 5 - html/changelogs/AutoChangeLog-pr-8830.yml | 6 - html/changelogs/AutoChangeLog-pr-8834.yml | 4 - html/changelogs/AutoChangeLog-pr-8835.yml | 4 - html/changelogs/AutoChangeLog-pr-8841.yml | 4 - html/changelogs/AutoChangeLog-pr-8842.yml | 4 - html/changelogs/AutoChangeLog-pr-8843.yml | 4 - html/changelogs/AutoChangeLog-pr-8844.yml | 6 - html/changelogs/AutoChangeLog-pr-8845.yml | 4 - html/changelogs/AutoChangeLog-pr-8846.yml | 4 - html/changelogs/AutoChangeLog-pr-8847.yml | 4 - html/changelogs/AutoChangeLog-pr-8852.yml | 4 - html/changelogs/AutoChangeLog-pr-8853.yml | 6 - html/changelogs/AutoChangeLog-pr-8854.yml | 4 - html/changelogs/AutoChangeLog-pr-8857.yml | 8 - html/changelogs/AutoChangeLog-pr-8858.yml | 4 - html/changelogs/AutoChangeLog-pr-8860.yml | 4 - html/changelogs/AutoChangeLog-pr-8870.yml | 5 - html/changelogs/AutoChangeLog-pr-8872.yml | 5 - html/changelogs/AutoChangeLog-pr-8873.yml | 4 - html/changelogs/AutoChangeLog-pr-8874.yml | 5 - html/changelogs/AutoChangeLog-pr-8877.yml | 4 - html/changelogs/AutoChangeLog-pr-8880.yml | 4 - html/changelogs/AutoChangeLog-pr-8881.yml | 4 - html/changelogs/AutoChangeLog-pr-8883.yml | 4 - html/changelogs/AutoChangeLog-pr-8884.yml | 5 - html/changelogs/AutoChangeLog-pr-8885.yml | 4 - html/changelogs/AutoChangeLog-pr-8887.yml | 6 - html/changelogs/AutoChangeLog-pr-8898.yml | 4 - html/changelogs/AutoChangeLog-pr-8900.yml | 4 - html/changelogs/AutoChangeLog-pr-8906.yml | 4 - html/changelogs/AutoChangeLog-pr-8908.yml | 5 - html/changelogs/AutoChangeLog-pr-8909.yml | 4 - html/changelogs/AutoChangeLog-pr-8912.yml | 6 - html/changelogs/AutoChangeLog-pr-8913.yml | 4 - html/changelogs/AutoChangeLog-pr-8914.yml | 13 - html/changelogs/AutoChangeLog-pr-8915.yml | 6 - html/changelogs/AutoChangeLog-pr-8917.yml | 4 - html/changelogs/AutoChangeLog-pr-8920.yml | 5 - html/changelogs/AutoChangeLog-pr-8921.yml | 4 - html/changelogs/AutoChangeLog-pr-8922.yml | 4 - html/changelogs/AutoChangeLog-pr-8925.yml | 4 - html/changelogs/AutoChangeLog-pr-8926.yml | 4 - html/changelogs/AutoChangeLog-pr-8927.yml | 5 - html/changelogs/AutoChangeLog-pr-8929.yml | 5 - html/changelogs/AutoChangeLog-pr-8931.yml | 4 - html/changelogs/AutoChangeLog-pr-8932.yml | 7 - html/changelogs/AutoChangeLog-pr-8933.yml | 4 - html/changelogs/AutoChangeLog-pr-8934.yml | 4 - html/changelogs/AutoChangeLog-pr-8937.yml | 5 - html/changelogs/AutoChangeLog-pr-8939.yml | 9 - html/changelogs/AutoChangeLog-pr-8942.yml | 4 - html/changelogs/AutoChangeLog-pr-8945.yml | 4 - html/changelogs/AutoChangeLog-pr-8948.yml | 9 - html/changelogs/AutoChangeLog-pr-8949.yml | 4 - html/changelogs/AutoChangeLog-pr-8950.yml | 4 - html/changelogs/AutoChangeLog-pr-8952.yml | 4 - html/changelogs/AutoChangeLog-pr-8953.yml | 5 - html/changelogs/AutoChangeLog-pr-8956.yml | 4 - html/changelogs/AutoChangeLog-pr-8958.yml | 4 - html/changelogs/AutoChangeLog-pr-8959.yml | 4 - html/changelogs/AutoChangeLog-pr-8964.yml | 5 - html/changelogs/AutoChangeLog-pr-8965.yml | 4 - html/changelogs/AutoChangeLog-pr-8966.yml | 4 - html/changelogs/AutoChangeLog-pr-8968.yml | 4 - html/changelogs/AutoChangeLog-pr-8970.yml | 6 - html/changelogs/AutoChangeLog-pr-8971.yml | 4 - html/changelogs/AutoChangeLog-pr-8974.yml | 4 - html/changelogs/AutoChangeLog-pr-8976.yml | 4 - html/changelogs/AutoChangeLog-pr-8978.yml | 4 - html/changelogs/AutoChangeLog-pr-8979.yml | 4 - html/changelogs/AutoChangeLog-pr-8980.yml | 5 - html/changelogs/AutoChangeLog-pr-8982.yml | 6 - html/changelogs/AutoChangeLog-pr-8984.yml | 4 - html/changelogs/AutoChangeLog-pr-8985.yml | 4 - html/changelogs/AutoChangeLog-pr-8986.yml | 6 - html/changelogs/AutoChangeLog-pr-8988.yml | 5 - html/changelogs/AutoChangeLog-pr-8991.yml | 4 - html/changelogs/AutoChangeLog-pr-8992.yml | 5 - html/changelogs/AutoChangeLog-pr-8994.yml | 4 - html/changelogs/AutoChangeLog-pr-8995.yml | 4 - html/changelogs/AutoChangeLog-pr-8996.yml | 4 - html/changelogs/AutoChangeLog-pr-8998.yml | 4 - html/changelogs/AutoChangeLog-pr-8999.yml | 4 - html/changelogs/AutoChangeLog-pr-9000.yml | 4 - html/changelogs/AutoChangeLog-pr-9001.yml | 4 - html/changelogs/AutoChangeLog-pr-9005.yml | 4 - html/changelogs/AutoChangeLog-pr-9008.yml | 4 - html/changelogs/AutoChangeLog-pr-9009.yml | 4 - html/changelogs/AutoChangeLog-pr-9010.yml | 4 - html/changelogs/AutoChangeLog-pr-9014.yml | 4 - html/changelogs/AutoChangeLog-pr-9018.yml | 12 - html/changelogs/AutoChangeLog-pr-9019.yml | 6 - html/changelogs/AutoChangeLog-pr-9021.yml | 4 - html/changelogs/AutoChangeLog-pr-9022.yml | 4 - html/changelogs/AutoChangeLog-pr-9024.yml | 4 - html/changelogs/AutoChangeLog-pr-9026.yml | 4 - html/changelogs/AutoChangeLog-pr-9030.yml | 4 - html/changelogs/AutoChangeLog-pr-9032.yml | 7 - html/changelogs/AutoChangeLog-pr-9033.yml | 4 - html/changelogs/AutoChangeLog-pr-9036.yml | 5 - html/changelogs/AutoChangeLog-pr-9040.yml | 4 - html/changelogs/AutoChangeLog-pr-9042.yml | 4 - html/changelogs/AutoChangeLog-pr-9043.yml | 7 - html/changelogs/AutoChangeLog-pr-9044.yml | 7 - html/changelogs/AutoChangeLog-pr-9045.yml | 8 - html/changelogs/AutoChangeLog-pr-9046.yml | 4 - html/changelogs/AutoChangeLog-pr-9047.yml | 7 - html/changelogs/AutoChangeLog-pr-9050.yml | 4 - html/changelogs/AutoChangeLog-pr-9052.yml | 4 - html/changelogs/AutoChangeLog-pr-9054.yml | 4 - html/changelogs/AutoChangeLog-pr-9057.yml | 4 - html/changelogs/AutoChangeLog-pr-9061.yml | 5 - html/changelogs/AutoChangeLog-pr-9062.yml | 4 - html/changelogs/AutoChangeLog-pr-9064.yml | 4 - html/changelogs/AutoChangeLog-pr-9069.yml | 4 - html/changelogs/AutoChangeLog-pr-9070.yml | 5 - html/changelogs/AutoChangeLog-pr-9071.yml | 4 - html/changelogs/AutoChangeLog-pr-9077.yml | 8 - html/changelogs/AutoChangeLog-pr-9078.yml | 7 - html/changelogs/AutoChangeLog-pr-9079.yml | 4 - html/changelogs/AutoChangeLog-pr-9080.yml | 4 - html/changelogs/AutoChangeLog-pr-9081.yml | 4 - html/changelogs/AutoChangeLog-pr-9083.yml | 4 - html/changelogs/AutoChangeLog-pr-9084.yml | 4 - html/changelogs/AutoChangeLog-pr-9085.yml | 4 - html/changelogs/AutoChangeLog-pr-9086.yml | 4 - html/changelogs/AutoChangeLog-pr-9089.yml | 6 - html/changelogs/AutoChangeLog-pr-9097.yml | 4 - html/changelogs/AutoChangeLog-pr-9098.yml | 4 - html/changelogs/AutoChangeLog-pr-9099.yml | 6 - html/changelogs/AutoChangeLog-pr-9100.yml | 4 - html/changelogs/AutoChangeLog-pr-9101.yml | 4 - html/changelogs/AutoChangeLog-pr-9107.yml | 4 - html/changelogs/AutoChangeLog-pr-9109.yml | 4 - html/changelogs/AutoChangeLog-pr-9113.yml | 5 - html/changelogs/AutoChangeLog-pr-9115.yml | 4 - html/changelogs/AutoChangeLog-pr-9119.yml | 4 - html/changelogs/AutoChangeLog-pr-9122.yml | 6 - html/changelogs/AutoChangeLog-pr-9126.yml | 4 - html/changelogs/AutoChangeLog-pr-9130.yml | 9 - html/changelogs/AutoChangeLog-pr-9132.yml | 4 - html/changelogs/AutoChangeLog-pr-9133.yml | 4 - html/changelogs/AutoChangeLog-pr-9134.yml | 4 - html/changelogs/AutoChangeLog-pr-9136.yml | 4 - html/changelogs/AutoChangeLog-pr-9137.yml | 5 - html/changelogs/AutoChangeLog-pr-9138.yml | 4 - html/changelogs/AutoChangeLog-pr-9141.yml | 4 - html/changelogs/AutoChangeLog-pr-9142.yml | 4 - html/changelogs/AutoChangeLog-pr-9145.yml | 4 - html/changelogs/AutoChangeLog-pr-9147.yml | 5 - html/changelogs/AutoChangeLog-pr-9149.yml | 4 - html/changelogs/AutoChangeLog-pr-9150.yml | 5 - html/changelogs/AutoChangeLog-pr-9151.yml | 4 - html/changelogs/AutoChangeLog-pr-9155.yml | 4 - html/changelogs/AutoChangeLog-pr-9162.yml | 5 - html/changelogs/AutoChangeLog-pr-9164.yml | 4 - html/changelogs/AutoChangeLog-pr-9168.yml | 4 - html/changelogs/AutoChangeLog-pr-9169.yml | 8 - html/changelogs/AutoChangeLog-pr-9170.yml | 5 - html/changelogs/AutoChangeLog-pr-9172.yml | 4 - html/changelogs/AutoChangeLog-pr-9175.yml | 5 - html/changelogs/AutoChangeLog-pr-9177.yml | 5 - html/changelogs/AutoChangeLog-pr-9178.yml | 4 - html/changelogs/AutoChangeLog-pr-9180.yml | 4 - html/changelogs/AutoChangeLog-pr-9183.yml | 4 - html/changelogs/AutoChangeLog-pr-9184.yml | 4 - html/changelogs/AutoChangeLog-pr-9186.yml | 5 - html/changelogs/AutoChangeLog-pr-9189.yml | 5 - html/changelogs/AutoChangeLog-pr-9191.yml | 6 - html/changelogs/AutoChangeLog-pr-9194.yml | 4 - html/changelogs/AutoChangeLog-pr-9198.yml | 5 - html/changelogs/AutoChangeLog-pr-9199.yml | 7 - html/changelogs/AutoChangeLog-pr-9200.yml | 4 - html/changelogs/AutoChangeLog-pr-9203.yml | 4 - html/changelogs/AutoChangeLog-pr-9204.yml | 4 - html/changelogs/AutoChangeLog-pr-9208.yml | 4 - html/changelogs/AutoChangeLog-pr-9209.yml | 4 - html/changelogs/AutoChangeLog-pr-9210.yml | 7 - html/changelogs/AutoChangeLog-pr-9211.yml | 7 - html/changelogs/AutoChangeLog-pr-9212.yml | 5 - html/changelogs/AutoChangeLog-pr-9214.yml | 7 - html/changelogs/AutoChangeLog-pr-9216.yml | 4 - html/changelogs/AutoChangeLog-pr-9219.yml | 4 - html/changelogs/AutoChangeLog-pr-9221.yml | 9 - html/changelogs/AutoChangeLog-pr-9226.yml | 4 - html/changelogs/AutoChangeLog-pr-9227.yml | 4 - html/changelogs/AutoChangeLog-pr-9229.yml | 4 - html/changelogs/AutoChangeLog-pr-9234.yml | 6 - html/changelogs/AutoChangeLog-pr-9235.yml | 5 - html/changelogs/AutoChangeLog-pr-9238.yml | 4 - html/changelogs/AutoChangeLog-pr-9239.yml | 4 - html/changelogs/AutoChangeLog-pr-9241.yml | 6 - html/changelogs/AutoChangeLog-pr-9242.yml | 4 - html/changelogs/AutoChangeLog-pr-9246.yml | 8 - html/changelogs/AutoChangeLog-pr-9247.yml | 4 - html/changelogs/AutoChangeLog-pr-9248.yml | 4 - html/changelogs/AutoChangeLog-pr-9249.yml | 4 - html/changelogs/AutoChangeLog-pr-9251.yml | 5 - html/changelogs/AutoChangeLog-pr-9256.yml | 4 - html/changelogs/AutoChangeLog-pr-9257.yml | 4 - html/changelogs/AutoChangeLog-pr-9260.yml | 4 - html/changelogs/AutoChangeLog-pr-9263.yml | 4 - html/changelogs/AutoChangeLog-pr-9267.yml | 4 - html/changelogs/AutoChangeLog-pr-9269.yml | 5 - html/changelogs/AutoChangeLog-pr-9275.yml | 5 - html/changelogs/AutoChangeLog-pr-9276.yml | 6 - html/changelogs/AutoChangeLog-pr-9277.yml | 11 - html/changelogs/AutoChangeLog-pr-9278.yml | 4 - html/changelogs/AutoChangeLog-pr-9279.yml | 4 - html/changelogs/AutoChangeLog-pr-9282.yml | 4 - html/changelogs/AutoChangeLog-pr-9283.yml | 4 - html/changelogs/AutoChangeLog-pr-9287.yml | 4 - html/changelogs/AutoChangeLog-pr-9288.yml | 4 - html/changelogs/AutoChangeLog-pr-9289.yml | 4 - html/changelogs/AutoChangeLog-pr-9292.yml | 4 - html/changelogs/AutoChangeLog-pr-9293.yml | 4 - html/changelogs/AutoChangeLog-pr-9295.yml | 4 - html/changelogs/AutoChangeLog-pr-9296.yml | 9 - html/changelogs/AutoChangeLog-pr-9298.yml | 4 - html/changelogs/AutoChangeLog-pr-9302.yml | 4 - html/changelogs/AutoChangeLog-pr-9304.yml | 4 - html/changelogs/AutoChangeLog-pr-9306.yml | 5 - html/changelogs/AutoChangeLog-pr-9307.yml | 4 - html/changelogs/AutoChangeLog-pr-9309.yml | 6 - html/changelogs/AutoChangeLog-pr-9310.yml | 4 - html/changelogs/AutoChangeLog-pr-9312.yml | 9 - html/changelogs/AutoChangeLog-pr-9314.yml | 4 - html/changelogs/AutoChangeLog-pr-9316.yml | 5 - html/changelogs/AutoChangeLog-pr-9317.yml | 7 - html/changelogs/AutoChangeLog-pr-9318.yml | 4 - html/changelogs/AutoChangeLog-pr-9320.yml | 5 - html/changelogs/AutoChangeLog-pr-9321.yml | 6 - html/changelogs/AutoChangeLog-pr-9322.yml | 4 - html/changelogs/AutoChangeLog-pr-9324.yml | 5 - html/changelogs/AutoChangeLog-pr-9326.yml | 4 - html/changelogs/AutoChangeLog-pr-9331.yml | 4 - html/changelogs/AutoChangeLog-pr-9332.yml | 4 - html/changelogs/AutoChangeLog-pr-9334.yml | 4 - html/changelogs/AutoChangeLog-pr-9335.yml | 6 - html/changelogs/AutoChangeLog-pr-9336.yml | 8 - html/changelogs/AutoChangeLog-pr-9338.yml | 4 - html/changelogs/AutoChangeLog-pr-9339.yml | 4 - html/changelogs/AutoChangeLog-pr-9341.yml | 4 - html/changelogs/AutoChangeLog-pr-9342.yml | 4 - html/changelogs/AutoChangeLog-pr-9343.yml | 9 - html/changelogs/AutoChangeLog-pr-9344.yml | 6 - html/changelogs/AutoChangeLog-pr-9348.yml | 4 - html/changelogs/AutoChangeLog-pr-9349.yml | 5 - html/changelogs/AutoChangeLog-pr-9350.yml | 5 - html/changelogs/AutoChangeLog-pr-9351.yml | 4 - html/changelogs/AutoChangeLog-pr-9352.yml | 4 - html/changelogs/AutoChangeLog-pr-9356.yml | 9 - html/changelogs/AutoChangeLog-pr-9359.yml | 6 - html/changelogs/AutoChangeLog-pr-9365.yml | 7 - html/changelogs/AutoChangeLog-pr-9367.yml | 6 - html/changelogs/AutoChangeLog-pr-9368.yml | 6 - html/changelogs/AutoChangeLog-pr-9373.yml | 4 - html/changelogs/AutoChangeLog-pr-9374.yml | 5 - html/changelogs/AutoChangeLog-pr-9377.yml | 4 - html/changelogs/AutoChangeLog-pr-9379.yml | 4 - html/changelogs/AutoChangeLog-pr-9380.yml | 6 - html/changelogs/AutoChangeLog-pr-9382.yml | 4 - html/changelogs/AutoChangeLog-pr-9384.yml | 4 - html/changelogs/AutoChangeLog-pr-9385.yml | 4 - html/changelogs/AutoChangeLog-pr-9386.yml | 4 - html/changelogs/AutoChangeLog-pr-9387.yml | 4 - html/changelogs/AutoChangeLog-pr-9388.yml | 4 - html/changelogs/AutoChangeLog-pr-9389.yml | 4 - html/changelogs/AutoChangeLog-pr-9391.yml | 4 - html/changelogs/AutoChangeLog-pr-9393.yml | 4 - html/changelogs/AutoChangeLog-pr-9394.yml | 5 - html/changelogs/AutoChangeLog-pr-9401.yml | 4 - html/changelogs/AutoChangeLog-pr-9404.yml | 4 - html/changelogs/AutoChangeLog-pr-9405.yml | 5 - html/changelogs/AutoChangeLog-pr-9406.yml | 6 - html/changelogs/AutoChangeLog-pr-9407.yml | 4 - html/changelogs/AutoChangeLog-pr-9410.yml | 5 - html/changelogs/AutoChangeLog-pr-9412.yml | 4 - html/changelogs/AutoChangeLog-pr-9413.yml | 4 - html/changelogs/AutoChangeLog-pr-9414.yml | 4 - html/changelogs/AutoChangeLog-pr-9415.yml | 4 - html/changelogs/AutoChangeLog-pr-9416.yml | 4 - html/changelogs/AutoChangeLog-pr-9418.yml | 19 - html/changelogs/AutoChangeLog-pr-9421.yml | 6 - html/changelogs/AutoChangeLog-pr-9423.yml | 4 - html/changelogs/AutoChangeLog-pr-9427.yml | 7 - html/changelogs/AutoChangeLog-pr-9431.yml | 4 - html/changelogs/AutoChangeLog-pr-9432.yml | 6 - html/changelogs/AutoChangeLog-pr-9434.yml | 5 - html/changelogs/AutoChangeLog-pr-9435.yml | 4 - html/changelogs/AutoChangeLog-pr-9437.yml | 4 - html/changelogs/AutoChangeLog-pr-9439.yml | 5 - html/changelogs/AutoChangeLog-pr-9441.yml | 6 - html/changelogs/AutoChangeLog-pr-9442.yml | 4 - html/changelogs/AutoChangeLog-pr-9443.yml | 4 - html/changelogs/AutoChangeLog-pr-9444.yml | 8 - html/changelogs/AutoChangeLog-pr-9445.yml | 4 - html/changelogs/AutoChangeLog-pr-9446.yml | 4 - html/changelogs/AutoChangeLog-pr-9450.yml | 4 - html/changelogs/AutoChangeLog-pr-9451.yml | 4 - html/changelogs/AutoChangeLog-pr-9452.yml | 4 - html/changelogs/AutoChangeLog-pr-9456.yml | 7 - html/changelogs/AutoChangeLog-pr-9458.yml | 4 - html/changelogs/AutoChangeLog-pr-9459.yml | 4 - html/changelogs/AutoChangeLog-pr-9461.yml | 4 - html/changelogs/AutoChangeLog-pr-9463.yml | 6 - html/changelogs/AutoChangeLog-pr-9464.yml | 4 - html/changelogs/AutoChangeLog-pr-9466.yml | 5 - html/changelogs/AutoChangeLog-pr-9467.yml | 4 - html/changelogs/AutoChangeLog-pr-9469.yml | 5 - html/changelogs/AutoChangeLog-pr-9472.yml | 5 - html/changelogs/AutoChangeLog-pr-9473.yml | 4 - html/changelogs/AutoChangeLog-pr-9474.yml | 4 - html/changelogs/AutoChangeLog-pr-9477.yml | 8 - html/changelogs/AutoChangeLog-pr-9478.yml | 4 - html/changelogs/AutoChangeLog-pr-9479.yml | 4 - html/changelogs/AutoChangeLog-pr-9480.yml | 4 - html/changelogs/AutoChangeLog-pr-9482.yml | 5 - html/changelogs/AutoChangeLog-pr-9483.yml | 5 - html/changelogs/AutoChangeLog-pr-9486.yml | 4 - html/changelogs/AutoChangeLog-pr-9488.yml | 4 - html/changelogs/AutoChangeLog-pr-9489.yml | 4 - html/changelogs/AutoChangeLog-pr-9491.yml | 4 - html/changelogs/AutoChangeLog-pr-9492.yml | 5 - html/changelogs/AutoChangeLog-pr-9493.yml | 4 - html/changelogs/AutoChangeLog-pr-9494.yml | 4 - html/changelogs/AutoChangeLog-pr-9498.yml | 4 - html/changelogs/AutoChangeLog-pr-9499.yml | 4 - html/changelogs/AutoChangeLog-pr-9500.yml | 4 - html/changelogs/AutoChangeLog-pr-9501.yml | 12 - html/changelogs/AutoChangeLog-pr-9502.yml | 4 - html/changelogs/AutoChangeLog-pr-9503.yml | 6 - html/changelogs/AutoChangeLog-pr-9504.yml | 4 - html/changelogs/AutoChangeLog-pr-9505.yml | 7 - html/changelogs/AutoChangeLog-pr-9506.yml | 4 - html/changelogs/AutoChangeLog-pr-9510.yml | 4 - html/changelogs/AutoChangeLog-pr-9513.yml | 4 - html/changelogs/AutoChangeLog-pr-9514.yml | 6 - html/changelogs/AutoChangeLog-pr-9515.yml | 7 - html/changelogs/AutoChangeLog-pr-9516.yml | 4 - html/changelogs/AutoChangeLog-pr-9517.yml | 4 - html/changelogs/AutoChangeLog-pr-9520.yml | 4 - html/changelogs/AutoChangeLog-pr-9522.yml | 6 - html/changelogs/AutoChangeLog-pr-9523.yml | 4 - html/changelogs/AutoChangeLog-pr-9524.yml | 7 - html/changelogs/AutoChangeLog-pr-9525.yml | 4 - html/changelogs/AutoChangeLog-pr-9531.yml | 4 - html/changelogs/AutoChangeLog-pr-9532.yml | 4 - html/changelogs/AutoChangeLog-pr-9533.yml | 4 - html/changelogs/AutoChangeLog-pr-9534.yml | 5 - html/changelogs/AutoChangeLog-pr-9535.yml | 4 - html/changelogs/AutoChangeLog-pr-9536.yml | 4 - html/changelogs/AutoChangeLog-pr-9537.yml | 4 - html/changelogs/AutoChangeLog-pr-9539.yml | 4 - html/changelogs/AutoChangeLog-pr-9540.yml | 4 - html/changelogs/AutoChangeLog-pr-9542.yml | 5 - html/changelogs/AutoChangeLog-pr-9545.yml | 4 - html/changelogs/AutoChangeLog-pr-9547.yml | 4 - html/changelogs/AutoChangeLog-pr-9548.yml | 4 - html/changelogs/AutoChangeLog-pr-9549.yml | 4 - html/changelogs/AutoChangeLog-pr-9550.yml | 4 - html/changelogs/AutoChangeLog-pr-9551.yml | 4 - html/changelogs/AutoChangeLog-pr-9556.yml | 5 - html/changelogs/AutoChangeLog-pr-9561.yml | 4 - html/changelogs/AutoChangeLog-pr-9564.yml | 6 - html/changelogs/AutoChangeLog-pr-9565.yml | 4 - html/changelogs/AutoChangeLog-pr-9566.yml | 4 - html/changelogs/AutoChangeLog-pr-9568.yml | 4 - html/changelogs/AutoChangeLog-pr-9570.yml | 4 - html/changelogs/AutoChangeLog-pr-9572.yml | 4 - html/changelogs/AutoChangeLog-pr-9578.yml | 6 - html/changelogs/AutoChangeLog-pr-9579.yml | 8 - html/changelogs/AutoChangeLog-pr-9582.yml | 5 - html/changelogs/AutoChangeLog-pr-9585.yml | 4 - html/changelogs/AutoChangeLog-pr-9587.yml | 4 - html/changelogs/AutoChangeLog-pr-9588.yml | 5 - html/changelogs/AutoChangeLog-pr-9589.yml | 4 - html/changelogs/AutoChangeLog-pr-9590.yml | 6 - html/changelogs/AutoChangeLog-pr-9592.yml | 4 - html/changelogs/AutoChangeLog-pr-9593.yml | 4 - html/changelogs/AutoChangeLog-pr-9594.yml | 4 - html/changelogs/AutoChangeLog-pr-9595.yml | 4 - html/changelogs/AutoChangeLog-pr-9598.yml | 6 - html/changelogs/AutoChangeLog-pr-9599.yml | 4 - html/changelogs/AutoChangeLog-pr-9600.yml | 4 - html/changelogs/AutoChangeLog-pr-9603.yml | 4 - html/changelogs/AutoChangeLog-pr-9610.yml | 7 - html/changelogs/AutoChangeLog-pr-9613.yml | 4 - html/changelogs/AutoChangeLog-pr-9615.yml | 4 - html/changelogs/AutoChangeLog-pr-9616.yml | 7 - html/changelogs/AutoChangeLog-pr-9617.yml | 4 - html/changelogs/AutoChangeLog-pr-9620.yml | 5 - html/changelogs/AutoChangeLog-pr-9622.yml | 4 - html/changelogs/AutoChangeLog-pr-9623.yml | 5 - html/changelogs/AutoChangeLog-pr-9630.yml | 4 - html/changelogs/AutoChangeLog-pr-9635.yml | 17 - html/changelogs/AutoChangeLog-pr-9636.yml | 4 - html/changelogs/AutoChangeLog-pr-9637.yml | 4 - html/changelogs/AutoChangeLog-pr-9641.yml | 5 - html/changelogs/AutoChangeLog-pr-9644.yml | 4 - html/changelogs/AutoChangeLog-pr-9645.yml | 4 - html/changelogs/AutoChangeLog-pr-9646.yml | 4 - html/changelogs/AutoChangeLog-pr-9647.yml | 4 - html/changelogs/AutoChangeLog-pr-9648.yml | 4 - html/changelogs/AutoChangeLog-pr-9649.yml | 4 - html/changelogs/AutoChangeLog-pr-9651.yml | 4 - html/changelogs/AutoChangeLog-pr-9652.yml | 4 - html/changelogs/AutoChangeLog-pr-9654.yml | 4 - html/changelogs/AutoChangeLog-pr-9658.yml | 4 - html/changelogs/AutoChangeLog-pr-9659.yml | 4 - html/changelogs/AutoChangeLog-pr-9667.yml | 4 - html/changelogs/AutoChangeLog-pr-9668.yml | 5 - html/changelogs/AutoChangeLog-pr-9674.yml | 4 - html/changelogs/AutoChangeLog-pr-9675.yml | 4 - html/changelogs/AutoChangeLog-pr-9677.yml | 4 - html/changelogs/AutoChangeLog-pr-9679.yml | 5 - html/changelogs/AutoChangeLog-pr-9686.yml | 4 - html/changelogs/AutoChangeLog-pr-9687.yml | 4 - tgstation.dme | 3141 -------------------- 911 files changed, 4435 insertions(+), 8784 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7451.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7465.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7544.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7550.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7592.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7596.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7598.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7600.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7604.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7605.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7608.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7611.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7612.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7620.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7624.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7625.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7626.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7627.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7630.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7631.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7632.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7639.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7640.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7643.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7650.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7652.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7653.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7658.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7659.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7660.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7664.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7666.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7667.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7671.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7675.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7677.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7681.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7683.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7686.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7688.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7689.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7694.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7696.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7699.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7700.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7703.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7712.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7714.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7717.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7719.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7721.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7723.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7726.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7727.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7728.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7729.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7730.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7731.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7733.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7734.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7735.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7736.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7737.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7738.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7739.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7741.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7742.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7743.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7748.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7750.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7751.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7752.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7754.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7756.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7765.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7770.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7771.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7772.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7776.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7778.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7779.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7781.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7782.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7783.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7791.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7860.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7865.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7866.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7876.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7878.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7908.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7911.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7912.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7914.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7916.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7918.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7919.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7920.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7921.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7922.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7923.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7930.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7945.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7951.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7954.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7964.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7973.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7976.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7977.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7978.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7979.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7980.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7981.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7982.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7983.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7987.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7990.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7993.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7994.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7995.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7996.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7997.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7999.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8008.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8010.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8011.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8012.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8021.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8023.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8024.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8025.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8030.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8031.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8032.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8033.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8034.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8035.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8037.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8038.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8039.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8041.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8042.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8043.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8044.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8047.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8051.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8052.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8053.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8054.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8055.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8056.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8057.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8058.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8062.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8064.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8070.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8071.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8080.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8084.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8090.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8091.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8098.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8104.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8108.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8114.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8118.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8119.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8121.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8122.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8123.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8130.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8132.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8140.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8141.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8145.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8146.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8159.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8160.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8164.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8167.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8169.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8172.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8175.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8182.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8183.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8184.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8185.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8189.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8190.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8192.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8194.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8195.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8196.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8197.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8198.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8199.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8200.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8207.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8211.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8214.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8219.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8228.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8229.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8231.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8232.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8233.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8235.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8236.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8237.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8247.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8252.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8255.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8258.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8259.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8260.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8261.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8264.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8265.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8274.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8277.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8278.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8279.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8283.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8286.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8287.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8288.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8289.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8290.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8294.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8295.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8296.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8301.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8302.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8303.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8305.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8306.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8311.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8315.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8316.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8317.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8318.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8319.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8322.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8323.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8325.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8334.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8336.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8341.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8342.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8348.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8349.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8352.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8362.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8366.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8367.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8368.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8369.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8370.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8372.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8374.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8376.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8377.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8384.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8387.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8388.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8391.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8392.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8393.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8397.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8398.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8399.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8400.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8401.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8404.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8407.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8408.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8409.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8411.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8413.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8414.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8416.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8417.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8419.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8420.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8424.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8429.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8430.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8432.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8434.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8435.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8436.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8437.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8439.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8442.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8443.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8448.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8449.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8450.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8452.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8453.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8454.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8455.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8456.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8459.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8460.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8463.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8465.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8466.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8470.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8473.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8476.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8477.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8479.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8482.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8483.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8485.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8489.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8491.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8494.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8495.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8497.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8500.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8501.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8503.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8504.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8505.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8506.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8514.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8515.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8516.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8517.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8518.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8522.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8524.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8525.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8528.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8534.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8537.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8538.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8540.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8541.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8543.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8544.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8547.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8548.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8549.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8551.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8552.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8553.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8554.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8555.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8556.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8557.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8558.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8559.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8560.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8561.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8562.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8565.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8566.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8567.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8569.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8570.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8578.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8579.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8581.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8584.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8587.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8591.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8599.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8602.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8605.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8611.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8614.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8615.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8618.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8623.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8624.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8632.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8633.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8634.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8636.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8639.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8640.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8643.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8645.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8648.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8649.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8652.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8654.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8658.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8659.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8660.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8663.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8665.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8666.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8667.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8669.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8671.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8673.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8674.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8675.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8676.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8677.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8681.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8687.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8688.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8689.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8690.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8691.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8692.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8693.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8695.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8698.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8708.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8709.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8711.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8715.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8718.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8720.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8721.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8722.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8724.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8725.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8726.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8727.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8728.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8729.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8730.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8731.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8732.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8733.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8734.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8736.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8737.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8738.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8739.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8740.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8741.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8742.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8744.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8745.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8747.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8750.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8752.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8753.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8755.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8756.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8760.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8761.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8762.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8763.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8764.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8765.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8766.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8767.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8768.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8773.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8774.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8775.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8776.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8778.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8779.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8781.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8783.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8784.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8785.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8790.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8793.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8794.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8795.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8796.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8797.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8798.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8799.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8800.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8801.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8802.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8805.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8812.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8819.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8820.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8821.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8823.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8824.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8825.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8826.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8827.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8828.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8829.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8830.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8834.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8835.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8841.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8842.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8843.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8844.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8845.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8846.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8847.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8852.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8853.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8854.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8857.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8858.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8860.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8870.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8872.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8873.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8874.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8877.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8880.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8881.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8883.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8884.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8885.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8887.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8898.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8900.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8906.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8908.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8909.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8912.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8913.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8914.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8915.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8917.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8920.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8921.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8922.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8925.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8926.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8927.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8929.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8931.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8932.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8933.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8934.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8937.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8939.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8942.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8945.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8948.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8949.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8950.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8952.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8953.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8956.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8958.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8959.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8964.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8965.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8966.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8968.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8970.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8971.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8974.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8976.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8978.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8979.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8980.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8982.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8984.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8985.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8986.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8988.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8991.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8992.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8994.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8995.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8996.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8998.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-8999.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9000.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9001.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9005.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9008.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9009.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9010.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9014.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9018.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9019.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9021.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9022.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9024.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9026.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9030.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9032.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9033.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9036.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9040.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9042.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9043.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9044.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9045.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9046.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9047.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9050.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9052.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9054.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9057.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9061.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9062.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9064.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9069.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9070.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9071.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9077.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9078.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9079.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9080.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9081.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9083.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9084.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9085.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9086.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9089.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9097.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9098.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9099.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9100.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9101.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9107.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9109.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9113.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9115.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9119.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9122.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9126.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9130.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9132.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9133.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9134.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9136.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9137.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9138.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9141.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9142.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9145.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9147.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9149.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9150.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9151.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9155.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9162.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9164.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9168.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9169.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9170.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9172.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9175.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9177.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9178.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9180.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9183.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9184.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9186.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9189.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9191.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9194.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9198.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9199.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9200.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9203.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9204.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9208.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9209.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9210.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9211.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9212.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9214.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9216.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9219.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9221.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9226.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9227.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9229.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9234.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9235.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9238.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9239.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9241.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9242.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9246.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9247.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9248.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9249.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9251.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9256.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9257.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9260.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9263.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9267.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9269.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9275.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9276.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9277.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9278.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9279.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9282.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9283.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9287.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9288.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9289.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9292.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9293.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9295.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9296.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9298.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9302.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9304.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9306.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9307.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9309.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9310.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9312.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9314.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9316.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9317.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9318.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9320.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9321.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9322.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9324.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9326.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9331.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9332.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9334.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9335.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9336.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9338.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9339.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9341.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9342.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9343.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9344.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9348.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9349.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9350.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9351.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9352.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9356.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9359.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9365.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9367.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9368.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9373.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9374.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9377.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9379.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9380.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9382.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9384.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9385.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9386.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9387.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9388.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9389.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9391.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9393.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9394.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9401.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9404.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9405.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9406.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9407.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9410.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9412.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9413.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9414.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9415.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9416.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9418.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9421.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9423.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9427.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9431.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9432.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9434.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9435.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9437.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9439.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9441.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9442.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9443.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9444.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9445.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9446.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9450.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9451.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9452.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9456.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9458.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9459.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9461.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9463.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9464.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9466.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9467.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9469.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9472.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9473.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9474.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9477.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9478.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9479.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9480.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9482.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9483.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9486.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9488.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9489.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9491.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9492.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9493.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9494.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9498.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9499.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9500.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9501.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9502.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9503.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9504.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9505.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9506.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9510.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9513.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9514.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9515.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9516.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9517.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9520.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9522.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9523.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9524.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9525.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9531.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9532.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9533.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9534.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9535.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9536.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9537.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9539.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9540.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9542.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9545.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9547.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9548.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9549.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9550.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9551.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9556.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9561.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9564.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9565.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9566.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9568.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9570.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9572.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9578.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9579.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9582.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9585.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9587.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9588.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9589.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9590.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9592.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9593.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9594.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9595.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9598.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9599.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9600.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9603.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9610.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9613.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9615.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9616.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9617.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9620.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9622.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9623.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9630.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9635.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9636.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9637.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9641.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9644.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9645.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9646.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9647.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9648.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9649.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9651.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9652.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9654.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9658.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9659.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9667.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9668.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9674.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9675.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9677.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9679.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9686.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-9687.yml diff --git a/html/changelog.html b/html/changelog.html index 31935bd1c1..3a3b08fa24 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -1,7 +1,7 @@ - Citadel Station 13 Changelog + /tg/ Station 13 Changelog

2k%q{fMAoBwi%7z= zYuvFh505{???{vU>@35~`X2NJ)}Kn4Iulx2T`$es?g35}>XUqfeF za06N#7s|Co@NtKJ;xm2OFju5g(!5WKT0PaOY@!C#tC(Z+Dr(UE5WK%l3GsVvDcHWa z`FxEz?`Gut-lXJ2BB*$D^iul1XGcX2*-eXMoq(zv5CzR#yxFDUNLqT!Cqygk{#-oV z@*3Zt{g&&%8OUmN@CJ5Eb;KUz$iOd5F$)nSQqr5`IYJ+LVco}s_ zd)8dY-gnl`XmL{ntQw_uM0zotC5VMD13OzEZ{$_tKvJSG9fmM^XONnf#skGybSR_V zluQBvE_Mjom?#(ECVJnLM#aD|W$vKa^u>=J>?V@!TgLaFx~(nF5L$+RLE+=G^lu24 zljN|YTSGSxx9rZ#t4=diwpR{DSu7UY6_rO-DnF@ta4_J4jo4JqPUr(|9QJVa7 zvs#5H{bulXam85OiB~<->&%EW4{gIsbvp#VA9&zG_@`&$lN%Oma6!Rjyo&Q_-ISzOJe~ z*agh*K*<5eQ3bjQ8k!YU_OxY};(HwHNuJ=`r`65`#X)|^JaZsU>zL~hpY0C0Vr?-! zzwk!8_8<>|CpMQb_{rL6C(4uPWReUAnm_e&bVuf%n%-x;?`=;PczP30w8+IcdnpG6 zgZCGrXFaY~bQnw_i(1qj5F~{Gsqv84*{~of+p|y70ODhpf(z)4hmRg*005i<{mK!q zmXA1}?BA6Xa7+MBEj)k%hCqhHY33BR`HYN=0V587M~l(`UWvP|B?&Y7{M>o|CoyG@q;m!gOlawmi1sEV~qzXA2)tkO~W65W2dmdfZDIc zCWz(?@fH+9nw+S9`o>8eJG-QszCNCQKkH9-ml3TUuR<|?fBc|QQdSk;tI2|_Wie9* zf38!_&VOOCkBXFrmC^70Xd%quq?0HRm6QhW>z7U*sTyjAuGbTfetsM>WwE7PRalct z1Wr>h`cO^d-k7UI1-khtDJzrSMY&(wy?pt#wrUV)_8a@y^~}{{mo8@U8-BaH#csV! z67c6Wj%R67j6gxfW<~ftb#?ubC>2oC`NNZ~qDjj>0El{1XXlM((qQzo` zV&Yw#CbMec{;bgQ!zTeM=AZS~R`-3wjK@9N`>X7nKCj}iv%8_@iPycZX5 z=TDeaPL=~Okb3Om9-ec~*79-$Sb1JhjE-6TK=oviPZ<)Km@CINOnQuh48#1Krmz_< z*SDwNOAW%j)~x&+=qYA*_n7Mg<3o*Z-pgj>SarhQY4#ymx(vz4Z1mmwnlR97B6-#K zRaI3XL`V3=1$Hr1&f#roC!U1cGVPH4A?+|Zk|fOtj{Ut01*sGv708*ljyLrUY7Xg@ z#xMeqi9GVk`@^R6q!#(D8AF%!EINlt0-3>}#zx_6R|c81Kbx_Z%jo{qPT|ln!MaSW zXLFML$r&LFryV&YRLZjGW@)hzjD&-pIy8!18;F4q(nQGTzg81x7Xk>mTssDDYe(Fr z?iSi%smynM9ehQGddXFD{f~C$232Y$=h?ntZ77BPt8h{I@eO3qPaf|(an!ZjB_o|D zpArs|D_4nvevY;9#1j({H3Emu_E@&s@rwgn3m4~FVFw5*n(^a>thTEq1=NvnrwU>v z9#+%DmTMc`=Q<%~HN=EEBSWAdRL>b{po0iU&NNtr_2+5xu20ueOZx6ZPy*z*HB%oM z7pH&%`vAavQzu2BHH!Ewe8F`}N-ykPP72t2Z$5ZH=XbPu;EkkRBZu%Z2w#|uOKX%r z8&0tJVDZAFEH^544R0-3r!e(X0PNX*Y8pu#C$s#eN0C@X{)soojjfd!Zh8IL4^BoB zI@@b}Br!~pB|AB>AB$)wt5h_60=6`>Z3AxouulRHv=aKE2>0VNZBOQp@fydDIh7f) zT>4o?`isXZWNzrVA33^Vw>CVxMfFS0uw_S20*;n#Y_%3IrcO+$(DWp{q5Ok9Mrdj+ z&wL$k9I=TmYR1Hb=z;aX{d*YM*#s(c{}lrsy`zWEW{k3D&|^9Xun0VLE!mS$U+bI< zndg1zILB1aTT{77JXJ4iajg%%M%-~ca1#HF=aZ1gvV*HlhRE8l1xDN+mghtlP(Vbi zCK5PLl+dg=F{PNOC^)J|G^liPLl4ZG$fzh=!4^59V6cjm3cd%CI&hV<##RM{!L^7UQy{Y^-Y0#s>MDVOW?OPx>+ zxX?tU(?wM0+qZ8fi@!fWL4d1w4e|ZkHx^FLD_~c5y5)U~Xl=aoI}{WdNmSoJGWW;f z@kj!))T)=MsE#7m;a)DP93Cw+%q}b(S+lYbBUhpWB%@K6w<7NEiUH;qgAs8~PWVc2 zaIiIM<|N+w>~N#L0W%OkYK!Yl!#@n)^Hb z9X~8?-WAO{F_yTpTW!Iu-Uk2e^@UUI6D$*)`?mdNa^W9_HHH(*1*hNDT4D?v=ntA~ z_Txo5g4W=>N)*ibI$wX;4SNI>G?;se$CP*FvdeMNh6;HY$S&~o&0L02F&=l!I_~-i z?2D%eTPH6a2v;2;zZ=#9j&C(h%}m0UnVIWGn%Q23Lxe*Fe#^1}kPZWF?EGA`06jO> zQ7?DmZ#RGiynNl7h~eqer)oHEo;XFhuCpU8^2c6B4>cGa6TNr0HeYox9#<*^%sc4T zGY{IG(_>RsXTsNxHrinQH#2F(uA_;!DQPE|Xlcbu9<=xW5%z8`cD%_^^KMkGLtY>v znu+*LcCI^yoa^Tn&rzpgNgfC1`-s;HmY3o;r$Rb(JltmJlF*HM64fSEou^Wj4`)jV zk?JCN&vU^BNo6LGp2=@P8M5AY3!1l?JtJr6v!cAbqHd&B$hjL|?**rYn{8Q)^B-VdmkwyW?&Uu7SIl-( zm=SU*bWqPsnL9ah{B@zL4;_C2HJ^LhAc}!h6SYI%Zx3a`{a60jPd3+uADIZWrzyT| zN=TYZ;~lR2!KhW>=hl?`+YC`N>VX(Zue6j%g&pb5iSC7Hmrl&CRDF^-yp^M+xp=Dl z-FvI%N?D2)dTI!ry9y6UQp#A5EiYwkzWQzV^oN%DH@Bm`mWXJ>=0`g-9@K&-omRib zP}O+YkF*EVWg2GUQmd&%_x?s`H+1!H0&S$VELzt8xT#s4h&>@M5yuDXhO*(eUmF#{ zffx0NC(7(17TOuIbMyPWT0K)E7mEj^RW~hTcP~$2r@SWqelu~wy5;5yZIxopO+4b{ zw&?v%nC$3WZwMaYiHKPJzAo7s9DPdHvT(2mj-xW5|sj2zm5@t?3QUr%w)68ft1^1<(0Mih$;@qN{L1 z&D@Dp*F}vHK)!zo8#7fnI5_I~&jz!Bnrf~O_oLS+!e+McP%StmhMtS;(oa)+`7vk( z9t)2YPJSx`(2-la@0cFo^vv44XflCR^_ZQRthQQLn@%@&L|~=nwpRKB=WW$RRxVVv z!DITnhpG2sJi?XeUw&Y2C_rJQXH}l4yu8_tU88PjlgnV1oh+^pwM2x&g&4NN(s)hG5tfXPNP!e zW?j~DwVq8?v+zrEsK+qg%jJmJJs_lOZp(7a%NO6|Sl&rn)Xg@l zac@6l?0HPV|5{yb(%WDDD9FwIc`@`QzoIs4RcKVfNe6hGbTGdd&dW9m6nZ7AumvyX zh4!3lYE9C#AYxHDX%$vu_0IZk;Ds11t07I5RTOB3ADIO}zO&Y!-dHRAv%;5Cygrw4 zTTbz4yFcat={^>Alm8~}5#pHI+|qI$bb&&V>T+SF_W8+Wz(SLcG%pn;2vt@md24N6r~d1L#(Q5p~m8jB(G6i9bh`!BVR$k!750RX)?)v z&44LTj2e5SQ`=*6vP@oln}?$Hy|t|#3O+uUJU4!6R%|k0!#&G>{@ab+lJ6QdE~VAUMMGLm0B`tH)+p^#rp`@89_ zUp9oVr5E}-sb7lb=~Qom-Eq4QK3wOP-#&OpPP(yfwxn7Z>XCl#VZ6UFsol}2#&3r% ziXD9zu^03#SlX%u$CzxGInW{v?^sl2gQTt_lE^)JEheqvJjSIQF(-g+qLJ9fUGGJF zlki`CH>GYMVNUU}Za0p=dox~6vk~i{JxGWxO1m55@gy%e11YqBGF0nG2_x*MVvK(b z+mi#=sw4)awG92B?X9pMCXqINn>=6)Nn4HxX9k#ReO5QMpix-bOMk(yV`yw~3W)FO zQksIX=qHtr#qgAS4q;bhL9S!kpVai;llq;Rh_sq#enngFEWC_ff**ZUOUwZ;nRWbcEw-`7XliaXwV7rzydn~eLV9WWB zqq&@ca8JuDId8$H znzmdeOmjmZ4_i>!yW^$Fhcb3g(##X`&=<;E(>EL)osj-F>*&u~&nw#3=&30^kDD zf7^PvjH?_eaE9_}stb5=!sf=elkAff<`8m*;s_@@Wk!3NNb@zz*6Q6j{I#7^)Ap5D zA9;cYCOEgc<)w*EGMx$#r`c;a4iA7-{i{@s9SyQvg;R$QVmBg{YDgyDeD)RZN)5Xw z*Ph)$6B$?UBD$L6HjLW(N}Y38qHBrC1RG?riAOPpNe8( zk6653?&{w|gNgtly8GI-h)DvzI0Z}!5A~)F+RF08D`=Zi7 zl{GROU&O+Ju);s{oV?`l&lxV>qq+L`fmQb(G{e=-Y6PIEG?@Tq9ne`$a6=zf%Mk{T zlRy*}I$9(qoLzosUG%A!F$~dowC;^<&wuzkoR=^lygpI>^c!MZtl`u*ywkO`t&#c+ z)%CwIz#O%1sPONhQH;jer9h0E)xjDwpVir5s=qOd6fM!(KyjZD^ar*`xhiX;(!krt ze$^V4V`?hTuIf8hce=U8n{<4FqL3Nt2#&V4*t7X#LIQj|q%Tk4Tu%gnlXgTb3q?qqk zFTh{y?S`{{NeBwk$2e#k8IKfG51H&N;j-MqgR6+F!APWL48)Gv)!ymmBy_Js9@0o~iOAK6ZABADs zqAjJi^q+4UmvAAmGackVWJBENHvbFEc2^92|S_Wx^QO>6wrldEBXs)_S<#WkRBf88xE*qB!g&=4<((^m^T5TCGEbN%!G0C)#QF(5mcuBP58= zoH~*5mbU=|F9x`ZtDT%;^OH_3x5Gw}TE8<6f#AiC zW=3@9OtTN{oi176eZF}x9a1kzuZr5JQomiin3pwaNx*r=yuEtprB`c0-y*W$vh}Ah z+j2c>jY%4Z@6P^CSVhMI&+lzD95dtu;kZl9Y(QCEUn7~dlqZAzOs>vh3!ewVmepiJ85d@+EMv@S|dA|8_E@#@|OmLGD)eg zc>u%9*mE*6l>EIpf4b;DxxhX07uf?UU7`dml)5d8$I+Wg5(McxI`11?NfZU*;K%>k zRQJLM1<>0_y^0AhLNOFyOf8f4btuqb4&JjQaQ^oe=7&Q>c>kBy{Cue_9_K$#gB#p) z|F=>|hTFE30v`k8H)m7ry{@pap6up0gxp(st#DxMS2p#2;{Qw-2=4*ww|Z)4L}sl4 z|CAKUIzaM{{6A)}xCXOJe@-`?c42e@u=QHXIDv7#(}e;7hET^4K3E-&T?Ib)i87$b zFPek@&zfqDroAt&QbSj|eNP&}0^9l@(+NJ;YJvdNLi7&r^GcjFG&ZWmZWU8QKI6aT zq&I#YU7CLvT+9=@HMRR;_tZ;@@#X*zxwK9K6p&Q^g@6`YaQ_Zey|+TqFVM}rAxHm2 z^F8tUuWX_6z@zt#3P*6jfnM0I@YIQWB#npFnL=kb9iH)DIIj|M@mhiW$1vjA2A7qE zhtbmNln$fbL+0I`IO$HKdZCX5xj-h4I9Z}Lvi}sg8&qe)|GEEY-@!lPvDxf9wA1cC z>a!Znjciic-=dBEmKbvS<5RPa{iM426X?e|On|shFOk_g0lJTOWEkAbgbNzZKw|~! zsPILR<5#a*R_VA!>`44eu-!A5{7sm%5((HGqRYwzf$3Q5v=^r5=jT@ln$lmkUvHV4zADCe|Y;e4Zdy%;9Rn*LqGTF;~b!iF)dr4tNREFa)W)VI*q z7w&7pf9tJYH`rVCcIy~cw!WvZe%}1z&2#E7Yi#&=Ms@|HTM(_Bw*?$nSEi{som#*{ z^Sx(TLVAuPG{-NnDfMWdQf#j^!EMND*80xTX)5mH%tbqjkvq`gOFH$nC#HtD#k_fR z)9SctYFZAy=m6b9A<0X!9I)>2*4tt9f6Pohn)Ox-?Mrj>M1AciPeV33NkZcv<296h zA>CZtV5Q(MZy5LgiY=JB=!fV^B)PnBYf3aAIo zTaJjN02}pTGVR}wC>;lg{A4NJmbQlM5)urxpjcV9$f#abOUu$X;OO9xiYTYdZj?uT zt$HsEQ|WqP4+~~6o`+L0Gkyf7pl`B9KKO0{|CS5q{hP2v)O=U(i>c8`bru`TfYN`h ztWVx1JK<}dT1lsq-<++zir*Dkcx!id>+HX%f17#sL4Z{NqaRY%N#C3ngH5JygUiT= zO?b0is)e8S3c^4z9m@Pw6u5n}PS$GMef{nx`_H7>V2)SIqwfBzh>I=H_C8=LZO{Hc z%HBJwspoqa4xk_kf|X806hx#W9fBaBB2DQCh*asl1`d8`id3aZ6+wED-V=JS(m@DF zCv*rQfh70vEx-G||J=K7)*_2@&Ya1dv-j+od1mitix^gnLpdqOHaWVJi&yQvUU^># zjG&oBQ>>2d%vMbt;vMG}8%qPQ`ryFvbqHNlMj^i>cCj`sM%MXcQM43-%aM*$X{_xW1&}VNH;c4YlCA@wT!^lI3+klrrHXpT&*x1#^=cVR zPq`KuiY}6JLtIqN|J-UTYJwV{tGV-&{{>2Ra<*cB`7mcpX)$EyGZ`IV`)cz?qe1!e ze>W?)fTZEaU{9WIz{U~5@eF*^GQ#!ke{O~w0*^qGU+$m(iH(X`AqHV=cTGQ4}N z>Je-r`R6019ctaDVsv%7Y~PrWtgugdtJ01zL-^XUBO>-ESiRYL?Xs>4;c7z!a@t?; zuuT?^hj}S#{I~l1rhrvVZ?Vjf<=MbakgC*NNht~Y(4!h@-bJH04%4>H#&R>`x#;U0CVCG(4G|LZ@YlCL{I4qoGU zAOXLiG0tyeGf5o!kX3ggYghIg&zmrKZN%mIgWjPJrvQ zT1oL@ZU6AacIC-(c)Z=ymoFJFU)gp>rV9oHPLtt98B8L^@ho5+u!t^zkgLc|;tP9*$sDrno7CTMTa zGgEH@tYJ%phIPu+wA!*y?98%P;`JsSa}t-7C(V;+_Bo6t=PUF60790a6E|YkBwGO0 z;029h<E``byCg%?2>^Z2S%nhq4QaA^f{1*^eIufFW<5;|WV8;q86F*8CYpc+(`Ia_}<$Jo)iiJaz`t};h&ZbSh%j?(VYKAAh z&kWh}{~lL0vrbLc5mRyWu2a9v$RU5}j+ITe)FI9F9_W`>V8tbXN~<;*AYaNid$9ZG zeop0LRB(Q4lNiJjGuMhN*+tg)w=8~naYy>XGkz6|r}U1E`KX{gI>_P*{csa;&rFp8 zQnEyvt8a)O_p)XsrOUPnx?0esPR(7dkx6%EYh+dMy$nV9-1Uk#eRm6ivl2MoD&vI$ z5U?>pwYHn15(bdtjQc?JU0K;V^!BfMxwrlh8xO*2tBQ!iv*^Vv3x!J?>~e@dmi$-a z7Y7cF_^`y%miAYku<^On$M}&(qiR7GLH%l|3%C$yWD@ux7#V}pW=sxo>)wpcwNSz0jmcx&rB* zT?U#*exTw)Vg^E@!G@%_s`NzA|CWWzAa7_IjMK{%T;)Kwbtyjv_&nw_bQS{V_EXB~ ze>2RJ=Gy*Kve9+X4C+nNXl0;#N)9P!v(q#*ayH~xX37Y*0;dlA3>7piVlRtKk?fEd z#+|b}zd-UV*_+ziKSOSGymku(Kpt2Qp+*=up-WE|xhcSxYV(31eLW|DfV-!JM@#W^~ z-n;g%Gd;lR7N5Zhj$C62X|cGLGv);)HH&%F?&k#TsTQ>Y(i+Pp|DYpYI*qn(_X<=*gnTKVE17+gJBs!!gFooIzK{#8Q1J zmFFaJ20)Iy88nD*XY0k|$EgBWTf4$Cd`3B(3h&y<;?E9x|DLfv^*~3qQF$)u_h&#L zL8l&1CO>vAri#~wMc2G+>=Zg&?1?hsGFcMjH!X9GOx}0m0zH$aYpCw7eeR3_W1B<h)Iy>mg3fON8PN9q1oQE< zs;HWfT%Jq7-!eEN@UI~9(d^XgQ(6NkD0a_f(^!OcsNeW+lJ6uC~t}d_Fkf2YQ0FCmq2;>)F<{TR0 zud@j>@9+N1miR`rnM|IJ12l0w8|O`cFn(hV*Q;TBtqX-DUx9W-y!7gxE$B9!H1+WL zS$2#A{f~0psg=F`9xv^JhU@$poS)~;mMz2*UZBn!RP09@YMEl7qkwz~Qn}L)+o?=H ztfc4$rz}M!v%lAY0|jiyGjLu7+N~e?#+5@8s#mzfLB&!8eL`Y=r*Oq~n~R@^8@!wz z8N*W!==VUqRmwQL;XFj(b;0fGEji=l-Vjg6YuAYJ>uv%69N>lFo8En1A200&e)&Ss z$F$HK?aUd`wQGmUmm>zO&Z{lk3}Sk~GadbL@9H`LmhDBC65;3q)v)7Ebg5ITPo0^B z;Ui}gM@AFC{{}zX3`-#lRsTZA0is{Ncc?QEN%|6!!CSoh{tOzhXWK}`b1m=iD$841 z_c!^bl#7Aivju^@gWYp_5tF8<;4o<8%-DXS6mjoW+sa|r@cv*4`bh~gaAN%= zW`2RVI4VKhfhy?43>m#Ul*xRr5s&@@P5!N;u7EqL>G{3hWqsiOHaXC-V4jV#*w*mb(%s)LE_fm?LYU8NXRT$E>B3hOn52?H$MM$Fh?kk(6OH7AmR#c^mL6(b7F{ws<0J{sH(~ zI5$(*i25yG%O$A$kDT$dIsr*rTa8Ot`h$U$Xg~YHNn4iIE+I|07pa>vAsrQZTOUAgvy??L0aO59IiTXR`d{RZk4c@8QiJcDQul~wHk3EZIj z`6Jr`b{i4*$uA}8``==`hTJ?E#QCV^AXJ(>@XPfEFp9#t77m>c;CYRdCCqETM2g?K zV%pojgC}afuWS(@0F@Y5eV17NiQG)qhWcLtB!oNu`{`|1Unp}xW;xP++jBAhZxL=|9D2| z4lVbLBm{z7w#X9Qd4SIiez!g2;k^^Whd0-WL~3=hLH+&=Opbp07GJdpge5ZbNxL5M zTE#o%!8WvH;e@P7FFI%>7R-}a6&)R2>TU5iqy?O$ruc?el+cX<<3U}^=`fh968%ICiRPmna=<DHC%+%BKj z3YVNMv7v@L;9$H2TmBKydV8Y!$NmIF((r6^{oeImC@maIdXH$=GyFlR=E@;9s?4L-2okOtIF9-^H$RR;uPy^EBO~{{pWUA#m(53*{ep37cTk*ikE7LR>e758#TQQXq#gd zL69XTCsXGa5Wz)|yU3X6j-&bb308e`B?cNiJ1!tlHtq7g{gf2k!xS~3B}*a9%^v9H z^x8X|iB(gaLb!r6CTYfbwzi?latS3p%@KW($!Z-)?B{H*wE|9$aGhw92*LBU2#3x% z%r*PZ&z#aG;?MGOP6^lcQ`6S})LCviWL-w6byE}{Jo$>poLz7!>x&yRMLN>ZqiLX} z%u*~=SJg+oYN}n&Ea`p6hdTzHkJsgjNFEWBXeMiUF(m>`w>f@0$4a4~!1R?C8o2E) zw&mzBe!`srAQUMxU+s@D$7y?~--nCAmk0ndpdtTTOu^=?-J!89e*P5cb`V?4MRz=N z_BtS4M2<2$zFe=3seZdV^jKG{TrcG{mJp2`PQJ`gQBhHah3WcHP8p=^Oq7F1V8qJ% z4wV8;cy_OW-{W7xqf9jFQ?Y>m7i&qk1Du|f0!U~RbzTSz{+KCJ^WsHQgk@2JI#RY@ zA1%2p zkdM7@>BWb$QW@AC5^tkSiMD}%Y}GT7i3ukIfyh3qzN?qSJR}`5zJ~vRbz%EHL9(`@9 z?kow8_0B!@i=5jrXCX~xy`_~T?gXTf!+p!xBA zNaA$#PM^-?u{Jm8gb$pb)-)!4vNW~L6{dJKZjfh5NbDNVIMCSn#~9#iQ;D~35etnG zK51~Uc=fBmmz&cIIT56(w8#m0S?ibX`4AOYD0L;X2mobI2D!FqhQAodE>|FP<%dvk z9O;C#6g&Hfg#^gB8vWW2+QV4Q|7^xgGxUQ4Ov3oKr51CY?hd((z0&1%nEFXqfbzWZOPCTrCu2R$z?FEKk5Z zC6A^+ZKyos8=Ny**=MjGXqqhF&v=ZTUjXqCP3PgdE=6L(i;t$Jqn;(W7W6LZIdxjq z>u+TFn~%oIi9v}H8Va0VEeVstaBZL4_U4y(f{+5p>9^A-0B#`ktvNluFY}=ch`Bjz zCN0CZPD!YQXiA7bgT2rByWIsyo%FwR=Sg%DUH5ZcWf7oiobDcLsQa7^tp4lve33oYy6q5kNcgV2$fkMufeh{nL-X z_q3#@clZiC0UJDi#dl7`?uTJv{Ii zr^g%;otX)+?YAG6CLQ1tIkG`}Z+VheKHuY6s#|qhwU1jXO%07I8x$chmxBN1G|E9N z{NEI;IORV*2c}@PDjNo+8l6+2XMFM9_*(6alMH*Tl}-bUC4)3q)T_K`t{nzxOwq}2 zlpCg3kP1TD{sf!BWX@s%{z|$)BZ;&W1*Ao`cI^dvpDjhDxWzh zSt(vop2xT-P^$T-vwmiScy7(_9wa5)la@A8Rac*|w!rwfKH4k8YLMT_@T2-p73axHMK+oa2A1%oRB>d$?t-r0i%LR>$IYm*3BtG`wkdPl@<( zmbQ9Z{DE9dP?BTQHSay0l|@eHgBy)`Glc2M{s0}Dzh-Lo%o!nyw@cj2GTGA1Tb&ns zZ_;S7%8?`X@uXhRjoUt@#=>S4*h#tTSa&R(;Z2~c`^)7}K}~RdC~`-K*<%_rlh;>* zg|BVDP;EGWy$yuO^uG!GL+^kOGaioW#FnP@iTl@fZ=NanoLovhyC486PQtq^srMpT zQa+7NW4QFh!adMTR+R?u-CFaq&4Q<;ETx7_Qz8>CgUwxF*(Gf#0cvy73hy1Vc2!Zs zR`*M;E!}=Ew@)NZ6Ruf3o_dz)RM@1!mm*Hc41ODB#os;1~NPC>L(~Tv+ z?dEkPaqG3|NBV137xZ9k+;aY+s4rMkUc0ZOEG$<#wiVw!Vxl-dimTP@C_n3&fD;cD z94PAH)zlQsfMeSM z2|oAY1UG2_E?XV#C)G_!*usLBy8wvwd$N?Ms@tz*0NwvW)N{G)@c5wso&N&rGIIV; zc}eDWv`b*je<3nuo(go$JBVNvQ74^Z2NE;B5o@~6asR8lcB)=#Kw3`CV*LHjYP-O> zm)G!hH0rTO^17?Dz~y&-mECxVpwpiRWDqyG(}Iri8a&3@1B~`IeCO|kL2^CKLRt>Y z)D!fs{gz`~xplSHly2P%aS$~Ho+?Af&?eGsmI|B(9Eu%nvO2yXcp=WzgF`~UdqwZy zg=aI#-EE)|S-`EU**uPloyVq1VPJ4hV{4|8`_2ymRGk-e%W|bRsQVmIU$4D)b7ifW z;M+QP7>6Z=|8#2)1Bg_P_OrUC$HX%8+QpDCwS2(5!Simlhg~++h4sGnQ7p$pergb< zWGtj$H1(279+U*) z?t=`8X2;tf@a4JldCI@1oYeA3;I_#q5vLu=XD>+d%@PGs2Mo}9_q-d`gl8Ia+ z*3nyGgK`lWxMBCRl~|S7Du+TIf9J`u_kTmtB@<3S?dI#(B#<3%lJM(V8$bIyUqY;T z=O;%Oml*%O#R3hoB!&y!05KASU0VZEj+tW!rnng-z5AMfLL^cLqc`szdGfP>nL(Wd zKmygSkm&qpF1|ZE%}Dx9S%^Nw3{4_yI!TqDEsp$fn)lF%;#okpN%TO zD0(#?e=Hc=q_uNh&J&a}O^8Dt9n__=H8Z4=E_7Ry%$98h5;!kg&-n-t%^vB0>14|f zkBCxj1tlAIjLZemGEla+p+p?C7u^sR9qWW#zb>cTao_A`tJqjr^n<~nksnK6InwLt zVx9OP5K!XZ-Ov+}R#v{R-4@NkO%vUsH(8!%vcVwQcX})jZkl{MI7c}_1lpAvYW}0` z*I!PL^EPP#`WBP#-nEvs5}Cx(v78Wa8-?uI=EJ?QW!)F2-}T@T61y_63pI9yri0Q$ zr9D7|&KOnT;o#w@Kh|w0C`;eVC5N+-&o|NE(b*PolxTM#CHf2Ivh3ibhu) zXpf6iItPk;6fHyu!C6J`(4qsTK6=3HMSrq&0v?GTRJ709+(>UeT4(q$^AM;W>;|2S z>*Jmvq?y*J4{|=?$-$6}U*~RMeu8HcnIs?nJc8ai*NyYJ5aZL}utiYtVn6AWqnNlI zYj-x4G1hXTb4UA$hQCir8~2&7fwIl3TTo~s+40xXKk=Fmix)S^YNXYj1e`XOK!JL7 zk>af7!NqiA5?&lT+4Ya`6i_xq7Nd&s!&o*Vn3a( z?2YpLy^&{_m)%U;vsVD~6VS;MM1W<^`ctCLr*O{NZ?2yYOWDNG()n9p2lhU~t;A~# zB{61GWf=P{?iJHXLBVtdYrGE|Q6$I3CB7S_BVDAlm5d98>D1HOCpOu>T+1pNw*P8z z8Q4kBp|x~B;`jpCNol}I!xuaY@Q43=lT6kQ_%~Sb_(Db|We+g!FZ4(b2)VT_~JIBUf}O2YK& z+IwabInC^BTC98IZR9u!TwR(wXPrh%6~tlBNh+Z0yU`J|)th~z^Q^;vyMR6*n-4$q zSAgTi%y(I%5;$l@u$6oZO*6+~y58KXV zJOn42W>tI7ZXi_LX+Tqs0(chX|7l>S{7to)*4yipguSTW`zZK6UoBFK3L;ajh!MNf z1%PUty*>C;`CS2mHu*7e?(bjvYwS6b;96Ym8<`k5KxnzOgs4T4eti!6eozJQqVA22;3n=y+a*e^AvBi!;XL(x^q&I1xEnEj=9=UT};`*w@rR>d7~M`!6o1Kg!BYc#!x zYot<71@^p=Z%PUfE>?>lZg7LsMabTsh?7+KpE!03^}PGoSUP>Q9I~-IleXav zUa8~Jd5D1o@qA+ftR^HWNl->tjAe$7C36Mp0LPhevh$`C7a=_7%-_NHXMOpwpgFS| zOxn`CB{yOB*saq-MNO>=R6RpW&}Rw21TdMN-L6DK^$ygMXrTXuZ*|LX9C)SDb(?eE3QgwPG}i7W1wUv3Q8bM8b_(OEy@doU=0b4va8^I`{6xjJ}B$1=Hn zA6xV@66ka=BEkH;*x8lhOX<#vV}9MgXQ6WG-UWrJ7J4&zgE7e6&&@RbI!S;_qtx9W zQ9stBwWye$c0C!<8h#SiS1V|;SP*eti-!E6;9WCSc?E@McWk;56&8|6*u&gca~qJB z)Pm3e*wEM9QJqZG=-R9SzAyiwyLYuw_1QDxHhXjl30r}rO270{Oio+KGKnQ!x3^C~ zeju1ilei}(gV=i>2W!0g_y#**b7b}G=d}-hv5BS&&UTib@7~>oENI$3ynf?GEFi@I z>mXcSp(|A+ZoIkAYj&OM<#k-Hn-*Bd*-b3(a>k$%SpMqI9C8R)K7J?&ZUSC*0dpJn z(>-j#LER!LD>rY+m*ck148LM^N+AUWMe^Vs<>eKT4hGZHQ%wLj6YtD%Csv4evvF@`=9Hgd_> z!ZB^a;lY&%MHd}I(mr>0pMXs{@nH`>{W(vI-V^DgRr8p6xah84M;elZlq#e6d{y8z z6CFg~-J1y^1(dZN?~>NUz1+^L67RZC>RA5+mX;1U13g!F=K7XjJiFB&onopTJpBDm z*l7u(TC|KC5<)$MuK9!vJ!g%oIyE!c|h(tUBs;-No1{vnLDzfwzD67VeW$#wUPr zgD=}fdS*=XI3WS1=4ePYZJuWsQehx|q_r_NQ9L!3PqA1tZ0f3Nk< z^u;Kd1dxd>d$nnBSBOHqDViS}X8{*9zso=&VyxSg@+6ilQxcJp8Ft~*r%#=!-E9>* zC+I`f{o3~kkmKRwoZpv7uI11(M{mXFu0fTH74(&h_b)hjQ-4}aqj#5Lz(K-u$1!^C2jHl?uEGvbQ~^a;*VSHT5Yd-*`K* z@{&i{^D3BxAS?z{d(P7Bur?|z1!VQjEZw(TKNBLzAoZ&jj5Xud1rP|Xcl1LGaXV1t zXP%rZ{Yb#}NY$+v1FeuDIYNzGy4~qwVtDy$-l4x0PMFj(p}A|@lkD9+@>WW>>LKfY zQR-T*L7o&+f1m!ow$K5*xfhzqIFRc|-Sk0bWuMXuPZVFhN4;Kna!P9d>o^-tivbKtM5M=oL!wT!s-t}Gttf^c@Qcg&p->^U;$ZD~ zQ%&u^F+6%u@(EFBDjO`|4-yP}TPeR5?uj>hf>Tm@@ZjP5eL$wJbzh-KpN!`*C^?+~ zb%$cboHzcLru0a1P3C>lO2^8M3FdBMxz)$yAhTlk`H%QsT>kRiTBu^SBGSuq)MoL>q7XxXW4QkG`EMy&}Q=a83#*W{v=ZS_Sc)DUoXe zT{*qPauJDf{$}rzZz@-rmvB}Z!UuhW5BkKS&u>;AC+9TMSxPa4em4%hj~Ob;16l_& z4kGcVPuDTg5jz`#+z$^|;Jfo*BhogQ82y(9BrFSHCDb|z8K6>Tu4jw0P*DV=%>I~j zk|IAPLpD~kpAw+SlY-n+MV>Ts>}ZF6ugne<$u-KDa3)?F>=ca14fE6GY0@ zFU9lT3B!Eq^nzLZ@EXcfK8*$}EX?#XY%F>2SgSE+70*?wb=zm{TW5(_4_;al+_Lq* z*c==2$ma2yk@0edSc*NrNgh!e;cc4th732XLTWA?-EG;MC}!D4c@SmT@$1lDUHJe_ zgM7lwq+Yju9r!CCTUrudPGV1k1XSs6K&y%KN3b4a=%oO@5F+uHbj<2)5?mb);WA5VU6RR5<1AeQq!9`rmdQR{m|rB`NU=aZs}KIjtH+bi&-WIII1)^-#{7Y0*9Fi z2Lm;?)-t4jc||7(ntc(>SmHBlz4rks_rxSOB~nuB`JmSj^r$ltw^=c0Zuef9fF5e{ z+I-gLU6l8sj+nWa2HFZs(R1rRI}0FO3`kr3G~I`<(qEk=XbyULT7~xEkq%D?rJq?t zfBm4}QWkc6SkLaWeR+@YeuzLE8tiXg@Ba7iV2@v(B1r=kv2q0ja*RqS#cYMgvz+jr?psmrk>Y%s4%0aKgrz3WAwJoH)=nbJAkCv$-esLod zx8i4wNEzx@?}zvdie$m*45WGKN=Cbz>TNquQOH~iIKos?_+f3Hr-<2}7s;18V}>L& z9WbXGmFug{RBD|IkIyaOEwIbJeL9C?a*_h45PJki%mCGz&~nDaknDS%!zZo*K^c|r zvu-oZ-I%R$EL)bz^TA#0ERfbS*Gh9LL9#|0V^F4^p%`TIl=cD^hDLqCI87L|33z%} z6trawL<3uu0qKg(Wz;xDWiH>~LKs#28)_bw^n#4TkPAutXNPkD-M6I2W)Z&`7CNpv z>3W=0;P!V@v7)}FfPa=h@2YHMjUK;NGM#8qaHIOZk{7=cw`6GEyuKa^uKmrctgTRo zEx;k*>`(R+MxmK9+*F~FQ8pK?!dfuJi^C70@iF3aS;s%56Mq~&cBRSG$I|)R7l;^b z6gqiII?Rv17$vF#9@UMlg^kQ5h5ot`i!+E3@?q3TE|q7qCzrc8|xai zUGLLC`cmjth4j;=#9}1G4 zb_y4c+DImkx0$z>ewv{cU-l(KbeBbyDXm;T8P)%@lDQgro`T~&cEmH)4CIH%C0u$#hzKH;Od*ec>RWD-<7sO``=C1 z86U9o^H=|*^tAe_?&p|64>V3BFi*vA@9vT`!A?@BHkVt-g5I6h2hLrY>)+UeQLg{_ z#0n?EuQC7I!}%OoU454*|APE}qUsBB=Ku2-5cjWqn%$A_ler8J&?S{;sy~HMC2Pko z;fJm%rtT5cZ&3p)DWwpl*ajwp$XjJMOJ-Yo#sk-TSYp}+Trdp0< z_gJgWLmFN>e&N`Fgtbv!G1a9wNIzZu#59`o_OwP?2p@W_b`9av+ROE(HTe16hr-uI za@2%6DfA~V#rdqB6>Zt8vb?>*9x%L!h*y)J4m8@^3(`OCwM$r|1HwNuoX=#=ZBqZ021Z#^7e(>gq=+k8)bpJ$_Z^5Ny#VEasknx2#w(S+}+Sq?ZkqT0PLEIpw2Fy_l z`Ey!D3&2x=@?zh?3U0ca6n_;t9v;TxgAfk#@CUDsm$Pc~m6?AvJ6Q#0YFNUvLAC^7C#enQOP1|Na8_9*MS>b7kAhIgmi6F`!|z8|vS7 zNtH!&5C^`*vTW*jaL5JM2<>LG!zUaGkI7aJO~F^!S$&ZXW@CV;!%2t+eAEgW5s%Q6 zyXtnRwR$xY`j2I4V<=J%Irf_?`yBFZ--XW&zQ4CDWcr`;qSPanI0e z@SOq~a8MO1y>ARl!UVgiu8ja}k!Pv>*RzS5#g9-vk5<ebND5I-&)q+(9a5Qaj|C1GHYFKX)R5zM8o z3$yxDH0AK|zuVTkn}>JVXWkogw(h_sL%&DuGGRZzu%ZY&IL9LtNV4mx4jqRu?9u2| zWYCZtMmx*FA>omh*wuzZXj%h$imAhBy{azie}K? zzZjCkm0b&>=>C{nI%PVB^hA1IiIx0OP!xSP*AlF4Goz!WMpKNT~@}J)h=~L zp7Rc@PZX!b(n83{@J21D=s#e_U>}Pg-slt{9}@WcH|U6}q;wIo(EjO0cTZ0X$k-k~ z2y(%8x?K!BIB;D$tgV%Z25~Z|e|8b|c?w1$f4n=S2>EReWBThY8DwEV995Z3bgkL| z*%kDGsn;Z)+=;gUM~v2Gn)HhPgk2J$@b-6Wh@b@HNp_!c@8)hJe)tdMLSSk?aNYdY zkJZA`7xo*J*^)>Ax-j-0Y7Qjs*_t{pS@G1#eQON}~Fs&cMEC^B52Ob0Ij`;L9!={rUGlGLXPM zM+eb6Xe{pl)e+@X+=GSLFIYfRTbShu8>)?#&3ftUBg}yKHJhr5IfTgkkq{4U0$cw5>tW8PW99+rv4$H z=iYTjBtXOFa085C<#6#K1h~&tbSnlFyAmkcuujh5;g7GI$csQuq*falB_(Ch&AYrJ zHa;yfulreJ2JCvx5{o<1KrLXk1=5%yc3qwfyiC??#){e{Ue$@eW!s8gSz)-dUNiI^ zKK4=u;e2yOj`Y|TVG{PkD_twuPVBC;0EjV!<~OM`)<}O|deo=>atsEGOSTm?wd0b3 zAhkqXK&0Y+A#evwbaRezjU3}jwe~Sm-cE)e+S{Kl`Eh`n%1Mr`w#ZghMR?y7XgazM z`F?C9k3M9A5C*(-#?4l6CED8B3um~)yn=%A`$qFpNFm+K%F40s%C7ZNY7dPFvF?6D+P@!84E4)2wpqU^Z8jXsw%KDDk1bCot{&S=5;w4(zb7wJ4 zz~w=?q-naNq8J65#VO%@G$bEpDOIY2ne8o*CCC7hC`HPn79xS?(x!W)Py(2V8Z=70 zed2!W4LuM!h#->$fo#G|_jN47 zc4w;kzN`lIlON@Df#lA7J?@=&X=ZUp*0Zy-h?%_ekjj@Ca&r@0qUh3D82p;=)tdcN zVB+pp&AqCY{870RO@JZ7lq*;oel-vIApDIF4@-0)Xt(b&_a-}8m5*4PV0<=3BYbLk z_@BK;_#iMqj??47P@(*rH*N%FXWz@hCCPBJE9!2y+|UqEe)S3@X}bQXCpsbmjEssH z@qP)KW_$ah6&y%j`0>-H7KGyaXX!WSAbY@;za>uC9F-}0;UX2w`Q@n^Cn$JxgiiiL zaD=(>JeS+tYO7S}^xNtFyhtfa4f;3afqh^PaK@w6tfAAal6$-q8rA&ajF2>cu{K9G zPHZ8&=<;_RmW6sj*~83T)-`kE8LEd%Y2|@>VgBJ61%Y34kIM27wkn2xSP!K$5b7f$ zXd2HB`t*#6Kcf^a5z^L$>_G)*R^oS7!bR#1=!W%3J=+hf{s-G(D!fzUH1`kCy`CNu zW>x4IJ`Z9$;CA_2a744Pwt9OMDb6xv8l_eRj%)9ZXgT*zTDduf!s=EtoOp-gEe=OO zVpj#j6j@NAy4y-u7N-h&a?C;0d}+c*P8;N%`X?g;N<3S+`-riMu@7NyBbN{#Zy-k5 zbJjUj0Jj#{)er9YjAkhZQ2vGdd0R#{ZAWVl1TMULY(PTzpT3)|c3>2-dfB!oQ%P(K zqZ8j0po`Vc^glg5SiVMcAh5LQM&S9&G z;fjF+I3B+PG#wdTu@hw|^MJe#&I&Xak%}1u%c*$?;i^M81%P+s=kM(bJkk8AHg$Fe z&+56KVg@=P%*#MDXU<#)6ASNv{E9+ut1s*D!{u-{T`;r7KYH6w4pP12n!Kfd*=l^Y zP6Ypfy!|+8-sf`f-n~08Q-2Efzk1znq6VI3agJF|gFO%+p@Gt!>rcb|y=~rmG!Edm) z-;oxfh#iq-D`_moD?IuS7UV(8e{`ZN1}xqKp&$mO@^dK2D7~hzZ9qLu>Zgnsn6GE% zd~Gtk$0aIJYt{nB+ZQ@CT}lHIrFCM&<9T~t7D{u`0gQdbz0tV7v&?n{YF{yP8&gj zO4c~I$O?1uwyoYg>yx^0+B`3tTu1$WB_2p)fuF-P)Hk?3Z5shKU{4EIC)#{TG<{oC z@BaAqIIev0{u*gNMB^`b&kP9h6h?Wf4${i6UFoRI250tG&m&Xb1yHPSE%$s)Xe872 zi49p51OWzA1nh8{vo|GXbv0`|%&eS9`(_+CmqZHv>M8}=2|9tgh6XT`PzVuais5=g zlJm_{156k@!zsVtWBE`%ZS7HASO$?>zg`k>F*&c_>ENA+ZhspXS}0gT6f{44*gTLT z&MBtrf5U37-UFP5vVtza*O-_-QBYmIBP{&8{0zKq{-@Rjk{m$fn})jwG=e9@CHcpP zOvUiN_<-=rP^I(}OqqgsFj|hwy&3gb$rz7Dm&MN|6d4T3RiP0Y1K_*kFI-5eLT;RSgY>=g*%* z0zvLoNMK?jLt|rOTq)u!?pz%;G*k=?nctb4$Hv83yhqFp!FYIjIE>~C1``Krm`3p7 z$Qd_*A37;rf=zw7`Wf%lD1evgOJ(^+yxnV(z;~|lhk;0LR;+WZ0z_$g%b>0_+Y)oukIO7k!xZFdEOF zw}8Cpnc3`1UC|5_lr(P%a~J*%oE(TAQrVt2AcE3jyN*G&-kO?A?`gH|A!C9+^5uri zqguxg!*o?vOR?)~??J5di%IQFeh5*oqmin@s}S> zdV;{5gw)d{*cLM=N8`DJt4#usw|&Xe42_luDTclT^K9NAuJ)n4$*SbMKVWhW@hHk; z>f)8qmDOp?Lsi6W1e?nAm+h-Kh~^vJhvWnbd#0eYX~=McYM_K`!I=3W+1oOpTL01Y z&;PoRoWlf@2>C@^i%!EO=TLJ5TTL>8B)gEY$4{>aNOE22S~&aT_stWkL%*?iq9;!< zdMEcrE;Q%8A;<%<8O1JZ2z5{+sL))w-lUBC{;)Kwtk_?lIx4_8G7WW$r}TsUvC`4i zs{5u0 zdKr9nR-gM7XNMpEkXB!1b#nKcHSVLI*!8qT0y47DVU`GzNyYabp{H1upp;!-jSa>G z0n_=s_hJAM-bdW2O+IJ>CY~Kr4-EYk4{(e%9ujaC4bY{)ULK+f1ilAGRY$fA+C!e5 zmi1TLdv#L$*C}#+q!ViVy zynpZb2ACF&crk%60KEwMAwrK3yKx%`4uCGH*C?D*HH}xhDX* z8DC#298=2hlW6riJWLe|)N!YqZSTH7{V=#Yb?oMkx3p z;e>z8W6ZTJaR)1Z#Vf4L2BwT69lZQ;OrR+Ei)_g2RS|{TiC+N&-aA9G1oy9`yn!$G zUvReo#udekL36l7;j0rF7$kFrWzbJj%>3Wsc~OY((oY0+Xn;%EGc~y%@EuD;9a;Rh zZ=b*u9{D{ghWU;cY?HY{X_)>2!+nlEkDe;J%76*_di9oiR!s?Rlo0nz>w%lXAC{Mw zr8u7Q>eQ8N?rv{Kf+BgDDop0K^X=50kO=Hj#)KxkSLjv#qX}7uWn*7EngG)u*$jb( z2IBE0{wC`8j&f2m>h|_q+>akW22%<^g*7%t?UV?XhuiCuc z3Fq&9{#11A+925D`jZa;yViT)hMzGG4-#t9I!95@ksdh z4N_FAt0`_2^pJVu2HlMpPrZ7*EI~2vpR_Dnt%w6Z+wqtme;30>tQO>J>veohl*RuS zW$zu;2hZ=EbMN=x$Me9Hy)$HXS$nUw-nHHVLj}r4tgt6riQ*b)V5j0ve0gpK z0MscSl)YKIJov*J!pB^I#13vi=FE%jRmHEq?0chjn&}J-_vqQlWwK!A0{28kqZ2%e zy!!h!l-%Lnc20oMdv^qG`8FUjm}*zyA@}CUD>*e* zBqdM&<=I~(dY~!`MKL(2v>vUMN^8{L$qZCw1RYH3sK;_dgTVy+7p)|r#BmbTo99-S zF}n-fe=Z~p0ajw1-fKBt{BwhGX<|94yT3UV%wMJP;8v!_QOsHfqt_MJ+(-t!TTJDCc9n`J-+YpP#o z2U<2pG+4pnVSTSr_{W8cY|0WOW(+1lQdU;>*q*z;zyr|=Ks~5kHlX(bW@hFLH%<`l zyw3UrQa3v~p%nAqY&tK+CnfRs3JD8Kdi700f!A|NOVHlq^a>EC3L(hF9Ea>U7U)PhrqB9Jpl*5dH`A!)LK z>iqfhJ(tuDc6YBp^705ZCa=A$;@)!06(Fa1)DRKAnuHp&X3`CM5Ig)4m*sjI;2X!p=H#2$Y6IkgsuuE^`KKtcvXEJbQLG;5%{I zyDM&XqRGDsD+R@lNgTXxz*#Tg>4lKBOXCGn7flp=?i;rCXiUBlbFX@BzV9cLB^sea zm{^1t%%@2@s!P&c$>t2RFaTdtCioj@Vxf+?E|Vu4MzcZ*bd=&V;WUdqlGq^rWTV;7 zK}lY%$yCMAoNPTZkI|6$qF?sr-!!Yld9Ms|0e2e&!!NN%tV47o5f74})z;M1$%XdZ zxw|!HrA0*-pp6m`cMQCxC9OBh z-(7kYTlK0LVpuSI6bWC|UfU%*EC3A*7z~9Q$j+0R#|nbR+MGnU0+()7Rw1=1L%xze zi!W}rqfPNF087e0kvkUE%;4NH>r|q=_hJ^==<(_M(72@J+@yV`8Y)9RbvhHuF_Z)g zuCJ#JYzI%(W=Q)p&=l>w)XH5SX+wpf6Q_+y_^G&Vg`<0n#=sms8(Y1AR!x= z_o1MsY-({u%hQh_bOrxieM#ygI@T5!;A>fjY-m6of%JI<= zBw`u?W-y8a5<&O4xs{VVNA(oJ$ zXEX{53dVcR?vMQE7Sa z`Kvc1%Sdfu^xfyg)VGOEl$W5~`&%b`r@r}bkJIClQk})P77~$JVj$X$>gm(F4lN<- zQ?@D+Za8XYSsww2%Mw;C)`q0*!-y zb}C3CfNAeb!geHOBr1pQXh6<4m!G$8goGK`wYRrFc>Gwxr)Ogy^GDBz?jyADc6kGu zWy`9((r6&=bD}FKw%BLm^e}prWL;w!#RWVCHdL(I*K8_+j(wuor0=l{`d;eFDNrn# z=+zP~oEk&R@wFfakJ#dpWH@)7pRJKLo~&qh&D@$KIB&G+dyI+u6n5z^f1J2v?<3mEChmk$d^}skCh)e$$~<6R#6ly za0eHyVyJ(MFCjWgiy_T6(I{JmmSFFWt8ls4V0-Znzy{oX(||>8UzQQ)SAJAID&es;Yn*ilf-GJNIl-u*oHJ^q0?beZ)e% za38FHgB<6t-a*wi5|@7;pHU@08teJ3)#0qfsq#gnrr1P}MhQ#g*REoTgUlR5ckQCG zzucX&z|L5+Wu!p+^v%1M8Zk-|Us`3tv!%)}LaDy8>*|=Hr1qy9Ph-rJT$%@8XaQuM z2nQr;^N0SFc{TRj%<|?D5*1{%PFML*Lt+L`>0~%Lg`ss*SO4p>oX3wJ_qiJa#h}}| zX+}{KKjfiaie8y`;EjFw5L>ECsLIwop=u`X?66dN#qbF7QaDUf4`vZ7vS4#8n--)J zrRPKmdNsAU&Z1rh+5U7|%*`9X*R$wd!R$ub`!8OI9BfEi!BK@}NZFD-Zz@C3+yd`q zY>)}DmO78Wh`vIlfDWU`Y@8@R;$~J%?;AdyQ9Zr<(RQEe|L%=+3urC>fS=oZg{u9m zV3cYWEHEX7vC>=6eZN2M??lkP2f#PJYvWdhl@!+*LR2W8xK-)?2L*KLit>5^$;{#V zs(?|ERu$Kqu7biskyY??i?=%LqEm{rtxj5p)AXGzs+6SeYL#3IEUv)ox}mzd>bj6b z-1AQrzrOz-?dh;t`YgKbIzC{XDt9#qnp4}uTEgOMJ1IfuB2>S67{Kh)@y`Egml_YY8 zlG0R!$`WcKQ!6X0(!Mhx(7IymMaGu(7oVS-TNu2l(T_XTEwj(BoiM8tkkfUeiTF?U zz0&Xpkty7cNx^@n{aPOZkHej*qt$($1AP&iRL`l0w3x@ryP4kkq&lX7MBC7AkX zs4ziA2?+^~y1MuiBLjnO>b6HUH>QUcySg5Pcj%dzeC90={r&s5h0tc8Dj~P1=+5+^ zCWAyXJe0kf3UCR)g>@e`dkt60VQyx9ZNS~?&r~F3mv2E&C!JmKsi>y$g}0BO4Hsa^2-;Zh~4ZUb&vDh@f zRsZbPf6yux?9+v0OOOAn;-=Ki1}TaE&BbnBcl_J36|R*OPV+zUd)YU)x7RXblN3$K zd2cin^vbiP|8F7pQ+4{+OgmivgMJaOBTu@oNq*!11-{T-ycN&!ALi-%`bj#P6>%Iro?2e+o=KwX8e)!s*B|wlm$Ui5mmH)id;~ zw178eX1oB0>*zt69Z-FfT{e@Zl*LkzlV4sOZx{j(xZU036BCPKe5c@ml$#S!cy+9z zxp%{`?^WXfat0S-{|m+ezF=M{2~TdRnPPRO)d^E)FUT#WFJrR$I9*qL%E_%t9Su2IYvCdXpdEa5ce(EV%|&H*guXr0TwZEx29e>mu{AXwu;+SPWq_Dzh|l#RhhHg#w1MWsCw}DD>&P)} z4vwA^{=kbqil7e4H%SC)FoBcMsq1&-F3g-vaYF~<4_5)_kZx$efx147fB=er^LJLSB{Do@o-8)bLS+}P&7 z52`CWk@}TnhIiesC>y$|cJ)NxN|x+i)~ydul1+SuXzdLCs!AYvz@l72N?Du9q1hSo zd5W{8VTj*_BOx$3P1O9a4aicVHMs!0GYPECf_yRgF<{HiFS?akFuy;?ix$n19R5YJ zIB=bnvQ!^C$0P!cRrjx7^ZM8a!4_8SAZ?7ZP!kEWTn@KsHwU_Ud%Yc$mzS2L;pq|Z zLhpPbAjEeZ5xQgJ?ieo~T#_1kQ~=&oJ2ts}E6KZraS8>l7DrG4X~i_k*COV& zHl)J7NmzEt8jY_@JB(fEf<37$0!Y{7<>UNNu1)-i! zuxkv>%g9Xo#AkQuM^3ClkpO8(gR`ApG+gSrjGhH#e-$awNYoCE4-gF7_d6jX8#`|Nty1DE(|ZLyxN)?aq(VP?h!>BThn zSiUV+BzO823LW2>$XHR*yg*6A?D2yDxj#<5B&Wz#O-RIG9$T=KhCHe$I8a>9@B*j8 zFtPRd0^K6zP2SZPP$R|_yZwEe()I*)6AQ2yd!rt|t$ZxV8mY!F#C|VwAbajbuHdA$ zCr4xt3q0_iR%4ZOJoB%Y6tfg@idn)>8{Ar4fZO}W32#;0zl&G*46R0fgDAc}nfwmi zFIGnR&V;N1X+~m<{zv;+Wvpx|rJ#*#9sXrmEhjljqU8I4;~GBO_)c2!dDYJ&ciJjV zUwMnadeV%)yOlP(Cn||cOO3r_WYyDY3B7Uug-eVB{9H>%DLEz^JxP`U=L0c{WI)|o zFN$TOT+TahlER^^mU!e0;4d^aO`F^BW=xm;eia|D?k;BGs@Fcs)@zU@43=nhXbCre z6*$gKvTUVZ`^bJzSfVB|k$}eUyyfDT>6jGM`@#tCFbkCQ zb_wkmBcszU&vr@de(`nj(m!q7KIX2C^(nF)cBLU=nWT!{zH3J{&KM6x9v%wFaQ(C8 z6-6rcThjBnmRC}K+t-2S$)jV8f`@}bQJ>EM6&tGB;Xi5$Yk%|iQz`BZq@YL+_Jkd@ zB+o7g)<{9I8D*p&F?s23Pe^filtD($(8+|)7}!5(TjzX89uE1F_cNoyyahS>Dv-qC ze7eT?AX4hTX9ONhzizUTls$cf;$75U{qZlDqDD@NQ3&oN)^HpNl8A@-kN|gGm5Zyy zO+eSjW^zq`JTZ39pIbrB>1Z$|=GwJu%jJ5@PYq3rm{mwb!j_JR5$9=z`nemQ;WBVBLx%z$IjM$0BUyClkX9r)zd%IQl zmGGoszYIV+;d2D|#H<%?cDjumL}Jp%8yNWFWVsOP?Jts7X;SxRIyH%fYwj_G2njQfQc>*aMf(= zdY`OOK8D(Q^2_)@U-9)Xj<<^Ho02Rbiv}cgTV`=O*CBoAlDh(M3#2$#7eMb|Ap!KA zDo$@7Yid3{plAV4PWr>i@iorjr@|K+|IyxJMOFjf8i^km?I|FOgJ2G~Cw6>t;@+Jr z=OcFeuZ12Fwmw>%O4mz?jHUMmh6-Lww{32LpdPO=$>$b*@mzVo$iKTejWqj60@7_9 zXffbY9eDrt?kJ)x(C?^A+H&Vx(1PMsxLc-cM3aoIK1s9T1`-07H;Bl*rsOed3i zyhk};B;6hP(+>?l9p^t|_F7t{?8WyYq8&6TzC#&b4+5!I2_EPO@91noqmzZz$OqeWk~S^M^yxpFvIA-o+SH&6!cpO$Y|J>+h z;f%H!WsQZt{toeV7!rh3&jyX=zn;}S%aAH+vyaG0>?2!q7lu59zOxLfBWl$02I(H24D&`GRDY#jL{6|yqEi20}ElKX{?r-$CJVO<&#t` zb`5J?-Bd*(`0htcO}!1DQw%z0_@^u^l96PI)c>^5{4+mr)uq?ht{pxhkI8Akzx!bU z!atzx;;d&Q2>2) z;ujx2tiPqO^|q5Z$gamB>-3PwCwy>4n7AQDZZ^)v^@V;6Or!!5TfQH1)ZBDQZ|~pFK3u;Bl%z(Y6}RI>NbaS6W4oZgpWmN*Jfs8+lX0T^ zA=aloMnryh+dZl;3Fd!TDcYQhZ67GrBwb=>3l*TFG>y=R{i+G>j7XjUu2>VA<)UOtYCNF?-qAhx^75AN@@U*WZgCU|+Hb zG$0#y8-2Hgd^V^5dT;`kVBm)MqZG03VZ8fvovz%`TqpowL<-%M5rjcDI)d)AwxB*b zLkTjbNA+rtCR2ZVD6TP9tbal!U=)2jh1`kFV=Gg~g?XKYG9umF`avV0OgPd$UOoPHaz7#_qPZ zkP)IzRKh_e&@-4z^8)qG0DfPv24B&X-TH^<_QJ9Zw7Z}|ABm10_qG=jlXJgPld`PxvuO@u!80rRpH=bg_OIp}j8%+FQym%Ni8=YQ6o zE)4v6vPAaP=Ir*)H5+6PWm-mgxsTW<{>uiK-jY#wHi|4sMH@;Sw`?IBsi*M%-yFdM z9^^y!lLi`c%c7r64#Gb#?zaDJ)wGdo$COIvo(iVu<zlQ%QCUE#< zdfNQOT>{k#gmSNdQ0;4M;S?CJ`WW1D25w2Ux=6Bf;h+dH8nN2+nHclHk~n0Oq)mzXf|{vzP~dK zPdcIsfo9X~)5oW!v8nzdq@{HiG>r;)!Bpwa|1U?j|82-2b1g5@=8YPf~~~ zbiUqm0aUMm0wC9?>md@6w{iQo1O?j%(q$7QxK3Yt)icM_>DS#Om)RKT^wn!}fvRl` zDZa*a=b<@hGZo)l*n_pjia>7~7=DQo__;9~`|e=l1C+h#tX_%ZYw`dJiL#f@s=s3S zTBlgiQ7mDbunna>jrW?VafEzfy5^}x9`GV(j*8Ot9<4}SbEN!!PNL%O=x3MUj_QXZ zH5>AhO8yJl5}b!dYCM(OHh_{(qqPHMU>b-&c?X+O&^SRKkBR*OUmml4m~mtN{qk4U zajilGhrv`_0D@^)W;W}E5QqPfWVW8)-44S`ojB~M!_03ghf;TBT0&gXuaJ}VPaw_w z*loRP_uAlST680N%?RmFL7+P5jQgXqb5Jx2h`Ah%6D(_I5LbZhQKr7-Hcf(f)SRFPWbP7J5r9xPtqeMbf_IQTl?%BzAS%y&hYItJSS2TS z5Wabi_CO8)O7q6WU4!3m*rAQh3L2^Sc=@WtZ%Fk8bD?N5Xs9n!IzS6s9E9>QLAWRc zAK;8uhI5N6kj=1j5Z1o%4o7>g{a~(^5!-`@k~Ltu%*!javtFNu-ssCyId`0$`&)j8 z?#~8|k~{hGuU}T(b%4MV2B*q{Brd=CdKW-R*Mj|Z(_Y>&HS(fv3OI#n_j_h3DR*Sp zw&vEYjR&RV2!=w2iu5+!t8LJ(>T-JK`yZhwTbluG1OQQ~;~{=ZzF_qE+ETeM0?4ml ze}WE844#qQ~Ig!xF} z6t}>MjU_2TD<=Oc8r!72T z332e-Iawh{W;S3=&}IsPvXiYucXe_Ef){BOjV^fnWsA(y+pu(Q#BzjJ<;!s68{Q7lisuOkX4aXirWkyf=5l2BJ+urvB5X` zCOBiPduH`d4x`5-A)tVYBY}zX?EBjrQ#@2HDaj9bkjF-{9w&Kgo@`3EKydAqkY8s z{g-9uqGsRqHQKQ}>qId*!UT*=NvC3A(L$8wgJRId71Cj-{>s8%H2&6;mshvl#$NUJ z58sw!CYAlpBk{Qq0wRk}K<_$1c%QBOEN}E4WI-HjZZs@0@nQ{@J!Cic*5*r-%XmBR z!9v$C8+i@6Fk4%3Q15sI(#qc;Z&mReIXa&to<+Und-1%wt>d*K&E6;G#&0r%PtM!& z<{okRbG}wqzRbunk&P=y;u3u@;Ed3KzQLE8yoRy_BmUCLY~@~g@IxqCeh2xEb%%O= z2FKpuvqgzCoQSL>p=Q&=H4NBY0C4O1O|Ij|%J0rw)4YEtkUghdA*6Kns-$VPL2>n+ zni_q&L-s-Z`MVLq_e+UpoIIRSPY$NBvCc88iNnroBDKoV49&c%S9- zph*3$E~(<$9>4Iu0@`pbgSHBeD7C%lC3h#%DhMYok;M_~<_S98Tgzc3S4*5HFKgcI zFCl-DIXMe2=&>9fNYe;EmwR?S>ONU^W%uji{F@D^KtDUu6BpqE@65>U*CQ_6GK1$C zrb5gH8drL#<`k%I0EhLL4ct|T^O4+#W0+rDU+U)8pWOHvHlN=1vZVyM(0#~M5J3sZ zDXeV)C3OK#HzL5^HK2tsCNAt`bf1_Ei)pK;O0fH`0h6ooP3?i3C_qTfdLSg4bvz}p zTv!UFaBO~qFW+jP57wadAmLuH$OE}O+w?|1XSz4xh!Q=^7Tc3&amhOmc{3Wh=zz=2 zbno(3ZvrjxwGnZ;IYMBt+FJ?Xo9az|_7{r0%tJFX(8aS7@rCd93q4e>Wz^lh zS`HssxdX;>#unWFlYCSwXFEl<)FW%s^w-wT?vC)>V$H(f-~!61mb|K{NYjy+?mJuf zH&b!2l6-eWM^U^wB%wV=fO~&ovf4SRa%0ZX(ec@6k-_G?wmWp_sU_v*=Dvr*73juc zpge#A8InvB&S0luQlZ?Ng&fbht>k2CcLYO1ZGCbx3j6{mO80HBiqEe$h{<%oN zh)?Xi$fQ&In!>V5!u*G}9sJIr`|r$1cw;kYD+eoUkIB1fizY4gG_GXpkj=!h1ObaT zEsNj`a|VjO>4(_82eLp5%d@vLn|R;a%BH7|#Nx<|UyE2BSC53!%6HMTSeYkhzET!E zIM5IJejz9Z5#t1O4!bL>7<>toQ=D^2U##cCOz|Bhwvh~cDlHqxLfH#eNTONbhwd{_7L%#GZ% zFj4i)_ko;#gWKnmNx$gl=Vl4#BBNSJL@b@piQh!JXNM!jPaR?8#UEe3yt_ba^ig<5 z^!Tx^vB#N;^Ff||=-?ZwZ(YxVAx25%%-(B#*R~K1@b>DWN-`xoXhNzp0#}VjV>s@< zIM)-Y7559tnPKs(x%nuatJbnSu=rA&z^l4Gmay3M>WMX%);Fxm6+Rjj!>%nO9j2;2 z2qpDO{?_s1J6I}SCvF}S6(7W!vpOQvgkv)!_K?rumMrI@MUvXPVnhV!iNcjlupF_( z7A0hzepsow9fPA3Mt!@W@lFr7Lvnn*MtVdva_LO|Lf7@%h=$-=gtc9EZ7cP&t!1yJ zshzK^O?f0w3f~)|d8HilCt*eq`{miC=VXO23yj6VXI-ULEUc*%S+|xzuD6?eEtLFc zxw|i+T|`nGkAEqF?>~v?Y@gON8^?Qy7*}wMVk^Jgww~xF=1#n zNF76a?S*Oa@d2hTLRxe;w+f}e#41^4kTN;sx5&JwAFYw$J80C+*Lyz!8KS_-#HY|C zKWPE1s?l8NWDv$cnJ$$~T5p<_)@_iF8@hlNQR*3?PhqNH5nH4H5X4}YHP5QexJxxeOQEtnv6e+i+- zH_S>m1;N3997$JS*SCfz1XyBRw_$PM+3Zz=Sl18ULXlmi3j=R@T<4M=H5&pg_Qhz| ze=Q*$v`o(}RRlq6M|x=#SZNH-K53>gM-u8$5TS6%u5_)&Kt1A}z6pSak1&*#?~E(D z5cbgnK^uSfO#9sxk29sfVV&*n2!r3>euMMt#W|rysujmmj%R zRdeTa2vnQ1BTbeA4L|v;fjbAt2FsObvx%!e$`GMJ+q)Xj#U}78e5X2h##oTi0jR91 z;oA7Fdd+9kGck?iO^w|%Pg#F^-;PEKa6MXw; z&4cPjnDs`?v$Q~!*MaS50o4VpYqfD>4)d&8RrF0Q^`M=Vphl-j9Jv?u(W;<$-AkwJ zW5hRIiLCuHW|g;s-?)5IY3Qxm&b*l)9aZC4(EVHU$53Fvt0oYs`99@rsLi5=;mMXC z?w0$MLAK9+lKCqsg^qo>CAfK>ST*PxS(R4j8s#joU{hjTUI677WsttK;fqoAhrjaA z^xp0xe(|$bNf_Qh1_S6Mg7pL$BUcg-b}CT4`?-P?^{sCzIe9C z&`H`mzTY(i!*Ec{$#5WL`7{ffxc$wR#%N`09A?j^U!ZtO^$dKx#*hr1sHIfi(<=)& zGdI3V=kVEkOQdkv5O=Olvn~pD@d`E}x3LDKN@N>xCG+jBovOGy9X75#L0JYPTiq(Q z>V+H8{WX1CWNMc5*`1sREZwE^NbrCJ{(NQcFM`;M5p78>DX9qz^VBs;A9zN*WwK)b84 zh|>*B<0!afFrK#a30kQtI<;}n;xJZygsaSU=YLw-(?1n{nE;uXyAHsI*97YcN0YzbBoC!kr?rw zLV(%p#2!V#(30h#G!jBsYDsBBblQD2LsdqA-yNuxU0UXtjm|raF%&d+ODjGh`z1*c zeka}UWfj=rRfMf3*ZatSf9jYmr*m-3&^y6KiV#(i-P~H5a~$2p87K3t|CkoTp^qSc znprMWE*dbOtpAChwAUv<(JwV_W3>NMq;S4?MXc(g81}Vj`Y3(p*9d{>f5mmfFTj80 z+|-itqPr^(MjF zeuXMxmRZ%@g1Kf%>!Nzz&9(O_mR-QaCg`|Y%MplKQ%uBOHv&^U=~%Lsnqp^*6$}Pm zA*s7gUwc@_YCdF)pM4x;^Wj#w+CyE}D_Zi*+zTaeU2^HzT|m_?u2`U1OHyg$zRKN-}2tggC2z&M; z!|Rsd^~{Eeo60UqK7~rAFSO447Yx6T@}t@BZ=uL6HVMk}^$#=n8BQ)bEVwPsX*Y<% zMaVynAA7aLv(F+h^UrheSV7?W`+^a8>1#2Y{hU5BIFswfOnwh6nDN$0^@XQM{LUr` zkKvYr+#B~#T^#A{eQq?M)I{C3#5Fpf|ZWxO+pw)-PqH9~WR3lbbK+9yodr8PkTw5jj+J{D`VAoU|UL z@rKa^=If!Ip@YVan*;aujz1!?Q`xBZk*UvqA3h68yoMUJtG4H_3GWqbGwaA7<|4$b_PUya0V>8r--!ut*_rO zks`SrCNB>hNA8MfU(2|uFdOv1teSW&Hr4R3 zv~JL=>UzNT##YHVr%Zyd)`G@0KkUyTOrv3~obtoV=Dr8m$2D+pX)nIwD3C}<-zrbb zxSRO%rwR8xFOc$JlThDj<7`?WYxGX$FevblXwE8ekz2$w@zx#FfYyZ_-(ZaeO{fvp z4|3kcAXq#-^;AtJJ2hdn(Ak^5N>d)L&aB;fiK&eg0c6U?frR&S>9JW%L62bq+Qja; zudR@N$3_q0n)XjbsD1@H?ueQZ34#`G_`~ek zjIAw^qhlOv0=krZ_kHK)Rp;#5@6+28>8(-s24y8Zh%?!Rh1WuGwqFtF_LC!VzSIf4 zUjChBFTxR!cu#j;W{$IUQT@S@VdvK@oClxVC%J#b*`3PQO2nxbSA5oe=VV$? zx7pz87ua(H(nX90zd!jROctmT{B&3x{5Clc`IMu=IReOh)uWZ?)36ElW~Cn{NGmEw zW}^~vggx^^W_{Fsjisa>@-or(sX|KyO`;H&Eso*JmDg&qhJR-5m8WY{bzA=S)47^C}No?0yF77p(u~VlTox&32DM3Xr2itgJVU`#|&)?ZVDtSLUuiI64-CMYf zb&FV)O>~CtypHH`I{CB7`pAr&6yE55nIU1+n7;We=hS#WUpwZ@n!KTE(UX0mydOrK zs`Xw*n{2uC>E)dT(?YO6Bh+9m^Obnpd+2Z<8pk78bPCV(B-D?0UtYxbL3e+cdB6FL zo9~SGu2}ftpkJ!>BZewx$EK$quo_!KpH9_K$4Nv4J5X@#^XO(LJ0VDAcU-AUv1nIT zKBFA}WxGvz+)v+(Lifnpx_Ea;o{=K6s=Tu@I_l8>1a#$DpyBN8_Beq~=yZ?7V;1{G zH~w`W_XVWkJq-I$5@_H^_OI`JXCz`7-scA({A7C;YGiZNzuXao;=M%UF&gRvN(QFD zW)#bkXQQ92CXP)Enhy|#=L3&#alFa>P7GX-qu;LTw%{DZUJJKf!@5eO7Wttnz!k6l z0ZKWHvLa_54bUQb$QaNho+^ND(vkv=_Z%1iBeDV+ExWEqVBAvD;nZyWR=VRdGu$@y zLwP&us?^p)s{^lfJjbSDax)ur6>H$wd|MGay3_@KS$`Tp{Mr71ZSNOO@xzH5p;kA@ zkw>AXT+J$r2I`w^#Py;-J9!0hg&~}Yd>kD zsOC6A<)@ylGAAO^*9Q`o%1v+}(uN$rQOBx6u5wwNixxV7gYKO(N5|~+0cr?j=NxLi zXIDl)ahwdez<)u0c6CeE06WD^{jD`Z`Ig|9F{Lidl;PjJrz2Spr0{RKZ{QjYvFO2d zCFnXAC%iCwlE0y)v`uqFYXYIb@!zfEj+57{8R6=(dm?erw?f*Ea`{oRoPvo*PnyU1^sp%igX_D^z;-5LzP-r#LHMg>V)IBSxP>tXv@LSfj2JPNe@ zITzGHQ&3>d+Ckl4%>^>R-VTVg3z)5O$XoLfU7uVGKr~1XGJPnbR)Y5X;LXk|`%gs< zNqXBy&dM){e%-IP%s#v=rWgJZfiD-~S>!V|+`Bd~-T?p^q+YY0;LFC)8pRc<;fQGo zdN4Wmw1oieHxr20y|CIwb$kNu`dq78tTPLf%m{kD63juex887JzRM0^-S5FIupnJG z@M9&w8C7$AGqJ4)=1T+z4iB082Fm=uXAUyS-ZnB=Sm+pA8jsHs=?YYAC3wDYDd56< z#SYY3*5&u3s=?20euzWkJ4rpiK@NY1^hB3Ii7#g>lv!cI8xCeJ)vux7V#yWfTvXuqdH z4nTz2-4`p*)~9@_?~HdeAP-eD%{CE1D}(J)0WZ!*$?<(rAT_MjSf3o-GM98Jkp;VJ z1dWl13tEX$Pt89HJDL_S-<{JvLwPf&=>&GV#3m&4KCvXy09p0BG|w|!-CrU!bGpcf z8H0F$>kAaB zVIoYXXBQexe-}(66bQ#3voTvDl=83z-Me9W`$xWi+2Ua0F6s}^3Q|bBixCmMo)YR= z1$k^3XPa*#aK2Ton3qd`8eBG;kPd2~FZ#Mf*p})8_~oZHyj-?sA9sg!buxK-yV7$G z>La_tiLJXIehnp=>(ZCG`8yAjtAd#0z>9YF;fevO#ZATgqyoM?0bu(|i0qSi-%J!T z{|@N^?t@|GxbT>_R^<@yqp^7b5xZf!*pCbjw||zU)>CUGqRFhvK2#`7zgn{cH(Qx> z>MJ*3d2Nl?2Tap=JEre-4C2bC7EK+QQ_Q0(BVK)@3J&`j-)r4T9&cdrI(STxiZK=i1@$Uu($JVVICQ-pWqIGzW4kiK$3QqnhrE7WYZZy0 zQwbL`WS{{ycPl^=6vzT~zE!pQ{K^o6rZ-s@zS#IoCT!i?ZH<-Xdzd?Yd|8WQF{C^1 zqPTxI>F|OHvG=AL-{`BsoN%Vr`S|Hj;=s85i|?&Z+Kr2fi^ai3O^_&qdZyF8b>3#% z7qRzb$cyc2ixSOdEvE~lw7Psa_2UGGb2V463To?L}^2ED3&{?81L?lQvt}eVg8dZ}qlyMw>AE|KVV} ztw_$(OS^Sa!=dQxnYfaF3!Pq}NX?96m`7$VdIs)zuqFzi&TL;1^E6fy1C;2=TeOTT zPcB_;3wtw@F-51P5&U+T(Ba;nh;^q~3r}YtsRa)?$RXxHuh@mypQZ0;j<4kM1fq9@ zi%1JQyF*P2FnyB7jh3_p+B!|8`sTya8QT3(ck|x*=^1ue;1E;Thi;OlUg(5)bGLgw zzTZ4Hz^t96ioI`@wHD8(5nHD8eDR`y>7JAw>Tw$)s1`V?|7bpLLlMcy-byWeLVH@n zWgQeI1GKeq4h~NOO~b;1c+a_EWMtWA+#e7J5y9Pw5irl|ehyP=1(SR2&TWV*diVMp z2G3&y)rIJQi=3CEY{oCP{%DrwSQ@!c#@1+eIgIM8wdAmDaF$+Ig)`-!&_gdd%?Ace z)W}3>5N1&@Q0RBksIL@o)eVQ((sPCKU4zxB?hVREjqqQ`m^Dr(N%V`i#)m%-I7Dx9 z%ZT&leVv0k1K9p}?5b;-u{-^h|Ks-?M+)c?f%F&wg=`nK2U-6k@?(jx7AR7Y9h<1W7p> zMsri{v{pmeD#`M)G^foYifVe@(P2@x&8p&&4-sPdEjA(U6W5k%7AaFOsNm!hio?*jOB8_Y-M z?IZr|1bz#ixL!gP_wnQF{Z0_vgktepH-}%?PQ}_Pw5m7Mpo0&yFjE`7A-}gqF)Fpc zw}(mG4qFD7C7)Y8%vqDUarXA@79&_8GdZH!;mYpr?l+Dy+@;fJSX(aTWD5@FukLI; zCA*DlJi+=Rgdyc0QWKfIdzl5Hf!ne((%;>x1`8`N4;q{76z2zF0~*MQ;0F^kQS*^P zVURzuXR9qGXqnkqxM89hKQx|JoJ_$%nhiQ3Gpf&Z{KC!k!vIfKRvR7N_{6+P(-D`8 zBF$3+e$zpams-w6Qvrxi2wESAV@i`=D-k)Gj|`XZ_}YWtH#j}@98!yIGzuz`!F;Wa zsbMXijhP0gr=u1pgMK%mE{Y%-Q;2eL`!wt)XWO3%7gAnFk!~Hy0(7_a%*~^qZHlUD zouOs;+qYjD8d#tp@R0VeqwZ5l^)=H_gRN~G*e)-Umk!|SSP!}Lp2u{i6@1Oyia?+W zk=s#8dK*W+#UVGixxKrGbI=}@YF0q>?Xx%LQnpUdU2;((MLqHiv0zf!Yi(6k;*xXZ|KaPs{yZb07nFwQ?3Df?iuajbGMWxxvY~7r65^K0XQmHyVLpgop$mK7Rau19OhL zeulzaxUn6S;|ya1FtkUACc$|#%V9*;Pi$lkIKTZ=%=JIPq4f@rx}Y!F;D7zTmsel! zGF2?WC}DBrTuZ&I^I%in4+c~dM(|#;eN?59-E!ST-63b~RYi#)9xgk$aL(uttoGU2 zXCaETK$Rak|74iGYx(%f{9;gEzjj|Jryn;{=M^oc_9M%T$oYr9vZE>YZUaF?yFyG< zROM~{R^L5-e#)wc{UIQo_gXT);!ez-!ImObV}}6gTv3u zZ?2`B{^M*N-o2A}%f!iRRz}+g_5)g2Re1kJH%+8YR|fBKh&xjna07!^gs-*4NzP&L zr)ur0mZ0K|YWAzGCz&*((*jWyMs{|1`6JFVK8Q#ZsD@2Ct~}|P^TGxg9k+dc)i#y? zNS!@Mxh|sI(NfTwu>0Uo^VKt1@ML@X;rX!m8$t({y7P01u2erNuAqXfDk@?!#8s`t zfPKZ60Xnbsg~iSP{5>5WW(t0nsftPqh~STAXex5Q{u(0%H7uZLV8Fbzv;+VU&v^Le z4G>DiXorS{wQjg)78OxK{7REmc8t&m%**wk8yOY;42^*v5Y*x}Ha3brKGLG1qR-9t z&QC;lx;YOr+cO&f^S&3!74xyTxiA1Kh>S~3r80BArOWoVEznnOTzfL9HueS2~Fu8PaX5EiO z9?352DB#(xysYpN4n_M4;qvmxripX~y)lt>Ucze`e6C@$LV_7V4u8j$vffm&OM~op zcb((DmP$T<#%s(aQVaSIiFV@l+wheFHZMuw&HvUcaWJ#lTGbUVa^xi1o+#n+{FRIj?XDzxIy0i;aU}G>gHdfWm zO)TYE?jez=fB+R#9;2kHN(%8Ja-)`W!buxB*kY6;uHOxyf|A@<6G>{H z{uSa2{iP=#50%SBL#3^@hYo56s)*Kk47;>05-)qNxn7I_)zvW;zND`y#KM=$xwOzK)uhJ895hB)m;(t8aPwe$z{Czdc zHFgJ@sX|XUd!!Y1nSk({aU845J`uusnp{f7L>>>b$%}syKOB%c^Pp=}A_iUL7!?_w zHHNx>ML@A%1-t?dO;BjhL47;nTorx7;_71NR}+%0-(@AbKdkDh2$@liO*S*J@Z%WPq^bH1BB6%SHa zXZ%A}iJHm9a^fL=T`!D2Xk@h2+ywP}$R5ZkD3tZ}nV>En8l@ZOn(X1>A;HfOEz1f( zOr(qMGPDc~mm_pWX6Tnf&XAB0i18@6u~80ihMzLBU;kdskeeP@578cReqlpEl@cbS zpng{Jw492H~Oxw6&1ykw>zzJO2m)HO-m9%qqqQiL`lu&k!%w2t;!q? z^~1BpyO8Ml_Ecr}8~ovFU)9MjeClxe;(@rle3SN(KMx;Re;ED9)3bW0PDBP-cm#@~ zh>Oj@7jF=R_qKfVMn>Jp262a?xT!xmx9glFx3-2LgWBkwK>E-3&KI3LF&ns>E(lD@?Z zcX(r$h{(=O#Fu56iQ-77@6IPr;xG#T6G2^qS&63MiC7AGke;ux|ZY|f9RN%cdpJWQ`T zzc=t4;pHG^Mo7SFpZozE?Nm$nXP`-dhM9Q-f2$^VD_Se7v!kO0(mIDjgp!%txdd;? z^MpRURWjxrnF-cyn~fliPlT+9rJk+z^jD;Is~_e%c}&+|@RGdL^SPMu~sM zFnhZ*7qUos6WsY;|3q2AfxCp+U_zf|xNoP59&Gb!fG3e|0<&TN0C7h}rqj-VcJfuTIBMx_|sCB+J$JUq8%wHL>LZ zj8f;!u1B%>_HxKhiTxFYAA-Xk4>xQ9HJEu{d=pLE``;pTw84NqBWzcM{nDMIChu}= z7rFp{3#cu!c!h0pp}hFYQALGuDZutkMX(Zq{B=m7?!5CskLPX%^Vi$SE(FVo%(BVw zkh(L34c1&`?C@tJW)OuyK-O zy?7%nt>D6Y_x5KGzJ^0to4+jsV7)bAWWFh+=L-NZ{f5_<7xaFw6g+#bs~biGT%H~P z)Q;GQPn(=IJUk$Ic<>-Y`79z6oA$f{eWl5QqY*SO$j{%{-*aDcdlrs8dHEe&7yH|{ zHQ1XxxZ-DLC#QSf zN}iv2t%)>v(Xym2`jrv^p!og!M8Jy|FZRdu%j!Fr@hc zQsPl}qjhyX{FoX*E+KJ!dp>=cV+isq(To{aS+Az}RBfevM#)bddR~ZrKk?HRR1!Ol zvZj1;lYEDGG770^Wkq#(q#l=`7qh?rsPSxR+il?kIBUft+FQuTsXx3SP6{3;Plq{Wh{pq&B_!eM7oXi zm0rp7#>VzU5BC&LRwtGc3Vkpd$SYi>;l;;1;vu9|Hy|0FGQ(nWh?Pc5i}nT`-N@u5 zdBbdMcsMD{TF&>4V{j9qT%H)3w!Eq zry6j`hAqQ77VR|R7qR&e-I?F%?he{4`gLP$wNL&W>Dr!uz;)o;$1!H>58d-edzYIn z%ky)%L&lbp5{0e1m>qga>wYi2sH`+^tY#@k5dhTrS0H5{UON zK)pTq)Dc=bNaSc1O&@oD1SgvO;76-1ddYYUWmcs|4%~Sm7Xq?NUO_?Chw~`I58e8f zo54l6Zn#v1waMIG>X?z1(RAqHp`lIEfTdj7kD3dc@Tunhs@d}fG83m7p+EB%RJVe7 zfQt|OoUMh_Yzd&csmzz?ln-OEVnw+Dfqg?myU4s&z>(eztQBhGe z^z>m#Ni1H>c`u$lyAI8=G_0%?-&f&8gVW{29|#u%RfTFX&*OI>k)Tt;p5z26$(35Y zSNHGV=ec|L>I3k>1IR~GwXw;o@ZX%3IS*DxQ-k=-`=COgHuG>VI%sqP#3rD--LBh8>2g42Ji^DVx!Mu)kOSl{#K5p(w;dF@A{ z3CR>Zue+9;pZ{yLqO|jyFMyT`e7J$dDrqR_Rdz4$y({+O0C^b2o^+jj(-N)jo+nA) zeD`@><(tb~VOq-nJ^Pv8E;dzj1!@N5(ffY$b;wIWtbrI^FV%m!ROKa(*sc%f{vfU zk9Z^^0eR$Cx!WI*Af%-HKNSwp|Dy)R2_tSq@BU9LK^Z*%A9`w&gF*^23ZTpoX!zqX zoovQ2{OqgT-gfk0Ov_@M^>K7%M(xbiT!;tkaY+91FoFyqJ*5hNNTH}yM55N4B*OJ8 zT&P-)RWxmimLY@StyNXo-n~6Izmbng^|8k}s9Jk?vdviv+p&SB#~ubICc^)wh?Usj zx(2}a)bp}}&pdMGEGZ=8J5?ntP8?9lNrk6pl?|>pmfQD}S+&V9w+Nh0D{D8ujxR0x ziQ+y%G~0KCG{{E|-q6xwe!U~Pe=3=Ov1{jel#r|@K7jKB$a?3p+Wi==QE|0;Cs{)+L_lX%ao1&2Mboh-oLctOaVF7(_k5!{MTJerF7>g0 z2p?$QCXbflBY#8=M6p9`5@R)Hjsvk}k$p;r3dl*Az2mki_u3wIFjg&nV&p6aT)?q4 zb(^oaovfm7N4Tn{j0jVJjmhCJHs_P^?h10(Q+e5 zDeNA+x&Jj$H)ylc)MwfGnf*_8`mgu@sP}+K3(daI0$)F$9wafBqSvI5Ze^EfebpAMb;dhVxdJ(jec3nzkxWrh>PV3Qwm_gpye0Q zw#e+f-<7T}76_Z9{Xk=H`D%XBrtY_|A5SLw2q*XYI7Rd08A==JqB(q-E7NP)Yn~F4 z-##?g?5RO-L@(@%+a!gbZ-xLtYnHcj=rdd?xoL?Zcb{B*lugv1k{$eN1{*b@eM%WYl|Q4G;NqeSt~6&3h`z zNvS>Sj8WUSJZ94p%uJ;8d%EK=%F7`x{ktmOD&z(CdTChMWAgSD+0M$Z0?+klR|erD zs1h@SJAIM{74qz}uJh2stVGwlf_!>r@{mcjIOq$;h}FagqAO4{>R9KpJdzblLu>~B zGXW>zb^oRfmCVMZ9i3oNpGp0+v|LIATG9#(vWU;S!lQb6vIbjP_JLgG5YpVN%w9tg zbmsSF)i-cVe|SaYzBT19slC6SZq@PKYNLB+Yu8uxDN0r24?ozAKb!s;*Ujk2|L6N+ zMqO9J$7oYbwLR1ey5$d{Lwn+^DVaqDUy{oLd^hM)H9E6jK5dv}c3@0*Rr#lCQU}Gl*zMY?N0)X~Q`QSU7{mkvk8Qe?DZ>eFxODIYL zEL;><0tp_X!MfbTgNX!3dU_%ekrF0@W{LjF2Do0l z`D*uk*HTBHuz|uRC!Nh*ZWxz$v)yeKqh;|-u5BBRa7tK7D7_$|-zPdPlmR-1ij6nw2b2GpLIURkxVR(Eb zh{4SD_ei=?HushuY<%S9RUloo5B;+dWO4;4<7s&XY1=UcN*TidZ}gvlaHzEInqs27 z^>-?Z3=3W%C#9fbW)CV@nQRI_b+3IQty{SFIxraLJ;FGBL!`l&>n^bFq}y<==_~V> zM=ovepj^)6wlkQ0ZZCaW*+(K5`@U^kZ?1pf{SIpa3w;iWxP)w6l>}j7QY++!I@rg@ zDi$90kSJ-*eN?LZ!?WiV*A6$}PP|*JoUc82I&R#sr}_~4th~E(%0+7EeF#~lZBp_( z=kdv(Wg5xUV+yYGQ{f3tLdbZ_34S8nr)LyBzozEJH~SxuQ^9)qi1sZ_AK;nabWmag z-;A|R2WC5>7rX5`sFNkF$PiKi!!6*K*KYz$*q<9%Rdsbv*|BaGW{L~^K0IK&Ufg9rfV-`I3GnDnx?PcC;7SO_Z?qB~g^@^BqkFsQQ*k!C#7$nj;3%=`e>R-Y=nD;N9Eb70g7% zIGyQ(gpgR#>ugdBACZ2ij;jyNZEXuKk2rP{hM@H`ffqac-1&Wm^l?e|#{)uWjAYR7 zlBC^oY@F!7<$Rz|4Je8|obI)CqP(Mxe;?b&+jIVHCb*z{gyDidfT z-;X@24c*?BlN+yT`LZ)a!7$k&v^MpTh>Kd_$YQjyMy;e#eOr=d2>(_P@9}{c=`RFa zc7mu_Hl5~c&(|VUDLdvl6Dg8)l`BmaY7hb{CRKHq#f*|^uwcvBDIJ58*FRtlPC)2D z5xSW&GXy;ES*W&Zkn&No!vtMT+-##o13gO^c;~%;fkZ9_j!7(A6R{` zyZX}hh4A=xk$BPBp%+YQ=_er0L7@_0Dc05ws8v#lXb}x)1e0HXt7xeW*s^XHI}#kd z#DeIAES;J__dFozD13VOIVYu&Io-Vi@hg)_v<&tSpMTF9+mWbJd=y9ZARwviNG*ap ztnBof+8)ucU)aj~HJ{IXZ14gvdJuWd?!9;AOLMm@JBjbc+;82ROI^;AsG<74(nBpI zmC>pjxG|tC4S$`GYl^S5fGsXo=j_PFu1v6bOkTMH-k@u5v&>4)EQk%4-L$iF)wPEO z`Y(o8Ja~IG;Kq%MlYG0NED%ny?MZdv7Arx;$#8RW*t|x9qjH*n!=H{3{15JgGsdaM zf8{KcF|_#bKKh}dEvK5JsX$wMNF0+>*sMkCxI-uAP5RfH_cxDQu4GlBIlO%nEXTjL z-{w$aI^bt}KY zw&D&DvNhkmC&+psm5!rZPIXT3t#VeN@MC?sMGl~3i7v=bp`Vv)HHA2c-_pt8 zl>Ztv!@bmyU!U(pLtsK;Am>@?W^(`}WCR3(5C)M?00w#Xoum2M@==ljS8ILIw%XTP zq}|pO2Z;eT8TTGsbMK88@rW0OhDjGV=z!%qRGQ`0$0olEf>IO$>h94AqH+e|n9aK@iu<5?v%R$$&5r%-Z4 zH@qommoW|*Qs_TZ(14rhp3ecCvoP_0Wihur<*(4E!z}gKNV7< zyQr%&@{E<;D(OZ(w#AKk;ROMwCigt18OfUmA}@>P-9`iatO?HI_ho507((|K{?!>1 zw@@?v+&wShOP?pl@SFK=aPgA`6B3Eti|$;t%%5$s#J4@dKRk?&GXhzIliPzk0IG-A zgTZm2;){0O`E#>(zKn5~HSrrZ(Y4YuX#B~)Lra>2WZ!c_M-vcpZh;2m&N+4#!gzzM zoKS!35q!#-e(=Dw9lN%WOw&-jgY>dMl9>DUx5d87>Rl>Fdrv4&^ROdbp{Uez>UO{v zwvbg$PT3?+mUC-7ehf>I(15{cgK?iz@`}ftf98yPV!qUltG81L@0FuDC1o#+ zy~ko84>e<*Zly(X3z3;~Zi5fs=_GiKGhco0fqqCh-Ol=aPj_Vt=Q+1)HzX^&xVo>v zoq@X{KFKbjOaFCI%d_~Zh6D*rS1rU9bhAv#xLw9SU(FAuPOO!)%i1+R*A3d}LssYU zFEk!eP&2#=?4rwY#GR}jbt`u?Zb!&?*0O_)EKx3yj9tBG;J81FUo0i zR}nV!dt`fO{!<`dJ^!r%UW;^=-1lVntFVrXI2Wg*Q7Mh5OhAz=WnLOtR;65E^zhH} zSAT#0b2<$Ue*2#|p$igeJ&^SB_9ztKO}#h&w=W&q|LBno0e%Xp*BO3TeBHaZE%i6q zNgl&AYY;FsHSxf2dBgEP#tUYh$(q4q2RT5oJdUArbW%ghXOyA6Ztc~KUrJBoP0tHpkjj3^?x1tc~#D`hF=B{Pol6GUM zn)taXWzqqoGWj<;);d!)tTmb@XA89j%U-F?)+Pf%79rt9>YQwo+wL-7>qd;qPY|%%e*!^ldBJ|ftl2Dsy|ZA-{ZmZ)e1M(Lj?i_~YAoFFvwMdlH6`!%E`d|Dyt2-9msOOG?LFZpIFAQ;RKe*Iv0z&9rt;8 zF0K1=;I82={J8{%hw%>FZI7f!EiYx`1vp_7b&{n+jW3Fto2?xC%}<`l8VEwz__3y? z7juD-ro?H~Q(Uh~)~~S$D8+WDA0P#R%q={x-mS@0cYS(J|Eb_9(}F>$2Ge)B3N=6T z&%@32s&v%G(gn+!3L`~)YKw(M4&n5v90Yx@TwW-mdH`Yqy*MhHhS2EAR7}d}yU4<2 z8>grL8J_2-4xqtVP5REE^c}nAQcAHynM_+bXh`)x%b$r`$xzf;vq zjG#gYG+LHiayikvS*r&>xso+p@#I(qHIP7}sT!r1RsrbGETWnZN6GZ}S41sVo+u{H zkAns9rdtm^+mB!iCwB1Y^n2{vXW~aa@ zTBKQ*|6ZZIGROg^6lP|f~qT%uu%6ieUmD?^rMKXE!Pmb zi@&Kbn21!0nYPP-Re4q7hKn+=P{16n=E*BA#k*Sc*yXl5UOQfaOWGP#{O)F>1A0ID zv&bnhUj8Nt&LOr@W0w4o;kzPR^Soi9d!d&e{oc9a#igS*@?EN^8Sj&QdmEajjp!XO zSG15KnXV!JF+|$qNnnQf!W&{n6I==^t*+kFvxL&DiH1s>eQI@we;U5&zWwc|1hF7} z6Yugk%zeCvo*P5_{&8x2dj*sUD|}$JVYlL+zE5CqoUPXtvsBMh$Q3}N(Y;*@d;ZWY zDAd^>Hv8^24oxfG+EeDRHfcb!dzfc%P#3d8q(sCL<&pbOr zDyK~DP&i?$uty(wH-KV+e`9ZsW5=!#-SPf}E{V?U2sniNZ65N<-Ks`+2$`2bEnF@zaH6JmG6S6d05Mve(91sI=KdHD==nejzx$PDrkbu z!rq?!cu;$^+Fbz24ic9L3`#~ch@w#zSgwkZ0A!TF@Zpnr$%vZQ8<1{YjaA`N5FJYM z(Nl*#x7eF&R6d7^e=ErL1SOdspgWGWpf&AEfP3 zl{^kF+1W*}{Ty5N@z*(aqeaI2AkDG zQJUL`pL%sK&kMq&YxXjvgDLW6knI$;UK3vUb5~e+qu(Bx`o9VFrsBW#E=k{BKY2Bj z>q~J$oE&=crS-_6$CIQoDlXPl2LVB*tWoaZWh_|^kI%4`bD)p48`lqOo-|stoOUt_ zd#%^gHZnm(Y)~(ua}%&>qRcKpIyweRY{3|m%ZH{xnlAYQun#b<|LHH7UTMriw2;%S4sm0rVck5CEu9EEu) zc5-g!4e0V%pzY$zIAcQSKNI2Nf7A588J!HzxP&vbhLKTxgxrh$s&h>c3}(`W+ykDs z=AR1fjZqhYUjt|ANE9zn8OMwUG4)+};ruXEf8w$!ns+|Q1$HxWuj#K=$y1$F!mm5& zHiwPTkSeVgV}>jJ4}9add)sqO(*Yb$>d?mV2y3&e#taTkm>I-e|2K*(F+-Ek@W{M7 zMo@?miry6IO~LZ+Hi3VSB6F_Rbxz`&=`T*(%PPwGR^*Ib9=ywE%={Quns_8w3b50Q z(HQyPjI+EW#Gp%WTdK0Nb#FB2Krd*Q*X-H{CUP(#?v{`t|7L;F%hv^I#G6fxLQ1z1 zJuVTE(C6$(zRyGzoo`OeSpvpJ6-^N5+qFlDg+m|R(%k*8gE|TXlZzDi>+4nSwN1V# z(+lcb;Ravr+ew4;=HWe+yriO~86rte)g+=SDA7^t-NwXKRuw!i7TLOhoe7(NxP z(rb29|D^`$Lm&?PkyQ*6NZE%Q3@*4Q9jG+F>p^v>&|}@>#Kcl0OYIyqPaGWf3GuOa z@6^l-`a4v;3?Olpktl~sE@j>a><4S;msYUWgFAHskh`VQF4vGBRw{e(>(Rkn&5*@b zZn1jJNP-~4L<+q7OQE7>op{;U4k!5c^^@xUvp~1Tv$H?{{)CX3ac&B$zZGNT3U!V+ zZhh2RIoTTcP|{}i(=h}!uByj;XHPOK^tgGT=upenPC`f>bsru*-V7-dCM&Qba{lAd<=8Zyd@)%s+R*+U#Q`7M-&s{nIvtg?dW+LW z^wMXkj+hx+udE9reiyG~H7kL055AK82;8cY93$af@ZJ4%df&M+s^=5pJRz=>NDy3R zpdCA93yr9M34i(3e!s5(d9v0{X+0>7c63E&8Lvvow()SpxSAaQSjEPy6}{WOdpyJp zaKwndA^Fib{M0Gg$;pj#I#J9~N4O+KK_6q=p_cad`N<@4SNimeusTFBpV3**73J=G zHTr$U%|`KqZpgK+!6cz$qafX)=FcFe5L!|wZXHqsIn6jSD@+A|7Gz#^BOA6g)mi7& zjBmBR8K>gzD(0Rj2Ru!VUzxa3QiGzSO^y1?SKrUSc#I0w@fhqLjBV$v`-F_r+zfdA zD^IAw7^P%?f!9vOOAp1yp~7|4t&h7fC)N8OX>%MxstpDB`g>)x0*V+wkh;~mvq53_ zhG^-{U4cncRFIBAAW=zlqrFe9M_nznR@E@OmINWlEBCB!|81;6MW=awWaHWNp)`Tz zzqRayJfce%-z<=KV+RAVgr*q>K=m*x_>pM}VJGW;GE|DpVMm)rsl2$?OzDR}W8Aoz zgLn0X1h3~C@|F~b9tbS(?b9X%fiIS`ck;+eVZ}A(ae2Opj9shCD!)MslOy|wmR2j_ zIP^cVBu!zB`|nSsxtg4`J16S6bki=h(x>N^lO@Pfe{I+lsi*)HkRC{;AgkPNV5>t9 zl+|hq;pfiYs~LZ_U02F|o(tDIsZ@kINf@%kb5{4xAAPR(J)r*oWn=v)nmaf3?!RIz zk&$`b=Kt@U7%Lc4RR}`hn}fEAod?&+fQ2oM)vQAN~y;0=xY; z^PDe!)w(Eoz^0(aFd;wbB0BWOc(p?8p+~JGjK;!S$xh7%zL$SqU0@Y^q6nfmIhD-- z#(<*%Np)c19fe@+^%h3!uR-|1J5c-0p)ja)MyO`{n}{Xp=GGQe+z|p*=q0`gln0?J zTZ$1IRD_b$_w6Tx#0I5^Wj(ir1!Tp=Z$h#6OTq_KiVgIPffq+hgs6A#h<6ber<^l8doUAI*xg@akwJfT5%Lm9$xo~E zMFy1$KoBGhC`1ypY_;$ex}@0OH=dg*Y#zNCNJ6*%&Q|~W-v)r#_w3#`?p!vH>t*wJ zLC=U+2-ei627HsS8~>E8o{;oO^9n%xOjcu({kpz5NaaI9k^>UhMR_&EC8sQ^NEcc% z+H+9UPc`T-*`K;~b$1BMpo5|gjk8ktbCnjDY?O6QB8#*{p4IH{g}HNa|KprMmM;pJ zotIDAapQVFjcT^nau>BFpS?s@jQ(4=6{o%SbP34gby0y7jIE53@auM!L$n%ERf8Lc zz6v0R+!XD);D(OL==~p2)>8t4l~NihS?Hg7Y3k0EHN=UsJ<5nYHL%1 zB1smI>ak%L7YYtlQ3QzvK`MYM=H}m-RSNF62oD-nRj83Wz(F|!Fb1Ldna{Jiuyg{d zl;%)AXHAcuR3J7!@d%H*D`rLm){0G8nd$AXnd&u{%3i4)AD3pl+#hfOs-{R@H$m;0 zB9B)dJK&JRQY#l`#WQ)?p7YJLf@qJyU287Op&<3^T*ZaB89km} zT$ND`OTepF9l`ApM*ciSW~WMMNvAn`@Ad+fRGBNJ_i*R&eW|eTe;`>Cg)}IB--qHi zsOVr(O0$=m;YoPdFkyDd?%1s!&mZhTNwwEUQ}J+1GN#qH&Mo2XpB$_H6lpqFHY${m za?hvmA-nRv%-JnyFi>bWY*@rvkxwn5iE`AZE#0g#+n{WL z6{X0CyoyPHJY{WAhR?i+0O;|x@me<8k8 zC}XH!|MLJf0v>M^uhk`}37FiIlbC>{34tJ}nD!QAA%5g_R(%YVtoQpVr(eB#<$Shp zku71hucxmc85MP{hvsGML(+FL`gR^$<5WFBb=$=S`BmacJfelds* z6K9*CCAuz5NsC$zvB@geNux2`L>wH@%E#oW#~d7hv@%4BnurIaG;l&n$Y82W24n|E zwXrlW!h_&D#+Dox?Ww;E-_^ip5@TkF{kYmE9)t*~*{8!Ef#(J>Op?m>*fkFUI6^HZ znH%6j=iiC*Ge`KyowjgfyDf6~Hc1h<+MI?$h0zoD}oEp~o}$L(_4 z)PQB4g3DTWEq_^hudRBG)HrqcxP3nt`6hZqLVHsu;sh2f1zDe31vP9v3_2?Aa}(=b zG0@hNI;n}MBERqZgyXDj&+>z)w3wdK3w89@n@+R#o((uNpzKxWwM!i}3 z!|u03$YFokT|60Q&c-fX&U#pJRyFs2hR6CQBFB*yt$FJ<%5{j5m4Nm33bK z@WGE4I|ayRW@W0F1~&gbzlytvDr&kgvE80da9F>_eS!YKm@zBUMnjZ$3VR;0A33-_ zEBlg7?ptAFVEUX34=7a|a&!_fND`SxPn10F@aJU45?9app-|13+kbU=h>ZN&W{^VD zaz}7TlJX;Fg+X9nW|Yjb>jkVejt&sE%x`(2IN`4^1jc8WJ%3IE!EQoYS`=6LfYsZ> zP}Iz|4lBdUOAg7wKR2ECtviBdFaUsNYO!`rs6;KhtqoL4kP-F&SrVz!$)d0}I+5JH z?CoScf}3H17bjI|>A>fq54T6w;f zDbg3VxJAs#O`{Ws;JjDxb98Uw4hJ_0X3|hAEa|Ud0s>=*=X%~b(M{%oMwc~vy0OCH z9o^mcN_R$&my9@(W;k2Hffq(7N@TQpua>qES^NHjiIP@EmY2~KTjR9QNSY_-#t;nK zu>k(sHqZq1bMg(Pgh7ZB)=-bFJdo{AE~|dM&Vol@vr<>}4htI#&qyT%l(0D z_{Fx^5e`x$CIy5YXQZ~Lvepo0e8~ghPz){AE5CeG_Z!69yFOOPr~rL(#{XzwEqlVk z!eX+*Dms2&>l2Ct($u=45FQq`2vsrncDYT@uoFA^GofEFu~wU67%Pl$OjNq!-uW^*)h zZIm1dVA+yh7?hhY5(;^A8bB}4D^*XQeTQy89|yXewLC*$cL!!K#z?j{4TD)Ym;+4r zYdw@107Xy@7d;j?&v`GV*7v8Px!LR89_33T_0@QX5wYWvUfLXawVdOTAV;0xPnQJc z1EZ@wJQxF-I=OKd(U28IL@7FMj^^{6=B7KBvz8dky65E`qQ_h%w@sUT-$R%U%Z=aJ zQtprDSIvIM;c*Wi2FS~JZs%eBX9Yu=ZwmN=dbXMqPD~+a(RH)mO9^nldWGRyqG8Vq z42a!Ha}Hr@*tnCO01$p(Q_&nHY#$BDok#2sNY3&X@o|+loHARvIpb=frD^l|TEkH@ zzEffRH+o1{Co=~E8ua$kj<#Yrh1q3g33p7b0stoa%J=sju*3Q4ZxWUZw(38-af7M+ zcOPnK2zb7>zQ?MjL{Q+d+Y6=$#06e$>Qo3T4P#A7f@GKLFlc_0 zV19QwogT;RWgk}ov&4#gUl)_V%4u#%xtsXTj_L<>xgnoB89sTM{-8~JF-y{g`dn@d zOnnVtqG2|jf#P?9u)2K=E2#;yHRBVv?DHGMjF7RL6SDTPe5H*yAaV81uX?5%uEwj` z3*)6t4tu7SXZwqWou36RTqH%2!t6KJufVCwuZ?P{5ujP*;Q0DRpIC7W z#yfm`d$K--U!ZBBJ4*9r>xAacy`E36P<_eOWoa^{47l z$7wdk>lhlp8jqhYD6q9cQ?}DI`JL9Uqeh{scSyTA(w78;`d>KrD?fB-DFVjLBGh^+ zLdm2+N(n=a3x_`UVO|KDvzZv@%+9u2YwJF&5G&|4dG0gCe8r106rf?8W>1xkSTNR= z5EZMeLOhgo>D&redztFXoVs``D4NtrMyXbf!>1!IgLR=1E6vOM$cRQ?U!NQ!69+(q zMXL$=LS!J>u`#J2BnTcw)F~vrRFc1c@TyyPqBGdlV7AR+mBwK&UmvvJvxJ!Ksc;qwbb@z3^*pZ-!zx$#4yu1a}X}gZRsOs03 z?O$}f?DwnjL3~sJCxHhE>10cMlxq7N&{KlinlXYF$C1d=D4QCMA1Mwz+a;s0E}sX#T6mZo45e6lm$IyA(n1i*Ly zW`m7^O8!nG8OlIGK>>HD;&e4$n3CAYtDw|D!u@$>Tt*h;08Ni`z8Tcv;WHYzroz09 z-kj27lc^vyvK-bH0M7$wq2+-}!m|ha2M56xKvfkwucWwjrp zPfTbUr_mrF9Rx){Dxm&`iHvNwmJk;Nt@&GmK1b5(nQ84=w&azTsy*I#dxeCg1%Lnx zA?Xzr5RYbLV{4<&(clGpo*jK=Rdw!5h5A1dIgn^=4v!Bk{t#U5*0_9kRG_nF`MFzOufXC1B7og9eGC zj52qsWJ;aRoYcSPr$<g_cqq0$Glk(4 zttWy+4{oS5c;cnJN>~&WKvFDj+NM~Div0^O@V&mC6pbcwed>2&b(e}OxT{Pnu)n_4 zl_V4Uw`tk(Axe;Y-{WOyR@oJ3X{E&wNHhpkl$4A!-51xgpW58^AOto&jJUqDIMFq9 zE5UqXd~~Tlv2wCuh*_quJpY=-`#dzu^75^du!vitqKAzL`kObugYyT=Pufdi;n3>+ z=lcf5KGw>-#;Y3IC0CO8-SEf zVuyk~T3ZsY7l2bUmRHle^1f!UxsdSdPoU@p8uEV!_fMTd&V7R&8ocZRe#2icC@wBr zUfw7qZ`3w1A>aL+`CWa4-}?}{&Jy+p%DSduR6dKcy}gi@nOQ`&1Gb#-{b+YO81^7D z^YG_y;5W`&3F!?33|Mx7!2E=-9YkERUxd=x9PpI*s>NF^&=p2THqHozCCj{2EI9is zuyZQ@lII*Z;xQ#cON;Y+1w4i#LZ$=4lrScmC2Yce2N5Ifcr*-(iv9O>_m8b<0#hf^ zCJ3hByHGr6d~!@Y%Tu=>{r(U1PsQTpay;15N}#gn|9KtznUiw|Vk&2TAP*pp|lnA&&GL{jb$R*go ze_hrK+d*@A2bV7}vPYwmxaU|>fl+#@VMKvzSkAM$g2?57xGFSG6r%qlzY6RS6P0@? z$5+s}cGNPzT9>#gh<*)FC>oI`S~H;}9GYqVwrM&QmAX;R>CgW;+S@pn>4xan|9k03 z$$@KJmyTP`)70%7=dceCW)7)e@|pzmZmG+(tASfgf(%LpX(8h6G|E6IahdKIG|#`? zif|aF3;Mwv9tk)nu1*dCY%E)SM>W3SvwL{AbKLr$T*Pk?HYsOC?9gvXXVj8=!g4oE zKz=_5bK0>y#JV>B83E6PqhlD8aV(${b*aSu(52it#j?wc?)q_Wf=x91^84Z!sgmmNB zl$4a0+Gep95B9{}z}8j_@ZF!y#l?jPn6cZE0~=-qJ)3L)%y1s}aQ$=VPE8Wzk)ih_ z@YfG9S(S~OE|WW+FkrXJV+afcpDfR(XfaD)ey6f-uaq0op-b|AzH%3%dH2KpQ!yD- zRl)fhQ|~fsH%$taq8VY3`ZceCl*s}8JmQmTX;j7uLDdQ<~7bYZA6Xd9Um zSh@Ook92{OQxe1|corK4_p|$4x*S1bTspc&fjh;l6<}Q5E$W8x;+8d``R*Y&sy0R= zx4#;>VI>DvIZK5IopPxrEIT?C7dPjk%nnDFhyL?`M`dvNZyK5Cn1UeH3(8Un8b}jO zBp7BboSB6ONxc*m6@j^HO3eDu8kPq|a5A=Ao6sTQybKR3(jhp!U)8@D*W$s{iJR2T8 zdD7N0tU~Ggnuav|UkHZt3)>E<$UzvH%hR@TGQKjm;raCWbJbXaa9PB2{R2REF^Q@niCbAZ4bgD@_y=biX%6&YVPUW<(x5 zA{=QiIR`ut*rm;=RSV^T-+pFvxvRf^f^qb6%a5>#Lc|RE1f?U@&Z*&Ggv=)- zG!nT&F+d`~KZMkD-)-}mEOD)XQT0!6mMsqcUc>T`-0w#EvW-xfrT8lL)?1WUapkbRPhNF?_Lx;{%_{_D8p6I zeXQ==Wq-D6#tq7Hyr|KHXd||unnn*&hKp+sh16EKfk2{mJ683&p@?3*(W&z0N#b6g z$cBC}iVBA$q)Iw_uZ2V!99C41MO5G+b7{?CWJvCA1TzS(PYY07f)Gh`Wav@s8)gH; zmx~5^fFNWSZfz)AqX6D5%?)vqK21SM1a$HeJoJ&Zi_3#r9BZPjGzDe%&VIhhd22vo zX#$g48`#>P4IuokK7T$w4;cbvF>yZq0SfMD@UPgP{?pZO?nNz!;ds65n07Qt)fss2 zx90SwvH=`^`#LlXtcf_SBiXd=Hozx7a@QPV|DV#nJF1DGeRmP1NK+I6K@bs95CM_i zRGN*VNG}no8tKx@qEaoOqC}-zK)Uo!C{m<@(n~-}q=e7|gkj?k7D z#T6vPweUBga|=f=x%S6oO<23O#Yr?tRA;@+pO)6}*fV)75wG*NI{eh6=v? z*fy}Kfe&c!4M9fwIgnDJ-Kdb7f#i6}P^umez2$IUcqnVFK`yt)acgqMf@=az+`U zX+%ou!okupU%sV3G8=$tTepy`vLxc+ocSTLruoHZF7;1VB4;R__z2>J)HH3Sk>!HPZ00%VKPVGDBiL&!s|h%uOU)ckT7}O*!T!JF9SIr z_#hKuK5=PVOr?B}6vzW!`3xvpZ*Bt6L?IrRHAxeR*=Y$<sl?;xC4e7byX~1XXNH^J)HtQS+F#bba_>*#A^lF|i-Bs*m{w(o zU?LH}`wmT&?lw2WYcT3}ZAUPwK}XKIN88kK;%l@cx{?|#>MoU)u3iA@w;p+ud?~LM zk|^e2D3L{f6xwos&(S!F-!-UqO5m93ORP#oY+;~bs|%6m)I8v_Sm;>10rwil#LHG^ zAhsxr{VE$}t2-fhGRn*>YJ)If%i46Oy37AIm|aj%FuhJtt{AiFe^Zw%N=8{&pgWt7 zjV&2i3oZvDGBPsx%gtfF>#aJp^|uiMP@uiH$Xf+d4!YYBSa5-*<>Gn4cUf>ClXVY* z9Qm;YHyQ7i@?;hxUKzq2AI5*d_`sCDbyT}v_)4ob&~QbY>cs@9!Zi5}oT8xlFp-O* zPmRAg+raPuJ_K}FhdG@haV(Jrhwh)B@B3@j~KBO2%;8XjGWVLgw-G#jxbA6dHP2-MK>XnNN@BI22> zhKD_v(;6l(Ze7^OYgy8z#I&~bfbh@jL{OocIh=SNL6_3?Cn3EWnKQDeDxodk3~Z)R z9oaj!Iw-E2$4<^xSN_~u{n7I~+_C>X92m4c?GzIlqx(WjR6nuQav#1#KPNIhU}aP!r!UUPLKG^TPAIlGB^XIt5mnST}w{s={u)dwZGm$I9(W$+Vz=^;PNRsQMa< zAI$?f1lE+G0DiTABO*rlWt%?5uWIln){BH<2&zQ;(0_T+>@%>WeZ@HvUWKG2CA%WQ z;LamHHg>8Y8G}i$LO_@b?S~JGpgXyb*VonzcRX>|`d3(1G{A@kC?(p|>g(5>pv>)v z@jvfB<-7b)TH69YiuXdE_)ghH@5+}WU~GV)lzZaEh{$NU=L@Z8N8aNQxp+3KO7FgL zB-g4^Nm8r59S&`n3>kBY0JEIP5WJa8L44*B5nO1~7)C!@4oOYlbCHz)=V-)|KNwHT zYXj$8CGW@8X`I#KnQl_wBwml~y)%*#+e&}HRrtwQp<~LE%R_~&u6u2(>GW=pHwV4v zPeM+KK0`<(qhM`oI`Z_YzAAfjTV6im*d>NN_emV*xm=ts*ym zlsCUmwHLQ>o^{SH#~o0mNN`jb#1;B?W&Y3u(`tX&e>IY1ObBz`fk|JlAB*DKEOG=& z<1LP<$)BEIp9I%dcziZ-zI1=YW>7}y9i^-NcCawd0-Kx47+j?YWmTrz?&jZ~s8Pj^ zP~}0|lxf|`_@#W`pXG-DOuUl|u{=NvpkGWL>gL&fC;oePSge|5MLouj4-61LexB#Q zb|Kpr{d5sI*(MF7!d>h0JQWL)HVF{0<$JzaOy&3UsO@=Cm&|&CuGr^y=Z_!K0@bTG z!9$f;`Zq)`M_y@&sQfLLVYAIyb?Qy2aNo4~504kOe< z*MaH&1p;Dn&<3GualK_YReI^~wP}zX7)j$wym&JS++J0k(=ScEB{)Pm0 ze=^b9g0zdpGf9&Wo}2xd^KH_B*8Lr$*fZ06p&*J+Ue4O?)bHQlr{^s_;V}5Dhlhu` zZjfSlM9|UZ<!|A=>qmaC#q-v^3mEx59L-G^#BPy!czF&+X z1RUSpMq$bK&wrQbnOr{VQqomhLLEY)^XQSj`Bl1ex)_d$>|Gi(xJgUWvGYnC(kT@ejIjc zmkO#LK-D=$`96xmP4yca;rJWMb6(gw$sZ1>p;iv``%wYR*Fs)4VbwR|?C%UjTjity zY;_IGH5=Si^Mi)ezzO?6?ZByrsGO(z9dcwydAd9=@{+|L$bx$)M?8Ch6v45d9-5hY zw~UbjHvum8NPloAvlq&;ppu+3*B0bt84$hBi7xD+H_4>|H2kpTvu9J~)C7+Cik@D- zF)Dg;+xCp9Vg@vl#_}Nk-14q8m_DGI!cWb7WE6kq{kVLoyfQ#eY_{UJ4EVa^xn(#^-{-s92kU^=0#tW_kRiQeTOdYV@wd5 zh?fy)u5JG0HumvRnM=<_ni!poe!$9P)ThhOOxr440*9AppEtklFMdrSa!$qsQEhuf z>T$vpn6|adm!ySZ0zD>%&dHBt<`lbic=)7RSa2UsESXV}M9IX;F2wmH({|ifMu<4+ z?;$rYT1LujJ!7F`cz&N%`{6G^#UV4F-{ek0%a0xKO1!D&&{W}Ar$nsfECy|?9mm%! zQkp6bb}5s*I+2i@P=%IFP>jVRkd9YiPQ60wQoDCQNfQCWw>Q0sBdn}pTW@p4Tg$kIOOO*nV7g`x}~Y^3u5d%wFW?t{z`jmX&- z7U6KrdkvX(+qNXj*;Pex50leZZAF{)ym=P^^7#+WnhCD)IICoA1F%zW!tIc&;=;u_ zYHv1@)#D!fja6p>n3eMdNyd0->_|{v?aW#K1#Lh=w`?`v`?d4!NH%}=X9tmnG#_74 zAo|9=`eM(O@~YufPcc30hFpq`?i6Y$3b z6FkD=j7-lv9Yj5>HyjbD|EXd9*nR3MzWKs0%%p9p`c{1NC|<(^VNAEQsgX1Z&9r8o zlb~SJ+WbLe;jjtYyuW~tltn#4-fjNS42H-wq&ESReOU9C=dR+9!Rr}s&HuJiTZKbm zc8-P*G1Wv?ln80NyARPxHosQ`nqs>zNq!yvRi2|D8+=+RcRbU1BQ={QC;x-uu5R$3 zWY;^4*?yr)-0CXE-8Tz!w4&RZDra=FuN)|%-8yo_=R2-uQ#g2O4PM#qe<(6lcF!sE zIs)f9SM9$T4NADNb^V=FhafN=3Uarf4e;Ro4`Pc@-nrqtgh9)pa{v_9xOI#3fn0ps;O$qFv0kkG z`CqNW>~o>wAp^p0{GmQkzJOF)E*>)R7)9O8Y#*dxX4XhW&tq8y*qqO zOiZ<@o}IQ4opj(cY;4p2>lXw&WzVSzW|nuACvYs#N;fp5;9lihZHt{P-*Z+ejq#~i zA|~aq(UB8MX%YQKzEJyzB`{+Pz)ubxGR>9YLKlfv{t-6khcV&15Z4@2{PZQomh1#sPi3Uny8;6AW5xoahm5Rggvw{5q?K_fX5WHH7C{ zofSD$-Mih#M-l_r)jwBl?Q4-Tz_1A?B2(M`LuOU4C~F!^t{vOv9qh-O1+Rw@T=xJI zFAx!j0Sfe;psy;u!wi7%eekGC0F+!Fe=M@K9J0pf=I$;HEP8Cn@wHpF8LbQSxp?%k zXXj|qAJ^X1hWZHS*sq#>V)XXWzu2#C)gbpLu9 z6_zHQ3XG@$#Uv47dwUT%ZPv!(M&*3zyQjghxwx+eB(y^J_xJBvet@9S=#K3&U4Em# zh;fZwu<_SG(-f9dpc$-%iQkge7!ok*Z6ECII}d+{V=0p2;xhQD4&E5?JPuzSq`}qq zh^z%lbBnF(J^}ffqUxaQIuC=bySKXqW;W=$NXP_7XImZ?t}R#HYLG`ZGYccE)zc1iMXJ=TR6T?nI^ z>i2con$$6xmQDC&cLbYVx0>^HSET9k_+IouIbXqOZVWn06})PN4%>4-Axpf5EJ;yP zJ!m)~W>T7T22`3###VhhLQ)T48ArCzqsXGfY02z9;{eY(hC&Ce416+T@}~d8T7LPR zC#yT-*BqI)dvpXR;k*ysCty_85Z(0r(%d=m7ip?8Y+XS+32}_cMU_t6N#u1!%yp?_ z?2N`f`X<)o4Ys^^+ixy2?r-_o8J|9THtD7?;ie#!7ZCmzK#m2Ek06y4a}xxN3)89* z+iy5DS)GCWcA%5vhkWy$vDPUuVE>a+QgQ^~&aW96b^8(1H8{x6vN-02z&Wpi=V$qu zRX$cDI(uTuEFW6|C=|oCAwEg9orK^0``@S6^in_^K`jwc1CV0X1zy$x5oz1p`<{O` zq$Oe|0p0uPjQ)+DaRe;g%lDRk{=8Sa_smQ&U>$(gy-!4Te$oT5xuDNsU`j*9BW0!UW`_PiC2u8nnScwCz?$9-&PBt{{ES&$3K$?7 z6DV-;ym1}@$ucUno<xzKvOO9;6l1V)R;kt?a7qH==4 zhqiT&x@!EfU1J1zTlaL9MaxvxmDdoz_Vj73J&ipFL*7oR3NN~^3MohgR- zIZ3xXqf3j@&LK5}?p!WdiuZ0a2dcDX;Qpr7H+*Lz`mA{o++sP8E*$DEMw{@TR_#7P zzavth2a;Ud6b=FVPG*4fK_o94*sP{nF{plWjBctBdEt|KRMoR64su!=Ee{`a;r0Mf zWw9V{XLp8Y5Z**Bm8MbKQe1rqE-6JTTT8=ZOc`u91)$lP8D4;sF1vVocvx<(t**Wy zsY}8DB1cCb3Gozh01$Y0cejXyll;yB6!h2ZY)wEw04w2?on8CxpOl>?g=M3uZEtK% zWgPSe#8Q(zqVo3Cw0GUlHLFcj(1y_r1>Wd0d0|%Q00421wCVv)P9RPV8sWk~kFT-| zYTf+797r1TF$khA!V62VL&=&4+_gZojLJLflUhUVeCq&RxMf3m-?e`Vbjw1e!bI<} zRdNyBg8r-JWY zt{ty}76O*@P0b9rULNT!X{E0% z&O5?KgBrk_0>9sCbD+jNy9z<0B;;}v`;4HAiV2vzjNbjoF4oi0@u89RA6Dy_2e~2h zYw(<1&WeGk`Xl&MeN$eW_!}(sqZx8S(8LV&dUERd%gr)%YQfs6vAJO*f{?n&QAt!K1@uT~qOQ358~=f2@9_bGvF>uU1_ zg{nsZh|&MxZzR7@N1B1Wa%|^!*ox{P(hlF4k$;>&4mBH6Vt^b72?_B8h#eB-Q+111 zcndNJscXogV?XIfN)+?Te<>0R5IV+jxE`nk zDKRGwG4f~|RZuPSU-`b7$n_+t@6PaEy-r3d7l$Q=?cp_gwP5`q=(n@o0k09k#7i&d z{}%a^EQU{@_XmkG)dR$+ zAGG{N7aQA@^5^2)e^;I_(zkfS-T#+$VNd`a{b{9%KsKhawP0KjDJmu9I4l1JsM2Q% zST&@t%*MOk=X)Z$&^8Q7xphOKu--ZY{DMX%1=SM4CL~$Bd3&PJ zsprIso^vMe#c={=e7;^(duwF!`Ut-Jy?so=kEQ*IWk2*5E1nPL`U)9-T$~kz^ z0!B(4XRfk@fur&Ba)K?+nbv6*?BUsp}{G z@&6p#6Y`VgL};M8)1!v1oMau%@wx+-cUM7Zvwxp6c5GZZ*>qE10`;!HsN>sX;JV+u z`rg@f^3QB&HB~Q|dv_Xe4EF<;hX~$1;>!DERUgUeglMer0*1gvc7tw$ru5MCA^cq} zm0`W^zL~ji$6yz3Q26PJrK6!#G(A6i#3nVMKn==Hl+di}BgT_o#V^r*hzmx5exM+( zc(XW|y^~$?clH~= zf9bL+8SlLq0K#aDQPBYA;Q(U@Ny!^Nm|pQV$tQ60Qn7jjYR)-<#Gf)1)wwm5!Rd_0 zxpt5ICRi-Vl8D>u5{n~#`dJwqkVS7okncpiEEF=(Bti#;cbJU8`hCUo?k1T`&j~T5 z?vhJ&7GGP&o_!*wff@9WLJrb|geNN69v4^~(-3^mmBp;h+`C9|%M zkRAp>3bwo&5v=$%_hVQ@)hON^!@}@Pl;zvXOp{3r-^v|TJ)fr!R?)lt28)+%2V=cQ z1L4|TH<99anWU81eVsnmw|0F7H9Bjr^aUC&cmTs%!25g;ov1yf9%pD3G3tpg3Vr#H z+ey_mJ~_O;=RP|fEX%ylw9w&294dr%NK_OAkZ8!pc|8Z*?!YFCX?RG_PZp4WkPdQF z;CG7UiVE7Eudk(16fJve56+m&yWaa;a^MyS)y1yD9jyktQ%`h{!4VBM{V|b|-NQ(6 zVc4JZQ=$(E!+l>k7?W5`j$UqEzL`{*Z2{6YydIE*2RJXAlam3g{*3Dt3~}6%TmU^M z?Sc9YgeDFkzw}9BY(n;1r@PGhCC;5|TI1Uf>^o@l<-h~zjEIHQ$1-s_ZwYN}j16$Z z?d9Cl)YupW@+sUYxWHX`1x5OU{%j`xu$pI0Nn4% z5CXy{vLb#g444IGAu^l4#dlK89`Rd@ADU046SX(%2cZx1q_fz#c=a=e zEWSB>L((ZwAjyH}ops74@%Z*A`kvj%S^3?uKW+-&E}Z9FVHL^FT# zkGF~eb|RlflCQb_PPXcH_B&JK*T@)Dubg7YJ@EW@>E65CtmN1HojYyUI|y^K2X%vA z#Ia7FyO89iL1nyo^X8S&1g1q=r6WQwqUbBbiI;&lfwn8T>y-Knq0iP?#yOm{vu@n@ zb)H!1P2dE+2k#VM_usC$K0os4wtIh=Pt8VC@j>+MO!s0GU=&1H1|x`6;m`#44pt~O zTStoU{$6I=hedDYrik*T1u&82>-55ts~${($_D;Y6cr{K8wO1NjQw^1lA?!>;#Jh> zs|ySh=)Qy>=p8~BQ1xDCj{*yp!3T2CB*2$VAHvoC01u0j13^>|essUxhvuVXj*08X z6&1~{Iy)xX>vsC}qAKnZ7TrK4iZ)^Goo(Bj9WJF)YXvS)_ko?cg};KjZn0CTGMi07 zG4xSf{X2iUUcC(DcmFXVyFXC|*-a<2m-eQxGpW)Y=G6kV2l8m;f{Tlf517<!h-X$;n$*)w5D_jJNC#g;qOUSzsNRLbwe1_?QI zary9!{g>p;2c8T;@_Q_5+?EzjG&BdO1+mn+9G<3MnQ1%7^v<*3Zq0{bILL={`P_lX zeP8#y9FxM6rmFS>-c?c5KUN^Ste|UEzf~LkKP>}5D zx{PBB#eL(i9U|w1l2hw%$+%Blf;zV&n?3GORj=I#QOfyaan1>AR&k2SYFjdA`+gxs zMHkL4jBx)fD9q1xMJe?5f)p2d71=*1+clkdBt$0gc~^^6GQFLnBR$KJi3)fjx1s3X zd=jI*qvO-mh&vXZ5_H1pN4-?AzjOhKugK9NAvOm(F)LD2ZmyUe;mD zO4-Lgwf>k1nA7foX!6U?Lph(Rmsj7?Aez6h?DAbDh%>7O6(;-%#n7)Bsm6ws7-DLV zaMZU$>z^%HSEFj<9@n3uhYj9N`+jtZx(uSmx4vczL@3v8eAg7&Fn&Si7uM0cZ2HBs zcqYzgJ$Vfn3ZL-bT#Sl3Bx*B|n|S30f2dKG@$Z&b!tYcAyt8(B4{*&as^5tOJ4>!e z4ZZ(R;P~*i;1`xMg=**d`enC)6yEk<*_RX76z-N{Ho8)f>ss=xJ zdo_-#<5KZ+#&dH_Tn_E8fe6cwMg9JLH^H~q_@1-t9Ja%up$eUV&`T5H z4^lZegbWWx0!{ltwmOwI)0dIF)JPSS6U#Zq%`M8Qc{!G%e}EaxG#V-)9vk)mN3kc; zZ}tyNbt@hRwhF1KsjUkZKmN;GrQ%XbwF0+SPmu*tHT)EY>YRsEnp)M=X49;!<$*ev z4?@HHnvS2ppRx+?0AHktwNWYlZf7(pLvx|8_JvWhs! zZFkGPWxHEMLPFOvfKWV0(xb~BDJm*54v?W=Ncfr-P-7qI3#1Ra*p;Lz?J<3F(V~i% z=3G(gE2ABq5SpYKP`~3RaZs%_4@hdg{f5ZS(H1p7PAFldhM}n=7jAwu<=EckoFTp2 z>w7*TT^P7B($T%5UH()f%UnN6kxhK!QafQ|`?QQP?{Qu9k>d%2d; z*R_sw@fcDFg zoCSo8DZV3ZgRI^zx0jdWxt4=N+5o&xJ4)Mn=N$RJO*X12O}092XErzaVp?0TITz>1 zii;)a@2CtRz_||tn9-jUbrW}04y z6l`O}Zm=K~_Rj@WkCFm?W7>?<0sD8S=D-yh)^_g83tUn|XU^#MzwwlYYd+3&L9<=S zxaq*Q?Qb>b(yo2diP6SZ3R{)rBqp%*QApndNm~Ks(o3KGZ7uDNfrkoEW=ODSI6bt} z!5a;?w(il?(y{@Enu2b-u5ShSJqx?DM0XmxgRPA$-ouwCD|I)=&3bb*MTEXPtz{so zC^{WD#3saoWGJ;fy{nVoq&0yn?E5tOhx3u?qot~>37VI7H?%j+wM%PMETohqt|&pvwzt) zx6^73fhYkJXWNK}7^R;{@5AwGL3(Ym`uBW#&Z&^*JkMe7DDksDSbUjVwVA-DCi9Pn zD<@&)ri2L;oIv3qnv7L-$X^}4l)>@gAI&yOR`&_4+N8$R1?Ry8glEyjx>78+^`8OA zZNSTchYUiGr+_X|eAo8o?c3A9HU)5ar^W79jjFV@)W50~9wx&lmm~d{<)Fh{T$8q+ zB6fajB+35!_rx=}7rn7FozC~zXwUxMy%&HQdwMMSV^PtHd)zUVeO$~eMI`JAn@4`k zu-rtTM9bag^j0+YXH}c%x(d+z%yS+oY1w=GwAgQR3+iYsS%a02V(#z{3EanuvK5YM zD`9_Oa_*U7a&pkXVa)Y!Sk9)M&V$G_Ro?`L5-Smn#iuBCm#cZKutkt273^I+?J zb9#f8bQQDCc$_K8Xm83=Zjxz?0P{?z`9Pno-ncMGksyyhdBTJ9cu8>}9F*S?8JS?$ z=>rC9v(u`N-N8vf82wManVOHY!3hT+oNV}ZH*RnCn%4O z86q{KHeZwTd4&jc3K}hW@PbqDqlU>^;QMZ4=`vBP&)7cIG{X>g&MLD^Ny=x*vcaX4 zrCe7}&l?^}R`$tV6>O!MpB#}ew>vcoR0Uw$xY*walntt*r3*SuP(fh}c~}9!?E?@3 zY_b5s#vVam!mDn>uGa8d(p4^|t9%l~tXMfzl4ndl*=<3_0ltwyAr2R3mG9^~BKQ}j zHpYFi3d8)#p=fk04i_VMy=H?8@TA8K#E`h60d48zsI6fXmA+Fo{srY>${O;ogvF z%jZk^9Pv2h)lK@Ia!)?~mR>RirWb0|!}{FM;=Lijv$6@$ZlSx!Mt>P^@ML3=fowBd zYidGV90PO>MehN|WTutg5+L6EGeG#^rVF8?TbGqu8Pv?K z7Yn6q9|@&5kY!r=6{JALTfD>uDW4LEXIkI)4Rw)!kK2`t&D)^U9r2xcYx3QX;`${I zVS;F>SB!JaMT$1DVb+eTuZfS@E(D1#)~BPsFC_**P`Z9{6YwU@SbyZ!XJitk3@??@ zFAU^0SHc#LDg~0B-~6OK*}$RxokM-MJ5wO^*%1j&+TpJ^KN+AHKt$2a=9t`Q$6 zQh(T4dUnXt+J!g_3lROWedbG#tCdf12Ivu`O;qNY ztiJ$JdiJgDb-r_t(QLkuCwy_T%X^0I9Uv|3h@q7RFR^^&ICwm3=G-794I9?-^^wB6 zjdL{XsAaxen&~#S2Z6wh>{x~gF$P}*N-$w`H75>gj|W`h&u{rOf&&b{Z0-$pTqCQi zPRk?==L>*-wSy~02|wm9I?Fycrx5!gb9bq0{2KM|SW8oLZ!atT3NJ6Xe-e^(m{j2u z5=>Gr_F(h5JFf7vHd3U1RIHj@h&lhHg^%qxUFY?B!E6(M?!_09WCcm(u07wmI~T9$ zEMGyAK5&8Xl|iI2(Z`P;Ll8Y9Tdk@OE{js<10E_fR2DF5T(#C=06BS0e(LLx$DNH9 zRFAG~c5ZBU?4us6nP%3Y9S)6%n1Tzt)Ye)OB+ZLJE=JAc|BRVC+iWaWVvlcY76r^d zDbpyrsl*|8RQ9*&P8*~``fj)h_sl<7JMXk9xWyi{(l{CqD8v`f)BqVrBmWWvI+f`- z&JiEfEZso^%5FLkn#W&q%wd@mAb;EXIrDT%vsRa1^~XXn3{%IB=sF*V{4J~rA3yehq}eT#qHfM`xM zk&&E#ZWXuaI{p3qck!YAukluF_oJimmQ}0hu|1lSwPn8~hex|en>$IF?ip40&T6ic zZFqL`Fa5Lmny1`_?uA>(9&qwx7BXSe%#)Kc7dwphrYtglG}#@HFh(%OLa> zlg$DW;urUlh+T;>DeiidzF^VZZN5OuI6?bZ?bl#hX-nP*$sSNR57V(dieD47*AEfd zJ^xbmQVM>c>~qSu@}o~mns#z+4J>eP6^Ns%4b>dxP3}mtW7J6c4LOp!dCg@s)2W5L zk#EeO^2*HvDEaa?4y%6pB!r*%1YGa`uB2PerraSq~4}2fIK8e)V*1;Ortq&ePBc>9aGg8tZxo~rRGoBrrt&{IH;(eG)z{Hvlik_YUnPWh;4rw)-mfFO^ zZSKd^%xm_DK7HCDub70$P*1bN+&PQVZd;X3D{zybEU+YGDBo|G&V1;U@560=dV_yN z@<&|6b?ja~s6aIGr(>M3lR@ov-IE28-pmWtJGXE%-ManipvqKab7?|0T8w>S%XLbt z_xOHY3l2Fg&AM>yUfIXTwK!Sfd$;EM;{W{kq%-8X{HI5~F6+cWZ6?mWsdGj5GajFK zT@+C=6r%NWbkTRP#_RO`=d-%KOL$M-L90zR>=cINAmI1lbTG2vq7v+I68)yUy1=Nf ze`oC(gM*Yzslk_S1^;!^D$;PVFS0gu6FG~Qo+xS{&WN6CZdMnF8Az_~2k+)ao1La+ zU_g1h65^8(;LF=eUYd6Ap z#Sk_ka@#qM4E7Hy20g&gXC)boU5U zNgGbLy>~A|Jp!*^{nD91#*?LwWKt6qIlf2>*->0|7-v;IjOYfPQ#^a_oH4;$*}>6K zcu6&;`1I4$ZReE|J8S#1Kc3DUzTuJi^y6URSo)rmpsu=uD-!UamvUInXeHu-AeT@` zux>=x;i2)s1;XGTm!{zz|0;!zTl~DLqkp6q$-*Nq7SK8VJni@Fwt9HfF7(FaWzBpE zX1yWvV{Wm0jpCR7KAB%IW+^8=KgdyhVff&|M7?yQ!&;OX$(+cq42o*nns4lfe!W^Z zHj6vsy$6D7>1|*ioo~Fphhhnt0>{!pD?e58a+^rn;evb*bhJy{UQkC4J6b0$b)Ces zw_G5;m5j4poO9fq>KHiKgIgK6Hb5zhc#;-nwzzTB`ywc@doSHf6s?q8MyR3 z=Bn!DS(Wgl=vpE`Bcg=I*~D=Ehq~=|^#=|dr-LA;$1wB*er?Tk=oQi^$?^EGPz1*d zyZC1CG=^&my$<{q=3u7dgrJa9OfMn&Yax3fD1}*r97GT99#q?Kowfsl3J%iBfVGRnBR86K_DJ>@Sy6zQy$SwSQh|HbZG z5}rx%)HUPapE$Uo6V;g@^76z9cbUU7*C=7xnFV$Z}Bg3O1C%jA!#wBB&Uy%Wv2M=2+EbhY?^88PvYMUukLduQC46~%y+abD^qGB5)^+7QV&ZTGRpuq2)Yj=Uh$ zxVP6okc=e|ll#~N|Es)H@gpWotB z-1_w@k$<*ZoFsT;i0!uD>V{cLBax0#zhC{R?eNMWaVnl9EVubLt}b8F(`d#*py+2< zl3NN*NY$^$gue`V3gdn;Scr+^$K-R%mh|m$<$?ELtgEH_ngOw!e*^DDpbu9i_gp0z z$rTj|KgNuvGJasMe39gIf}_{LwD4?@$~kqtdd%pX!^u>Ki9`W>{JZD6fzh9$&VnF@ zo)Tl}$3YCEB@)mF&0GmX)7#i_3UWVvcR}BKHB%QdS2<;l$cMsW-Vyl0jJlWpQA(li z_Mn1T0~cR-(3Y{je<{95zt4xdiiXfoH|g@hAm6~+{hc=7xqYbv=oeXiF0i|HCZIk* zpy(o|p5vA$<0>iU*t!8`ycgFI@!`j*v2^12jI}$<{^W+?>G2cUUS2^*!kr2EpQ#VB z{p5YI8!^#dt#pkN+LjUEvfopQx>pw{51wQ!e#W;f*?k}G$U~i%a6*r7lxv$UVT=6G zJ(c{3*t}_}_IqGs+QIv<18h9~Tw|HPZnhY-rp@g4Y?vG8g&4LM`Kex~em)qp6DGNL ze~&#!94%{PQSj;J!VEfljW}Ay$)XCTsNEu79a$Xg(4R+kl*XHGe>wI3jK}G3BMvZI zASuN}W_x9U@&k7?n_A);x#s<%G5Vx%<$Ii3W1WPo z-4F%K^)LV*MuP7k%o{CXHm5CUN7z2hxMp;He}F_MdP@ct#(d5?d>WRvsRDxMsnXLV zm{{zO`wOAM&*5(X=yscV^*9=in<3j1v{8yQbaDF26s)< zLGz;6fe`njvt%N=8FL>j&j{(O3D=w@jmXa>8RNsjNvr{R~U&ej2(L&tmwTMUmT* zPPfnXO;Uw4^IM&#qa8*R86PH4vU~BG8Sr2a)u*8<*)h9rsQ(&?iP;&AdBVf29q$II=j)jXMacS>-oIfyKB7m3v(? zS&q@KmMj=gr0yF?qFr!ZUUJ-QrH@r-E}^blZs4~~(|72SyZp^VQF$Ezzzn>6F012{ zwV&-9psl-jCoR0wQRp~ZtTtC)L|u z95%lkL9Y9!4D$8KkYdV0OAI4Ll@t)lj0-K@%?W6a{;h=4*!+KA1OIzUq(!893H>C& z1^o85wH}p|lfylk+KO^=>kx&m=UV3OAve7jLtZ6@uQ;sf>dMEy<@)H+qrZ}IZEX@i zJtyCJ#@C;pd$hu5W@hT9jFz{@3cM}^`1!M5ft9cA^*YP^T@CocuGdK^;B473aNa`I2!yQPn(igdiPJTU(pM>FnHGZ-8hF^KTo(VcVHH z1vT~D`i_SfpV>Q>@8(_Tm%Y?xE`3JOdh^5e&z7SBCv zz7WI86jnAi%aJV6fuBEXjcjjDH^6Ju?NR>ZyYvaR-%CrmWs~oI^!Da|{rbx(eP~E^ zeQT=++WXQGy}|G)eI`x(jCK-SypAhqbeKEA3Ghv>4Q+!?9 zczqhMSzK%^td~yc?+0F+ZIUc^hPiJJb={n8u|5ltv##bj!vS=4bs>Apo0w!n?UjQ6 zj@pyc3f$Z`n@|B0Uz~tm4E)mg-X5F5(7>>xZ^MhPaZ;~nR?8q3&T`?*S z6K*sMI-vy337kmB?S|4;lB6xw|BPbu3Os#=Pq+qKiTQSMaN2aSx3aYrvAJoBV!k@A z20>^*_5J8IkIxSL;HS#U${HCRUH6il>o`c;eu=n=!JEO$3w7(@cWRO?MT3S9F$(80Q>oBZ597o{k=<3Q=zAmV$ zQh$Z4jXEKo1|2LVMshlrf8P?np>mM}5&D~3TOVg<4FQ-lHBVPclaR&i1SbGAG&CHa zoi)r!KEYbJ(8wL>O4d{F+8GzE+atK^#=6hGYlngBU_Uu(O|yj`_$mCl*5Pu0#>L$| zER+6jDZiz~FyLTw^TW(HyDKq;w;cMpAp72x$X!*b^z!wM#>Gn zKcA;E8{IBF+Hv3Uc+=u;K6}xF;lV+9Q&UE61q}t_U?Z$6M02=pAHSyeVBCvV!1OJN`aC zu%7Yz&CSgNzkcmD7{7i^<>v0bva-WnhNkx$7j| z%&i{g%UA?SS+1=f-&}%M17;p)Y8*qOsV`c^N5+njh}JJC46!?geps4=7R}Z+$qGV6 z{|+*KMZq^p0|Nug2|OTlB7b!+TipBduOjb#`De@@)CI)Ej3A%0D_Fxsx&beNAKSSC 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