From 3cf3268c76592d6405ec5203d307967ba4d0d168 Mon Sep 17 00:00:00 2001 From: Fermi Date: Sat, 1 Jun 2019 22:52:03 +0100 Subject: [PATCH 01/98] New non-harmful medicinal darts. --- .../projectiles/ammunition/special/syringe.dm | 7 ++++ .../projectiles/guns/misc/syringe_gun.dm | 12 +++++++ .../reagents/reagent_containers/syringes.dm | 34 +++++++++++++++--- icons/obj/dart.dmi | Bin 0 -> 323 bytes icons/obj/guns/projectile.dmi | Bin 35700 -> 36029 bytes tgstation.dme | 24 ++++++------- 6 files changed, 60 insertions(+), 17 deletions(-) create mode 100644 icons/obj/dart.dmi diff --git a/code/modules/projectiles/ammunition/special/syringe.dm b/code/modules/projectiles/ammunition/special/syringe.dm index 4a2a354ca6..62a6e2e88e 100644 --- a/code/modules/projectiles/ammunition/special/syringe.dm +++ b/code/modules/projectiles/ammunition/special/syringe.dm @@ -59,3 +59,10 @@ S.forceMove(D) D.injector = S ..() + +/obj/item/ammo_casing/syringegun/dart + name = "syringe gun spring" + desc = "A high-power spring that throws syringes." + projectile_type = /obj/item/projectile/bullet/dart/syringe + firing_effect_type = null + harmful = FALSE diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index cc1b321e3a..2e125f80b1 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -102,3 +102,15 @@ else to_chat(user, "[src] cannot hold more syringes!") return FALSE + +/obj/item/gun/syringe/dart + name = "dart gun" + desc = "A compressed air gun, designed to fit medicinal darts for application of medicine for those patients just out of reach." + icon_state = "dartgun" + item_state = "dartgun" + materials = list(MAT_METAL=2000, MAT_GLASS=500) + suppressed = TRUE //Softer fire sound + +/obj/item/gun/syringe/dart/Initialize() + ..() + chambered = new /obj/item/ammo_casing/syringegun/dart(src) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index b2b7ab88a7..430d7e5d5d 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -14,6 +14,7 @@ var/proj_piercing = 0 //does it pierce through thick clothes when shot with syringe gun materials = list(MAT_METAL=10, MAT_GLASS=20) container_type = TRANSPARENT + var/Sname = "syringe" /obj/item/reagent_containers/syringe/Initialize() . = ..() @@ -72,7 +73,7 @@ if(SYRINGE_DRAW) if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "The syringe is full.") + to_chat(user, "The [Sname] is full.") return if(L) //living mob @@ -137,8 +138,8 @@ return if(L.reagents.total_volume >= L.reagents.maximum_volume) return - L.visible_message("[user] injects [L] with the syringe!", \ - "[user] injects [L] with the syringe!") + L.visible_message("[user] injects [L] with the [Sname]!", \ + "[user] injects [L] with the [Sname]!") if(L != user) log_combat(user, L, "injected", src, addition="which had [contained]") @@ -147,7 +148,7 @@ var/fraction = min(amount_per_transfer_from_this/reagents.total_volume, 1) reagents.reaction(L, INJECT, fraction) reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units.") + to_chat(user, "You inject [amount_per_transfer_from_this] units of the solution. The [Sname] now contains [reagents.total_volume] units.") if (reagents.total_volume <= 0 && mode==SYRINGE_INJECT) mode = SYRINGE_DRAW update_icon() @@ -158,7 +159,7 @@ var/rounded_vol if(reagents && reagents.total_volume) rounded_vol = CLAMP(round((reagents.total_volume / volume * 15),5), 1, 15) - var/image/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "syringe[rounded_vol]") + var/image/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "[Sname][rounded_vol]") filling_overlay.color = mix_color_from_reagents(reagents.reagent_list) add_overlay(filling_overlay) else @@ -262,3 +263,26 @@ /obj/item/reagent_containers/syringe/get_belt_overlay() return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "pouch") + +/obj/item/reagent_containers/syringe/dart + name = "medicinal dart" + desc = "A non-harmful dart that can administer medication from a range. Unable to hold any caustic or toxic chemicals without disintegrating" + volume = 20 + amount_per_transfer_from_this = 20 + icon = 'icons/obj/dart.dmi' + Sname = "dart" + //harmful = FALSE + +/obj/item/reagent_containers/syringe/dart/afterattack(atom/target, mob/user , proximity) + ..() + for(var/datum/reagent/R in src.reagents.reagent_list)//(!R == /datum/reagent/fermi) || + if((!R == /datum/reagent/medicine) || (!R == /datum/reagent/consumable)) + qdel(src) + to_chat(user, "The dart dissolves under the caustic nature of the chems!") + +/obj/item/reagent_containers/syringe/dart/bluespace + name = "bluespace dart" + desc = "A non-harmful dart that can administer medication from a range, with extended 60u capacity. Unable to hold any caustic or toxic chemicals without disintegrating" + amount_per_transfer_from_this = 20 + volume = 60 + //harmful = FALSE diff --git a/icons/obj/dart.dmi b/icons/obj/dart.dmi new file mode 100644 index 0000000000000000000000000000000000000000..fd6be8ab14cf7524e410885b383fd496c380e35d GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^2|(Ge3`kp<+&O zSV2+g_bqMz%R#PuCoey8o?uLO|*J_e<;{JTt#yE*~w OVDNPHb6Mw<&;$TXka+U| literal 0 HcmV?d00001 diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index e4a39903b338e2d77286bd06b9e3be7cec729306..5ed5a434baecc7aa7deaf309ff31babe08087e2e 100644 GIT binary patch delta 15260 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 diff --git a/tgstation.dme b/tgstation.dme index f2cef76dd9..c9098249b0 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2505,22 +2505,10 @@ #include "code\modules\research\designs\AI_module_designs.dm" #include "code\modules\research\designs\biogenerator_designs.dm" #include "code\modules\research\designs\bluespace_designs.dm" -#include "code\modules\research\designs\comp_board_designs\comp_board_designs_all_misc.dm" -#include "code\modules\research\designs\comp_board_designs\comp_board_designs_cargo .dm" -#include "code\modules\research\designs\comp_board_designs\comp_board_designs_engi.dm" -#include "code\modules\research\designs\comp_board_designs\comp_board_designs_medical.dm" -#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sci.dm" -#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sec.dm" #include "code\modules\research\designs\computer_part_designs.dm" #include "code\modules\research\designs\electronics_designs.dm" #include "code\modules\research\designs\equipment_designs.dm" #include "code\modules\research\designs\limbgrower_designs.dm" -#include "code\modules\research\designs\machine_desings\machine_designs_all_misc.dm" -#include "code\modules\research\designs\machine_desings\machine_designs_cargo.dm" -#include "code\modules\research\designs\machine_desings\machine_designs_engi.dm" -#include "code\modules\research\designs\machine_desings\machine_designs_medical.dm" -#include "code\modules\research\designs\machine_desings\machine_designs_sci.dm" -#include "code\modules\research\designs\machine_desings\machine_designs_service.dm" #include "code\modules\research\designs\mecha_designs.dm" #include "code\modules\research\designs\mechfabricator_designs.dm" #include "code\modules\research\designs\medical_designs.dm" @@ -2538,6 +2526,18 @@ #include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm" #include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm" #include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm" +#include "code\modules\research\designs\comp_board_designs\comp_board_designs_all_misc.dm" +#include "code\modules\research\designs\comp_board_designs\comp_board_designs_cargo .dm" +#include "code\modules\research\designs\comp_board_designs\comp_board_designs_engi.dm" +#include "code\modules\research\designs\comp_board_designs\comp_board_designs_medical.dm" +#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sci.dm" +#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sec.dm" +#include "code\modules\research\designs\machine_desings\machine_designs_all_misc.dm" +#include "code\modules\research\designs\machine_desings\machine_designs_cargo.dm" +#include "code\modules\research\designs\machine_desings\machine_designs_engi.dm" +#include "code\modules\research\designs\machine_desings\machine_designs_medical.dm" +#include "code\modules\research\designs\machine_desings\machine_designs_sci.dm" +#include "code\modules\research\designs\machine_desings\machine_designs_service.dm" #include "code\modules\research\machinery\_production.dm" #include "code\modules\research\machinery\circuit_imprinter.dm" #include "code\modules\research\machinery\departmental_circuit_imprinter.dm" From 0fa445c1534d482d2df2578ae9319217e457a63f Mon Sep 17 00:00:00 2001 From: Fermi Date: Sun, 2 Jun 2019 03:24:01 +0100 Subject: [PATCH 02/98] Fixes and test. --- .../projectiles/ammunition/special/syringe.dm | 6 +- .../projectiles/guns/misc/syringe_gun.dm | 1 + .../projectile/bullets/dart_syringe.dm | 50 ++++++++++++- .../reagents/reagent_containers/syringes.dm | 70 ++++++++++++++---- icons/obj/dart.dmi | Bin 323 -> 903 bytes icons/obj/guns/projectile.dmi | Bin 36029 -> 36031 bytes 6 files changed, 108 insertions(+), 19 deletions(-) diff --git a/code/modules/projectiles/ammunition/special/syringe.dm b/code/modules/projectiles/ammunition/special/syringe.dm index 62a6e2e88e..331ad67837 100644 --- a/code/modules/projectiles/ammunition/special/syringe.dm +++ b/code/modules/projectiles/ammunition/special/syringe.dm @@ -61,8 +61,8 @@ ..() /obj/item/ammo_casing/syringegun/dart - name = "syringe gun spring" - desc = "A high-power spring that throws syringes." - projectile_type = /obj/item/projectile/bullet/dart/syringe + name = "dart gun air canister" + desc = "A small canister of compressed gas." + projectile_type = /obj/item/projectile/bullet/dart/syringe/dart firing_effect_type = null harmful = FALSE diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index 2e125f80b1..be9b2c2410 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -110,6 +110,7 @@ item_state = "dartgun" materials = list(MAT_METAL=2000, MAT_GLASS=500) suppressed = TRUE //Softer fire sound + can_unsuppress = FALSE /obj/item/gun/syringe/dart/Initialize() ..() diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index 023c3b9090..a94fa6f227 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -9,12 +9,14 @@ create_reagents(50) reagents.set_reacting(FALSE) -/obj/item/projectile/bullet/dart/on_hit(atom/target, blocked = FALSE) +/obj/item/projectile/bullet/dart/on_hit(atom/target, blocked = FALSE, skip = FALSE) if(iscarbon(target)) var/mob/living/carbon/M = target if(blocked != 100) // not completely blocked if(M.can_inject(null, FALSE, def_zone, piercing)) // Pass the hit zone to see if it can inject by whether it hit the head or the body. ..() + if(skip == TRUE) + return reagents.reaction(M, INJECT) reagents.trans_to(M, reagents.total_volume) return TRUE @@ -37,3 +39,49 @@ /obj/item/projectile/bullet/dart/syringe name = "syringe" icon_state = "syringeproj" + +//I am in a mess of my own making +/obj/item/projectile/bullet/dart/syringe/dart + name = "Smartdart" + icon_state = "syringeproj" + damage = 0 + +/obj/item/projectile/bullet/dart/syringe/dart/on_hit(atom/target, blocked = FALSE) + message_admins("Dart landed!") + if(iscarbon(target)) + var/mob/living/carbon/M = target + if(blocked != 100) // not completely blocked + if(M.can_inject(null, FALSE, def_zone, piercing)) // Pass the hit zone to see if it can inject by whether it hit the head or the body. + ..(target, blocked, TRUE) + message_admins("Checking reagents") + for(var/datum/reagent/R in reagents.reagent_list) //OD prevention time! + message_admins("Reagent: [R]") + if(istype(R, /datum/reagent/medicine)) //Is this a medicine? + message_admins("Is a medicine") + if(M.reagents.has_reagent(R.id)) + message_admins("reagent found! with new") + var/datum/reagent/medicine/Rm = locate(R) in M + if(R.overdose_threshold == 0) //Is there a possible OD? + M.reagents.add_reagent(R.id, R.volume) + else + var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - Rm.volume) -1) + M.reagents.add_reagent(R.id, transVol) + target.visible_message("\The [src] beeps!") + return TRUE + else + if(!R.overdose_threshold == 0) + var/transVol = CLAMP(R.volume, 0, R.overdose_threshold-1) + M.reagents.add_reagent(R.id, transVol) + else + M.reagents.add_reagent(R.id, R.volume) + target.visible_message("\The [src] beeps!") + to_chat("You feel a tiny prick, and turn around to see a smartdart embedded in your butt.") + return TRUE + + else + blocked = 100 + target.visible_message("\The [src] was deflected!", \ + "You see a [src] bounce off you, booping sadly!") + + target.visible_message("\The [src] fails to land on target!") + return TRUE diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 430d7e5d5d..592d092cc8 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -14,7 +14,6 @@ var/proj_piercing = 0 //does it pierce through thick clothes when shot with syringe gun materials = list(MAT_METAL=10, MAT_GLASS=20) container_type = TRANSPARENT - var/Sname = "syringe" /obj/item/reagent_containers/syringe/Initialize() . = ..() @@ -73,7 +72,7 @@ if(SYRINGE_DRAW) if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "The [Sname] is full.") + to_chat(user, "The syringe is full.") return if(L) //living mob @@ -138,8 +137,8 @@ return if(L.reagents.total_volume >= L.reagents.maximum_volume) return - L.visible_message("[user] injects [L] with the [Sname]!", \ - "[user] injects [L] with the [Sname]!") + L.visible_message("[user] injects [L] with the syringe!", \ + "[user] injects [L] with the syringe!") if(L != user) log_combat(user, L, "injected", src, addition="which had [contained]") @@ -148,7 +147,7 @@ var/fraction = min(amount_per_transfer_from_this/reagents.total_volume, 1) reagents.reaction(L, INJECT, fraction) reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "You inject [amount_per_transfer_from_this] units of the solution. The [Sname] now contains [reagents.total_volume] units.") + to_chat(user, "You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units.") if (reagents.total_volume <= 0 && mode==SYRINGE_INJECT) mode = SYRINGE_DRAW update_icon() @@ -159,7 +158,7 @@ var/rounded_vol if(reagents && reagents.total_volume) rounded_vol = CLAMP(round((reagents.total_volume / volume * 15),5), 1, 15) - var/image/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "[Sname][rounded_vol]") + var/image/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "syringe[rounded_vol]") filling_overlay.color = mix_color_from_reagents(reagents.reagent_list) add_overlay(filling_overlay) else @@ -265,23 +264,64 @@ return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "pouch") /obj/item/reagent_containers/syringe/dart - name = "medicinal dart" - desc = "A non-harmful dart that can administer medication from a range. Unable to hold any caustic or toxic chemicals without disintegrating" + name = "medicinal smartdart" + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action." volume = 20 amount_per_transfer_from_this = 20 icon = 'icons/obj/dart.dmi' - Sname = "dart" + item_state = "dart_0" //harmful = FALSE /obj/item/reagent_containers/syringe/dart/afterattack(atom/target, mob/user , proximity) - ..() - for(var/datum/reagent/R in src.reagents.reagent_list)//(!R == /datum/reagent/fermi) || - if((!R == /datum/reagent/medicine) || (!R == /datum/reagent/consumable)) - qdel(src) - to_chat(user, "The dart dissolves under the caustic nature of the chems!") + + if(busy) + return + if(!proximity) + return + if(!target.reagents) + return + + var/mob/living/L + if(isliving(target)) + L = target + if(!L.can_inject(user, 1)) + return + + switch(mode) + if(SYRINGE_DRAW) + + if(reagents.total_volume >= reagents.maximum_volume) + to_chat(user, "The dart is full!") + return + + if(L) //living mob + to_chat(user, "You can't draw blood using a dart!") + return + + else //if not mob + if(!target.reagents.total_volume) + to_chat(user, "[target] is empty!") + return + + if(!target.is_drawable()) + to_chat(user, "You cannot directly remove reagents from [target]!") + return + + var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares? + + to_chat(user, "You soak the [src] with [trans] units of the solution. It now contains [reagents.total_volume] units.") + if (reagents.total_volume >= reagents.maximum_volume) + mode=!mode + update_icon() + + if(SYRINGE_INJECT) + src.visible_message("The smartdart gives a frustrated boop! It's ready and full; You need to shoot someone with it!") + +/obj/item/reagent_containers/syringe/dart/attack_self(mob/user) + return /obj/item/reagent_containers/syringe/dart/bluespace - name = "bluespace dart" + name = "bluespace smartdart" desc = "A non-harmful dart that can administer medication from a range, with extended 60u capacity. Unable to hold any caustic or toxic chemicals without disintegrating" amount_per_transfer_from_this = 20 volume = 60 diff --git a/icons/obj/dart.dmi b/icons/obj/dart.dmi index fd6be8ab14cf7524e410885b383fd496c380e35d..50ba4fc1ab0b860d29236487f71be333701e4675 100644 GIT binary patch literal 903 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo?NuQWB`&GO$wiq3C7Jno3=9=> zg2M`mO22;zF8KKMiI%sn*10q1gExd4Tr__0Nawtd=E(pc$L!IgGahGs&TBLlba@MT z2Z`p0PT`rd!y?$Iy9>zX*=cdPOQ<+lF=q#tbCZ@2=WNFo(-vP(O)nkw6&l9++NL{M zrW>WQhTDs?ipTrwF=$i+yJ$EUazt*--NNz!Y}{A^(K7Z+G<1S#I-wW$#sI zzw*@2Pe;>h_y5>koUGn`^iX48`YUFO5&;D^#w7ei7VDYt#dr3Vo!!^}e~(_mt!TBf z4?nY}{QprGELmSu_GsDO)J=;Y-~Rn^@~-$J&sGQ8z15w(efs{cW(zy(m3KeRKmR^v z|9$;!?9GkReC>HQa@)Q9W`E50@4s{U_54X7#+>4HUw>?6I^<~a{X_1HPtrTyKQ^~x zK9qe~_I+2a{QirQ4F2q=0}MF?ni+5r4b_`;PM@w1HT3=Uwk-7aPPY9WvO=40=H%Y4 zp1(YER!Zcw+uxn`7ngJLzMuMd@At|Z`8#Fp`WuAq{a%zSoPNJs#YE~pi`N8+a}8oM zf*w1q-1xVjkx_Srmg%FQ@wmNfa1xDqqyZUR{lFV5Z@85nZN&d&N@s4Przs^as zz{qK9*Z$3|zMbwgKlgS8OGhFf#I1)vGbUBoIh?V#l^1x|xxJ*Y{$F=@|J0AW<^HdH z_>;lVMqZ(f+t5(Q`KW>e57QA0qUX=Lj*}^i>{vACfMRKxhU5IY_?p*Q7x@2vU%yN0 zb$xm+-;b()Pw(XI-&a*E`g-%mr*9)-*6^0+_#E2UGHr6$)DUU+O|uWmC@i~Zv?V4l zCth}=5gUIFM~A9)nAfVT`W~~5?Z@0Wl_Kv7={i2$v@zFd+mS~CJLf)H$8ojvz{3C9 oi!7LTSX??_6oSopIK|GySNd|czopr0BOH@$^ZZW delta 261 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 T!-UrkKtC^Es6H=~F%9}3{fex~ From fd22dbfc0db50770d60e16bfcc9035de840ff7a3 Mon Sep 17 00:00:00 2001 From: Fermi Date: Sun, 2 Jun 2019 03:59:52 +0100 Subject: [PATCH 03/98] More fixes. Need to check over merging math. --- .../projectiles/ammunition/special/syringe.dm | 2 +- .../projectile/bullets/dart_syringe.dm | 13 +++--- .../reagents/reagent_containers/syringes.dm | 37 ++++++++++++++---- icons/obj/syringe.dmi | Bin 4379 -> 4730 bytes 4 files changed, 37 insertions(+), 15 deletions(-) diff --git a/code/modules/projectiles/ammunition/special/syringe.dm b/code/modules/projectiles/ammunition/special/syringe.dm index 331ad67837..a4107fa6a2 100644 --- a/code/modules/projectiles/ammunition/special/syringe.dm +++ b/code/modules/projectiles/ammunition/special/syringe.dm @@ -61,7 +61,7 @@ ..() /obj/item/ammo_casing/syringegun/dart - name = "dart gun air canister" + name = "used air canister" desc = "A small canister of compressed gas." projectile_type = /obj/item/projectile/bullet/dart/syringe/dart firing_effect_type = null diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index a94fa6f227..74049fb7c9 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -64,20 +64,21 @@ if(R.overdose_threshold == 0) //Is there a possible OD? M.reagents.add_reagent(R.id, R.volume) else - var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - Rm.volume) -1) + var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - Rm.volume) -1) //Doesn't work + message_admins("Merge: Adding [transVol], OD: [R.overdose_threshold], curvol [Rm.volume]") M.reagents.add_reagent(R.id, transVol) - target.visible_message("\The [src] beeps!") - return TRUE else if(!R.overdose_threshold == 0) var/transVol = CLAMP(R.volume, 0, R.overdose_threshold-1) M.reagents.add_reagent(R.id, transVol) else M.reagents.add_reagent(R.id, R.volume) - target.visible_message("\The [src] beeps!") - to_chat("You feel a tiny prick, and turn around to see a smartdart embedded in your butt.") - return TRUE + + + target.visible_message("\The [src] beeps!") + to_chat("You feel a tiny prick, and turn around to see a smartdart embedded in your butt.") + return TRUE else blocked = 100 target.visible_message("\The [src] was deflected!", \ diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 592d092cc8..43f79d1f4c 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -265,12 +265,12 @@ /obj/item/reagent_containers/syringe/dart name = "medicinal smartdart" - desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action." + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD." volume = 20 amount_per_transfer_from_this = 20 - icon = 'icons/obj/dart.dmi' - item_state = "dart_0" - //harmful = FALSE + //icon = 'icons/obj/dart.dmi' + icon_state = "empty" + item_state = "syringe_empty" /obj/item/reagent_containers/syringe/dart/afterattack(atom/target, mob/user , proximity) @@ -320,9 +320,30 @@ /obj/item/reagent_containers/syringe/dart/attack_self(mob/user) return +/obj/item/reagent_containers/syringe/update_icon() + cut_overlays() + var/rounded_vol + + rounded_vol = "empty" + if(reagents && reagents.total_volume) + if(volume/reagents.total_volume == 1) + rounded_vol="full" + + icon_state = "[rounded_vol]" + item_state = "syringe_[rounded_vol]" + if(ismob(loc)) + var/mob/M = loc + var/injoverlay + switch(mode) + if (SYRINGE_DRAW) + injoverlay = "draw" + if (SYRINGE_INJECT) + injoverlay = "ready" + add_overlay(injoverlay) + M.update_inv_hands() + /obj/item/reagent_containers/syringe/dart/bluespace name = "bluespace smartdart" - desc = "A non-harmful dart that can administer medication from a range, with extended 60u capacity. Unable to hold any caustic or toxic chemicals without disintegrating" - amount_per_transfer_from_this = 20 - volume = 60 - //harmful = FALSE + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD. Has an extended volume capacity thanks to bluespace foam." + amount_per_transfer_from_this = 50 + volume = 50 diff --git a/icons/obj/syringe.dmi b/icons/obj/syringe.dmi index f77735fc3ee6b3efda50efd9ec5b005fb0f63f44..80e681399a6af01fc3a28012975ff7bf1f44a03d 100644 GIT binary patch literal 4730 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 df^?`MoE!l=CP$^P Date: Thu, 6 Jun 2019 23:23:53 +0100 Subject: [PATCH 04/98] DEBUG --- code/modules/projectiles/projectile/bullets/dart_syringe.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index 74049fb7c9..caac71f947 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -65,6 +65,7 @@ M.reagents.add_reagent(R.id, R.volume) else var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - Rm.volume) -1) //Doesn't work + message_admins("DEBUG: R.vol [R.volume], R.OD [R.overdose_threshold], Rm.vol: [Rm.volume], trans: [transVol]") message_admins("Merge: Adding [transVol], OD: [R.overdose_threshold], curvol [Rm.volume]") M.reagents.add_reagent(R.id, transVol) else From 2888e1b30be02f9b7a0b6af5e87523bb1d69c260 Mon Sep 17 00:00:00 2001 From: Fermi Date: Fri, 7 Jun 2019 00:12:11 +0100 Subject: [PATCH 05/98] Dartgun functions as intended. --- .../projectiles/projectile/bullets/dart_syringe.dm | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index caac71f947..58b76c78a2 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -47,26 +47,18 @@ damage = 0 /obj/item/projectile/bullet/dart/syringe/dart/on_hit(atom/target, blocked = FALSE) - message_admins("Dart landed!") if(iscarbon(target)) var/mob/living/carbon/M = target if(blocked != 100) // not completely blocked if(M.can_inject(null, FALSE, def_zone, piercing)) // Pass the hit zone to see if it can inject by whether it hit the head or the body. ..(target, blocked, TRUE) - message_admins("Checking reagents") for(var/datum/reagent/R in reagents.reagent_list) //OD prevention time! - message_admins("Reagent: [R]") if(istype(R, /datum/reagent/medicine)) //Is this a medicine? - message_admins("Is a medicine") if(M.reagents.has_reagent(R.id)) - message_admins("reagent found! with new") - var/datum/reagent/medicine/Rm = locate(R) in M if(R.overdose_threshold == 0) //Is there a possible OD? M.reagents.add_reagent(R.id, R.volume) else - var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - Rm.volume) -1) //Doesn't work - message_admins("DEBUG: R.vol [R.volume], R.OD [R.overdose_threshold], Rm.vol: [Rm.volume], trans: [transVol]") - message_admins("Merge: Adding [transVol], OD: [R.overdose_threshold], curvol [Rm.volume]") + var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - M.reagents.get_reagent_amount(R.id)) -1) //Doesn't work M.reagents.add_reagent(R.id, transVol) else if(!R.overdose_threshold == 0) From 000b930811b456e98dd4dd409f29eb9a8dceae02 Mon Sep 17 00:00:00 2001 From: Fermi Date: Fri, 7 Jun 2019 00:19:28 +0100 Subject: [PATCH 06/98] Added Medolier (needs sprite) --- code/game/objects/items/storage/belt.dm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 57c77e5983..a77cd13f23 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -541,6 +541,25 @@ /obj/item/ammo_casing/shotgun )) +/obj/item/storage/belt/medolier + name = "medolier" + desc = "A medical bandolier for holding smartdarts." + icon_state = "medolier" + item_state = "medolier" + +/obj/item/storage/belt/medolier/ComponentInitialize() + . = ..() + GET_COMPONENT(STR, /datum/component/storage) + STR.max_items = 18 + STR.display_numerical_stacking = TRUE + STR.can_hold = typecacheof(list( + /obj/item/projectile/bullet/dart/syringe/dart + )) + +/obj/item/storage/belt/medolier/full/PopulateContents() + for(var/i in 1 to 8) + new /obj/item/projectile/bullet/dart/syringe/dart(src) + /obj/item/storage/belt/holster name = "shoulder holster" desc = "A holster to carry a handgun and ammo. WARNING: Badasses only." From 65b218d4c370de13d6edb4dc167d960db0706ea0 Mon Sep 17 00:00:00 2001 From: Fermi Date: Sat, 8 Jun 2019 00:31:14 +0100 Subject: [PATCH 07/98] Spritework. --- .../projectiles/guns/misc/syringe_gun.dm | 6 ++++++ icons/obj/clothing/belts.dmi | Bin 11301 -> 11695 bytes 2 files changed, 6 insertions(+) diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index be9b2c2410..84dc637df1 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -115,3 +115,9 @@ /obj/item/gun/syringe/dart/Initialize() ..() chambered = new /obj/item/ammo_casing/syringegun/dart(src) + +/obj/item/gun/syringe/dart/attackby(obj/item/A, mob/user, params, show_msg = TRUE) + if(istype(A, /obj/item/reagent_containers/syringe/dart)) + ..() + else + return FALSE diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index dc5dde9cb6fe4134fda496caa108578f221bf5ca..3e56574fbf486ac08cc7cd9958f2d3a59811ebf3 100644 GIT binary patch literal 11695 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 literal 11301 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 From f44b9048af562c8f0a742f964d60b08c4cf4a3e8 Mon Sep 17 00:00:00 2001 From: Fermi Date: Sat, 8 Jun 2019 01:00:51 +0100 Subject: [PATCH 08/98] Added to vendors/tech. --- code/game/objects/items/storage/belt.dm | 4 +-- .../research/designs/medical_designs.dm | 30 +++++++++++++++++++ code/modules/research/techweb/all_nodes.dm | 4 +-- code/modules/vending/medical.dm | 6 ++-- code/modules/vending/medical_wall.dm | 3 +- 5 files changed, 40 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index a77cd13f23..00788a2d7c 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -553,12 +553,12 @@ STR.max_items = 18 STR.display_numerical_stacking = TRUE STR.can_hold = typecacheof(list( - /obj/item/projectile/bullet/dart/syringe/dart + /obj/item/reagent_containers/syringe/dart )) /obj/item/storage/belt/medolier/full/PopulateContents() for(var/i in 1 to 8) - new /obj/item/projectile/bullet/dart/syringe/dart(src) + new /obj/item/reagent_containers/syringe/dart/(src) /obj/item/storage/belt/holster name = "shoulder holster" diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 7224d0e4e8..a446255260 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -92,6 +92,36 @@ category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL +/datum/design/medicinalsmartdart + name = "Medicinal Smartdart" + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD." + id = "medicinalsmartdart" + build_type = PROTOLATHE + materials = list(MAT_GLASS = 2000, MAT_PLASTIC = 200, MAT_METAL = 500) + build_path = /obj/item/reagent_containers/syringe/dart + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/bluespacesmartdart + name = "bluespace smartdart" + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD. Has an extended volume capacity thanks to bluespace foam." + id = "medicinalsmartdart" + build_type = PROTOLATHE + materials = list(MAT_GLASS = 2000, MAT_PLASTIC = 500, MAT_METAL = 500, MAT_BLUESPACE = 500) + build_path = /obj/item/reagent_containers/syringe/dart/bluespace + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/smartdartgun + name = "dart gun" + desc = "A compressed air gun, designed to fit medicinal darts for application of medicine for those patients just out of reach." + id = "smartdartgun" + build_type = PROTOLATHE + materials = list(MAT_GLASS = 1500, MAT_PLASTIC = 1000, MAT_METAL = 1500) + build_path = /obj/item/gun/syringe/dart + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + /datum/design/bluespacebodybag name = "Bluespace Body Bag" desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index e25dced31c..e7ee01086f 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -69,7 +69,7 @@ display_name = "Advanced Biotechnology" description = "Advanced Biotechnology" prereq_ids = list("biotech") - design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "defibrillator", "meta_beaker", "healthanalyzer_advanced","harvester","holobarrier_med") + design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "defibrillator", "meta_beaker", "healthanalyzer_advanced","harvester","holobarrier_med","smartdartgun","medicinalsmartdart") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -228,7 +228,7 @@ display_name = "Applied Bluespace Research" description = "Using bluespace to make things faster and better." prereq_ids = list("bluespace_basic", "engineering") - design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "roastingstick", "ore_silo") + design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "roastingstick", "ore_silo", "bluespacesmartdart") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500) export_price = 5000 diff --git a/code/modules/vending/medical.dm b/code/modules/vending/medical.dm index 5ff07cc842..d546fcbfc3 100644 --- a/code/modules/vending/medical.dm +++ b/code/modules/vending/medical.dm @@ -30,7 +30,9 @@ premium = list(/obj/item/storage/box/hug/medical = 1, /obj/item/reagent_containers/hypospray/medipen = 3, /obj/item/storage/belt/medical = 3, - /obj/item/wrench/medical = 1) + /obj/item/wrench/medical = 1, + /obj/item/storage/belt/medolier/full = 2, + /obj/item/gun/syringe/dart = 2) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF refill_canister = /obj/item/vending_refill/medical @@ -41,4 +43,4 @@ /obj/machinery/vending/medical/syndicate_access name = "\improper SyndiMed Plus" - req_access = list(ACCESS_SYNDICATE) \ No newline at end of file + req_access = list(ACCESS_SYNDICATE) diff --git a/code/modules/vending/medical_wall.dm b/code/modules/vending/medical_wall.dm index 018eb09d86..514bbd8730 100644 --- a/code/modules/vending/medical_wall.dm +++ b/code/modules/vending/medical_wall.dm @@ -10,7 +10,8 @@ /obj/item/reagent_containers/medspray/styptic = 2, /obj/item/reagent_containers/medspray/silver_sulf = 2, /obj/item/reagent_containers/pill/charcoal = 2, - /obj/item/reagent_containers/medspray/sterilizine = 1) + /obj/item/reagent_containers/medspray/sterilizine = 1, + /obj/item/reagent_containers/syringe/dart = 10) contraband = list(/obj/item/reagent_containers/pill/tox = 2, /obj/item/reagent_containers/pill/morphine = 2) premium = list(/obj/item/reagent_containers/medspray/synthflesh = 2) From c6c98b539d9d6db90ba81f00e864ddb631d2680d Mon Sep 17 00:00:00 2001 From: Fermi Date: Sat, 8 Jun 2019 01:22:43 +0100 Subject: [PATCH 09/98] Minor bug fix. --- code/modules/reagents/reagent_containers/syringes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 43f79d1f4c..bfbf135e6f 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -320,7 +320,7 @@ /obj/item/reagent_containers/syringe/dart/attack_self(mob/user) return -/obj/item/reagent_containers/syringe/update_icon() +/obj/item/reagent_containers/syringe/dart/update_icon() cut_overlays() var/rounded_vol From 9fcbac0323563063bb783b2b633fd06a6d353230 Mon Sep 17 00:00:00 2001 From: Fermi Date: Sat, 8 Jun 2019 01:23:57 +0100 Subject: [PATCH 10/98] Lil flavour. --- code/modules/projectiles/guns/misc/syringe_gun.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index 84dc637df1..26e66b1987 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -120,4 +120,5 @@ if(istype(A, /obj/item/reagent_containers/syringe/dart)) ..() else + to_chat(user, "You can't put the [A] into \the [src]!") return FALSE From 42d0ab48250b70bd2ceb90b11dcdbd79a51ee8d8 Mon Sep 17 00:00:00 2001 From: Fermi Date: Sat, 8 Jun 2019 01:31:21 +0100 Subject: [PATCH 11/98] Comment cleanup. --- code/modules/projectiles/projectile/bullets/dart_syringe.dm | 6 +++--- code/modules/reagents/reagent_containers/syringes.dm | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index 58b76c78a2..23db5c3245 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -49,7 +49,7 @@ /obj/item/projectile/bullet/dart/syringe/dart/on_hit(atom/target, blocked = FALSE) if(iscarbon(target)) var/mob/living/carbon/M = target - if(blocked != 100) // not completely blocked + if(blocked != 100) if(M.can_inject(null, FALSE, def_zone, piercing)) // Pass the hit zone to see if it can inject by whether it hit the head or the body. ..(target, blocked, TRUE) for(var/datum/reagent/R in reagents.reagent_list) //OD prevention time! @@ -58,7 +58,7 @@ if(R.overdose_threshold == 0) //Is there a possible OD? M.reagents.add_reagent(R.id, R.volume) else - var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - M.reagents.get_reagent_amount(R.id)) -1) //Doesn't work + var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - M.reagents.get_reagent_amount(R.id)) -1) M.reagents.add_reagent(R.id, transVol) else if(!R.overdose_threshold == 0) @@ -70,7 +70,7 @@ target.visible_message("\The [src] beeps!") - to_chat("You feel a tiny prick, and turn around to see a smartdart embedded in your butt.") + to_chat("You feel a tiny prick as a smartdart embeds itself in you with a beep.") return TRUE else blocked = 100 diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index bfbf135e6f..39a372c381 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -268,7 +268,6 @@ desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD." volume = 20 amount_per_transfer_from_this = 20 - //icon = 'icons/obj/dart.dmi' icon_state = "empty" item_state = "syringe_empty" @@ -307,7 +306,7 @@ to_chat(user, "You cannot directly remove reagents from [target]!") return - var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares? + var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) to_chat(user, "You soak the [src] with [trans] units of the solution. It now contains [reagents.total_volume] units.") if (reagents.total_volume >= reagents.maximum_volume) From 26e55a7a4207209f7e89de5a54690a01de949b52 Mon Sep 17 00:00:00 2001 From: Fermi Date: Sat, 8 Jun 2019 01:40:13 +0100 Subject: [PATCH 12/98] Swapped stacking to FALSE --- code/game/objects/items/storage/belt.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 00788a2d7c..298d96c4b7 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -551,7 +551,7 @@ . = ..() GET_COMPONENT(STR, /datum/component/storage) STR.max_items = 18 - STR.display_numerical_stacking = TRUE + STR.display_numerical_stacking = FALSE STR.can_hold = typecacheof(list( /obj/item/reagent_containers/syringe/dart )) From b6788cdd64d5e3d167e537b1ec01a4dfd206e4ba Mon Sep 17 00:00:00 2001 From: Fermi Date: Sat, 8 Jun 2019 01:45:32 +0100 Subject: [PATCH 13/98] Updated projectile sprite. --- code/game/objects/items/storage/belt.dm | 4 ++-- .../projectile/bullets/dart_syringe.dm | 2 +- icons/obj/projectiles.dmi | Bin 117152 -> 117301 bytes 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 298d96c4b7..27c3d76655 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -550,14 +550,14 @@ /obj/item/storage/belt/medolier/ComponentInitialize() . = ..() GET_COMPONENT(STR, /datum/component/storage) - STR.max_items = 18 + STR.max_items = 12 STR.display_numerical_stacking = FALSE STR.can_hold = typecacheof(list( /obj/item/reagent_containers/syringe/dart )) /obj/item/storage/belt/medolier/full/PopulateContents() - for(var/i in 1 to 8) + for(var/i in 1 to 10) new /obj/item/reagent_containers/syringe/dart/(src) /obj/item/storage/belt/holster diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index 23db5c3245..92865a3a55 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -43,7 +43,7 @@ //I am in a mess of my own making /obj/item/projectile/bullet/dart/syringe/dart name = "Smartdart" - icon_state = "syringeproj" + icon_state = "dartproj" damage = 0 /obj/item/projectile/bullet/dart/syringe/dart/on_hit(atom/target, blocked = FALSE) diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index d276655ae865826e683ca252490d67ed04f56df3..bff1b631c32526c742238e42a1405e905ce9274e 100644 GIT binary patch delta 1777 zcmVF$xgqetU_Q$6WZ9)``gzU0Jok$(++aw& zbkKumTNQpg+unKB-)>qJemmO#_0F^YcB9Hq_OoXILM?=1Bwma2`jSie-v;OPJedy* zJpJY>_f9&5sZ!)5NnFb0StmpfQF?Qhs(+2})vXYb2hYg<#Sr+1fl8UuhtF7b0dsBc z%B}%WuS5f1Vd$K}3=S~-=Mwo(3*?qIS^4%eR>J`t1{vWMPLSmx1#s=RrI6DUk+KSQHRiQFGKISR0j=a^<&=OwttW3 z*EvguPjCoPrAW0l9-8lC=wY6XpBe%cgL!B$pKY-G)KYb?&0W!XfZ{tx8Nl`S4|MXo z!cX?IZvajV4O-45SpXIe_@QIYl~DWWfg)VvKN1xTQ4Fa(qalg5fM3-6o4Wkax7^KP<$a0 zjWW>R&zH@F**VacvF%x1a_iPDd-m*EjWde)lmbvXUOXOW?t>2w{WD%$UVq;8JYx~@ z0R^CsBoYam9G%|xx%s(wyQ(UAmdi2u)?35}1`hOmCYwEUV7`pUj~{#9hKP7a0q7&i z(P`3)v(5V^dmGF+>BU)+$s`kI+;&?C#s>zPho0`|^y$-{_C-Xxg96ZJlF4KmC&#qs;PCmc=AdOfo#<@4&Y->NBJbBXA_C%z$6o5VxU7Ur{>1OyfUVk1Z zQ&UrWR)Fnt@7}$(wkIO3r2zCZdmE@#fN!+7cZ%ovb{ zX7vZ~Mm_jyV}J|wr+>U*jF}3D!}Rv{QYaL#^+o5d>td}n#&};0bwULwBL1fU^r7VF z^!Au*&H(j3e2g(MfLty|p-{jWgSD1mFi5FX^1OXOK_?q`8BFNYi;v2q~kcAv|B6`_I)P1z7D{H1Fjbok$>Y&n_>G%dU3Wn{+CXt zw~YZVv}pl^<2aN`CCcS8)oK-MEw1ZQEEb7GBA%6?*#j;)xO3+YLy3e}-4Ky3q6*L_ z8rz^XVlJ6XelZ!QZp>O1yk8Pwj4{PrE*Ewj2Wu^rN`+V~))6xyi^bwmcR@saLKUD- ztgWrR5HQWH(SI5fV%oGG&~cndG#WLbP{@SCVbdw$Cn9nfssMdz!HhFzZd{WW4MS7vlHLP0%8E5q}?30Q$)M+`DFCbozzUUXzV$ zeLS$+PJ)2#72rQ_+&I#8fHRqq`tRUw^IkzH;y(&NpXtVMJFKJL3FbolzM094*gu>< zV`eg{0!92v0Vuw6)H}g6_W#^@ZA;@K(lQD_@tsbn0Ke=iBL1QP6yG`O3Q$D4g91=| zM?ohdtv;Xt6yIp<^(i9K3JO5!c<~b_c(Al|=${c0*^2^DI^M;L7d6R5L|X2Df#G>E T;My=P00000NkvXXu0mjfT*G8p delta 1627 zcmV-h2Bi75ln0=b2aqHI!?7i{0u`mF=w3X(J&C8+m+BueSwq&eNfwlY^#Zr`0s)V} zf5gUB-EkcMp1Je59*SQXGf`@25E6ir1%&_r1@K8kK~xgD78_eC5(1m9(`D(>?FP-J ztF9_4Wm&Oc1DiyMg*QABmf27V7&qHk6=W_5DmkJF1j~-cb|&L_-os)ZUN@)?T>BdNPK?6wmM&rzmoh3Z?c<5QYiPY$Zv@w)p;h4CiYD8xZ@p zLTR(gjs=2C`HP3HD*EffKeLvm>yVfpCHrAObIM@Wzv0t8=Xm~(-?PcLe>fy)Ql;6N z4=s<8y;)}a?}k{zU~U@B_uJgQYiS0T^Y7?BK#8138NluS`?~pE;U~TH48Zy9l;t^( z6=0>$51nm)@s-c=+WG@8SeVaFwF2T-^bb7H80NE6mstMvPXOfp_F(;Ac)R^!f4IE7 zw*Kl-#~|Tb_}PWBB66}Ef4B-%0~>DwPfBzy`$Ireh7oL!io$8BGM z(@SM{ms~Dq6@nsim}uNvFCro`U`hKilKxNyI??e0N6*Jd5g=WZX7Js_7add2qcsx!rnFOF#tI=pQ*xBB`udRs4 zK@@-y(+Rjv5JKySe>S&W{q=iXTa;b7a)okv??oEvbefl6dg&33NJOGY0T?lEVF_jy zyW!V){dtm{J9qBT3Q$C(9}2)Iv)6!D1^D8_?fI7DIH%(AxB~>WTCHk~xf=w*^uy>} z6`+U=f&wsND(!_Z-p{K*TCYTX-w(ZiYwd@LMB=w2BO|2Ke`$7hc5q!c)o3(Eo6Tlm zj0yd41yz6|G6)L5h?xa^=vIFKFSdiPH3zuTZWRt=%(-MT$>``Pl}ZKM-gF)W0oGb$ zO!$jWRRM~~ASeJM$eUT*8*|+ipy7v)F(wUADwU{IDi~w1))J4$snu$s_YWxOL}VZo zfDz;umYDUtf7Y|_@7)s^@+OEzqtUJWI@O-Fw)+~=ahy>4tyU^M+Z4C90JzcTenAmA z*>o6og!qM}?);zc`+Md9S02&^2*+`#)oRr1b(+m4)>?ufpjxexN~J<8L5p|p^wsYA z_3LCanXrZ-B11$KU_^9|LF>ev=XpOZhH0C%mX+|ge?%B#Otn-hB^}4XT1%tRAe~Mh zi<4)n)#{@jf`~+fD!_=?*x0x)V7f=6br!@tr2T-7RZH1jiy_ucmDb-uUf1BdM<2xwJ+ z>Gtz~u3ptXKoR-X6o3&kjNx`vItfNZ20;NRk)xAfL}U;YfD$>X07YaF6o3*rssKe~ z5EOtCISM)v83YBOL`LVVPZ5zpPyouYH+kw5EjLzIkNi6#B8O1`%CUF;{P`2V^+QAk Z??-WiHE;{qotgju002ovPDHLkV1k}JB2oYV From 3bb1a8dd00c1befaefc817ce6f2c68bdde0b1ade Mon Sep 17 00:00:00 2001 From: Fermi Date: Sat, 8 Jun 2019 02:19:39 +0100 Subject: [PATCH 14/98] OOPS. --- code/modules/research/designs/medical_designs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index a446255260..73d8dc3170 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -105,7 +105,7 @@ /datum/design/bluespacesmartdart name = "bluespace smartdart" desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD. Has an extended volume capacity thanks to bluespace foam." - id = "medicinalsmartdart" + id = "bluespacesmartdart" build_type = PROTOLATHE materials = list(MAT_GLASS = 2000, MAT_PLASTIC = 500, MAT_METAL = 500, MAT_BLUESPACE = 500) build_path = /obj/item/reagent_containers/syringe/dart/bluespace From 84c3c104cde97d0928210f53ff99ec4c9e3ee260 Mon Sep 17 00:00:00 2001 From: Thalpy <33956696+Thalpy@users.noreply.github.com> Date: Sat, 8 Jun 2019 06:32:12 +0100 Subject: [PATCH 15/98] Pointed out that a message could be misinterpreted as lewd. --- code/modules/reagents/reagent_containers/syringes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 39a372c381..4f8dd2c416 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -314,7 +314,7 @@ update_icon() if(SYRINGE_INJECT) - src.visible_message("The smartdart gives a frustrated boop! It's ready and full; You need to shoot someone with it!") + src.visible_message("The smartdart gives a frustrated boop! It's fully saturated; You need to shoot someone with it!") /obj/item/reagent_containers/syringe/dart/attack_self(mob/user) return From 17403bd0594a63189bcc420c43c596e29ab6819b Mon Sep 17 00:00:00 2001 From: Fermi Date: Thu, 13 Jun 2019 00:58:54 +0100 Subject: [PATCH 16/98] Non-functioning EMP code for review (revert before merging.) --- code/modules/projectiles/ammunition/special/syringe.dm | 8 ++++++++ .../projectiles/projectile/bullets/dart_syringe.dm | 3 ++- code/modules/reagents/reagent_containers/syringes.dm | 5 +++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/ammunition/special/syringe.dm b/code/modules/projectiles/ammunition/special/syringe.dm index a4107fa6a2..47ae266e45 100644 --- a/code/modules/projectiles/ammunition/special/syringe.dm +++ b/code/modules/projectiles/ammunition/special/syringe.dm @@ -66,3 +66,11 @@ projectile_type = /obj/item/projectile/bullet/dart/syringe/dart firing_effect_type = null harmful = FALSE + +/obj/item/ammo_casing/syringegun/dart/ready_proj(atom/target, mob/living/user, quiet, zone_override = "") + ..() + var/obj/item/gun/syringe/SG = loc + var/obj/item/reagent_containers/syringe/dart/S = SG.syringes[1] + if(S.emptrig == TRUE) + var/obj/item/projectile/bullet/dart/syringe/dart/D = BB + D.emptrig = TRUE diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm index 92865a3a55..6493e0f015 100644 --- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm +++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm @@ -45,6 +45,7 @@ name = "Smartdart" icon_state = "dartproj" damage = 0 + var/emptrig = FALSE /obj/item/projectile/bullet/dart/syringe/dart/on_hit(atom/target, blocked = FALSE) if(iscarbon(target)) @@ -55,7 +56,7 @@ for(var/datum/reagent/R in reagents.reagent_list) //OD prevention time! if(istype(R, /datum/reagent/medicine)) //Is this a medicine? if(M.reagents.has_reagent(R.id)) - if(R.overdose_threshold == 0) //Is there a possible OD? + if(R.overdose_threshold == 0 || emptrig == TRUE) //Is there a possible OD? M.reagents.add_reagent(R.id, R.volume) else var/transVol = CLAMP(R.volume, 0, (R.overdose_threshold - M.reagents.get_reagent_amount(R.id)) -1) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 4f8dd2c416..78cf518ec9 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -270,6 +270,7 @@ amount_per_transfer_from_this = 20 icon_state = "empty" item_state = "syringe_empty" + var/emptrig = FALSE /obj/item/reagent_containers/syringe/dart/afterattack(atom/target, mob/user , proximity) @@ -341,6 +342,10 @@ add_overlay(injoverlay) M.update_inv_hands() +/obj/item/reagent_containers/syringe/dart/emp_act(severity) + emptrig = TRUE + ..() + /obj/item/reagent_containers/syringe/dart/bluespace name = "bluespace smartdart" desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD. Has an extended volume capacity thanks to bluespace foam." From b78222690044f364400d344abc8caa2fb4a57435 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 17 Jun 2019 00:19:57 +0200 Subject: [PATCH 17/98] ports "Componentizes orbiting" --- code/__DEFINES/components.dm | 1 + code/__DEFINES/subsystems.dm | 1 - code/controllers/subsystem/augury.dm | 2 +- code/controllers/subsystem/orbit.dm | 44 ----- code/datums/components/orbiter.dm | 156 ++++++++++++++++++ code/game/atoms.dm | 2 + code/game/atoms_movable.dm | 14 +- code/modules/antagonists/cult/cult_comms.dm | 5 +- .../mining/lavaland/necropolis_chests.dm | 52 +++--- code/modules/mob/dead/observer/observer.dm | 9 +- code/modules/mob/mob.dm | 8 +- code/modules/orbit/orbit.dm | 135 --------------- code/modules/power/tesla/energy_ball.dm | 8 +- tgstation.dme | 3 +- 14 files changed, 205 insertions(+), 235 deletions(-) delete mode 100644 code/controllers/subsystem/orbit.dm create mode 100644 code/datums/components/orbiter.dm delete mode 100644 code/modules/orbit/orbit.dm diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index dbe8cfbb62..210bdf57a6 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -130,6 +130,7 @@ #define COMSIG_MOB_ITEM_AFTERATTACK "mob_item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters) #define COMSIG_MOB_ATTACK_RANGED "mob_attack_ranged" //from base of mob/RangedAttack(): (atom/A, params) #define COMSIG_MOB_THROW "mob_throw" //from base of /mob/throw_item(): (atom/target) +#define COMSIG_MOB_UPDATE_SIGHT "mob_update_sight" //from base of /mob/update_sight(): () // /mob/living signals #define COMSIG_LIVING_RESIST "living_resist" //from base of mob/living/resist() (/mob/living) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index f54a0542f4..ecd1ef1e21 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -102,7 +102,6 @@ #define FIRE_PRIORITY_SPACEDRIFT 30 #define FIRE_PRIORITY_FIELDS 30 #define FIRE_PRIOTITY_SMOOTHING 35 -#define FIRE_PRIORITY_ORBIT 35 #define FIRE_PRIORITY_NETWORKS 40 #define FIRE_PRIORITY_OBJ 40 #define FIRE_PRIORITY_ACID 40 diff --git a/code/controllers/subsystem/augury.dm b/code/controllers/subsystem/augury.dm index 875f1ee7d3..1b1c7bc3b7 100644 --- a/code/controllers/subsystem/augury.dm +++ b/code/controllers/subsystem/augury.dm @@ -50,7 +50,7 @@ SUBSYSTEM_DEF(augury) watchers -= w continue var/mob/dead/observer/O = w - if(biggest_doom && (!O.orbiting || O.orbiting.orbiting != biggest_doom)) + if(biggest_doom && (!O.orbiting || O.orbiting.parent != biggest_doom)) O.ManualFollow(biggest_doom) /datum/action/innate/augury diff --git a/code/controllers/subsystem/orbit.dm b/code/controllers/subsystem/orbit.dm deleted file mode 100644 index 45d280b601..0000000000 --- a/code/controllers/subsystem/orbit.dm +++ /dev/null @@ -1,44 +0,0 @@ -SUBSYSTEM_DEF(orbit) - name = "Orbits" - priority = FIRE_PRIORITY_ORBIT - wait = 2 - flags = SS_NO_INIT|SS_TICKER - - var/list/currentrun = list() - var/list/processing = list() - -/datum/controller/subsystem/orbit/stat_entry() - ..("P:[processing.len]") - - -/datum/controller/subsystem/orbit/fire(resumed = 0) - if (!resumed) - src.currentrun = processing.Copy() - - //cache for sanic speed (lists are references anyways) - var/list/currentrun = src.currentrun - - while (currentrun.len) - var/datum/orbit/O = currentrun[currentrun.len] - currentrun.len-- - if (!O) - processing -= O - if (MC_TICK_CHECK) - return - continue - if (!O.orbiter) - qdel(O) - if (MC_TICK_CHECK) - return - continue - if (O.lastprocess >= world.time) //we already checked recently - if (MC_TICK_CHECK) - return - continue - var/targetloc = get_turf(O.orbiting) - if (targetloc != O.lastloc || O.orbiter.loc != targetloc) - O.Check(targetloc) - if (MC_TICK_CHECK) - return - - diff --git a/code/datums/components/orbiter.dm b/code/datums/components/orbiter.dm new file mode 100644 index 0000000000..301e50dc42 --- /dev/null +++ b/code/datums/components/orbiter.dm @@ -0,0 +1,156 @@ +/datum/component/orbiter + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + var/list/orbiters + var/datum/callback/orbiter_spy + var/datum/callback/orbited_spy + +//radius: range to orbit at, radius of the circle formed by orbiting (in pixels) +//clockwise: whether you orbit clockwise or anti clockwise +//rotation_speed: how fast to rotate (how many ds should it take for a rotation to complete) +//rotation_segments: the resolution of the orbit circle, less = a more block circle, this can be used to produce hexagons (6 segments) triangles (3 segments), and so on, 36 is the best default. +//pre_rotation: Chooses to rotate src 90 degress towards the orbit dir (clockwise/anticlockwise), useful for things to go "head first" like ghosts +/datum/component/orbiter/Initialize(atom/movable/orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation) + if(!istype(orbiter) || !isatom(parent) || isarea(parent)) + return COMPONENT_INCOMPATIBLE + + orbiters = list() + orbiter_spy = CALLBACK(src, .proc/orbiter_move_react) + orbited_spy = CALLBACK(src, .proc/move_react) + + var/atom/master = parent + master.orbiters = src + + begin_orbit(orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation) + +/datum/component/orbiter/RegisterWithParent() + var/atom/target = parent + while(ismovableatom(target)) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, orbited_spy) + target = target.loc + +/datum/component/orbiter/UnregisterFromParent() + var/atom/target = parent + while(ismovableatom(target)) + UnregisterSignal(target, COMSIG_MOVABLE_MOVED) + target = target.loc + +/datum/component/orbiter/Destroy() + var/atom/master = parent + master.orbiters = null + for(var/i in orbiters) + end_orbit(i) + orbiters = null + QDEL_NULL(orbiter_spy) + QDEL_NULL(orbited_spy) + return ..() + +/datum/component/orbiter/InheritComponent(datum/component/orbiter/newcomp, original, list/arguments) + if(arguments) + begin_orbit(arglist(arguments)) + return + // The following only happens on component transfers + orbiters += newcomp.orbiters + +/datum/component/orbiter/PostTransfer() + if(!isatom(parent) || isarea(parent) || !get_turf(parent)) + return COMPONENT_INCOMPATIBLE + move_react() + +/datum/component/orbiter/proc/begin_orbit(atom/movable/orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation) + if(orbiter.orbiting) + if(orbiter.orbiting == src) + orbiter.orbiting.end_orbit(orbiter, TRUE) + else + orbiter.orbiting.end_orbit(orbiter) + orbiters[orbiter] = TRUE + orbiter.orbiting = src + RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, orbiter_spy) + var/matrix/initial_transform = matrix(orbiter.transform) + + // Head first! + if(pre_rotation) + var/matrix/M = matrix(orbiter.transform) + var/pre_rot = 90 + if(!clockwise) + pre_rot = -90 + M.Turn(pre_rot) + orbiter.transform = M + + var/matrix/shift = matrix(orbiter.transform) + shift.Translate(0, radius) + orbiter.transform = shift + + orbiter.SpinAnimation(rotation_speed, -1, clockwise, rotation_segments, parallel = FALSE) + + //we stack the orbits up client side, so we can assign this back to normal server side without it breaking the orbit + orbiter.transform = initial_transform + orbiter.forceMove(get_turf(parent)) + to_chat(orbiter, "Now orbiting [parent].") + +/datum/component/orbiter/proc/end_orbit(atom/movable/orbiter, refreshing=FALSE) + if(!orbiters[orbiter]) + return + UnregisterSignal(orbiter, COMSIG_MOVABLE_MOVED) + orbiter.SpinAnimation(0, 0) + orbiters -= orbiter + orbiter.stop_orbit(src) + orbiter.orbiting = null + if(!refreshing && !length(orbiters) && !QDELING(src)) + qdel(src) + +// This proc can receive signals by either the thing being directly orbited or anything holding it +/datum/component/orbiter/proc/move_react(atom/orbited, atom/oldloc, direction) + set waitfor = FALSE // Transfer calls this directly and it doesnt care if the ghosts arent done moving + + var/atom/movable/master = parent + if(master.loc == oldloc) + return + + var/turf/newturf = get_turf(master) + if(!newturf) + qdel(src) + + // Handling the signals of stuff holding us (or not anymore) + // These are prety rarely activated, how often are you following something in a bag? + if(oldloc && !isturf(oldloc)) // We used to be registered to it, probably + var/atom/target = oldloc + while(ismovableatom(target)) + UnregisterSignal(target, COMSIG_MOVABLE_MOVED) + target = target.loc + if(orbited?.loc && orbited.loc != newturf) // We want to know when anything holding us moves too + var/atom/target = orbited.loc + while(ismovableatom(target)) + RegisterSignal(target, COMSIG_MOVABLE_MOVED, orbited_spy, TRUE) + target = target.loc + + var/atom/curloc = master.loc + for(var/i in orbiters) + var/atom/movable/thing = i + if(QDELETED(thing) || thing.loc == newturf) + continue + thing.forceMove(newturf) + if(CHECK_TICK && master.loc != curloc) + // We moved again during the checktick, cancel current operation + break + + +/datum/component/orbiter/proc/orbiter_move_react(atom/movable/orbiter, atom/oldloc, direction) + if(orbiter.loc == get_turf(parent)) + return + end_orbit(orbiter) + +///////////////////// + +/atom/movable/proc/orbit(atom/A, radius = 10, clockwise = FALSE, rotation_speed = 20, rotation_segments = 36, pre_rotation = TRUE) + if(!istype(A) || !get_turf(A) || A == src) + return + + return A.AddComponent(/datum/component/orbiter, src, radius, clockwise, rotation_speed, rotation_segments, pre_rotation) + +/atom/movable/proc/stop_orbit(datum/component/orbiter/orbits) + return // We're just a simple hook + +/atom/proc/transfer_observers_to(atom/target) + if(!orbiters || !istype(target) || !get_turf(target) || target == src) + return + target.TakeComponent(orbiters) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 81e2371f9a..f2eb23808e 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -31,6 +31,8 @@ var/list/filter_data //For handling persistent filters + var/datum/component/orbiter/orbiters + var/rad_flags = NONE // Will move to flags_1 when i can be arsed to var/rad_insulation = RAD_NO_INSULATION diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index c37c120b93..f88f4f8e41 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -31,6 +31,7 @@ var/atom/movable/pulling var/grab_state = 0 var/throwforce = 0 + var/datum/component/orbiter/orbiting var/can_be_z_moved = TRUE /atom/movable/vv_edit_var(var_name, var_value) @@ -296,14 +297,7 @@ if (length(client_mobs_in_contents)) update_parallax_contents() - if (orbiters) - for (var/thing in orbiters) - var/datum/orbit/O = thing - O.Check() - if (orbiting) - orbiting.Check() - - return 1 + return TRUE /atom/movable/Destroy(force) QDEL_NULL(proximity_monitor) @@ -325,6 +319,10 @@ if(pulledby) pulledby.stop_pulling() + if(orbiting) + orbiting.end_orbit(src) + orbiting = null + // Make sure you know what you're doing if you call this, this is intended to only be called by byond directly. // You probably want CanPass() /atom/movable/Cross(atom/movable/AM) diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm index 8452f78ed3..761412e9f8 100644 --- a/code/modules/antagonists/cult/cult_comms.dm +++ b/code/modules/antagonists/cult/cult_comms.dm @@ -342,10 +342,7 @@ if(cooldown>world.time) to_chat(owner, "You aren't ready to place another blood mark yet!") return - if(owner.orbiting && owner.orbiting.orbiting) - target = owner.orbiting.orbiting - else - target = get_turf(owner) + target = owner.orbiting?.parent || get_turf(owner) if(!target) return C.cult_team.blood_target = target diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 0990ca961a..eaac1984e3 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -273,23 +273,12 @@ to_chat(user, "You release the wisp. It begins to bob around your head.") icon_state = "lantern" wisp.orbit(user, 20) - user.update_sight() SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed") else to_chat(user, "You return the wisp to the lantern.") - - var/mob/target - if(wisp.orbiting) - target = wisp.orbiting.orbiting - wisp.stop_orbit() - wisp.forceMove(src) - - if (istype(target)) - target.update_sight() - to_chat(target, "Your vision returns to normal.") - icon_state = "lantern-blue" + wisp.forceMove(src) SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned") /obj/item/wisp_lantern/Initialize() @@ -302,7 +291,7 @@ qdel(wisp) else wisp.visible_message("[wisp] has a sad feeling for a moment, then it passes.") - ..() + return ..() /obj/effect/wisp name = "friendly wisp" @@ -314,6 +303,25 @@ var/sight_flags = SEE_MOBS var/lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE +/obj/effect/wisp/orbit(atom/thing, radius, clockwise, rotation_speed, rotation_segments, pre_rotation, lockinorbit) + . = ..() + if(ismob(thing)) + RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight) + var/mob/being = thing + being.update_sight() + to_chat(thing, "The wisp enhances your vision.") + +/obj/effect/wisp/stop_orbit(datum/component/orbiter/orbits) + . = ..() + if(ismob(orbits.parent)) + UnregisterSignal(orbits.parent, COMSIG_MOB_UPDATE_SIGHT) + to_chat(orbits.parent, "Your vision returns to normal.") + +/obj/effect/wisp/proc/update_user_sight(mob/user) + user.sight |= sight_flags + if(!isnull(lighting_alpha)) + user.lighting_alpha = min(user.lighting_alpha, lighting_alpha) + //Red/Blue Cubes /obj/item/warp_cube name = "blue cube" @@ -781,19 +789,17 @@ var/turf/T = get_turf(src) var/list/contents = T.GetAllContents() var/mob/dead/observer/current_spirits = list() - var/list/orbiters = list() for(var/thing in contents) var/atom/A = thing - if (A.orbiters) - orbiters += A.orbiters + A.transfer_observers_to(src) - for(var/thing in orbiters) - var/datum/orbit/O = thing - if (isobserver(O.orbiter)) - var/mob/dead/observer/G = O.orbiter - ghost_counter++ - G.invisibility = 0 - current_spirits |= G + for(var/i in orbiters?.orbiters) + if(!isobserver(i)) + continue + var/mob/dead/observer/G = i + ghost_counter++ + G.invisibility = 0 + current_spirits |= G for(var/mob/dead/observer/G in spirits - current_spirits) G.invisibility = GLOB.observer_default_invisibility diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 55b8891534..8bfba07fe4 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -429,9 +429,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/orbitsize = (I.Width()+I.Height())*0.5 orbitsize -= (orbitsize/world.icon_size)*(world.icon_size*0.25) - if(orbiting && orbiting.orbiting != target) - to_chat(src, "Now orbiting [target].") - var/rot_seg switch(ghost_orbit) @@ -450,10 +447,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/orbit() setDir(2)//reset dir so the right directional sprites show up - ..() + return ..() -/mob/dead/observer/stop_orbit() - ..() +/mob/dead/observer/stop_orbit(datum/component/orbiter/orbits) + . = ..() //restart our floating animation after orbit is done. pixel_y = 0 animate(src, pixel_y = 2, time = 10, loop = -1) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 7ff8fbc0b1..641c80f188 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -871,13 +871,7 @@ return /mob/proc/update_sight() - for(var/O in orbiters) - var/datum/orbit/orbit = O - var/obj/effect/wisp/wisp = orbit.orbiter - if (istype(wisp)) - sight |= wisp.sight_flags - if(!isnull(wisp.lighting_alpha)) - lighting_alpha = min(lighting_alpha, wisp.lighting_alpha) + SEND_SIGNAL(src, COMSIG_MOB_UPDATE_SIGHT) sync_lighting_plane_alpha() diff --git a/code/modules/orbit/orbit.dm b/code/modules/orbit/orbit.dm deleted file mode 100644 index 79685b9104..0000000000 --- a/code/modules/orbit/orbit.dm +++ /dev/null @@ -1,135 +0,0 @@ -/datum/orbit - var/atom/movable/orbiter - var/atom/orbiting - var/lock = TRUE - var/turf/lastloc - var/lastprocess - -/datum/orbit/New(_orbiter, _orbiting, _lock) - orbiter = _orbiter - orbiting = _orbiting - SSorbit.processing += src - if (!orbiting.orbiters) - orbiting.orbiters = list() - orbiting.orbiters += src - - if (orbiter.orbiting) - orbiter.stop_orbit() - orbiter.orbiting = src - Check() - lock = _lock - -//do not qdel directly, use stop_orbit on the orbiter. (This way the orbiter can bind to the orbit stopping) -/datum/orbit/Destroy(force = FALSE) - SSorbit.processing -= src - if (orbiter) - orbiter.orbiting = null - orbiter = null - if (orbiting) - if (orbiting.orbiters) - orbiting.orbiters -= src - if (!orbiting.orbiters.len)//we are the last orbit, delete the list - orbiting.orbiters = null - orbiting = null - return ..() - -/datum/orbit/proc/Check(turf/targetloc, list/checked_already = list()) - //Avoid infinite loops for people who end up orbiting themself through another orbiter - checked_already[src] = TRUE - if (!orbiter) - qdel(src) - return - if (!orbiting) - orbiter.stop_orbit() - return - if (!orbiter.orbiting) //admin wants to stop the orbit. - orbiter.orbiting = src //set it back to us first - orbiter.stop_orbit() - var/atom/movable/AM = orbiting - if(istype(AM) && AM.orbiting && AM.orbiting.orbiting == orbiter) - orbiter.stop_orbit() - return - lastprocess = world.time - if (!targetloc) - targetloc = get_turf(orbiting) - if (!targetloc || (!lock && orbiter.loc != lastloc && orbiter.loc != targetloc)) - orbiter.stop_orbit() - return - var/turf/old_turf = get_turf(orbiter) - var/turf/new_turf = get_turf(targetloc) - if (old_turf?.z != new_turf?.z) - orbiter.onTransitZ(old_turf?.z, new_turf?.z) - // DO NOT PORT TO FORCEMOVE - MEMECODE WILL KILL MC - orbiter.loc = targetloc - orbiter.update_parallax_contents() - orbiter.update_light() - lastloc = orbiter.loc - for(var/other_orbit in orbiter.orbiters) - var/datum/orbit/OO = other_orbit - //Skip if checked already - if(checked_already[OO]) - continue - OO.Check(targetloc, checked_already) - -/atom/movable/var/datum/orbit/orbiting = null -/atom/var/list/orbiters = null - -//A: atom to orbit -//radius: range to orbit at, radius of the circle formed by orbiting (in pixels) -//clockwise: whether you orbit clockwise or anti clockwise -//rotation_speed: how fast to rotate (how many ds should it take for a rotation to complete) -//rotation_segments: the resolution of the orbit circle, less = a more block circle, this can be used to produce hexagons (6 segments) triangles (3 segments), and so on, 36 is the best default. -//pre_rotation: Chooses to rotate src 90 degress towards the orbit dir (clockwise/anticlockwise), useful for things to go "head first" like ghosts -//lockinorbit: Forces src to always be on A's turf, otherwise the orbit cancels when src gets too far away (eg: ghosts) - -/atom/movable/proc/orbit(atom/A, radius = 10, clockwise = FALSE, rotation_speed = 20, rotation_segments = 36, pre_rotation = TRUE, lockinorbit = FALSE) - if (!istype(A)) - return - - new/datum/orbit(src, A, lockinorbit) - if (!orbiting) //something failed, and our orbit datum deleted itself - return - var/matrix/initial_transform = matrix(transform) - - //Head first! - if (pre_rotation) - var/matrix/M = matrix(transform) - var/pre_rot = 90 - if(!clockwise) - pre_rot = -90 - M.Turn(pre_rot) - transform = M - - var/matrix/shift = matrix(transform) - shift.Translate(0,radius) - transform = shift - - SpinAnimation(rotation_speed, -1, clockwise, rotation_segments) - - //we stack the orbits up client side, so we can assign this back to normal server side without it breaking the orbit - transform = initial_transform - -/atom/movable/proc/stop_orbit() - SpinAnimation(0,0) - qdel(orbiting) - -/atom/Destroy(force = FALSE) - . = ..() - if (orbiters) - for (var/thing in orbiters) - var/datum/orbit/O = thing - if (O.orbiter) - O.orbiter.stop_orbit() - -/atom/movable/Destroy(force = FALSE) - . = ..() - if (orbiting) - stop_orbit() - -/atom/movable/proc/transfer_observers_to(atom/movable/target) - if(orbiters) - for(var/thing in orbiters) - var/datum/orbit/O = thing - if(O.orbiter && isobserver(O.orbiter)) - var/mob/dead/observer/D = O.orbiter - D.ManualFollow(target) diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 0a54bcab33..a5aa47f365 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -33,8 +33,8 @@ return /obj/singularity/energy_ball/Destroy() - if(orbiting && istype(orbiting.orbiting, /obj/singularity/energy_ball)) - var/obj/singularity/energy_ball/EB = orbiting.orbiting + if(orbiting && istype(orbiting.parent, /obj/singularity/energy_ball)) + var/obj/singularity/energy_ball/EB = orbiting.parent EB.orbiting_balls -= src for(var/ball in orbiting_balls) @@ -146,8 +146,8 @@ . = ..() /obj/singularity/energy_ball/stop_orbit() - if (orbiting && istype(orbiting.orbiting, /obj/singularity/energy_ball)) - var/obj/singularity/energy_ball/orbitingball = orbiting.orbiting + if (orbiting && istype(orbiting.parent, /obj/singularity/energy_ball)) + var/obj/singularity/energy_ball/orbitingball = orbiting.parent orbitingball.orbiting_balls -= src orbitingball.dissipate_strength = orbitingball.orbiting_balls.len ..() diff --git a/tgstation.dme b/tgstation.dme index e33566290c..aac4356e7d 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -247,7 +247,6 @@ #include "code\controllers\subsystem\moods.dm" #include "code\controllers\subsystem\nightshift.dm" #include "code\controllers\subsystem\npcpool.dm" -#include "code\controllers\subsystem\orbit.dm" #include "code\controllers\subsystem\overlays.dm" #include "code\controllers\subsystem\pai.dm" #include "code\controllers\subsystem\parallax.dm" @@ -360,6 +359,7 @@ #include "code\datums\components\mood.dm" #include "code\datums\components\nanites.dm" #include "code\datums\components\ntnet_interface.dm" +#include "code\datums\components\orbiter.dm" #include "code\datums\components\paintable.dm" #include "code\datums\components\rad_insulation.dm" #include "code\datums\components\radioactive.dm" @@ -2261,7 +2261,6 @@ #include "code\modules\NTNet\network.dm" #include "code\modules\NTNet\relays.dm" #include "code\modules\NTNet\services\_service.dm" -#include "code\modules\orbit\orbit.dm" #include "code\modules\paperwork\clipboard.dm" #include "code\modules\paperwork\contract.dm" #include "code\modules\paperwork\filingcabinet.dm" From b2d82bd1f178e85d08aa65f6eef4a7b2aaaf1942 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 17 Jun 2019 00:27:07 +0200 Subject: [PATCH 18/98] Applying upstream fixes. --- code/game/machinery/dance_machine.dm | 6 +++--- code/modules/mob/camera/camera.dm | 2 ++ code/modules/mob/dead/dead.dm | 2 ++ code/modules/mob/mob_movement.dm | 6 +++--- code/modules/power/tesla/energy_ball.dm | 4 ++-- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 7beb32eebb..1c6d713437 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -214,11 +214,11 @@ sparkles += S switch(i) if(1 to 8) - S.orbit(src, 30, TRUE, 60, 36, TRUE, FALSE) + S.orbit(src, 30, TRUE, 60, 36, TRUE) if(9 to 16) - S.orbit(src, 62, TRUE, 60, 36, TRUE, FALSE) + S.orbit(src, 62, TRUE, 60, 36, TRUE) if(17 to 24) - S.orbit(src, 95, TRUE, 60, 36, TRUE, FALSE) + S.orbit(src, 95, TRUE, 60, 36, TRUE) if(25) S.pixel_y = 7 S.forceMove(get_turf(src)) diff --git a/code/modules/mob/camera/camera.dm b/code/modules/mob/camera/camera.dm index 883f5a034f..c780d57810 100644 --- a/code/modules/mob/camera/camera.dm +++ b/code/modules/mob/camera/camera.dm @@ -26,7 +26,9 @@ return /mob/camera/forceMove(atom/destination) + var/oldloc = loc loc = destination + Moved(oldloc, NONE, TRUE) /mob/camera/emote(act, m_type=1, message = null, intentional = FALSE) return diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index d886a41b0f..381dc131e7 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -34,7 +34,9 @@ INITIALIZE_IMMEDIATE(/mob/dead) var/turf/new_turf = get_turf(destination) if (old_turf?.z != new_turf?.z) onTransitZ(old_turf?.z, new_turf?.z) + var/oldloc = loc loc = destination + Moved(oldloc, NONE, TRUE) /mob/dead/Stat() ..() diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 33f1ec81c1..82e2b11f8e 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -148,7 +148,7 @@ if(INCORPOREAL_MOVE_BASIC) var/T = get_step(L,direct) if(T) - L.loc = T + L.forceMove(T) L.setDir(direct) if(INCORPOREAL_MOVE_SHADOW) if(prob(50)) @@ -190,7 +190,7 @@ new /obj/effect/temp_visual/dir_setting/ninja/shadow(mobloc, L.dir) var/T = get_step(L,direct) if(T) - L.loc = T + L.forceMove(T) L.setDir(direct) if(INCORPOREAL_MOVE_JAUNT) //Incorporeal move, but blocked by holy-watered tiles and salt piles. var/turf/open/floor/stepTurf = get_step(L, direct) @@ -209,7 +209,7 @@ to_chat(L, "Holy energies block your path!") return - L.loc = get_step(L, direct) + L.forceMove(stepTurf) L.setDir(direct) return TRUE diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index a5aa47f365..bbad3e08b0 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -150,8 +150,8 @@ var/obj/singularity/energy_ball/orbitingball = orbiting.parent orbitingball.orbiting_balls -= src orbitingball.dissipate_strength = orbitingball.orbiting_balls.len - ..() - if (!loc && !QDELETED(src)) + . = ..() + if (!QDELETED(src)) qdel(src) From 6f2b316b301e18a93ab70d9672f58926810c2e28 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 17 Jun 2019 00:40:51 +0200 Subject: [PATCH 19/98] Oh yea, ghost seizure fix. --- code/__HELPERS/matrices.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/__HELPERS/matrices.dm b/code/__HELPERS/matrices.dm index 8b77b170e0..d96ec76a7c 100644 --- a/code/__HELPERS/matrices.dm +++ b/code/__HELPERS/matrices.dm @@ -2,7 +2,7 @@ . = new_angle - old_angle Turn(.) //BYOND handles cases such as -270, 360, 540 etc. DOES NOT HANDLE 180 TURNS WELL, THEY TWEEN AND LOOK LIKE SHIT -/atom/proc/SpinAnimation(speed = 10, loops = -1, clockwise = 1, segments = 3) +/atom/proc/SpinAnimation(speed = 10, loops = -1, clockwise = 1, segments = 3, parallel = TRUE) if(!segments) return var/segment = 360/segments @@ -18,7 +18,11 @@ speed /= segments - animate(src, transform = matrices[1], time = speed, loops) + if(parallel) + animate(src, transform = matrices[1], time = speed, loops , flags = ANIMATION_PARALLEL) + else + animate(src, transform = matrices[1], time = speed, loops) + for(var/i in 2 to segments) //2 because 1 is covered above animate(transform = matrices[i], time = speed) //doesn't have an object argument because this is "Stacking" with the animate call above From 1060bb05b4dc878b6b59addd16550f685455c986 Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Mon, 17 Jun 2019 17:41:46 +1200 Subject: [PATCH 20/98] Space hermit ruin --- _maps/RandomRuins/SpaceRuins/spacehermit.dmm | 2941 ++++++++++++++++++ code/datums/ruins/space.dm | 6 + config/spaceRuinBlacklist.txt | 1 + 3 files changed, 2948 insertions(+) create mode 100644 _maps/RandomRuins/SpaceRuins/spacehermit.dmm diff --git a/_maps/RandomRuins/SpaceRuins/spacehermit.dmm b/_maps/RandomRuins/SpaceRuins/spacehermit.dmm new file mode 100644 index 0000000000..341dcf7b99 --- /dev/null +++ b/_maps/RandomRuins/SpaceRuins/spacehermit.dmm @@ -0,0 +1,2941 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/closed/mineral/random/low_chance, +/area/ruin/unpowered) +"ac" = ( +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"ad" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"ae" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/powered) +"af" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/mineral/titanium, +/area/ruin/powered) +"ag" = ( +/obj/structure/shuttle/engine/propulsion/right{ + dir = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/ruin/powered) +"ah" = ( +/obj/structure/table/wood, +/obj/item/shovel, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"ai" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"aj" = ( +/obj/machinery/computer/cryopod, +/turf/closed/wall/mineral/titanium, +/area/ruin/powered) +"ak" = ( +/obj/structure/fluff/empty_cryostasis_sleeper, +/turf/open/floor/mineral/titanium, +/area/ruin/powered) +"al" = ( +/obj/machinery/status_display/shuttle, +/turf/closed/wall/mineral/titanium, +/area/ruin/powered) +"am" = ( +/obj/item/circuitboard/computer/rdconsole, +/obj/item/circuitboard/machine/protolathe/department/science, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"an" = ( +/turf/open/floor/mineral/titanium, +/area/ruin/powered) +"ao" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/turf/open/floor/mineral/titanium, +/area/ruin/powered) +"ap" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/mineral/titanium, +/area/ruin/powered) +"aq" = ( +/obj/machinery/computer{ + desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; + dir = 4; + name = "Broken Computer" + }, +/turf/open/floor/mineral/titanium, +/area/ruin/powered) +"ar" = ( +/obj/machinery/door/airlock/titanium{ + name = "Escape Pod Airlock" + }, +/turf/open/floor/mineral/titanium, +/area/ruin/powered) +"as" = ( +/obj/machinery/light, +/turf/open/floor/mineral/titanium, +/area/ruin/powered) +"at" = ( +/obj/structure/shuttle/engine/propulsion/left{ + dir = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/ruin/powered) +"au" = ( +/obj/item/seeds/tower, +/obj/item/seeds/tower, +/obj/item/seeds/tower, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"av" = ( +/obj/structure/table/wood, +/obj/item/paper/crumpled{ + info = "

So this is it, I guess.. Always thought I'd go out doing something stupid, but.. not like this.
Should anyone find this note, tell Jeremy Clarke he can kiss my ass. Launching the pod unprepared like that..
Well. Now that I'm keeling over here, I guess I should write how I came to be the last one standing here.
Four of us took this pod.. only three of us woke up though.. fourth pod is locked from the inside, we couldn't figure out how to get it open.
Me and the clown set up a farm s'we can survive at least a while.. though, he didn't seem to understand that man cannot live on banana alone.
Had a bunch of circuits on him for some reason when he eventually passed, whispered to me something about a chem dispenser.. I.. don't know what he meant by that. I was never good with machinary. Maybe he wanted space lube?
The assistant that we gave the space suit to go out and find help never came back.. I'm betting he found salvation and left us behind.. never can trust those grubby greytiders." + }, +/obj/item/pen, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aw" = ( +/obj/item/stack/sheet/mineral/wood, +/obj/item/stack/sheet/mineral/wood, +/obj/item/stack/sheet/mineral/wood, +/obj/item/stack/sheet/mineral/wood, +/obj/item/stack/sheet/mineral/wood, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"ax" = ( +/obj/item/twohanded/spear, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"ay" = ( +/obj/item/grown/log, +/obj/item/grown/log, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"az" = ( +/obj/structure/table/wood, +/obj/item/storage/bag/plants/portaseeder, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aA" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"aB" = ( +/obj/item/seeds/banana, +/obj/item/seeds/banana, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aC" = ( +/obj/effect/mob_spawn/human/clown/corpse, +/obj/structure/fans/tiny/invisible, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aD" = ( +/obj/item/mining_scanner, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aE" = ( +/obj/machinery/status_display/shuttle, +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered) +"aF" = ( +/obj/item/pickaxe/emergency, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aG" = ( +/obj/structure/sink/puddle, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aH" = ( +/obj/structure/table/wood, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aI" = ( +/obj/effect/mob_spawn/human/corpse/assistant, +/turf/template_noop, +/area/template_noop) +"aJ" = ( +/obj/structure/table/wood, +/obj/item/storage/bag/ore, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aK" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aL" = ( +/obj/structure/table/wood, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/head/welding, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aM" = ( +/mob/living/simple_animal/hostile/carp, +/turf/template_noop, +/area/template_noop) +"aN" = ( +/obj/structure/mineral_door/sandstone, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aO" = ( +/mob/living/simple_animal/hostile/carp, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"aP" = ( +/obj/item/stack/ore/gold, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aQ" = ( +/obj/item/stack/ore/gold, +/obj/item/stack/ore/gold, +/obj/item/stack/ore/gold, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aR" = ( +/obj/item/stack/ore/iron, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aS" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/unpowered) +"aT" = ( +/obj/item/stack/ore/iron, +/obj/item/stack/ore/iron, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aU" = ( +/obj/item/flashlight/lamp, +/obj/structure/table/wood, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"aV" = ( +/obj/item/clothing/suit/space/orange, +/turf/template_noop, +/area/template_noop) +"aW" = ( +/obj/item/clothing/head/helmet/space/orange, +/turf/template_noop, +/area/template_noop) +"aX" = ( +/mob/living/simple_animal/hostile/carp/megacarp, +/turf/template_noop, +/area/template_noop) +"aY" = ( +/obj/effect/mob_spawn/human/hermit{ + flavour_text = "You've been late to awaken from your cryo slumber. Blasted machine, you set it to 10 days not 10 weeks! Where have the others gone while we were out? Did they manage to survive? These thoughts are dispelled by yet another recollection of how you got here... "; + job_description = "Space Hermit" + }, +/turf/open/floor/mineral/titanium, +/area/ruin/powered) +"aZ" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered) +"ba" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/mineral/titanium, +/area/ruin/unpowered) +"bb" = ( +/obj/structure/shuttle/engine/propulsion/left{ + dir = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/ruin/unpowered) +"bc" = ( +/obj/item/circuitboard/machine/circuit_imprinter, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bd" = ( +/obj/item/grown/bananapeel, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"be" = ( +/obj/effect/mob_spawn/human/corpse/cargo_tech, +/obj/structure/fans/tiny/invisible, +/obj/effect/decal/cleanable/vomit, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bf" = ( +/obj/item/clothing/glasses/meson, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bg" = ( +/obj/item/stock_parts/matter_bin, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bh" = ( +/obj/item/circuitboard/machine/autolathe, +/turf/open/floor/mineral/titanium, +/area/ruin/powered) +"bi" = ( +/obj/item/stock_parts/manipulator, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bj" = ( +/obj/item/holosign_creator/atmos, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bk" = ( +/obj/structure/holosign/barrier/atmos, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bl" = ( +/obj/machinery/power/floodlight, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bm" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bn" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bo" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bp" = ( +/obj/item/stack/ore/iron, +/obj/item/stack/ore/iron, +/obj/item/stack/ore/iron, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bq" = ( +/obj/structure/cable, +/obj/machinery/power/port_gen/pacman{ + active = 1; + anchored = 1; + sheets = 10 + }, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"br" = ( +/obj/item/stack/ore/iron, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"bs" = ( +/obj/item/flashlight/lamp/bananalamp, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aM +aa +aa +aa +aa +aa +aa +aa +ac +aO +aA +aA +aA +aA +aA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aM +aa +aa +aa +aa +aa +aa +aa +aA +aA +aA +aA +aA +aA +ab +ab +ab +ab +ab +ab +ab +aA +aA +aA +aa +aa +aa +aa +aM +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aA +aa +aa +aa +aa +aW +aa +aM +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +aa +aV +aI +aX +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +aA +aA +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +aM +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aM +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ae +af +ae +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aA +ab +ab +aA +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +af +aq +af +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +ab +ab +ab +ab +aA +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ae +ae +ao +ae +ae +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aA +ab +ab +ab +ab +aA +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +af +an +an +an +af +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(12,1,1) = {" +aa +aa +aa +aA +ab +ab +ab +ab +aA +aa +aa +aA +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ae +ae +bh +an +an +ae +aZ +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(13,1,1) = {" +aa +aa +aa +aA +ab +ab +ab +ab +aA +aa +aa +aA +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +af +aY +ao +ao +ao +ak +ba +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +ab +ab +ab +ab +aA +aa +aa +aA +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +al +aj +ap +an +as +aj +aE +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aA +ab +ab +aA +aa +aa +aa +aA +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +af +ak +ao +ao +ao +ak +ba +ac +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ah +az +ab +ab +ab +ab +ab +ab +ab +ab +aR +ae +ae +an +an +an +ae +aZ +ac +ab +ab +ab +ab +ab +ab +ab +aA +aM +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ab +ab +ab +ab +ab +ab +ab +ab +aR +ag +ag +af +ar +af +at +bb +ac +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ad +ac +ac +ac +ac +ab +aH +aJ +aL +ab +ab +aT +ac +ac +ac +ac +ac +ac +ac +aR +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ad +au +ac +aB +am +ac +ac +ac +ac +ab +ab +ac +ac +ac +ac +ac +ac +ac +ac +bg +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ad +aw +bs +aC +ac +ac +ac +ac +ac +ab +ab +ab +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aM +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ad +ax +ac +aD +aF +ac +ac +ac +ab +ab +ab +aU +bd +ac +ac +bl +bm +ac +ac +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ad +ay +ac +ac +ac +aG +ac +ac +ab +ab +ab +av +be +ac +ac +ac +bn +bo +bo +bq +ab +ab +ab +ab +ab +ab +ab +aA +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab +bc +bf +ac +ac +ac +ac +ac +ac +br +ab +ab +ab +ab +ab +ab +aA +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ab +ac +ac +ac +ac +ac +ab +ab +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab +ab +ab +ab +aA +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +ac +ac +aN +ac +ac +ac +ac +aR +ac +ac +ac +ac +ab +ab +ab +ab +ab +ab +aA +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +ab +ab +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab +ab +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aK +ab +ab +ac +ac +ac +ac +ac +ac +ac +bp +ac +ac +aR +ab +ab +ab +aA +aa +aa +aa +aM +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aP +ac +ac +ac +ac +ac +ac +ac +ac +ac +aR +ab +ab +ab +aA +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aQ +aP +ac +ac +aR +ac +ac +ac +ac +ab +ac +ab +ab +ab +aA +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +ac +aP +ac +bg +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +ac +ac +ac +ac +aS +ab +ab +ab +ab +aA +aa +aa +aa +ab +aA +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +bg +ac +ac +ac +ac +ac +aS +ab +ab +ab +ab +aA +aa +aa +aO +ab +ab +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +bj +ac +ac +ac +aS +ab +ab +ab +ab +aA +aa +aA +ab +ab +ab +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aS +bi +ac +ac +ac +aS +aS +ab +ab +ab +ab +aA +aa +aA +ab +ab +aA +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aA +aA +aa +aa +aa +aa +aM +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aS +ac +ac +ac +ac +aS +aS +ab +ab +ab +aA +aa +aa +aA +ab +ab +ab +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +ab +ab +aA +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aS +aS +aS +bk +bk +aS +aS +aS +aS +ab +ab +aA +aa +aa +aa +ab +ab +ab +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aA +aA +aS +aS +aS +bk +aS +aS +aS +aA +aA +ab +aA +aa +aa +aa +aa +aA +aA +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aA +ai +ai +ai +ai +ai +ai +ai +ai +aA +aA +ab +aA +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aA +aa +aa +aa +ai +ai +ai +aa +ai +aa +aa +aA +ab +aA +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aA +ab +ab +aA +aa +aa +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +ai +aa +aa +ab +ab +aA +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aA +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +aA +aA +aA +aA +aA +aA +aA +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aM +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +aA +aA +aA +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aa +aa +aa +aa +aM +aa +aa +aa +aa +aa +aa +aa +aM +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aM +aa +aa +aa +aa +ac +ab +ac +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aM +ab +ab +aA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +ab +ab +ab +aa +aa +aa +aM +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +ab +aA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ab +ac +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aA +aa +aa +aa +aa +aM +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +"} diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index e66673d4f5..22fca23902 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -299,3 +299,9 @@ suffix = "arcade.dmm" name = "Space Arcade" description = "A lonely arcade in the depths of space." + +/datum/map_template/ruin/space/hermit + id = "spacehermit" + suffix = "spacehermit.dmm" + name = "Space Hermit" + description = "A late awakening cryo pod in a crashed escape pod wakes up to find what befell of his fellow survivors. Contains all the necessary resources to actually make it out alive. Good luck." diff --git a/config/spaceRuinBlacklist.txt b/config/spaceRuinBlacklist.txt index 6e74857e66..cba9a01e73 100644 --- a/config/spaceRuinBlacklist.txt +++ b/config/spaceRuinBlacklist.txt @@ -48,3 +48,4 @@ #_maps/RandomRuins/SpaceRuins/augmentationfacility.dmm #_maps/RandomRuins/SpaceRuins/bigape.dmm #_maps/RandomRuins/SpaceRuins/arcade.dmm +#_maps/RandomRuins/SpaceRuins/spacehermit.dmm From 8b5bab29b2000f9a76ca3c77ddf81b9bb87589de Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 17 Jun 2019 08:06:14 +0200 Subject: [PATCH 21/98] Buffs out certain stun spells. --- code/modules/spells/spell_types/construct_spells.dm | 7 ++++++- code/modules/spells/spell_types/inflict_handler.dm | 7 ++++++- code/modules/spells/spell_types/wizard.dm | 9 +++++---- modular_citadel/code/datums/status_effects/debuffs.dm | 2 +- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm index 39066ae4a9..475b40b6f0 100644 --- a/code/modules/spells/spell_types/construct_spells.dm +++ b/code/modules/spells/spell_types/construct_spells.dm @@ -146,11 +146,15 @@ clothes_req = 0 invocation = "none" invocation_type = "none" + proj_type = /obj/effect/proc_holder/spell/targeted/inflict_handler/magic_missile/lesser proj_lifespan = 10 max_targets = 6 action_icon_state = "magicm" action_background_icon_state = "bg_demon" +/obj/effect/proc_holder/spell/targeted/inflict_handler/magic_missile/lesser + amt_hardstun = 5 + amt_knockdown = 80 /obj/effect/proc_holder/spell/targeted/smoke/disable name = "Paralysing Smoke" @@ -304,7 +308,8 @@ name = "Gauntlet Echo" alpha = 180 amt_dam_brute = 30 - amt_knockdown = 50 + amt_knockdown = 80 + amt_dam_stam = 30 sound = 'sound/weapons/punch3.ogg' /obj/effect/proc_holder/spell/targeted/inflict_handler/juggernaut/cast(list/targets,mob/user = usr) diff --git a/code/modules/spells/spell_types/inflict_handler.dm b/code/modules/spells/spell_types/inflict_handler.dm index da0af7a601..25bdc7c9d2 100644 --- a/code/modules/spells/spell_types/inflict_handler.dm +++ b/code/modules/spells/spell_types/inflict_handler.dm @@ -3,10 +3,12 @@ desc = "This spell blinds and/or destroys/damages/heals and/or knockdowns/stuns the target." var/amt_knockdown = 0 + var/amt_hardstun var/amt_unconscious = 0 var/amt_stun = 0 //set to negatives for healing + var/amt_dam_stam var/amt_dam_fire = 0 var/amt_dam_brute = 0 var/amt_dam_oxy = 0 @@ -41,7 +43,10 @@ target.adjustToxLoss(amt_dam_tox) target.adjustOxyLoss(amt_dam_oxy) //disabling - target.Knockdown(amt_knockdown) + if(!amt_knockdown && amt_dam_stam) + target.adjustStaminaLoss(amt_dam_stam) + else + target.Knockdown(amt_knockdown, override_hardstun = amt_hardstun, amt_dam_stam) target.Unconscious(amt_unconscious) target.Stun(amt_stun) diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm index aec0e7806b..e39faad963 100644 --- a/code/modules/spells/spell_types/wizard.dm +++ b/code/modules/spells/spell_types/wizard.dm @@ -28,7 +28,8 @@ sound = 'sound/magic/magic_missile.ogg' /obj/effect/proc_holder/spell/targeted/inflict_handler/magic_missile - amt_knockdown = 60 + amt_knockdown = 120 + amt_hardstun = 10 sound = 'sound/magic/mm_hit.ogg' /obj/effect/proc_holder/spell/targeted/genetic/mutate @@ -262,7 +263,7 @@ action_icon_state = "repulse" -/obj/effect/proc_holder/spell/aoe_turf/repulse/cast(list/targets,mob/user = usr, var/stun_amt = 40) +/obj/effect/proc_holder/spell/aoe_turf/repulse/cast(list/targets,mob/user = usr, stun_amt = 50) var/list/thrownatoms = list() var/atom/throwtarget var/distfromcaster @@ -286,14 +287,14 @@ if(distfromcaster == 0) if(isliving(AM)) var/mob/living/M = AM - M.Knockdown(100) + M.Knockdown(100, override_hardstun = 25) M.adjustBruteLoss(5) to_chat(M, "You're slammed into the floor by [user]!") else new sparkle_path(get_turf(AM), get_dir(user, AM)) //created sparkles will disappear on their own if(isliving(AM)) var/mob/living/M = AM - M.Knockdown(stun_amt) + M.Knockdown(stun_amt, override_hardstun = stun_amt * 0.2) to_chat(M, "You're thrown back by [user]!") AM.throw_at(throwtarget, ((CLAMP((maxthrow - (CLAMP(distfromcaster - 2, 0, distfromcaster))), 3, maxthrow))), 1,user)//So stuff gets tossed around at the same time. diff --git a/modular_citadel/code/datums/status_effects/debuffs.dm b/modular_citadel/code/datums/status_effects/debuffs.dm index 6dcfc84a87..ab7109da70 100644 --- a/modular_citadel/code/datums/status_effects/debuffs.dm +++ b/modular_citadel/code/datums/status_effects/debuffs.dm @@ -5,7 +5,7 @@ buckl.unbuckle_mob(new_owner) new_owner.resting = TRUE new_owner.adjustStaminaLoss(isnull(override_stam)? set_duration*0.25 : override_stam) - if(isnull(override_duration) && (set_duration > 80)) + if(isnull(override_duration) && (set_duration >= 80)) set_duration = set_duration*0.01 return ..() else if(!isnull(override_duration)) From 1c93c43e20f273539db0467c267fdf02c3a45099 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 17 Jun 2019 09:16:45 +0200 Subject: [PATCH 22/98] Fixes roffle waffle, mushroom halluginogen and some invalid reagent. --- .../food_and_drinks/recipes/tablecraft/recipes_pastry.dm | 4 ++-- code/modules/reagents/chemistry/reagents/food_reagents.dm | 2 +- .../modules/reagents/chemistry/reagents/other_reagents.dm | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm index 4b76ca120b..b32097fff9 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm @@ -22,7 +22,7 @@ ) result = /obj/item/reagent_containers/food/snacks/donut subcategory = CAT_PASTRY - + /datum/crafting_recipe/food/donut time = 15 name = "Semen donut" @@ -104,7 +104,7 @@ datum/crafting_recipe/food/donut/meat /datum/crafting_recipe/food/rofflewaffles name = "Roffle waffles" reqs = list( - /datum/reagent/mushroomhallucinogen = 5, + /datum/reagent/drug/mushroomhallucinogen = 5, /obj/item/reagent_containers/food/snacks/pastrybase = 2 ) result = /obj/item/reagent_containers/food/snacks/rofflewaffles diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index afa469706a..c5b1a3fd84 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -401,7 +401,7 @@ metabolization_rate = 0.2 * REAGENTS_METABOLISM taste_description = "mushroom" -/datum/reagent/mushroomhallucinogen/on_mob_life(mob/living/carbon/M) +/datum/reagent/drug/mushroomhallucinogen/on_mob_life(mob/living/carbon/M) M.slurring = max(M.slurring,50) switch(current_cycle) if(1 to 5) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 40242909de..19df228965 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1814,14 +1814,14 @@ description = "A colorless liquid that suppresses violence on the subjects. Cheaper to synthetize, but wears out faster than normal Pax." metabolization_rate = 1.5 * REAGENTS_METABOLISM -/datum/reagent/peaceborg/confuse +/datum/reagent/peaceborg_confuse name = "Dizzying Solution" id = "dizzysolution" description = "Makes the target off balance and dizzy" metabolization_rate = 1.5 * REAGENTS_METABOLISM taste_description = "dizziness" -/datum/reagent/peaceborg/confuse/on_mob_life(mob/living/carbon/M) +/datum/reagent/peaceborg_confuse/on_mob_life(mob/living/carbon/M) if(M.confused < 6) M.confused = CLAMP(M.confused + 3, 0, 5) if(M.dizziness < 6) @@ -1830,14 +1830,14 @@ to_chat(M, "You feel confused and disorientated.") ..() -/datum/reagent/peaceborg/tire +/datum/reagent/peaceborg_tire name = "Tiring Solution" id = "tiresolution" description = "An extremely weak stamina-toxin that tires out the target. Completely harmless." metabolization_rate = 1.5 * REAGENTS_METABOLISM taste_description = "tiredness" -/datum/reagent/peaceborg/tire/on_mob_life(mob/living/carbon/M) +/datum/reagent/peaceborg_tire/on_mob_life(mob/living/carbon/M) var/healthcomp = (100 - M.health) //DOES NOT ACCOUNT FOR ADMINBUS THINGS THAT MAKE YOU HAVE MORE THAN 200/210 HEALTH, OR SOMETHING OTHER THAN A HUMAN PROCESSING THIS. if(M.getStaminaLoss() < (45 - healthcomp)) //At 50 health you would have 200 - 150 health meaning 50 compensation. 60 - 50 = 10, so would only do 10-19 stamina.) M.adjustStaminaLoss(10) From 50dd512be71838b88a2762eeff83069f86b497f7 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 17 Jun 2019 10:50:40 +0200 Subject: [PATCH 23/98] Ports system for randomized semi-persistent chem reactions. --- .../SpaceRuins/originalcontent.dmm | 6 +- code/__DEFINES/food.dm | 1 + code/__HELPERS/reagents.dm | 75 +++++++ code/__HELPERS/time.dm | 3 + code/controllers/subsystem/persistence.dm | 42 ++++ code/datums/mood_events/drink_events.dm | 5 + code/modules/reagents/chemistry/holder.dm | 7 +- .../chemistry/reagents/food_reagents.dm | 13 ++ .../reagents/chemistry/recipes/special.dm | 212 ++++++++++++++++++ .../unit_tests/reagent_recipe_collisions.dm | 52 ----- tgstation.dme | 2 + 11 files changed, 364 insertions(+), 54 deletions(-) create mode 100644 code/__HELPERS/reagents.dm create mode 100644 code/modules/reagents/chemistry/recipes/special.dm diff --git a/_maps/RandomRuins/SpaceRuins/originalcontent.dmm b/_maps/RandomRuins/SpaceRuins/originalcontent.dmm index 624aa03d7c..7d718d6904 100644 --- a/_maps/RandomRuins/SpaceRuins/originalcontent.dmm +++ b/_maps/RandomRuins/SpaceRuins/originalcontent.dmm @@ -912,6 +912,10 @@ }, /turf/open/indestructible/paper, /area/ruin/powered) +"Ns" = ( +/obj/item/paper/secretrecipe, +/turf/open/indestructible/paper, +/area/ruin/powered) (1,1,1) = {" aa @@ -2246,7 +2250,7 @@ ap az af al -aA +Ns bW ca af diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index 2c7a66ce40..15c7af5749 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -16,3 +16,4 @@ #define DRINK_GOOD 2 #define DRINK_VERYGOOD 3 #define DRINK_FANTASTIC 4 +#define FOOD_AMAZING 5 diff --git a/code/__HELPERS/reagents.dm b/code/__HELPERS/reagents.dm new file mode 100644 index 0000000000..39431f90d9 --- /dev/null +++ b/code/__HELPERS/reagents.dm @@ -0,0 +1,75 @@ +/proc/chem_recipes_do_conflict(datum/chemical_reaction/r1, datum/chemical_reaction/r2) + //do the non-list tests first, because they are cheaper + if(r1.required_container != r2.required_container) + return FALSE + if(r1.is_cold_recipe == r2.is_cold_recipe) + if(r1.required_temp != r2.required_temp) + //one reaction requires a more extreme temperature than the other, so there is no conflict + return FALSE + else + var/datum/chemical_reaction/cold_one = r1.is_cold_recipe ? r1 : r2 + var/datum/chemical_reaction/warm_one = r1.is_cold_recipe ? r2 : r1 + if(cold_one.required_temp < warm_one.required_temp) + //the range of temperatures does not overlap, so there is no conflict + return FALSE + + //find the reactions with the shorter and longer required_reagents list + var/datum/chemical_reaction/long_req + var/datum/chemical_reaction/short_req + if(r1.required_reagents.len > r2.required_reagents.len) + long_req = r1 + short_req = r2 + else if(r1.required_reagents.len < r2.required_reagents.len) + long_req = r2 + short_req = r1 + else + //if they are the same length, sort instead by the length of the catalyst list + //this is important if the required_reagents lists are the same + if(r1.required_catalysts.len > r2.required_catalysts.len) + long_req = r1 + short_req = r2 + else + long_req = r2 + short_req = r1 + + + //check if the shorter reaction list is a subset of the longer one + var/list/overlap = r1.required_reagents & r2.required_reagents + if(overlap.len != short_req.required_reagents.len) + //there is at least one reagent in the short list that is not in the long list, so there is no conflict + return FALSE + + //check to see if the shorter reaction's catalyst list is also a subset of the longer reaction's catalyst list + //if the longer reaction's catalyst list is a subset of the shorter ones, that is fine + //if the reaction lists are the same, the short reaction will have the shorter required_catalysts list, so it will register as a conflict + var/list/short_minus_long_catalysts = short_req.required_catalysts - long_req.required_catalysts + if(short_minus_long_catalysts.len) + //there is at least one unique catalyst for the short reaction, so there is no conflict + return FALSE + + //if we got this far, the longer reaction will be impossible to create if the shorter one is earlier in GLOB.chemical_reactions_list, and will require the reagents to be added in a particular order otherwise + return TRUE + +/proc/get_chemical_reaction(id) + if(!GLOB.chemical_reactions_list) + return + for(var/reagent in GLOB.chemical_reactions_list) + for(var/datum/chemical_reaction/R in GLOB.chemical_reactions_list[reagent]) + if(R.id == id) + return R + +/proc/remove_chemical_reaction(datum/chemical_reaction/R) + if(!GLOB.chemical_reactions_list || !R) + return + for(var/rid in R.required_reagents) + var/datum/reagent/C = rid + GLOB.chemical_reactions_list[C.id] -= R + +//see build_chemical_reactions_list in holder.dm for explanations +/proc/add_chemical_reaction(datum/chemical_reaction/R) + if(!GLOB.chemical_reactions_list || !R.id || !R.required_reagents || !R.required_reagents.len) + return + var/primary_reagent = R.required_reagents[1] + if(!GLOB.chemical_reactions_list[primary_reagent]) + GLOB.chemical_reactions_list[primary_reagent] = list() + GLOB.chemical_reactions_list[primary_reagent] += R diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm index 200e1f907f..b28e7b5807 100644 --- a/code/__HELPERS/time.dm +++ b/code/__HELPERS/time.dm @@ -70,3 +70,6 @@ GLOBAL_VAR_INIT(rollovercheck_last_timeofday, 0) if(hour) hourT = " and [hour] hour[(hour != 1)? "s":""]" return "[day] day[(day != 1)? "s":""][hourT][minuteT][secondT]" + +/proc/daysSince(realtimev) + return round((world.realtime - realtimev) / (24 HOURS)) diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm index 978eedb62f..455b53b1df 100644 --- a/code/controllers/subsystem/persistence.dm +++ b/code/controllers/subsystem/persistence.dm @@ -28,6 +28,7 @@ SUBSYSTEM_DEF(persistence) LoadPhotoPersistence() if(CONFIG_GET(flag/use_antag_rep)) LoadAntagReputation() + LoadRandomizedRecipes() return ..() /datum/controller/subsystem/persistence/proc/LoadSatchels() @@ -206,6 +207,7 @@ SUBSYSTEM_DEF(persistence) SavePhotoPersistence() //THIS IS PERSISTENCE, NOT THE LOGGING PORTION. if(CONFIG_GET(flag/use_antag_rep)) CollectAntagReputation() + SaveRandomizedRecipes() /datum/controller/subsystem/persistence/proc/GetPhotoAlbums() var/album_path = file("data/photo_albums.json") @@ -371,3 +373,43 @@ SUBSYSTEM_DEF(persistence) fdel(FILE_ANTAG_REP) text2file(json_encode(antag_rep), FILE_ANTAG_REP) +/datum/controller/subsystem/persistence/proc/LoadRandomizedRecipes() + var/json_file = file("data/RandomizedChemRecipes.json") + var/json + if(fexists(json_file)) + json = json_decode(file2text(json_file)) + + for(var/randomized_type in subtypesof(/datum/chemical_reaction/randomized)) + var/datum/chemical_reaction/randomized/R = new randomized_type + var/loaded = FALSE + if(R.persistent && json) + var/list/recipe_data = json[R.id] + if(recipe_data && R.LoadOldRecipe(recipe_data) && (daysSince(R.created) <= R.persistence_period)) + loaded = TRUE + if(!loaded) //We do not have information for whatever reason, just generate new one + R.GenerateRecipe() + + if(!R.HasConflicts()) //Might want to try again if conflicts happened in the future. + add_chemical_reaction(R) + +/datum/controller/subsystem/persistence/proc/SaveRandomizedRecipes() + var/json_file = file("data/RandomizedChemRecipes.json") + var/list/file_data = list() + + //asert globchems done + for(var/randomized_type in subtypesof(/datum/chemical_reaction/randomized)) + var/datum/chemical_reaction/randomized/R = randomized_type + R = get_chemical_reaction(initial(R.id)) //ew, would be nice to add some simple tracking + if(R && R.persistent && R.id) + var/recipe_data = list() + recipe_data["timestamp"] = R.created + recipe_data["required_reagents"] = R.required_reagents + recipe_data["required_catalysts"] = R.required_catalysts + recipe_data["required_temp"] = R.required_temp + recipe_data["is_cold_recipe"] = R.is_cold_recipe + recipe_data["results"] = R.results + recipe_data["required_container"] = "[R.required_container]" + file_data["[R.id]"] = recipe_data + + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) diff --git a/code/datums/mood_events/drink_events.dm b/code/datums/mood_events/drink_events.dm index db5a91009e..5d0eb0e0cb 100644 --- a/code/datums/mood_events/drink_events.dm +++ b/code/datums/mood_events/drink_events.dm @@ -22,3 +22,8 @@ description = "That drink was amazing!\n" mood_change = 4 timeout = 1200 + +/datum/mood_event/amazingtaste + description = "Amazing taste!\n" + mood_change = 50 + timeout = 10 MINUTES diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 58c29f351b..ed57d427bd 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -21,7 +21,9 @@ if(GLOB.chemical_reactions_list) return - var/paths = subtypesof(/datum/chemical_reaction) + + //Randomized need to go last since they need to check against conflicts with normal recipes + var/paths = subtypesof(/datum/chemical_reaction) - typesof(/datum/chemical_reaction/randomized) + subtypesof(/datum/chemical_reaction/randomized) GLOB.chemical_reactions_list = list() for(var/path in paths) @@ -29,6 +31,9 @@ var/datum/chemical_reaction/D = new path() var/list/reaction_ids = list() + if(!D.id) + continue + if(D.required_reagents && D.required_reagents.len) for(var/reaction in D.required_reagents) reaction_ids += reaction diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index afa469706a..a2c25dd637 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -32,6 +32,8 @@ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_verygood) if (DRINK_FANTASTIC) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_fantastic) + if (FOOD_AMAZING) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_food", /datum/mood_event/amazingtaste) return ..() /datum/reagent/consumable/nutriment @@ -711,3 +713,14 @@ nutriment_factor = 5 * REAGENTS_METABOLISM color = "#eef442" // rgb: 238, 244, 66 taste_description = "mournful honking" + +/datum/reagent/consumable/secretsauce + name = "secret sauce" + id = "secret_sauce" + description = "What could it be." + nutriment_factor = 2 * REAGENTS_METABOLISM + color = "#792300" + taste_description = "indescribable" + quality = FOOD_AMAZING + taste_mult = 100 + can_synth = FALSE diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm new file mode 100644 index 0000000000..153372101e --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -0,0 +1,212 @@ +GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related food types + +/proc/build_reagents_to_food() + . = list() + for (var/type in subtypesof(/obj/item/reagent_containers/food)) + var/obj/item/reagent_containers/food/item = new type() + for(var/r in item.list_reagents) + if (!.[r]) + .[r] = list() + .[r] += type + qdel(item) + //dang plant snowflake + for (var/type in subtypesof(/obj/item/seeds)) + var/obj/item/seeds/item = new type() + for(var/r in item.reagents_add) + if (!.[r]) + .[r] = list() + .[r] += type + qdel(item) + + +#define RNGCHEM_INPUT "input" +#define RNGCHEM_CATALYSTS "catalysts" +#define RNGCHEM_OUTPUT "output" + +/datum/chemical_reaction/randomized + name = "semi randomized reaction" + + var/persistent = FALSE + var/persistence_period = 7 //Will reset every x days + var/created //creation timestamp + + var/randomize_container = FALSE + var/list/possible_containers = list() + + var/randomize_req_temperature = TRUE + var/min_temp = 1 + var/max_temp = 600 + + var/randomize_inputs = TRUE + var/min_input_reagent_amount = 1 + var/max_input_reagent_amount = 10 + var/min_input_reagents = 2 + var/max_input_reagents = 5 + var/list/possible_reagents = list() + var/min_catalysts = 0 + var/max_catalysts = 2 + var/list/possible_catalysts = list() + + var/randomize_results = FALSE + var/min_output_reagent_amount = 1 + var/max_output_reagent_amount = 5 + var/min_result_reagents = 1 + var/max_result_reagents = 1 + var/list/possible_results = list() + +/datum/chemical_reaction/randomized/proc/GenerateRecipe() + created = world.time + if(randomize_container) + required_container = pick(possible_containers) + if(randomize_req_temperature) + required_temp = rand(min_temp,max_temp) + is_cold_recipe = pick(TRUE,FALSE) + + if(randomize_results) + results = list() + var/list/remaining_possible_results = GetPossibleReagents(RNGCHEM_OUTPUT) + var/out_reagent_count = min(rand(min_result_reagents,max_result_reagents),remaining_possible_results.len) + for(var/i in 1 to out_reagent_count) + var/r_id = pick_n_take(remaining_possible_results) + results[r_id] = rand(min_output_reagent_amount,max_output_reagent_amount) + + if(randomize_inputs) + var/list/remaining_possible_reagents = GetPossibleReagents(RNGCHEM_INPUT) + var/list/remaining_possible_catalysts = GetPossibleReagents(RNGCHEM_CATALYSTS) + + //We're going to assume we're not doing any weird partial reactions for now. + for(var/reagent_type in results) + remaining_possible_catalysts -= reagent_type + remaining_possible_reagents -= reagent_type + + var/in_reagent_count = min(rand(min_input_reagents,max_input_reagents),remaining_possible_reagents.len) + if(in_reagent_count <= 0) + return FALSE + + required_reagents = list() + for(var/i in 1 to in_reagent_count) + var/r_id = pick_n_take(remaining_possible_reagents) + required_reagents[r_id] = rand(min_input_reagent_amount,max_input_reagent_amount) + remaining_possible_catalysts -= r_id //Can't have same reagents both as catalyst and reagent. Or can we ? + + required_catalysts = list() + var/in_catalyst_count = min(rand(min_catalysts,max_catalysts),remaining_possible_catalysts.len) + for(var/i in 1 to in_catalyst_count) + var/r_id = pick_n_take(remaining_possible_catalysts) + required_catalysts[r_id] = rand(min_input_reagent_amount,max_input_reagent_amount) + + return TRUE + +/datum/chemical_reaction/randomized/proc/GetPossibleReagents(kind) + switch(kind) + if(RNGCHEM_INPUT) + return possible_reagents.Copy() + if(RNGCHEM_CATALYSTS) + return possible_catalysts.Copy() + if(RNGCHEM_OUTPUT) + return possible_results.Copy() + +/datum/chemical_reaction/randomized/proc/HasConflicts() + for(var/x in required_reagents) + for(var/datum/chemical_reaction/R in GLOB.chemical_reactions_list[x]) + if(chem_recipes_do_conflict(R,src)) + return TRUE + return FALSE + +/datum/chemical_reaction/randomized/proc/unwrap_reagent_list(list/textreagents) + . = list() + for(var/R in textreagents) + var/pathR = text2path(R) + if(!pathR) + return null + .[pathR] = textreagents[R] + +/datum/chemical_reaction/randomized/proc/LoadOldRecipe(recipe_data) + created = text2num(recipe_data["timestamp"]) + + var/req_reag = unwrap_reagent_list(recipe_data["required_reagents"]) + if(!req_reag) + return FALSE + required_reagents = req_reag + + var/req_catalysts = unwrap_reagent_list(recipe_data["required_catalysts"]) + if(!req_catalysts) + return FALSE + required_catalysts = req_catalysts + + required_temp = recipe_data["required_temp"] + is_cold_recipe = recipe_data["is_cold_recipe"] + + var/temp_results = unwrap_reagent_list(recipe_data["results"]) + if(!temp_results) + return FALSE + results = temp_results + var/containerpath = text2path(recipe_data["required_container"]) + if(!containerpath) + return FALSE + required_container = containerpath + return TRUE + +/datum/chemical_reaction/randomized/secret_sauce + name = "secret sauce creation" + id = "secretsauce" + persistent = TRUE + persistence_period = 7 //Reset every week + randomize_container = TRUE + possible_containers = list(/obj/item/reagent_containers/glass/bucket) //easy way to ensure no common conflicts + randomize_req_temperature = TRUE + results = list("secret_sauce" =1) + +/datum/chemical_reaction/randomized/secret_sauce/GetPossibleReagents(kind) + switch(kind) + if(RNGCHEM_INPUT,RNGCHEM_CATALYSTS) + var/food_reagent_ids = list() + for(var/key in GLOB.food_reagents) + food_reagent_ids += key + return food_reagent_ids + return ..() + + +/obj/item/paper/secretrecipe + name = "old recipe" + var/recipe_id = "secretsauce" + +/obj/item/paper/secretrecipe/examine(mob/user) //Extra secret + if(isobserver(user)) + return + . = ..() + +/obj/item/paper/secretrecipe/Initialize() + . = ..() + if(SSpersistence.initialized) + UpdateInfo() + else + SSticker.OnRoundstart(CALLBACK(src,.proc/UpdateInfo)) + +/obj/item/paper/secretrecipe/proc/UpdateInfo() + var/datum/chemical_reaction/recipe = get_chemical_reaction(recipe_id) + if(!recipe) + info = "This recipe is illegible." + var/list/dat = list("
    ") + for(var/rid in recipe.required_reagents) + var/datum/reagent/R = GLOB.chemical_reagents_list[rid] + dat += "
  • [recipe.required_reagents[rid]]u of [R.name]
  • " + dat += "
" + if(recipe.required_catalysts.len) + dat += "With following present:
    " + for(var/rid in recipe.required_catalysts) + var/datum/reagent/R = GLOB.chemical_reagents_list[rid] + dat += "
  • [recipe.required_catalysts[rid]]u of [R.name]
  • " + dat += "
" + dat += "Mix slowly" + if(recipe.required_container) + var/obj/item/I = recipe.required_container + dat += " in [initial(I.name)]" + if(recipe.required_temp != 0) + if(recipe.is_cold_recipe) + dat += " below [recipe.required_temp] degrees" + else + dat += " above [recipe.required_temp] degrees" + dat += "." + info = dat.Join("") + update_icon() \ No newline at end of file diff --git a/code/modules/unit_tests/reagent_recipe_collisions.dm b/code/modules/unit_tests/reagent_recipe_collisions.dm index 31027c2cd3..7799a659dd 100644 --- a/code/modules/unit_tests/reagent_recipe_collisions.dm +++ b/code/modules/unit_tests/reagent_recipe_collisions.dm @@ -13,55 +13,3 @@ var/datum/chemical_reaction/r2 = reactions[i2] if(recipes_do_conflict(r1, r2)) Fail("Chemical recipe conflict between [r1.type] and [r2.type]") - -/datum/unit_test/reagent_recipe_collisions/proc/recipes_do_conflict(datum/chemical_reaction/r1, datum/chemical_reaction/r2) - //do the non-list tests first, because they are cheaper - if(r1.required_container != r2.required_container) - return FALSE - if(r1.is_cold_recipe == r2.is_cold_recipe) - if(r1.required_temp != r2.required_temp) - //one reaction requires a more extreme temperature than the other, so there is no conflict - return FALSE - else - var/datum/chemical_reaction/cold_one = r1.is_cold_recipe ? r1 : r2 - var/datum/chemical_reaction/warm_one = r1.is_cold_recipe ? r2 : r1 - if(cold_one.required_temp < warm_one.required_temp) - //the range of temperatures does not overlap, so there is no conflict - return FALSE - - //find the reactions with the shorter and longer required_reagents list - var/datum/chemical_reaction/long_req - var/datum/chemical_reaction/short_req - if(r1.required_reagents.len > r2.required_reagents.len) - long_req = r1 - short_req = r2 - else if(r1.required_reagents.len < r2.required_reagents.len) - long_req = r2 - short_req = r1 - else - //if they are the same length, sort instead by the length of the catalyst list - //this is important if the required_reagents lists are the same - if(r1.required_catalysts.len > r2.required_catalysts.len) - long_req = r1 - short_req = r2 - else - long_req = r2 - short_req = r1 - - - //check if the shorter reaction list is a subset of the longer one - var/list/overlap = r1.required_reagents & r2.required_reagents - if(overlap.len != short_req.required_reagents.len) - //there is at least one reagent in the short list that is not in the long list, so there is no conflict - return FALSE - - //check to see if the shorter reaction's catalyst list is also a subset of the longer reaction's catalyst list - //if the longer reaction's catalyst list is a subset of the shorter ones, that is fine - //if the reaction lists are the same, the short reaction will have the shorter required_catalysts list, so it will register as a conflict - var/list/short_minus_long_catalysts = short_req.required_catalysts - long_req.required_catalysts - if(short_minus_long_catalysts.len) - //there is at least one unique catalyst for the short reaction, so there is no conflict - return FALSE - - //if we got this far, the longer reaction will be impossible to create if the shorter one is earlier in GLOB.chemical_reactions_list, and will require the reagents to be added in a particular order otherwise - return TRUE \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index e33566290c..5ce3263c0a 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -130,6 +130,7 @@ #include "code\__HELPERS\qdel.dm" #include "code\__HELPERS\radiation.dm" #include "code\__HELPERS\radio.dm" +#include "code\__HELPERS\reagents.dm" #include "code\__HELPERS\roundend.dm" #include "code\__HELPERS\sanitize_values.dm" #include "code\__HELPERS\shell.dm" @@ -2477,6 +2478,7 @@ #include "code\modules\reagents\chemistry\recipes\others.dm" #include "code\modules\reagents\chemistry\recipes\pyrotechnics.dm" #include "code\modules\reagents\chemistry\recipes\slime_extracts.dm" +#include "code\modules\reagents\chemistry\recipes\special.dm" #include "code\modules\reagents\chemistry\recipes\toxins.dm" #include "code\modules\reagents\reagent_containers\blood_pack.dm" #include "code\modules\reagents\reagent_containers\borghydro.dm" From 6f03ac192b3d460fe0d9e9a62386cbf8850d0c32 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 17 Jun 2019 10:57:59 +0200 Subject: [PATCH 24/98] I read it wrong. --- code/__HELPERS/reagents.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/__HELPERS/reagents.dm b/code/__HELPERS/reagents.dm index 39431f90d9..f1208abdd3 100644 --- a/code/__HELPERS/reagents.dm +++ b/code/__HELPERS/reagents.dm @@ -62,8 +62,7 @@ if(!GLOB.chemical_reactions_list || !R) return for(var/rid in R.required_reagents) - var/datum/reagent/C = rid - GLOB.chemical_reactions_list[C.id] -= R + GLOB.chemical_reactions_list[rid] -= R //see build_chemical_reactions_list in holder.dm for explanations /proc/add_chemical_reaction(datum/chemical_reaction/R) From 9e122a520bd0c6432a030034692cfbd96ffcbf5f Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 17 Jun 2019 11:18:30 +0200 Subject: [PATCH 25/98] :eyes: --- code/modules/unit_tests/reagent_recipe_collisions.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/unit_tests/reagent_recipe_collisions.dm b/code/modules/unit_tests/reagent_recipe_collisions.dm index 7799a659dd..20e875422f 100644 --- a/code/modules/unit_tests/reagent_recipe_collisions.dm +++ b/code/modules/unit_tests/reagent_recipe_collisions.dm @@ -11,5 +11,5 @@ for(var/i2 in (i+1) to reactions.len) var/datum/chemical_reaction/r1 = reactions[i] var/datum/chemical_reaction/r2 = reactions[i2] - if(recipes_do_conflict(r1, r2)) + if(chem_recipes_do_conflict(r1, r2)) Fail("Chemical recipe conflict between [r1.type] and [r2.type]") From 96f0f0bd24b88922a625e505e17a842d4f111014 Mon Sep 17 00:00:00 2001 From: Sishen Date: Mon, 17 Jun 2019 14:31:24 -0400 Subject: [PATCH 26/98] Update arcade.dm --- code/game/machinery/computer/arcade.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index efbbe36228..e57f802695 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -1,7 +1,7 @@ #define ARCADE_WEIGHT_TRICK 4 #define ARCADE_WEIGHT_USELESS 2 #define ARCADE_WEIGHT_RARE 1 -#define ARCADE_WEIGHT_PLUSH 3 +#define ARCADE_WEIGHT_PLUSH 45 /obj/machinery/computer/arcade From 95a6b5d7a908a3f3da54cb635f118f2741fa81a8 Mon Sep 17 00:00:00 2001 From: Sishen Date: Mon, 17 Jun 2019 14:35:24 -0400 Subject: [PATCH 27/98] Update arcade.dm --- code/game/machinery/computer/arcade.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index e57f802695..d8abff49c1 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -1,7 +1,7 @@ #define ARCADE_WEIGHT_TRICK 4 #define ARCADE_WEIGHT_USELESS 2 #define ARCADE_WEIGHT_RARE 1 -#define ARCADE_WEIGHT_PLUSH 45 +#define ARCADE_WEIGHT_PLUSH 65 /obj/machinery/computer/arcade From 4e1ac41393c5cb3d2dc8ccd9a5c1d60dc72488a2 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Mon, 17 Jun 2019 14:41:06 -0400 Subject: [PATCH 28/98] Update species.dm --- code/modules/mob/living/carbon/human/species.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 0a00bab3f4..4fb3fb0243 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1300,7 +1300,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) . += H.physiology.speed_mod if (H.m_intent == MOVE_INTENT_WALK && HAS_TRAIT(H, TRAIT_SPEEDY_STEP)) - . -= 1 + . -= 1.5 if(HAS_TRAIT(H, TRAIT_IGNORESLOWDOWN)) ignoreslow = 1 From 4797a306ccadbeefe099d31a2f38770188624344 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 17 Jun 2019 22:04:34 +0200 Subject: [PATCH 29/98] applying suggestions. --- code/modules/spells/spell_types/construct_spells.dm | 5 ++--- code/modules/spells/spell_types/wizard.dm | 4 ++-- modular_citadel/code/datums/status_effects/debuffs.dm | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm index 475b40b6f0..bb3cc1f7e3 100644 --- a/code/modules/spells/spell_types/construct_spells.dm +++ b/code/modules/spells/spell_types/construct_spells.dm @@ -153,8 +153,7 @@ action_background_icon_state = "bg_demon" /obj/effect/proc_holder/spell/targeted/inflict_handler/magic_missile/lesser - amt_hardstun = 5 - amt_knockdown = 80 + amt_knockdown = 84 /obj/effect/proc_holder/spell/targeted/smoke/disable name = "Paralysing Smoke" @@ -308,7 +307,7 @@ name = "Gauntlet Echo" alpha = 180 amt_dam_brute = 30 - amt_knockdown = 80 + amt_knockdown = 84 amt_dam_stam = 30 sound = 'sound/weapons/punch3.ogg' diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm index e39faad963..c4d2c34a71 100644 --- a/code/modules/spells/spell_types/wizard.dm +++ b/code/modules/spells/spell_types/wizard.dm @@ -29,7 +29,7 @@ /obj/effect/proc_holder/spell/targeted/inflict_handler/magic_missile amt_knockdown = 120 - amt_hardstun = 10 + amt_hardstun = 5 sound = 'sound/magic/mm_hit.ogg' /obj/effect/proc_holder/spell/targeted/genetic/mutate @@ -287,7 +287,7 @@ if(distfromcaster == 0) if(isliving(AM)) var/mob/living/M = AM - M.Knockdown(100, override_hardstun = 25) + M.Knockdown(100, override_hardstun = 20) M.adjustBruteLoss(5) to_chat(M, "You're slammed into the floor by [user]!") else diff --git a/modular_citadel/code/datums/status_effects/debuffs.dm b/modular_citadel/code/datums/status_effects/debuffs.dm index ab7109da70..6dcfc84a87 100644 --- a/modular_citadel/code/datums/status_effects/debuffs.dm +++ b/modular_citadel/code/datums/status_effects/debuffs.dm @@ -5,7 +5,7 @@ buckl.unbuckle_mob(new_owner) new_owner.resting = TRUE new_owner.adjustStaminaLoss(isnull(override_stam)? set_duration*0.25 : override_stam) - if(isnull(override_duration) && (set_duration >= 80)) + if(isnull(override_duration) && (set_duration > 80)) set_duration = set_duration*0.01 return ..() else if(!isnull(override_duration)) From 634f11d60dee51e1afa2196612b4475c64abf2e3 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 18 Jun 2019 02:34:05 -0700 Subject: [PATCH 30/98] Update human.dm --- code/modules/mob/living/carbon/human/human.dm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index c03c0fc0a9..bef312d04b 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -856,13 +856,16 @@ buckle_mob(target,TRUE,TRUE) . = ..() +/mob/living/carbon/human/proc/piggyback_instant(mob/living/M) + return buckle_mob(M, TRUE, TRUE, FALSE, TRUE) + //Can C try to piggyback at all. /mob/living/carbon/human/proc/can_piggyback(mob/living/carbon/C) if(istype(C) && C.stat == CONSCIOUS) return TRUE return FALSE -/mob/living/carbon/human/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE, bypass_piggybacking = FALSE) +/mob/living/carbon/human/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE, bypass_piggybacking = FALSE, no_delay = FALSE) if(!force)//humans are only meant to be ridden through piggybacking and special cases return if(bypass_piggybacking) @@ -879,7 +882,7 @@ if(can_piggyback(M)) riding_datum.ride_check_ridden_incapacitated = TRUE visible_message("[M] starts to climb onto [src]...") - if(force || do_after(M, 15, target = src)) + if(no_delay || do_after(M, 15, target = src)) if(can_piggyback(M)) if(M.incapacitated(FALSE, TRUE) || incapacitated(FALSE, TRUE)) M.visible_message("[M] can't hang onto [src]!") From 75a6068a864c8f7ebd2d618d16eb077f8ba589ce Mon Sep 17 00:00:00 2001 From: Ghommie Date: Tue, 18 Jun 2019 22:51:48 +0200 Subject: [PATCH 31/98] Ports "Fixes advanced proc calls not working + various code cleaning" --- code/modules/admin/verbs/debug.dm | 100 ++++++++++++++---------------- 1 file changed, 45 insertions(+), 55 deletions(-) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 57dc357859..e15613c43d 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -29,69 +29,62 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that /client/proc/callproc() set category = "Debug" set name = "Advanced ProcCall" - set waitfor = 0 + set waitfor = FALSE if(!check_rights(R_DEBUG)) return var/datum/target = null - var/targetselected = 0 + var/targetselected = FALSE var/returnval = null - switch(alert("Proc owned by something?",,"Yes","No")) - if("Yes") - targetselected = 1 - var/list/value = vv_get_value(default_class = VV_ATOM_REFERENCE, classes = list(VV_ATOM_REFERENCE, VV_DATUM_REFERENCE, VV_MOB_REFERENCE, VV_CLIENT)) - if (!value["class"] || !value["value"]) - return - target = value["value"] - if("No") - target = null - targetselected = 0 - - var/procname = input("Proc path, eg: /proc/fake_blood","Path:", null) as text|null - if(!procname) - return - - //hascall() doesn't support proc paths (eg: /proc/gib(), it only supports "gib") - var/testname = procname - if(targetselected) - //Find one of the 3 possible ways they could have written /proc/PROCNAME - if(findtext(procname, "/proc/")) - testname = replacetext(procname, "/proc/", "") - else if(findtext(procname, "/proc")) - testname = replacetext(procname, "/proc", "") - else if(findtext(procname, "proc/")) - testname = replacetext(procname, "proc/", "") - //Clear out any parenthesis if they're a dummy - testname = replacetext(testname, "()", "") - - if(targetselected && !hascall(target,testname)) - to_chat(usr, "Error: callproc(): type [target.type] has no proc named [procname].") - return - else - var/procpath = text2path(procname) - if (!procpath) - to_chat(usr, "Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)") + if(alert("Proc owned by something?",,"Yes","No") == "Yes") + targetselected = TRUE + var/list/value = vv_get_value(default_class = VV_ATOM_REFERENCE, classes = list(VV_ATOM_REFERENCE, VV_DATUM_REFERENCE, VV_MOB_REFERENCE, VV_CLIENT)) + if (!value["class"] || !value["value"]) return + target = value["value"] + + var/procpath = input("Proc path, eg: /proc/fake_blood","Path:", null) as text|null + if(!procpath) + return + + //strip away everything but the proc name + var/list/proclist = splittext(procpath, "/") + if (!length(proclist)) + return + + var/procname = proclist[proclist.len] + var/proctype = ("verb" in proclist) ? "verb" :"proc" + + if(targetselected) + if(!hascall(target, procname)) + to_chat(usr, "Error: callproc(): type [target.type] has no [proctype] named [procpath].") + return + else + procpath = "/[proctype]/[procname]" + if(!text2path(procpath)) + to_chat(usr, "Error: callproc(): [procpath] does not exist.") + return + var/list/lst = get_callproc_args() if(!lst) return if(targetselected) if(!target) - to_chat(usr, "Error: callproc(): owner of proc no longer exists.") + to_chat(usr, "Error: callproc(): owner of proc no longer exists.") return - var/msg = "[key_name(src)] called [target]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"]." + var/msg = "[key_name(src)] called [target]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no argument"]." log_admin(msg) message_admins(msg) admin_ticket_log(target, msg) - returnval = WrapAdminProcCall(target, procname, lst) // Pass the lst as an argument list to the proc + returnval = WrapAdminProcCall(target, procname, lst) else - //this currently has no hascall protection. wasn't able to get it working. - log_admin("[key_name(src)] called [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"].") - message_admins("[key_name(src)] called [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"].") - returnval = WrapAdminProcCall(GLOBAL_PROC, procname, lst) // Pass the lst as an argument list to the proc + var/msg = "[key_name(src)] called [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no argument"]." + log_admin(msg) + message_admins(msg) + returnval = WrapAdminProcCall(GLOBAL_PROC, procpath, lst) //calling globals needs full qualified name (e.g /proc/foo) . = get_callproc_returnval(returnval, procname) if(.) to_chat(usr, .) @@ -111,8 +104,8 @@ GLOBAL_LIST_EMPTY(AdminProcCallSpamPrevention) GLOBAL_PROTECT(AdminProcCallSpamPrevention) /proc/WrapAdminProcCall(datum/target, procname, list/arguments) - if(target && procname == "Del") - to_chat(usr, "Calling Del() is not allowed") + if(target != GLOBAL_PROC && procname == "Del") + to_chat(usr, "Calling Del() is not allowed") return if(target != GLOBAL_PROC && !target.CanProcCall(procname)) @@ -159,7 +152,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) /client/proc/callproc_datum(datum/A as null|area|mob|obj|turf) set category = "Debug" set name = "Atom ProcCall" - set waitfor = 0 + set waitfor = FALSE if(!check_rights(R_DEBUG)) return @@ -168,7 +161,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) if(!procname) return if(!hascall(A,procname)) - to_chat(usr, "Error: callproc_datum(): type [A.type] has no proc named [procname].") + to_chat(usr, "Error: callproc_datum(): type [A.type] has no proc named [procname].") return var/list/lst = get_callproc_args() if(!lst) @@ -177,8 +170,8 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) if(!A || !IsValidSrc(A)) to_chat(usr, "Error: callproc_datum(): owner of proc no longer exists.") return - log_admin("[key_name(src)] called [A]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"].") var/msg = "[key_name(src)] called [A]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"]." + log_admin(msg) message_admins(msg) admin_ticket_log(A, msg) SSblackbox.record_feedback("tally", "admin_verb", 1, "Atom ProcCall") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -188,8 +181,6 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) if(.) to_chat(usr, .) - - /client/proc/get_callproc_args() var/argnum = input("Number of arguments","Number:",0) as num|null if(isnull(argnum)) @@ -213,7 +204,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) . = "" if(islist(returnval)) var/list/returnedlist = returnval - . = "" + . = "" if(returnedlist.len) var/assoc_check = returnedlist[1] if(istext(assoc_check) && (returnedlist[assoc_check] != null)) @@ -227,11 +218,10 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) . += "\n[elem]" else . = "[procname] returned an empty list" - . += "" + . += "
" else - . = "[procname] returned: [!isnull(returnval) ? returnval : "null"]" - + . = "[procname] returned: [!isnull(returnval) ? returnval : "null"]" /client/proc/Cell() set category = "Debug" From 3e834004ec74bc29906f269e8f21650ffe768deb Mon Sep 17 00:00:00 2001 From: Ghommie Date: Tue, 18 Jun 2019 23:31:09 +0200 Subject: [PATCH 32/98] Ports in bee plushes. --- code/game/objects/items/plushes.dm | 18 ++++++++++++++---- icons/obj/plushes.dmi | Bin 40011 -> 40531 bytes 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index 9528bf94ba..12de29c76e 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -613,6 +613,20 @@ icon_state = "plushie_awake" item_state = "plushie_awake" +/obj/item/toy/plush/awakenedplushie/ComponentInitialize() + . = ..() + AddComponent(/datum/component/edit_complainer) + + +/obj/item/toy/plush/beeplushie + name = "bee plushie" + desc = "A cute toy that resembles an even cuter bee." + icon_state = "plushie_h" + item_state = "plushie_h" + attack_verb = list("stung") + gender = FEMALE + squeak_override = list('modular_citadel/sound/voice/scream_moth.ogg' = 1) + /obj/item/toy/plush/mothplushie name = "insect plushie" desc = "An adorable stuffed toy that resembles some kind of insect" @@ -904,7 +918,3 @@ item_state = "fermis" attack_verb = list("cuddled", "petpatted", "wigglepurred") squeak_override = list('modular_citadel/sound/voice/merowr.ogg' = 1) - -/obj/item/toy/plush/awakenedplushie/ComponentInitialize() - . = ..() - AddComponent(/datum/component/edit_complainer) diff --git a/icons/obj/plushes.dmi b/icons/obj/plushes.dmi index 8e845d97105a11a05b88d0b3a93732fc20ff9a29..586bca61aa64da0c0047211da61086d325e42406 100644 GIT binary patch literal 40531 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 P0DP$_Ybli}TEYGYrhSei literal 40011 zcmZ5{Wl$Vl7iQxc+}+*X!T`YuP6)vv5Zv7c4ess`BuLPNpuyeU-Q5QFo%gHVKRZ=t zXl^%M_qg1L2sIVCcc>(&006vGkeAi~02qn?2pJK&G8$i84gj#~-dZ}Y(&jE-ovj>Q ztsLwDz%x5VyTyKo3%z3Ah?>sMabWdllWA5rVi^>rXs}$S-_w2BJCe+#CKt;m zUqLc5Cw|5&7om^nD4;fwdc7X0Q%tKjwkT}1$PS6m&1Ylm^uTuPgp0~=$fdG!%`l>V z7xD^}Vs{Sz-~~ooG9tsBaxAQADx_|x3Pd!k3_@U3qs506&>U0Lh1`GEhpqF>baMoK zGqR>_YKdnXN+k1$N6X1?AO2VydKHpxUa*I3zl@L07cME;Ng*j~(#r(0gE9JD5YoYi zxELRvL)%2@NZ&*n0c(n9GEV_FG$~a}KV)wjNHbLa7yI+~_l%_G?_zoiVgHIIT4gqB zEgJ51{Ta~+Ai(FVbo^AKl^I0Kp`B0@`ktkJ`ki_G4}OvsF{LU!7St8I+8BuVKMe}* zVX@jS5H&;NAVSC7u6uqKeoPM0Z(9U3d(dk2Cx zt;bd`@cXQ*Ve@+=(g$J|DZYQE06+yONK0yYW}oDE`J&&w^&2HA?Zk(K^!RDw|B%XA zXLGB!RGKxI`7)!POc5*cs41r|Xs2G8Mew6EvCdvyPHTJYd;9=(iGJQXWzzV`$jQjr z$=OH!tC6o1qE`>T?&5#udC$kWc|Ypt5V=A>hO%V2w=fG`w}!NXP>NWoj}?g*u+#EV zon4BHja?GEg1sI#qP@SgJ?BqEC%dIU#PEs3rSxB3adE2%7Iu$LNc*8+xb+75+TaK6Q&M?p@zgI=e`qMIXg2(fe;NmD#HxX`ULZ$2m-G z|Ay=la}spKs)Cvtu3zr<<1R4Tz7Z<4MB2t*KN{AI`&6U#$jv{fJxuz2@j)M_(ej4A z_FH1&AG52IvS3-TmbPn4VIgh#{XG=}J;Enn--#avqRz+_c*;{~sQJU^y(KF%*g@-i z!Cp3ePtj%fYex%OJpTUbZTvLJF~FBV?0hHnE-%^I0dzz-$?bx>T`_>kpF@W1Ve;Bu zJVj{pl2#(KUXVU^xj%{sr7C+qC%m`6zo9N`6t)hpR(%p?!%S||p}(leQ9VEL0nP21!%m1URgeS;{p;Iu5_jp zI~y@pDomRG4`?@Evu>;yVS(v=O0$vT#h~O0AVAhXK;502nOR6n4RA7(A0}gA0)Y28 zzLNQn<B)E;IjOsHAvQ^gRDUu5?szOxCwuO- zba&5_f(K)ApT=*$gbi^Ha3Z&6{^{BrcIb(iZ@S@UUp!-K0~q~;lG&aweX_(En-1b4 z<09kZG*E_aVM4!u=SGD4Ae+w}a5c1x1jL}oW?KXl>@U%PL>3Z$U!ij}(RDRgQzaJA z{wLnHPk|tdyzT=d5*R@Hx`itI+4mPBjjaPykn>9;!&M*DjiRU|#s84OBI9~t{DIAK z#L)_ljg8H|C_T78_MLopcY_c)1%o^k{5co(vIe!^qvV3<()A`NtN{t2YMH{<;Hd)F z`qk@+eN%iTdNdpH{n2Kmk)C7}Z-n*D7_qJS6<>DNFv`38G4a>20B@2wnc{Q#z2e!p z?)_x0R%SB#sEIpPNJ@SqNEIfg6LmTg+%5OH4-2g6w%wege;wBPBYOeRc8)P}2*Q6E ztDS9K3t^PgP7ZKNPL~aIc6-kmo!Oj~0W}LAzgNj`yZ_G2=I#|O`5$p&Dbc$;l(q)0 zACNM>)V<8#qHs!>MK!>7yMWa29=FQW?lZ2A$@_z!gA zQbC$X+)(j6=&X&ms{qyCg6B-&udm<;h&^DpghD=%UF;c)|3ns0zu=Ri`DQ_p&f`2qB z_?x3aAn_Fm@DC6ljRJ{yIjHG`U~!=rHo?zVt1ru$cAjfl2=)Pylk2Y^EX?HsDw(_YGqRAC~9BW>5nL0+J|Je~!Z#(|~*~ zM?45^H6P5)%mL%VjuXYtS}&L9?zzfEnXSDsoyJt8g6?5ya$eAID*J=#tp$JdVm0y` zphIjZ@=160PO{u;*g|=jS7#a$EdjRfP9yW%slFO!+RcarR@0C={Ja8+iY)0YQAi#x zr%Uw@U+t)kKe=o@s^BL2Qc@4<|>MRu8MaTDIH8~z}ht;F@s-die5Uu|v!C#F}&Fr?*yu_AjywSV-qQ;6t=HZro zVngDzel`7oRAGmWogVHuiRuMa>Sbf*arj1Dg%4-8b6-M||2G}< z-7@%5C-*n3sjYXIJ1rcau76x0abZvjcez^5$5w>Ys$v1RFE4^5Gu7ko_aP~)2TRR= zYsa}_QgHmlSMvz?m`=J@1|PG+cL(+rUtu)X50z(kuZyGu)q=dN=R3L_45JD`Wjp{W zN;v}g%WgO2%L}TJ2_9$MkZMdP<|QAIFbe9>38hprUogIG0DQ&7eH4*X+s&IVG!4Y# zkw>)reK8-Nkgv&7rJwN_mh)@ywa2Mzvf|JJOE!TC;tH9ZX$PMmlg3$sziH4C?gH|) z!fAcU&^FJrF+Yb%CA+amXj8)xhEg?3iw_lu-4c~2K&6qi#G#5x*~8O#T?BuY_@v!V zxIP;BAxco}2rd+-w+cD_cJfY@R@$`>O726_#B zyR4rVyrXvHHizTH6_tO~hKhdghd=)ytBpv4=e{ZKK!PyUiIv5|{UL%emg%xbohME< zZ1w7A8HbL@1`P03E)Nm7_eS=w=QH?+A@TPo*Bf4goVi%jH5KTVvZnD+)Vxnj7VQD1 z?`O3qc3Og{MS2{*vT>J+-H#}VplGJ?`nzX)JAaiRXcW)TUqvw9N1jqQ8KO^ZPQYAeUQVca@?riPs#Us_ejyMGp-7N)2m(sy1CK z_Ah5DUWq7dSe5J&%c-W=!Et83g_x!D@CuVh;o%GNDse>j{=bW>)K+~XsuUw>GgR=} zZ^E!~FKSl{xLKTw@HY9hG1fOV5%lT zQuC$smd*)MRm|HlwL*M}wJ)#crNPOyg{o*h4EQjS!)hA870aE`tKNgCtQvkJSk;Zk zakej)sWj%4*O*wr*r@m?Nkzc3qsE_38v_;QB@GiY(NqrXw!%-rvi?xJfbCSjhg?;X zgwK=mcO1u%bTnA!e?c*HR@m7oDMImmefIh}_+i^UopiaMFlRry$5l=XG9X8-GfEiX zhkJz_udxxX0f=oN%7s!5hjPrNywgBoNNtliYkXD4Q8J?19YRd^s}jC9J^#RgbB)D{IKaK_bDj%-e zBYUpEaDF^A!(1*~Q0MP(yAsM^<-D+r?tc0J;{+v`fcr#x$EP*F>=rN5xFJten$BS6 z2%+>uCeK_0d_vqv@Q;cCS&6m?R(qPbnlj$>vGYQl3XQQ8T$1;qW)6yEg!CGgt__0p zDvkynr>(My&|(+?Qh0?hI@##-m8buTyJ|04;v02vG%S*|S<4pq2OI_Nt$8t_P(cw~ zVBA+2Q%JTGb3cA90{k1^N_WBv(g2+*s&4W?Fo?w@?nmYpCtS*!$Db_;dig>@mQF;5jgrWzVG=jZJR z4|8XqV}~(*NZX&~rCSSEW?ZlEsRa2RF8Va<-=8d^19bnq)8V}kgE(ea%i#bq-d1=V z{S1-sV&DS%y#0mAl1pfwNx$utv7hY=~u~ot#l%sk&eb#_Ue9n{dM>r>*Nw(u6{%J*DtYSJ%*pSM@~+2~-Myn2)4f0x3MK zYhpXQ(wu?^i=JRyxi66a^ja_)`OvdTy%is-Q$$T5XkXmLTLSC`1=@T^=gDYs3`G;$ zfJ2Pcue*ajz2|Gl0QQGq-8rdF9)nu^kt2i>g2Hi`37$A&bInU6$sPoxYbyKNQY2KJ zaI1gCc$#Srnr$O~H%R}FpvFh+vx`(SZBmrk=v&p_zv=BuHj}!((OFC!kU}M6kEauP z_TI%7{L%)h{0dO9vXa;rp#vR%%oI9l?y{l2+9;!3geW#rtk>1&6=2gT5b+T8f=gvJ zo$4=Movy?Ykw^$CCRC0OYFDK%?C>o`KTL!}+|NsvP|>2!gg5V6pG2Tf|AzOHT9Z5b7+8tIb*LLsROv%R^(kKn;cihNX7{44YuH42BN7X*H z?@mCnjfA0Yv?nBd{ap{xxy%s^LaA1L{%ocjP`3Jg{_+c`D6T34 zP9|j*q@RZJ(`eUVdz;s_P`+O3ovjsgJkOZqUtnM0+IN>{kMVZ%l;wkC!8Ra(e ze+Br{DH#GHn-Rfq0dQzu+tI?4ueDC$u}g%pj3{+~ul=rPjrYX7x*&3FyO<^lTR9oy zzuxNpV2FqZ+Fu0?o0avx#Hn!mO=JU(&2N*!7RMI%8U0gKGXFVuW?Qdp5U6DzcHX3m~Euw&iBYVejs4#!y^t5&c38FJ|+-xKlNv^ zjQh(7t(Nnx#P2=1Vh-(C*sQe7Dd)X>+K&D4?CuBNeF@HQK#jWTNHEzM&u3rXH6LxYCd(${f?W=7T_upW~o`4V}q8?x$*a<%GzUB0AY!x%uK9D|;hF z;+b3479{SO0F}T5#WY?2wavHf)& zdn+wdSFMGW*PUCdV{Y-Nfx%0eAVsbyFFKu}MzPHuIc5%&OwxNbZ<%z9BU9va2ffj3 zkjt2~?=x#R5Kj*OBfJ`btDzC|-&;X*vhp2rdyEU^>=ZasQY(*MDYE3h9cO$-Xze)o zqXLax=@tE56u*Z=-;7uMmsoWow{=S4Q>1-eYoBtdRMEWOca)aOPsp)=z`6I4V;Ww2 zw>LDMglji7T%qke(-R;!-;iy`PJnKMg*oFIWOgkv09{9N+wX zTINE^eOSm+@^rl8&_VL4oVWt;0GGqo1|bJd9i2FLGqMpnA_kc}V7%QIgAR&mf8o=y zvy>y-h)DDdf-ynjd!K3uCyOn7c^MHAGxsqdbw{pNJLoqo-thUvBrXu}?TUj2H2+CW zz|`BozV+*JD$!h1)lck=xk^3y_2{)$pI?S0f48;^Q{X=|yQPTzyl8!j+?C64^C>lZ zv7c?{OnrQ}UsUamJ14#Bl7|G{NT&E$NJ$~>tE)$EUkoX6rh9#|Xl^R}Jjoh;>_DK> zWK46mI!1iR>1=ef$5q!1 zy0)ICm5t_V;vPGi{dHKV>`{=^MR9p~_ahbl@R*VQ1+XxoxDv`C&^Wyrp7r18&t&j& z0LydYSNpx_P$dXAl}01poXaansZtsx)nSs8=PA-LrBVVr)TDaorwVyBAgGiyNvk@3 zd@KKgQXYfz@V+^*`CMxm=*lj19*^YGNJ{3&WB{DS_e+QVneVt%|E|VW|9f z2(BSvZW3jk&&$wGiQmiKPKo(TZfvaOqfk;5G7MGg!JdlZ!E{NSb^i{Ni&22D(ATIR ztw+^<%Rf^_7IBfVa7kkzcJI|Zr%890y{Q-kmdq5wUp~*?t!F>4k*=bi$Jo=yQ&K~- zEc_pADxkG!0giF0YMS6*?@q&cvk@kZ zVm|+NJO&B=EsyW5o^{0A6Q;f3%|}0v#ry0LyEixM`?kAtw|1cYd%U(7{0G}uHw=HJ zUjKUDc1@=9_WR5F_S~$d{6~%bpX_?|w$xC)shJyDtAXmHZP&81a}yt&rN{;CvwJD! z7ev!aSBkGe5sy9{kCpYpP zQwq+2LGJr0el<83CKouAdi*6EM&iqITuQevQi#X-jw8Oi6}u|06nuWEm+d<()8{=0 zZ%G)&ZgOUY(oeq#>{l9L03rcfBADnYG9gE*FB`hBX!=S(6}_5!jEJB-A#Xm5BU%Og zWz2&=0qZ-51a*_APoP-n-f>aNWyUvCX~nl}StM<^d{|cgeJeu;vUOiDR4Tzp0IO89 z+8n<)w7+|Ckkhhxg;0kCU>%O9%Z7z$YK#~p1mx__;m#(!Y1 z!_MRAFYRPAmXnR^cDDp^`u}IRHj&&*i+H2r*8D_U8`(%m`(lG)B;;eh>^O!Qf}hIt z#8SQwekEj3CdKmG+v+t^=5PiSngy{-QzZ75E_zyD<9@9`+q zc`@ODRSa^eh7Vx?k<38aW~Y*h<4v`N>Ziy;5O{~NkEDz_fgWG?HNYbQv|%8S5UEDj zy|k;uTs}`yIEPaOIiy^Pas6gaa1Eo9r5}-?is! zeWgDj0xAv@6w@58FeGLt z*xbNGY(||H*6z^cLx{(4`E=(iGs<(R{Z;{^&TSSZ z1BZ8zlS_m#DIiYrUgBmTm{Wj7pAryyfawVE-R5-g z$ys6;hnhxBR1)vhpWn8Xh5<7xAd*XUdu5cb_c$wNo=MNf2OkB9*XVMog7$U0N9Jh| zj+cTC3<-J?r z7eS&d5~8JNCl@!&)e-w3#M6Fs;2L$qdIX2QUK2>H@A?fnWwk2FW7Fd$T*CXhRxS$l zB|@#8exBu01@Ty}c+Ahy%pX>Nz5yL}({7467>J4a z1+gUA_vD{!?r9&jVbM>6v2Oe6&uXpT`2!NymGCz#Y+WXvMu>XtjQ!r22<~SIY`oTI zaDYvqiw#N)$!P*5JsVr}j~5>oaw6&7y#jl6UO^T?!e7q09o@k>o>>VAfyKpQP5(Hl z(hDqkU5}!OmfrgJ=aRX;bqFHuL5s42qx zZ8j(lw|#jVwV@s=;>3(3`{obWk?=w{b%F|G_Q7__ffQW+{6vrUa~S@=j4H^^NCmjs z-;v3uLkwVQx}NO1#qaO$7udzY(`hC||6U)D8O(Qf2Et@rT8Ha<(-ur>Ids7R(P|Ib z2g_-ldHy(n=N~0PGURu=khPO31Ry@SCstA8vaGBC*YAl(=u#90`0zv}NwFH+_9D?s z@;!v|{gCnLx3gB#zb*2fex2g59sV-?g+cegb_XIAdwVknhlKiDZde!+)Q>M@sJX2u zmV^Hrgk$-3)bKpPe4z?4rrV}Dc-!ty+XyJ{OEC3`rKPb&)1<#*7;N`OWwfyWYW|t7 zJBj8YXJkxvI-_*~uvD#kKkFP4_MMv)U1=a+RfAo?B_%Shz!R_0bv2&Fuu~J^A+J?`?Pw3ER$^#7)>BDw=uTzVlMllnmoA4f_B>BBE@?&!T%=tCe}N3- zaChRGEWke*zHN4g1!9mp3Nj!n$Uvfo_-}1|JUxw9o88cXXMRttGCe$ISs48~OH98_ zTA>>|5VIr3fLYQ5V&Kn~{2@7a0Y<$aqca}2(Ou(PLnNe|b01LS9 z#&Lx2!McRAvD3oy_(;Eew!Cv|GqU7yHlMySoE5Kq5cceZ-nhin5f&kA{Hi}MOmO^} zuET3oBcrUORpBu4FkMSnrDnS9?jM3O#^2t4XqC%&abttIUf_he{yCthM_MHoU=;_- z2gXSn!#U)>;91&HQmNtX@;~HpU9K3x3QyIVuX zvZH<-sBv*4i($6|abxFj0iqsf`Opkss#c8JhBR^1=QiW!)JZ1CSfNMz4>I^PU-eb{ zZ+SYHk!1OJrVsk-F9B{LLU{WDe-=pLN{fYe?rEzJv7-mS;?f`Zma3o6jm;Y8n<>h> zFhF%jjFQXVsIohUBN8A3fzxW{ew>-EfIs{v$)0cVeWHwe%QaGH9cS(%Sir+PP1$eH z<*C+Hh3m~#*k#)Ke&UZ*kIM_ZMU?!`FNF83(qyX<;{=l|kA)WB!#Ta^#r32|l}w4z z5v3T#JPsyc!Z0aip&sVAKSmC06o3Nk1lAj!g0rX$pjlnAt#Sf;gW9AWG%K8XU4bRS zFPp7`z5lCs?&=EJIGco4r6l}{{YNB_C*bU?6^VnQ+gyQ94jrb*1>AfccErwKDYCYS zPx|Ua&Dg&sr4n0yn#U;RVp{m(cYFJEi6U@KjcuZrTmH=UfA1@LQp1-bYX1C4T{4~x z1MsmP-Tm3q1wSLJ9UXCLc|ZT^XNq}s&E?PyS7sg$2J$SfTe|Q&(^du7eYmyTX)57Z0e!J-fQ*l3z<={jYm||NnK^6N)3Nx94A4=u4n51}|3_-9Tu( zGy;n#Xt?e{pa`N|+!c}b1+xzbf)=k*gDABoCMF}<4``P>3XWqv5uClpGhR+! z_6R!JkZEpn=n5StC~rCU#|A~eh{!m}crj3!l9&0rZU!Dq9G|%USt)I3%wdLBhP)Ex zf>i!KYHELx57SX~x10h0A33Q38?LWi%9p6MTUCiYCHt}G??GbV$7vypx<;(wxVS$_ z&%5;P`gQU*cSRoOYdy2G_@n~1#yyAhipdivv9_G7p)RilN^$haYwNWL)Lk~gBB3^~ zuTkcNX~zHL{w8hnxp9QE(2JGv^wLY(sDA(h%i|VYL<8|)KdvGpO3AgC7LUtrPCY}* zhc8kp(R&3S^nO4J2|IR6T3TB4{)G)k1#PN?52BquFAD%2$tbT!2BhkApr0D#bqb~3 z#R!iX;uf}&$dejDz7Oh`pCIjntet!7s>yG1rA)9|G!l^nIATq1;#QMSntiDUs_YM! z+(hU_7iSFUPuBooy!tG-sb(TkJ6OG+qLg^v9s4MmIRmoTl7{RS$V4|CsA51p`t|8t zsSS*Tgw)vB*fBVW0(!mwTI)+Nt(wXsoce{G!baC43trnh#N&yS<$a_!DBzn!04^KLSZd~xbJwU z;i(=G*a)KpPiRSLY{Au~tP4gdJGeeR<*u!G?>98Ss(l6rs6*!{{c>zl{Pgz&df-$U zzkL=US@1jlyCAiPl-o6D%BzUvXDAaR@4ew?ByYTCH$N3q0~_0iQH}dc z8YPKVY{z@;%uV*=;=A`W=Wp_b?<*&Fj;LmiIR0&#pNb$&SgP9aElrao@me?)XhjL* zGUAj;qSro?7|@qq=z8qz?ti^{Bwlfu6+$eA{1S=W7+`G3&3xuyJ1A1{v%`^+&kDhE zu2JQb6fpvaV0G5(hG(_Wosl%;&WJCjuVrl#0F7oZ><)M)Dqz5oo-`;gw@1G_#S*(b#{GSPZ`%{cE z`kzBWb)tVo2!#51ci3KAjME)De3+wz2TFALC5YM`%2>$hP$iWZ<=ZEC~os*E=)bh`lnC4^qrm@V(`pjuyRdB)v8_AS&gp{XUP&Vxb=XH_{F9@f<~Oj_kc?Je z6)(hCB#Yf9VKAB!^k3;G=STfDCy?%;uK96D?LL@s&QSYhC2@&7aH#_yIkV05!3x12 zOi8}`?wtVxQF}!x2&!|5&FCfw($3w`UIc3jlg(Kdo}#Q40~9^4kyvQ3=r0V zQAFzR^6ht&eWGnK=6@JqYuet%jk)4)+{!!d&K(z@DOQ`E)w6|QlUZo{pbHh%nlesw z3;SJAgkj_QdAlF~<$7CYqu;K7$;5MYL;s&G!&i-=x4` zX*~H!Meh{W&kRBq|4^O_F&EWiif#ujU26Fh&!2*am5!Du+GKFdXg^q~!%7$%Q$<8a z*WEv%moF+$f)We}zpGP$9^u%=5wzGOLI>ffC{er{$`PtlZvqx9p=qiz5`MP_s(+tK zFH)c*w_EVS9Z9>3eF>hs?!m^URg)!czku)cozs5^(uOJ>z}Q(mDeZT@EPXckFSYyW zDx;t*=uA3Z#R)Puimz1`>J69Mi78p{nb~Q?@`o`eSYt& z_uI?eAe^9Jz6O1Ai@WmgXd`w9pd+%$h98&HC}=Qlf%2vhsf+16PPo?5fz)B1djLg^ z1+{4F=_SVy`Pa`g{g$B=Ry3At2;}$C1K$uDIy#@QqY`$${xu_`1oKc4%Q0##5eyjW z127Vv$LYc@0v-W^RYpiaG9@VCU#s+ep1+JV88Ny3;2GvmsjG&BoRq-E?Ym1wH7IO% zJ`EQRAOQz0cFocJ&d92(#6MU*3gV-2*W64#E3NW-j7UuRQJcH z9tEJ|a)TiInF(rXf>w~FDR_>^BV-41pIdvnI12g#&5{PEiw%nB$r|BA4W7;8?byZb zHF~X}_pgspCy(oIC*Zf^)<>2@a0_Kyub|`jrPNIBult=O=IrbE2GWRCTfUF-B3?9I;CTFb*tw(ov5y-Xym z@$9nD*q+%H%|{sn9R}aaC^z5a-yGu}{`gH_k6^y`?2onE1#jjUO53486qJ-S*(6

rmLfYdpYc^93G~PnSNI-UIpCr%MvnEJJa5@@M!8j!;Q@Wxq&YO6r+* zg$L^Jw!_NCQN)z5ihtMK^Q~Y?qy)$w!6HD%-#Jp)2Yfsn_`7@QNm40VzP8fR=ehZ^ zu3~kR0(noTxFiVf$8#}_&CTV0MCst)cuk~V$pYVe zOkkg}KbFG(4e?)EK0m+a5q|1+WR&Jd>Fev`*<#}2;Ym!0Jh<0dkB@yHQ|S|nmu8>& zx?LcczPiGx;_mO~U(2zfK_?;nFk5c0TvV~N1-J0cZf4gEmJh#3^WidL;fCGG)mTk! zpiNG3SMG=MC+MJN9O`F8Q`MM+FEAAou}BRanC-UM;fd{-EFYl5=J-TP5G2RYZnC49K2YY8=DE3uD?eX4ry)Q##` z-^Mb7+j5|&a#`@LfIsu54528IKwu1fCzpJLvRso$aY9xK8j=u|AS)q<2YK^hJq1hOp`$TS?=Q^pPgEVV|n@-qbk=#u`G4qLzgCEcnW!`=8CV=CFt z&Q}$p4k?_VvOsjj)#-jG{Q?v=*?*X2-)eCl^@Sv-R$C`?7(rn8`vY|v4aHCO-tEpI zwyV<6I=vw&P!_adn6!F;Oy#;RUZ*>YXVmi&+gI?$N-pY0x1jB^)8Me)1`n(ZH+7VS z(2^+;t$!%NQ2}5eE>{Vjw4ZP3$d2k*_zobXgemj`=%>ppDjCP6+RDw z-kz_t=)+N7%TKdp1GT`n`JvA{mPXBhKi#rGx0Dm^Ld+n4#PdPnTUefnw>q)(AN4q- zq_8->)`Fv`+}oQ59VZYW)0Mbx1t1XphB_)GQfRk*WVw8=2Xr)lpBBFSB8tOC4`OEH z4=m0v9Ds(I-+S>wV!WCNQ0WD<=(&e#s%Iqg)ql}p5hYy~ZMT|!0-Yow=-i!}>FYq= z2b`;)9aRGXvF}=IB@2A}L)Q*;Tp#r^fNe~*n1eV~dmb3gDga>-!O_L#gCWI}F7MW& z93vy+4q;AhVp0;^-^aJdyK_~jcl)~&z#9499L;vm{`w39;Fr(91HaEd-^djfS3OE4 zSY!P9&JN+tzGB=`GPnBv9s*a9jkMss=B>qSBpXlQa*oZ~Mk5yabGVef9TSurg#T-< zz+;Dbg-X1`Xfgf5iZ=SqlW$2Nw>#y}C-9u3SmSpyT%v!_8Au`o)fPJB4RCV{R*w}d zx$jA0^qlz33za}qoyOt`y_9VVB@kVHqDcqRe0|tK_0Gph6r-SpYCC(WMgMp95(F;b z-#@W<`0dZPgK$C6OUaDvY%)Mi8Em?BzMpRzzsyTYNp zVRA&t5pJUy6N{2+p{8DlpMP1;GnYN-9qj@d(B?Y)$N|W}KIbQrUO^4o>8tbPBD3;E z5ZKfi;Vol^fD+JeOd4twYKeDSe+w`E0Fsu7uwC)jz&UPvn=Go(-fFpVS9LdkmHMM> z3>N;oFjY!F4Xq-#GBP45thijG%% zqpHQPTLJ6v1ZeTO>{C|50?%vB9BEal$Z%Q2$7eP72~_77@L!|i_i{XVPJcDX1%-vJ zGeD=&R^B+WSSSRx?adE?pKeNNI`+wxJbbtBR=-%cG3@?%k#_zZR;!g38%rc2oVoak z4|xpNn3{9L-=#x45O`Q%`Ox;vq~!`71kk9GmTX>BGh7{f0JR`WVPLi^7r`SF(OXtN z1NdVIVC;N2yuA=Q0!q+Qq52OkVZEcN$%LS5<942c!KrLB4BMl3-zpEiOsoYX2>IJJ z>Ofa%ji@$>9YkXfxZV`C?=?+CDk|;wyygV`n7!dGVV2BxF}>9u)FUR56F5O4oN9zQ zV^& za}x8RV2&%;d^EMt_Rp#*WLs%U^H5mF>x5h&{k_kP7R0>dGX0M?%jE@ku4PVw29UYt zy(88d2OVPx?>9vQr%i*6^rg?K*$Hjf6N$XT7trUu=}MumyjYP7aJKlg;8Kr}LJ4}@ zb{HP4ZA580V`SaDSc>otDKA8&rlzJ7({C9*1u5qaBgd1f zs(=-T#o~NHFSJSXbSXazDKJ!j+%T!V}?XEVGJ!NaOpU3mI32gV4Bip|5{3jgf%<$C;CcqaPy z>~ur~1bu3k2ExzSKZYUWMli;BMeL(SEPPVo8yr{8R=pALX?zk2I%ofQz+y!@+??ca z#vt#Oe!((is|L~0g-rC)@is}gU~3COV9FeK;H2hHSMx@3f9&oEcqnj&<_SW-XDgj{ zYo62mM&{p49`>vA!C{{S&?ZPoZZdy0;m;<|U#$rejoc?BOt0Y7$VEz+& z?6>ThKfIX&0)j0Td~l~vv(|$7--pI`Xu}t?yFSqo0>$JA=V8!;l)-_4nx_TJ9>P{L zb|C-gesjZN-R>?)*=+$2MmO^0eo9jmm5&jmH#ErodK1^QYgORB^Rw^u(Oi{gOD5*) zpPsvE5KjU$j%MFd$g23LUNNb0G*5~gm1Q)qZN1w3tYTCgT2%DhaY7scD9x9KPNn|G5_&OotjEU1B1qsn%o7wC z>OC5BZ%zL4CHYfY`GCzHl55!zyVvOR$$B+>osFcTyN9Tpr3n8ZNnK)o^3E*=Wo&DA z*zn#jm=uzjYo;wbColfXyF13$*Vj~92^47H?~rxVvgVsA3~ykbQ=G7dITOBpSKf|I zCok&cgs-BHw}$9+mS~7>P*E8SSsfTN^UxAFpn+nr2tINq@!4Rb#SqUd@A+A&q?I!$ zcqwE!-nt2*s?(RQusl=PCVDiuzytMhT1qI25q8sa?7E*AQBuea&g-=wm ziZ;}vwQ;hc#!BEngM+J`6VG;4SJ?iq=wpZxs6YE-+t7bMFXpY zACSW9Y%$)R=lxe6e^%;sBs+xXy**-PbycH6>gd?n-&t8%0U=T|u(bm$ZGR?@9 z(~@!s`+Yy$md<7Ihsr1ld&(e_h@w=#?+a6d{zc=Vy->Lq z$bU2_hgHb3W<49|H|(`E3O2ieNvD0*`Zt)>aI8^OMD$R1YM7$e@Rzbiy}Ie6tRhSgTK*~mcJe@+ ztQ%ueweGX2(`0@SSkgxghq_$Sw+9C3`^mYA81VY$BLflE#rbU-<=&3MqL@t+_@#O9u3W23%6By+~yhr_{QW8|1W z?c1Sna&n5T{adspZo8)dfuo@+5LQ^Ck#xBzE|tBOgKk!YmSFSc>5hIFM@s0y0NRGT z=he$kXz-?T%IFn!YZ@O(5v0Zal;nQAaQts7s+>5L;@<5p{b=nMa6lJ>qi3XGH@n;$V8Af47|pYm z8}wWEqwmj|^P0&2I1QI+6g*-8G#_T63$-5N`NGg6<8L^dqdB5!At$AH?I@H7+U`Y?u8Np;F$vH%B*#1`sW@+xIGYp(&+aj0JlJRbBQF0V_Nl_m3Z=` ztGhiqYtY3(By{0g93BZNX=B4U>FZA#G`mFKi!Uvw7n3xQ4Ob@@rmN2^XuucQ5f zPVL=nx|%|+CBoU2jh(J7P}*j?eEtt*Zxt0s6Gn?R?(PuWB|w1SFj#;Dm*DPBfMCHb z1cv~@JxGGPySoMn5Zv7v7~uAQ?vdAX9%@w&i<#9`UH0v7@7)7caX}P9&}0@hc-jPn zh#X^Xd;$W-yKc;YWXBI>t#*p$r1AAH@PXs-TXYg4$Wj1X_i!i_#u1O4SpD+F z`w`rV^yFRUO4PQu?;N5E`lp<$YDh!nhDS$xBU+J4)M}BPR@?f;z9e7bCzU>541(-3 zB@_FSw3h5C@h+{{cW(C3O@jCFW|L&Jz8B4{?Dj%^IAp;s%MHULaoD*@Y#-6l(9oEm zA991YqEt8}#Wk}((8+(CK+102B>7DBSABLrj*gL!4RUc!0uFSy%YyOsC~u-qZz|!L zYtOUYs^1CxFD}5F%zMBbL>1L&9ITg&ZNZFsQ<8<{@ePdzm>G7`MpI|>hl3j{0h6FiVO6bI3B z7?tK`6EoJtn3e2_>BYzK289ce%3&WQMK8-C6>u~Chi@l)|}MPdLP0R zoP7vJ_w#gQCqd){QU&!jIXDf&EsWq@PxO|%Hv~Jk#n0n%OiIj{C;&LU9TL>el zB!hyVyCROtJ861qEJryyynQdwVjbm(U^ffKD-9q&UnlcwVQi8K?(3YB)a7@c4d1_f zhjlxdCTz_ErxN~~eu7Y>Pu_dHLFh(Gh&z9x0cks*MD6996 zH;3Cj$4fSRj^w~PcwxYB_ZX~XAk-M1()`(NI=g+=q=`kf@8tS75SW00V|w#5wrTIS z#Skwy2{sR|U{1_9rp{5Z0Ps>{i3C*&SPl*R-E&}@mexZ&x-}TbD3_W%)AYbOyuigc z82DTZ0C;F0PojW;MUr>-i8=lMVX*ZgWGfFB>=*t1dYX+bZzG#vpD9&7rF&ATYx z$Pu?o+I)^H%PGphVs9^ohldw^--E5`Z}|k9I$_XP>FEt$nYnIMVmaCif1K`F%hvgM zJ5*`;w6#4*R%YyH9vlm-Nbjxk6pfFMK9okM(uuSa)mK* z>1rWq%@+QyPHXYSee~jv79(bt^9#yHo64I8e(n_C5}BUP^G2#g`9msyO9sm=wH^H; z6}BfbF9mF`KB7OH$Vxm)_zQ8af{X9&W`9(J=4%D{Le0y)mTLI`7^yDR_{B1vR;VuU zFRckKpn?Je@G@WYTyYz*&Z4C!q3Qv5vy%soc|s)-wxc~}ukGGR0%O5HtE-f0X=&fS zeXCON|C|*WR}rVD+WXVjV-!cNUGL+&X=)S6K^g$(j}emDCXp}UtT%SkVS14@tlK)LFZZl6?nZ`*PRci_ux>cK*^~nw)^|S zLDIiOvC0}YavEd0hDNnhrR@)>dX5q^{Z^q~n)KL@323_6!dqZCs+IFM6Nil;KqiLP zsrq$huM123&99d-)Zb^w9(Pl=t_Rs7w0-nOut7ux?yk_0yx}H#e!wE-OCg_b}@!_1Ohq zeb|dm$}97tu}=kM5%m)|wN&XZ5gb}^z7a2c*p>@quBbEnIn(bwpZgoIb~b|$zWy)d zU36RWPxQOI!sM4R_5GR6bvl{&ojUnvCQTFuE8OAb?DY3y_dFdRHKjoHO9b$n<=yk6 zo1+o2=*pZmwG2a>vK-whl7Yf1Bprx3C{Q@^cY#U8j1c`d%#f~*qLW#P6i_VSt=Z0X ze#Io}CVF;>ptI4=A|O38JsrIFJg{$PrtDN_eC913_wf1iwwfQIjvS~l@Rq!xC^!PO z2%=p7Hxh)8dvFsukR0EKgW`v_+LXZf>O@Oson@alD6A7?6A4VFN@J(m@5y|~c&$Wr zJABd1S(Wyn5^9Ko0nffXV5zkx)EQaucHw4*FhUz#Cq5~AbnafxS&gM$$k;tun$IvC z=u;0BLZVpkX<`ny8SZ#Sou@zmzLQWc>quN{_KIn{Uh zJ5kPi)^0|^cpa!9NVbpQp!zw&o~`xy>5-u2{HmS_j49;}zZ5r-LHtF@Apfovj9=lu zYT$_0y{is7Cn-NdtV>MCXA(;{`EI5BRZlJ3)6Ije{W71T!M=Yd>*a2)^A2EdHui_U zb9tzZ-W2arE|BBZsSbwu9uk&Z_wjx5l=~0R1Tmtr_W|$F`AIFV${SwLIdi!K*PGrT@N|hXfWQ&%&_|Z26Z2JJuNTkKi zfPk4?Nd!sqfJfJ&6M=tP@Q}l;C>(%U=5?hc6Vb`V#qBMzyeh_hLUsyHmDv(`gHtam zznVE(`p&26tQlcUZsQ5;I^s-n8^-QYk(W4w6?a`4aet$bJ8|Ga?nuD)_I9pJ1b+G)R_e&vA8k;- z4SPK6%oXUiU98I6#aC2-liCWJt9oldp8Wr7FH)`QqXgTASz76!Z=T&H$@%bhe}!7) z7+YX*2d%;Z7*!IgS|`&czxKH<&yf*5NEvjsl+b31xRTd)zwvQa8YyCu-`WJ)&KBbV zD+M~C0#5(v>h0!LPf{Olj!?QZ{rL>-w_DO1oK`;oI|;dTaF-cvzEDcRPe9E2|=e@&}fHBroMZvh~+&5bTKOY;0E_XW)dzVnVwZ2ATT0Fd3RebF3+_0tDW|1 zlbK0V#gegdeyG65h0NXz#qXpqEyp8;wa0tYxe?$jNQ)lM+`qppID;4m+ez(s?u@(x zb^HDU3E={PtZS;Okn!0_1c9Z=RF75wFf*$XqQmkFX|LMi@o~E?N|WPu{360h-sW=k z!w&CnEzb}hB_-B(C~y!*?PgmDzev#t=?Fl0F=#EdfkYxpZf*{W-eRv8B23xWo0`xSys5WX{qi%SlH2^`MuD_@>i7dHn_wfkZh5S$f@ZyL33t zRXUx-O6ys=13%trK?yCARV3}6e43V;YjRigpR)ypPsx3meS@Z{Z|Msl$8x~>TpiaR zafaA$-%w>_WY$xR{Uv2&LalC8!Q8L6@5|Q+Sdns8WWD`@E1hOA9b5-=HzQciMHm>* z?>s;MB)hVQLK-#{hq?CqAT%2N^~V<+B69K%f9vfB-vt0wHqY>qO>33LkUtrnWCcB` zi=lGs3fynU7h!ov(>}WxGCF01@8cO{T;9Xn-_jS$#3+ceeO=rb^uJP>F`IljX+pzr~xj+-9J;MZLpAIz2P994^_{@Nix|z92Z0 znNStQ8RBu{z|hva_)m9K;APj1NQn^q*n94XWRp5=4W_rRm1v~WE3~rISt9o3rIM^J z6BGXi=R?X9q7H}Jqu}w<+3nd$JPl=_zjw!+mmoS80Z9LN-V+E!WQ4votxG3i@w~d}!VVEUu$_h#hENX=53>Xu z-~(E|Zv*1q^-^IWUKTw04_`E@wV1h!roUiS6c?9zaA*b-vh{#bl(Iht38&_Xm{++n z(rNAW?PYLdN{YkMVhL)W?7MXjsjnUavLv3t;JOWPN2-(x1*(N-4S#EX9j|r0Hm0x{ zGv!J?c4jV{Ffppl1K^&ih4|pGS*?68uXQT_E2H%0OBr8$RS^c>t5;((m6m5g`hN#e zP~J?x2WNorw{xgQqewAot0C3zE}+^W;}$ z8O1iZFXZ$J4v0HhhD(io_{|Doy_edSE-4$z zq{zJCzrFg2efa!Yc5h{*I%+_*`VadWZmF>LyZd<0s^4xO?^Di@UM|}aE$isoIUTui+@OhsVG6{-2J%q0(aCQE-^2-maIL@SSTIw}A#ZU*p z@T#k;y|!Wmn&ir%dw&hTa$==7q8L6e9Eg?fppX2)x|9OYY5RxmH<29M|o zv&At_0eXrNzjVvVCBF!-A4IgWew18TDA$(*dvySiy?C8osnn@yW5Y5qx;>sLlsJ|t zRJ%wg8P4q}(%#R9X5W+a8nDIm=n4|gUT`|C4|HkN0}Z!|!q6MwK569F1`p4$|F}JnAFlRE;<8U^7M!q0;|e<6OD~pfy5bI<^$0Q<B8bL*g!OybdqA|ylYLJ*u5NC2 z<~0&%GE$Nqqxa~0Fjpd3z9E%Eo?nhTFAck5IRnR${$V^|n{<17`R>D%jkNtwI zDh$u2B&n)ekUv0N5K-1Hqcq2onk$3UPcAaxIdan*T#?Js4?URynN-pGN&j zB8#Mz6e#|?@_nt&akb@bp8NX?TSfetIcEt8v(3$>`#;CWO_NXtc7L7iLlEGlgXuaLNcNh^jn?yA9g zckvu*Fkq=TkxFx%Y|b~Vq|{7GB3tO1!EFk!rtM@i5K9>a9vRGz7pv{`g9DppOJve@bbZkjo-iSp206@#Og+3 zp;a?FXSA__MvRA|5y*QFpZUq+=Z1#LguQFws`?-G|NQv>Qpu!wUG4VkyX5Ggq4~ul zvg8T)Lh&v?@Zn+K9mymaKl=U4F7c^w@`LRc?$9uPZjG*i zkq#u~P1-icsjzoHQ~BpKGGAYCGzPM3_=~Sp5}>WQsh_)9Nf#-m`0Kw*3Wp)bWE9;r zxa(>cW90vZwM2?Oy88Zta5^r`60z@YR?rl?5R*Ls5CzjDaHVzs+qdwqwQoL*2)1nNfm zi)l}m6a*J_Oh#(B!`#(t-J0&u+aXKlQCyJguq;Y#|Lc7<*Mk|$X`BfGXCvH>dloDT z{+}vf{u8iaheVQsB!mF$Z0QUxaaOfpnBs+B3S)9ki|Yceb~ofP_H7K@alj{;naVDFuS?jSsMP`0jG_Mi zr7lii!c+q5Gy86j%sc!xWO!sm2F}#PTp!EI!^+0LitK&cEvb8~0Pe@&2nGD%sTS(> znR^9Ny*q>oUz=4N?z&TyeEtB>GBnEv?2n?z;Bb~rdPn-1L%sOq@UvJ~TNHt2he>#! z9@`Px(#xRr?pT_ItLp`&=MRz6e@rf}mxhZ@&mYh4nFBJFl6WC(oj9wMn)4*;!RX`v zO7sQyS5ZBmQ1YH9DDUYGiGlT8feg6i3Zm!8Hs^nBG|6nbJXqvjY_O+N?M9Sdoxu1M zAeW|df1kAbHpI%6Ri$2}1N5-Ua~zAI-3}b8eLQNWv|+pJcV99}b|-fF5}okGvGMQA z*Y$w#GyyVrz{BIWA*M*>ABliQ{nTgEJeI-imgouZd!^WTfQkI`b07`uOU!s`9&2D>DE6w6}xt4nq)i2&qS3>;1op*Vy2+W-oF{>AO zts#2Qi#2*gO*>kA7ZDUm6qy920CCi1B1iPTj3_8 z7-2Wyynel3N4lfPd2sK*K$(N(Zdo1Pi9*u>+poDh_d`F5IkslilqVwQW5Q&H%!lpk zt)Yj*x2ahsV|)qNjBFM_N1TL*Ub-CCFo zP6>QxBZtS&Fjeov$pS}|2#5M?^PBt5=|LiDG$SWO=%?NH^vg+#i1_lP2hh(xV z-TcBsa3#*C6V1XOH*Wq-ZTb{ED6>DVR{tIKoif_(6)QGq^Ma%Hn*?}d2CD$ zdzO0N#}gUZ)l6|IqZ-}yKcIW|!paIh71aa-C#P-|a387o?y zcUUk}o3ed!R3ATWZo2>ydyIZW45)-J&s2Ul8Go&+Rr$)+019}Yg4=CFAhHI+t3bFb z7M_rR_bq`@Q64*xEqGAen+`uq_;GzZVpF^!tb6dk?#T3SLIsv#S$OkA!|c>(Q~@tP z+{c1=wclGEziwhfjdygyp;FHz{5FH=^rz)@<96KjC9imO4TMe15_-Yg6GCSh0IX~M z`C$6~LNvbcR>=5^FWI4jQ^l^&KchA;NlmC4U(7!KCH_H0j*IR_426J+6Q?ilr^&No zG72~IIx;~Nh|<4YkF1=pj$MHfN2caZ9Q%O071Lwm$;vMbpv(QeF;I5S;tO4xqh!1f z*q$~YsO~I)_n0+2s_pE5YwZlL$Qb|OBMsz+gf~x@sM~zjU$g@Tn8=d)q&(cZ7Zvzr z9f0y6bGB&vt@*_^3;q_q(!t}!1|lW#6Zl6q{;Eo|0vcJz=`Xl_TQjuvC^eTQm81wX zh2vLScTW*-0rkJan1Qh$#*Jxtx^Xh`hqDN8!!4Ygiaa1CFb7aSSR)rlw@blK&Hvi> zCQba}!)AEL@7WJ4N^pb!3==Z5WB$=w=czL)e8o;rVw_*95Np!uea?)2Ocvn=XsF-D z(_jQr#*<%Rf+A4ckhxUrPuF#DHNev8YVb4iCKm?-oH4aFivs2nj&`AgDhFIFx!8|$ zeIfeB=Zcz%>efk9y?cCfJ2bbD`rRi?X5bNp;EPr&qN$c7t{H|n9g_ZTGeHry=Adqi8<2fbCm&bAJNz_&Na8V7nhg2i%wZ~m!589 zY|vcEOz`T99m8Er8A%ft0KmMhr$o>4MMUGdHAe~v{4g~*7%n3#%Ofr>{xf6`6Y(n_ zG9bgzj0T|7cM`tgk;veFMwf@n3BZAsE{hs}`s1o&I zQ~_6XIDp_bhtuuWv%wzc@}RnR_wX%}fkfW#@=t12uo#O8A zoE^DrE+_ggksVmfFMHswD2^XU55~Slc@k`{F74uQTNWU$(@~h)k(0GC=mfLqH7q zAG+(jM`lhd=ak7IST;KVWLJEA|y+@S_S5^kb!wl4(sH=^m236m(87FYo)2&KBN(%^#{XkCD@X zRZ+tAHPc8#>R)J1E}aQ%|kg2g=rx#SpG|Q8DGnj zqcbuv4D1#LLqy!y$%QCbw~?Hh8)Y^Isk@K2etdh}LTo&3Y6Ycw?lZF=gL9}v#xhU- zh8&+H)_E81V?|lKNr>3SJh# z8vkNpkr4b>wIll~T_;fIh5+T}B>0v~wtDbABbBzZMKXrBD8OO*xs<}W2%-w=|Kb9u zXN#!)$SNu%ZE6xs1WmFqbJ~e(LmmL2<+G_A1L(#P4E}L(d8vEhPT}}pJI>P5(tWPs zV`97bQAMK{3N|Gi{hduFY)vVZ5Wc9$N{}K0V{%!*BuMHNugCU$IXEt`i)2Z)8u@=~ zxo=Yu8Zz9gDNtWR`(L{6?rD($CamN4`&<4y*or3mc*%D|0oQ|D+nU$tIuS;2>~CyM zR3u-X>4RnQ!at&g<~&XB`8jcQgVU#n?Haopy6Mn9L5*r__r}qYg3WB>h8aJh zVTW>zw6X`&KhmYcI;HYmIPsNR1UL@WNoRC3g43Sn_kJ-7yOn-b%}iym!-dMYR?jmj zrbO1c;T_j1_c!qZcbX-mRJV+H`Np4|_btrExKsH)lV&q9m};rL5CDj{xRtr zdUjgt!1`+X=}3!^lW{lSexZV!#|$U9q=bbVGi15Zxp%1_$=LT_6kH(er%e0S8%4%} z@$oRsS0lG>jz+DohLpprtI4pnT;G|CN-P9x0)b@*gC&pAC*M4|KZ~H02 zYSAVfuF94sFCpD`7KzBW3{~ox;ZPn3MY(KQi1|PJ3XYS03e3aR`gKaY2C#>U1qo@Yh_3k%viXQtiT=Ad|IEZ1dL zUfHTldHK(QB5qXYZTDz5rF=Ug7Z9fQc+L^NzSIe_RNV8O4han?z<#c*`t0f|_2C10 zW@aYg;q5Ur8Lt$oFM&F7yo}@_bH~j_M$tPUHPMb7_zydr7MUb=66_%@LChX3$El@BDPqYF$v892*al#%GKb!kQG~$u3SXXJai;dATg0}hAd0w(vo3(MQ z^}UjD-X7xV639-=&dJG%bZ`)eVwMzlMz3q-&r&V!U;6v^*Q#>8-Jf@qQ1J$HIAC3J zQ{(fg0A`kmz#!DkbA5d`_`$E0PVAXY`{k;>mUQ`8!>Ok(UOPnD=c35VR!cYUR9A}= z=&Ig#)%|Rkci`p|5j^z3V)<2QR@?-)?->EsJfTxzfC?qT2TYn~*IKlzt%3C;FbG*h zp_L7_?OfeH@LxgYrbHa({I(lP-11h!@{Xv|b(y{Ja zrF-u{2ZGeX2>}99_ni^<9VDV$)mbw>B`YoQ-d@kYu3@{CsoKH(4E7{7ewF6dWt-xY zhfC5|5a%7zvyHO)2Bg#}Mqk0%8lUY?7gii%3s z%dMVeVCPpt<4|q~8y_j^!$Yj@Z+P_o9;sKBWlcrYK=20a9@oulcJO}RMINwobh;A{4k)kB;~k{ez4ASP+ev)#yZNJy2!Qmc z{`1lMN~B^fZJG^Iu=6C`848O+K1}sjx7e5lnV}8z^(9@a=$!a`kS>j)ElH%#Sry1J zaTr9tcO5pef~G|7X2D8tk-4xOc_G!?a%g{vrKt=cahr%Ofby-?BJc7f4gSxb(Fv={ zSO zOcf6ENi+scmz{J_xKrZImB{Mq;avu; z%E}g(ga1p59)_|Y$0(iQGQ47UZ_iNPG$8$$2>gP{^4o?T=6HfZGG$$Cq2Zh0z8GJ6Iw!lJ0A8TQAb8|vM!mhCaCCON` zTn-38D(>5)$9g^*j!70A2YGH98Sp#;C?V+jp3)xPm^1!*}9@RZjSBCfF2zfps zsV`YQ+`^GpPby)4;2X&w$ztg28IiA2EWv!z(9n=7Yo%U28@L!D##xKGy}DZ|#Ygyx z`$}aJ*%bZa;0Nl;@Y@xcV82$6Bpt|lsbqeCgXgFIQj)Y4dp2n)RMM|%B?K7mml|@4 zikPBeVsG3JH6`^WV>-m*#>9+2RsO;}@QnAqb6#(GppZ@u!=@DG=1Gel%NC;mz{rX| z*+E77LhZxTjT6P67({2G@lY&BmD@i2=nc!RBhDJn$9!W6TYL_T|7JPZw61vtKh&wBUL-`7`CR={;UHs!%!rFqWyRNyF%%~!b7b`$`7q>4XT!nnFdzDiE;Zs@~}^lWL^A2Bju z+FAx4#}(>Q`7qbO51@|MWQTB1sy!XJb+vt$+`KxAQ_Q*BpO&5?{h_t%m5>+}oIkx* zJW7(+h01+P9VGQNs6WmPDMlL~#)=h_&W{4rksGgU<7@Z>Q`64DAC|zUWk5VM`FweK zsoLm)6^5|xe;g1@-qYPJS&rCmpk z?-xifB|y8|gNB(VObxc7%lR))pMhZapV?y-Opr~QM7EZEU&y4q9MW8{7_E7%w*GZG z@(xlT@FNzU31_tNjAOya1a)=0x{hZro3{^<35n_6>&VJNB{OEF`f93onKBGhb&`%c z@L@VWV~aU{&Bv4ei1_u~W4L6YTng~X_K)65?BYQCE<}K^(#XQ~a&%}&!YKRUk%t{a z&A3PjMUoGt$yb$K+y3ukao%!Pl*nHhb3NJ_QI+6>kn~ zX&$3e4v0C4D)%@0RHJ4j#ZKEtH+u(K#(cyt*l{g7=q2UzCk-jWSt=T+Y44T`7RJZ}Bb?A?^q_@j+PL*A#`_oNKU*5W!2iW$ZdKzneEy_{f`Uv4>-`<;| zxr8smBvZ9QV{;QRqhN+qPryU(E|rRY9=tw$ut>&}3SMpXl)F1!g{vB*Dg^WO=#N&8 zj#&2g_Nec7XBZjh*A(Aa^^L*!Xj4X;2Txa9-Tgb21>QZp?Mo?p5=p1HDeQw-@K)Mk zTX}u|F^CpFF@tMIu6P;4HFVGI33O#;&2CIvBbU8?UCkj#1#o|fd2{RhJWdmUNa7~- zohOIhYun~{i5!{T2Ss$^i)sAg=r$8N$}FL7hmA{=oM%iGz3&_OX&DJOH;ijaQS^bZ z{&p6|ailV}*+|U8IfT6B+k^Vb!mNY5_x=}LOO(WR{wA}sMl1epzQ6QyDm#=mHhRMo zL57hPm`y-bJx0L9!LbInnNGPJufr1PEZwEo`DbLnPG5`>I6sD|i`v#qP0eULih%C| zYjP=2wvOAM^Lg6&-mbWv%<^iqj+Xk3OOw2)D%TO5_6tLK6I#{!&rG~8*d_}qJ=N&F zZ^Xwa{}u4}l*#*R^sJcbrbZnii`O=*OH%Py>Iac<)vDFoeGKU@ci+%ws55e`@&e9B zRoD|A)5X@umBy=Vr`4~^_P+Lds(0afpbt6f`drrF2iZTHF53X)(WCo_pL`Bx!Es2)TKrXLtKCG{&rzbcux23a_KP|68HP27gjbV7i zERI)1L}A6d%$qYeUKRSW^-W0biDq@LZQtM^O5-ZXtiu9nW3OJ7saCE~s*>kt_A-3l zm1~BsNN(LeufC;zIZfxXXu?0Jx}kmbTN??%M9B=R?k~+sNd{-x{yE{JRKE}oKR0(g zNdMv<2xHO_u;=8TG>#mnyt^nXr~<}Kgtx5pWFbmrcM8wy;J)E{BEe_5IM)^7p*{rb>6nmUqN;K#~c zQbGdlko`&XIv6$o5V=r2L1{y+YhMn zI^sfi>7=-L+kLdKa+HqM_U6loL;J1c`Fb})zZ)S4=-F>SQZ{~$)Wrd+s*Elj5l?~Bu;h#u7yA6{ z?Ch0S5_yPTUMAHNwADm!YjcRHAE77n+y)v=`*TehtOLQvC|MZ7W__rkVPSAUa7akC z%a*KD79PDUz%qddx}odX9rNH&obNCb8zS6&KlC8>0$o?XyHhqebJDh|UqAzduzQ2b zKIVfbZqSNA5;Z6y0*ybwY7pq64iHR~ZmbN#rL(D(CIjsX{*`W?iGeP5%E~>;KB~J* z>vf;YMfRuTORN3JNv*y==k5AI5};W^aMdWc5%+M}pStFR zr9UCUtb=(Eo@r5ZE|8Fs={PtrgMxxcK@Vt2R^419_?0?af<`reD;6yf3gog^M)u6^ z-vSLIUbnR=So$!R(E$e5tD=D;c=TzQyNk<4_SNI#b_Az^Vwxh; z-?h+0ebyb7=T(U*Ye8j7RJm~R!^*#OOyJ;(HsF-AuwdAB_5O8HK%i#z;RBse#X|Y^}`fcTZo8n-@FUM?6a_6eC~!2Ljfn^aGu> zPLtrFg}DuM$}d&WoeBOcqS@wL8YB4bpR&ld@=v(pG>D~i&J-LN37aX-u*RVAt5)0x zmZOHxr=T`APF+U_RYODL@|etL(uAJgWl-xw5;ef%2uD}n`7ulu9v=Q1*z+Jy-q+7> z`1WKuEie%H53@UUUn)rIzyY{j4izna7MncIqlO9VQQ_j!JUrK#{B~P=M34ghNebxs zV`$5_q;3@6?+^y;svKW5m~byQc5DmuZ*l$1F@0G1bZa7JA;M(;i zTZ_}aT(L@21GPHrGJ=}vOc_|eC@|2`|7{%pA$~*+lU3`@d(Jmo`a;ZsKBq74VyW{+ z`iJ8CNxxY~xj=e->)kIfU)$E+K5FO>m?X_;PwoDvDgcj&DR}V5ukY(DXBeKG^?z|d zYT1f}M=SSd)`d5CozOS9SPvgE?okSGmEI^-vwwhnzwK7NfQtGjMGeNex+sswT*Q`H zQqMLF4Sip;_-XZ8Zmz7Kied>5FZe{k_7Y)nZ0hCci{2>CR4ooSGc$^=uI~O~HNEzH zm8o>{4JKV@UV_AqN;6$v4P>ON)3|$jIw8>nyfNU@=u9e~ExwD#&5X!%V}S?z5ZBo( z^Vfv6@lkXIe`}GKz%2+#KCh9XgG6=hi(hP|Ej1>Yaay|5u3#h5e#Ph3IC}dfMp{G? ze|Woj*S@V#O;Kg}u<7R~ivY7j`#;PNS8=s6@IM^lg|lF^qX~x02cyg2r4`x&v8%#>wz%oUQvnO z8or8?k(`@`3g0Z0z>ci-8|W%AD^7a&2qKKO$vcDL|JZI^q}cvzxb=bv{brYyprG*P z_F6zMKey`nQ)FCJP~#rjoGoPpR|f~68W_?!(6uVvNYP`T1-HAs{pnI;U}8dfqdxv} zYZ2Zlzcv^a$@JoK*~%Ub1817Nfx)YedKk5K!$W^~D%BA@Ct8Bj65FlV`w-R--R{apO57v2}_jhcbt%FmIMtSP)r-el*lC{9LJ#t0HD zRjdasBM)OAZsk0&e$VoKerJA+j^Ekm$F1t?xS>#eW74p8R(q6H{n7>ZUt<#a9Ze`m zSxPW$<{JZ+VVm99wL(DP)AH_7n^-xD``Y!VzJQ<8L^@;$4yA?1T*WAUDLc zwlh7_5?qj$kKfv&Z0AUBd()M`z(_qJDoPq0c?+-|E-_Kj^_`tC6r9D@P;YN#lOHeCO)K9?dws zX}=$`U{L3@wz*O`>27RimG5%r^R)dPA9R1@5<>1?9kjW-*Gl?g_IN9^78G#_dxo;a zJ+LL-BpGtnQ-*&V&v=($thK2N54?uhhPTaWbGupSzkR#1>~bX9wjNTFI#K2Jq9oB&h*0euiELVGz+6l%- z^W{R&lf`NT@JtezthFh|Rnbly;d3v~o=1co`mQt^L)82*H?+`)2_JZpS5sokAR*L)gnh{Tv zuF1*bpLm9Bowi}mnXoT+$E;qvgDIed2Y`_TAcu&gnSEkzI5xO7%W5c{rIEMPa4T|4 zaYD*!{p4A|wg0bO1pK{(#6&cS#bX?h^pgV z&cDz7!;_<<7B8`~&^qu7BxJZA^&#{t!9X9sW8)YQ=7&r?Rzb_KY$Y++boH`xPg z5^hG2rMIZk-hRh|`PM(^? zJ0D$r2!&5bb};ttDyJ1Iy{~o+p6)NUHb6u0`+KjZ)>e9PaVjmmW0{?<*?1?M(7gq}~ z0%UJ!R6e9)X^iW>{mgaN%Xk{6OlH!1KJE;pf*w3yK>mEQ^<*~4zDN1b8DTIkOoT)U zI>HI^B_s@Wi%hCD%|>@H#~<{Rb>g-Lm()`Gqeyy7R=GjhDvDvt=kCI7spCfhV)Nh- zy!m{H6HZ!aNWc@Ljql)LEDaP1ecTKf`kfs}m6&g8?-=v+BFQu)}a8-qw_Q-s_ zv=D(l*c=N%$%Z=*3m@mfKlx1AIw)(cX9V2s(ZCTD2ay2Bj3jQAKngTG{k5Q`0OI6EZs zv34L~^`RT(V!zXCr3MnmP`S?2zgOUk3ont;#b`qS`suB2ZP6c=Y_$^Sa6xGMH2>vv zn%0toN%Om~6cVZ13OL{z6AjPMKfR{eA8U7OzCmDr$1j!j^_GTgsdpe~=mH7^m`Hgn zP(jrjdajOt3a6n|sTPO_XQVPQ*SN2Oz8Xq>uF3>91*BVtP{2s}Y;Yf(YNTei z22))^vpxw`q`g%}09!NOes-LF0|fFO71P)ZVh`=Of;$Cnb1X`CiW~NKl}A``ElDHD z*JI<7SGzl6dn{|<6Lc&y@tJSbG5B`jbyYBqc z!GeVQ@2CRlw}Oj2I>PlLY24EU?QJ-`e{bP_utgj>}<8YrnM7YU2-xJ^1YYaqnnwvIC$b0WLA1MiRjRLv7kJC zIgMgYOFO^(jUtLF{au@TtR2`2*fm`mNyY^D9MOHrxW9I_6NtMzgw|fXK0lCK177%E zUx@<}vm<@2j6!?lsmQT}JuHQ(<#)b|?3X9Ed z#rtNF{!k1A0E^=xQL1s1-FU8&i(WSFx7&^7PIm~({!AeTm8cg0TA`@^x+w1DbD9D& z_#HPlk&uw^p1+8A97}-PRG#y#`;kOI*ADNB@Dz2-11xwhYFYKEz&YOE2@@O|8@e7$ z^XHoZU`3z+S-5g3X-yI4&+$N)4)ecPO zrcTLwHb<+o?D;r{(a5|!UjFoN7^h+bU4BLKrvjKQiWHpjcf&pl*gMrci@;i$-_O!y z3+bxIgsb1qyn5XPM@78wDH%XCsjm0QHA&*|Y#!PcB`yVRZ1lv~otb!+NwE}WWr9|6 zE`~4jO485lf=nJn1%t9J)2^4s=7L!!I>Q;!E{?hEz`LRMyp4^eQ>I>ZLK!|~% z%oEkjv%pOCG6Eq5AD_unX5ud$7O?rqCPPAkg5r|@--FdWI~?}v)d##n*^T_aO$qT? zR|URqmTwDgT=$-B6z-eR3;82?+fpX{{xD8XgZp>VPx0-|jFEMrIi9h(VyhVUz;U|% zw@hPrbrU3_sqbL<^6hy* z;ay~lv_~HhMXIDE*#HZY*g#zDEAXs-JooAB6=mftL19q1=*0`aeWT(RKOR*P16ZWK zSCo{Ps+TEl&~!JFe=TDwlL*ZfmD))8n#_ExT>ke0WBy8yt+-bAO&!sE?hsnvos~~Q z$4s}&Wax*7hr6bxvRW8x_ykMLMgwg{OtLzWhyziYN^=*9PSn+%zk){rA>i=e7uWoC391e;zP5CLc+>W8ukcbxl}<_QH>Wx$ZQ+zAdgdpiGMkae(xYED zbGk_-@1pTR2GO7K@2*Y@3#{2H(ypu09RX?GGKgt}`!i%#k0pSBE0Zm4qh*q%rvBc1 z=8KdRt@85nuC1-SozP~eM9$14>aGhp1sr?+pes{;ZKjg@=-_Y1lZ>${`I$|6$&W7Z z5C@m1(x9#l-{FhfiMGOuKwdx#HAXec9j!WiOcm+nw3On!?(cqeD&QaUkx-${GoILa zrf1iJ+FzGHQcwsb^JRH_QX&B<%7=N`^I4tPeyotaNF><9q}Rvf%*Co~=ed3e3sBDI zdd&A`l2K6O5Qlp|T7N!qxfs{Hxux;fb!~LPn0AW=0DRZSon`2G2Vt23_CMlNE2G&_5 zS@^D|=`TP1+eh7wB^x9$=pOoUyY}-n$%DSFU$dfjyaWf--v1~I5__NfHTCXP70G$K zPf#O^YR8rfOEH}Ls9%lYT+B-P#xo0k{Kv@4?04v(qpuug&2;`3@E zH$^5!%vm7ux9$oaOSgte8Ov7AFvT({cd~0q4HvGMp}O7j3Fgn0xpWie{Rxq!@5nUr z4GgHcISWkdUx!X^wHMQySCQZ9as5z8fA~Jwe@_8gA!O$%x_GF%y`EG3GO%Z7)IV?b<>gvxwfi*`3Qb3QrRpVIm`7V5) z(fa9Mb4yw6S!iPrg0V|h<5EN!{=7=@-kD7z?_amyT^TOojN%^|{CgyBA&vWP*xpW5c9GDleoI_#k0`P z{%Vt?ukLC$ggvAN4p4r)g5OPU+?btd5-J=Y*VlUyc&Fq_;oIx`)t&y9qfe=0e~vg` z&feEF39B6}#WJtp=|gQ(dt1cfj1VGkN6={tw_|TahU90rLK5-;my`o(a|65z>*10B z^aVY{IVrQf()BB5?S`)qv;f{f?XA>MFzQJKo<0X2=^q#832UW;c^+H~oXh7cJY!rj`>)U=d;3(PFu-CfaH zWHR>~pNsYuBkKoNZfVwY}QA3l?A~0&QI5Sl^`qE{}_!DaH2Q6oU``JwPx{KRb z$?|wRVq`x5-hUm`v0T~@DL5lFK26$w)!m>3v_QmR@*ssdTITd2)*J^>gwPmg?_z*$ zbf|=3c=#JiF_>a3Ld`SpfVUp392^k}BoHFK+2OXvBXbrL znPP=B)IfehAU{8!T6I2+jz%<@H=J1jUGvEC0e6(lv2uv-r=QUxFYB{I{shN82<%DdQz# z9Z#Az8G~bx$K{l)Az|V3fr<+&Hz!z4(YaI)I`X5>&zSNczd6QIk-yZ~^+&3;Nwe5m zofKN{6*GnyMg+HoDEK3cFE(Y7l(MD+DN)yXt&50*qW--DXQQKy!${LULTxwo7Po6~ zQl|fWzKzOWL=`G7JTTk0>^+~9vGW7H^&FJ)i z8iDVirW_vRhOeni=*mH^t5d+2d{aU7`72JP`0N_ag`Pun&9FbYxsOY-Opw8njbQF~ z^L9}G1A-&1Rl|E(Mtm> z)s0eq{P%ipGB)2078uQkDDM4ZETeqzn`MT z=ehLqO0yTh%$&w&^Q{hkRKb2txcXhB5OgovSykxv{p74on1KWJ$HuDVtQMu%6^?1& zT+y9nHzbt?JRju&J@{vw}2y43xr#KU%SrE8nJrH&+a^d$FB5@kgssjKfX3Q*^I7z+ZG+#+uP^BQ>qJSC6`p{MVzp##;j%j!uJgn)pL4W~s(!_0h7w zHK{Uka}&+#>l>9Fse#R5)VayY-XYg_-UNSio#uw{@8`0c(YVY^PH?WsSjoAMt+ww6 zE%Z%kUk26>+3oKTnt!q03=b2OPLvzyC}7Aa`NGW*t$2PR z3R@*=CJ2i^ryjh63H6??a@kglmD2*2a4~DBGT_AF;Nz1xV6gXM4K}(Cs70Znr#^?( z)mJ)*Pi1Oxb=eC?WZ6_FOqTSlVJu^9#eK0CcE(1`su4-u`?$7_^X~4Fjbu!GXVm+! zIPfHFh3=q8?PB-u^Q!ZNejR%lF^C8c4#u)xDK^MFwF!SwdL#k0pY1jjJT81Y7qG_L zOAtR652!5{npu3kd~2h*b8B_kHMrK=hSiekKhkiE&-159EWjhd3W)|{xOkyRUD4^M zaO6bRO7Z&#mYjg0t;%tH0(i0ME*gT@hbOIBN2)7vj+NN2J*6q%5nj2XBo1Aq56+(F_lHODj(xdUc~N zE?^_d{yB34V68f&nU4E#`MVFgd}UKbxKDn4uf*|@hvO!By6v+ho`2DXqk&J|As2!R z6nj3p`pFA_d1U!DkReS`Qilg@VATcj)=j?<_Tg3PM9wrJ3rY3#odf0vV05&KmcElu zPEH|%K4&YTwvNxUvmg6hsnA1*k(tg>)3)jBJ&7D;F=Pq5Pf5e3&xBhcs=-hZeR$bp zA2XIbZ$0v{rz6Plkwhcd(k$$M)$D|v_opIv42DUMJQas4ss2BQ_wo(hsX^*VpPUG- z^epTb#3=sz?En2)J#x0_`uM@L!$=x{cs;}f?Ptpw{>9imI!aI2*k)ZRN$`6_l{4t=X&&R{Qjo_OAX|8y@d zia*_16zV_u$U|)X2`-U;6)Ke24BaPJT%A@mEMcctmwW5~r6Aq#X%VrFaa%|b1M?so zkxaxUU>Tv3v)zM~8=tKK_%;0Y;=S)B_Rikb1GwDnOoLo|U%Z)n6`^9~svU+%=PCIlZSl z$PY^1xnT}nb%Aj!OfGl_GstAqkR01*IlhK?*!I}2C>!z2= z{0+`4@r1F_BkL>Sf~%aUY$7Wl=n6*PbCrqk?IFgbjP*_ibTiF#v*I3u^BC zR_?rcmQ`|Y|9#%L8T79eU&$XxaUS&Cj zOhA9YGb@g2LdxXFxXsy%5_hz9qRw&O1}mko%O9um;Xfsz_Ge3&bR5&AitP42xz{^p zc_kijKp*s^)+3zJSoTM3Hx(m!345QO(&>k@FJ_C-H*QvSd^n`r`n0~#r-}g*nWTXG zMElusL@#0w6Z-xjv6XfNy)g(uN@pZG9K?GPPdue!kh z{9?`llxQ7G5G+Oqo2cG#7GrxHzT8#BaINMc1+YH4gIpAd(wx_1$_-7?GjM3eQvL|1 zwne7?ySq4}yiYoS><%dmi+I9kOSQk{u+&TB1#2;S2a~)n5#5YSp~>PQ{=>hPW4A&j z-3+{zlzi66#C28te_$@eJUNpSQlWGQ?xg#G;?|M7l;6v8a>(K?7bA25Nd%=OSv-Z| z)HD!Yl2Pa6(ho#EKdVgkf*PLjO92!LG-rTgC=c4L(Cu+*N)Zu{(yy0ra=*ZBZ%4CgAs3FlLfEK}c6|2t5omY5FblJTo(2Hy!~&*?k(o#Tnvl_V?1(#RB+~ zzVW7B^zGSW(jis6p-{=Mg`!?3Ia53mG4s&1^vhE$w7^sX&qwmHd!1t%2sB7PQP1i$M!gOuhftnU=OvBSBF6(M(xj8x9P+q+G zHfCPM=z=$QzTgEWCJm6oYn)g=_Yc%nt=XQoBoBv;n#ZZNgL`9IZsum+69U%idr}AO z6B8V5ZEd)ILf#ImmfGqN2O}jQ7AyixPtVB6+``rTLm!hw8wP`06Kn_0)ORYZ*a07G zNl>f%lsD(T*W+rYiRJ6`1^&ZKc7<9SWA;zPO?=6KgrW$WIO2;pzI5nH(1)9N6n9wzs!SOkPvBsGFZ_ zpCzH_HlmY)C#RlKXRR6#hk+k`*JZfHd1U2e#5D~A9Kig~bWvA2BZH`>=LWcPX0(u`O>=5W zKUn5Px3s803&4rUqQN`IZ7EYZK>X9d07!XbU}0QbTtF1P!EOs`)@cXx(;C0BPNEbw od8tSA#{E}d@c%yg{}UD*@gNH_*w2#16CtqO(t&GN!tBuh115HIaR2}S From f963ca050b50876b54976ea9301a0790db429403 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Tue, 18 Jun 2019 23:49:20 +0200 Subject: [PATCH 33/98] thanks, badcoder trilby --- code/datums/traits/negative.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 43be1fa2a7..9d160aa5cd 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -38,13 +38,13 @@ var/obj/item/heirloom_type switch(quirk_holder.mind.assigned_role) if("Clown") - heirloom_type = /obj/item/paint/anycolor - heirloom_type = /obj/item/bikehorn/golden + heirloom_type = pick(/obj/item/paint/anycolor, /obj/item/bikehorn/golden) if("Mime") - heirloom_type = /obj/item/paint/anycolor - heirloom_type = /obj/item/toy/dummy + heirloom_type = pick(/obj/item/paint/anycolor, /obj/item/toy/dummy) if("Cook") heirloom_type = /obj/item/kitchen/knife/scimitar + if("Botanist") + heirloom_type = pick(/obj/item/cultivator, /obj/item/reagent_containers/glass/bucket, /obj/item/storage/bag/plants, /obj/item/toy/plush/beeplushie) if("Medical Doctor") heirloom_type = /obj/item/healthanalyzer/advanced if("Station Engineer") From 699b78dd802c1c1a50060db5568addec108deaef Mon Sep 17 00:00:00 2001 From: Fermi Date: Tue, 18 Jun 2019 23:00:54 +0100 Subject: [PATCH 34/98] Red pandas! --- .../living/simple_animal/friendly/panda.dm | 20 ++++++++++++++++++ icons/mob/pets.dmi | Bin 64294 -> 64331 bytes tgstation.dme | 1 + 3 files changed, 21 insertions(+) create mode 100644 code/modules/mob/living/simple_animal/friendly/panda.dm diff --git a/code/modules/mob/living/simple_animal/friendly/panda.dm b/code/modules/mob/living/simple_animal/friendly/panda.dm new file mode 100644 index 0000000000..ef3f0c6c23 --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/panda.dm @@ -0,0 +1,20 @@ +/mob/living/simple_animal/pet/redpanda + name = "Red panda" + desc = "It's a red panda." + icon = 'icons/mob/pets.dmi' + icon_state = "red_panda" + icon_living = "red_panda" + icon_dead = "dead_panda" + speak = list("Churip","Chuuriip","Cheep-cheep","Chiteurp","squueeaacipt") + speak_emote = list("chirps", "huff-quacks") + emote_hear = list("squeak-chrips.", "huff-squacks.") + emote_see = list("shakes its head.", "rolls about.") + speak_chance = 1 + turns_per_move = 5 + see_in_dark = 6 + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 3) + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "kicks" + gold_core_spawnable = FRIENDLY_SPAWN + do_footstep = TRUE diff --git a/icons/mob/pets.dmi b/icons/mob/pets.dmi index 45b0ab1f046a7fed25c576da8f4d4d9fe37ef3d9..fe0146ccc40c5702185e936d99a164cebbe5eaf7 100644 GIT binary patch literal 64331 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

bM`*IOmDcN7#4oYBq&#DJ} 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 literal 64294 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%0AYvezy9B!xc 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%0D{oLvH$5-#?%zReLmA#R5!Tw!*Zzwg>U; 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 diff --git a/tgstation.dme b/tgstation.dme index 8e33f39524..de95e5c5b2 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2103,6 +2103,7 @@ #include "code\modules\mob\living\simple_animal\friendly\gondola.dm" #include "code\modules\mob\living\simple_animal\friendly\lizard.dm" #include "code\modules\mob\living\simple_animal\friendly\mouse.dm" +#include "code\modules\mob\living\simple_animal\friendly\panda.dm" #include "code\modules\mob\living\simple_animal\friendly\penguin.dm" #include "code\modules\mob\living\simple_animal\friendly\pet.dm" #include "code\modules\mob\living\simple_animal\friendly\sloth.dm" From fe6296b58acd441f9ce6ee05ccfc13f8d37ec5c0 Mon Sep 17 00:00:00 2001 From: Fermi Date: Wed, 19 Jun 2019 00:17:18 +0100 Subject: [PATCH 35/98] Added crafting recipies as per Bhijin's request. --- code/game/objects/items/storage/belt.dm | 4 +-- code/modules/crafting/recipes.dm | 33 +++++++++++++++++++ .../research/designs/medical_designs.dm | 6 ++-- 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 27c3d76655..4e496826a9 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -550,14 +550,14 @@ /obj/item/storage/belt/medolier/ComponentInitialize() . = ..() GET_COMPONENT(STR, /datum/component/storage) - STR.max_items = 12 + STR.max_items = 16 STR.display_numerical_stacking = FALSE STR.can_hold = typecacheof(list( /obj/item/reagent_containers/syringe/dart )) /obj/item/storage/belt/medolier/full/PopulateContents() - for(var/i in 1 to 10) + for(var/i in 1 to 16) new /obj/item/reagent_containers/syringe/dart/(src) /obj/item/storage/belt/holster diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index ca10d5092f..3691002e0b 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -761,3 +761,36 @@ /datum/reagent/water = 15) time = 40 category = CAT_MISC + +/datum/crafting_recipe/smartdart + name = "Medical smartdart" + result = /obj/item/reagent_containers/syringe/dart + reqs = list(/obj/item/stack/sheet/metal = 1, + /obj/item/stack/sheet/glass = 1, + /obj/item/stack/sheet/plastic = 1) + time = 10 + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/medolier + name = "Medolier" + result = /obj/item/storage/belt/medolier + reqs = list(/obj/item/stack/sheet/metal = 2, + /obj/item/stack/sheet/cloth = 3, + /obj/item/stack/sheet/plastic = 4) + time = 30 + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/smartdartgun + name = "Smart dartgun" + result = /obj/item/storage/belt/medolier + reqs = list(/obj/item/stack/sheet/metal = 15, + /obj/item/stack/sheet/glass = 10, + /obj/item/tank/internals = 1, + /obj/item/reagent_containers/glass/beaker = 1, + /obj/item/stack/sheet/plastic = 10, + /obj/item/stack/cable_coil = 2) + time = 150 //It's a gun + category = CAT_WEAPONRY + subcategory = CAT_WEAPON diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 73d8dc3170..48cc2826b9 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -97,7 +97,7 @@ desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD." id = "medicinalsmartdart" build_type = PROTOLATHE - materials = list(MAT_GLASS = 2000, MAT_PLASTIC = 200, MAT_METAL = 500) + materials = list(MAT_GLASS = 100, MAT_PLASTIC = 100, MAT_METAL = 100) build_path = /obj/item/reagent_containers/syringe/dart category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -107,7 +107,7 @@ desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD. Has an extended volume capacity thanks to bluespace foam." id = "bluespacesmartdart" build_type = PROTOLATHE - materials = list(MAT_GLASS = 2000, MAT_PLASTIC = 500, MAT_METAL = 500, MAT_BLUESPACE = 500) + materials = list(MAT_GLASS = 250, MAT_PLASTIC = 250, MAT_METAL = 250, MAT_BLUESPACE = 250) build_path = /obj/item/reagent_containers/syringe/dart/bluespace category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL @@ -117,7 +117,7 @@ desc = "A compressed air gun, designed to fit medicinal darts for application of medicine for those patients just out of reach." id = "smartdartgun" build_type = PROTOLATHE - materials = list(MAT_GLASS = 1500, MAT_PLASTIC = 1000, MAT_METAL = 1500) + materials = list(MAT_GLASS = 500, MAT_PLASTIC = 1000, MAT_METAL = 500) build_path = /obj/item/gun/syringe/dart category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL From 724ec93166de75264b65be6fc97a8122b5e5b43d Mon Sep 17 00:00:00 2001 From: Fermi Date: Wed, 19 Jun 2019 00:24:02 +0100 Subject: [PATCH 36/98] oops --- code/modules/crafting/recipes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index c1026ed871..655f42e5d7 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -804,7 +804,7 @@ /datum/crafting_recipe/smartdartgun name = "Smart dartgun" - result = /obj/item/storage/belt/medolier + result = /obj/item/gun/syringe/dart reqs = list(/obj/item/stack/sheet/metal = 15, /obj/item/stack/sheet/glass = 10, /obj/item/tank/internals = 1, From db3d5848c2d829a06411d49816fb43fb8fc5147f Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 19 Jun 2019 01:28:47 +0200 Subject: [PATCH 37/98] Ports in beekini and bee socks. --- .../new_player/sprite_accessories/socks.dm | 10 +++++++++- .../sprite_accessories/undershirt.dm | 6 +++++- .../sprite_accessories/underwear.dm | 3 +++ icons/mob/underwear.dmi | Bin 60008 -> 62935 bytes 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/socks.dm b/code/modules/mob/dead/new_player/sprite_accessories/socks.dm index 5a5d37d4e7..01a83dcc9f 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/socks.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/socks.dm @@ -11,6 +11,10 @@ // please make sure they're sorted alphabetically and categorized +/datum/sprite_accessory/socks/bee_knee + name = "Knee-high (Bee)" + icon_state = "bee_knee" + /datum/sprite_accessory/socks/black_knee name = "Knee-high (Black)" icon_state = "black_knee" @@ -63,6 +67,10 @@ name = "Short (White)" icon_state = "white_short" +/datum/sprite_accessory/socks/bee_thigh + name = "Thigh-high (Bee)" + icon_state = "bee_thigh" + /datum/sprite_accessory/socks/black_thigh name = "Thigh-high (Black)" icon_state = "black_thigh" @@ -93,4 +101,4 @@ /datum/sprite_accessory/socks/white_thigh name = "Thigh-high (White)" - icon_state = "white_thigh" \ No newline at end of file + icon_state = "white_thigh" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/undershirt.dm b/code/modules/mob/dead/new_player/sprite_accessories/undershirt.dm index 7c66ef51e3..f5af9a3849 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/undershirt.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/undershirt.dm @@ -248,9 +248,13 @@ icon_state = "bra_commie" /datum/sprite_accessory/undershirt/female_babyblue - name = "Bra, Baby Blue" + name = "Bra - Baby Blue" icon_state = "bra_babyblue" +/datum/sprite_accessory/undershirt/female_beekini + name = "Bra - Bee-kini" + icon_state = "bra_bee-kini" + /datum/sprite_accessory/undershirt/female_black name = "Bra - Black" icon_state = "bra_black" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/underwear.dm b/code/modules/mob/dead/new_player/sprite_accessories/underwear.dm index 6beed231aa..e7179eeb87 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/underwear.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/underwear.dm @@ -90,6 +90,9 @@ name = "Boxer Briefs - Yellow" icon_state = "boxer_briefs_yellow" +/datum/sprite_accessory/underwear/female_beekini + name = "Panties - Bee-kini" + icon_state = "panties_bee-kini" /datum/sprite_accessory/underwear/female_black name = "Panties - Black" diff --git a/icons/mob/underwear.dmi b/icons/mob/underwear.dmi index cf16eb9e32579b04728d92dad5ffca995f901efc..25e7d2c6d0ecc7b69a7e9e0c58072c3526e2a9be 100644 GIT binary patch literal 62935 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 literal 60008 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 From 095ea1243b3557fa625bfdf40cf7948e4fcbc101 Mon Sep 17 00:00:00 2001 From: Fermi Date: Wed, 19 Jun 2019 00:39:38 +0100 Subject: [PATCH 38/98] Fits better. --- code/game/objects/items/storage/belt.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 4e496826a9..beb62d0ed1 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -550,7 +550,7 @@ /obj/item/storage/belt/medolier/ComponentInitialize() . = ..() GET_COMPONENT(STR, /datum/component/storage) - STR.max_items = 16 + STR.max_items = 15 STR.display_numerical_stacking = FALSE STR.can_hold = typecacheof(list( /obj/item/reagent_containers/syringe/dart From fec1df2098ee0be98e794e5e9115c56605a1ac0d Mon Sep 17 00:00:00 2001 From: Fermi Date: Wed, 19 Jun 2019 00:52:45 +0100 Subject: [PATCH 39/98] Rephrasal for understanding. --- code/modules/reagents/reagent_containers/syringes.dm | 4 ++-- code/modules/research/designs/medical_designs.dm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index ef4fb9edae..cc83eb28f6 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -262,7 +262,7 @@ /obj/item/reagent_containers/syringe/dart name = "medicinal smartdart" - desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD." + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient using it's smart nanofilter technology only medicines contained within the dart are administered to the patient. Additonally, due to capillary action, injection of chemicals past the overdose limit is prevented." volume = 20 amount_per_transfer_from_this = 20 icon_state = "empty" @@ -345,6 +345,6 @@ /obj/item/reagent_containers/syringe/dart/bluespace name = "bluespace smartdart" - desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD. Has an extended volume capacity thanks to bluespace foam." + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient using it's smart nanofilter technology only medicines contained within the dart are administered to the patient. Additonally, due to capillary action, injection of chemicals past the overdose limit is prevented. Has an extended volume capacity thanks to bluespace foam." amount_per_transfer_from_this = 50 volume = 50 diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index c962a86a30..3a7ef68903 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -94,7 +94,7 @@ /datum/design/medicinalsmartdart name = "Medicinal Smartdart" - desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD." + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient using it's smart nanofilter technology only medicines contained within the dart are administered to the patient. Additonally, due to capillary action, injection of chemicals past the overdose limit is prevented." id = "medicinalsmartdart" build_type = PROTOLATHE materials = list(MAT_GLASS = 100, MAT_PLASTIC = 100, MAT_METAL = 100) @@ -104,7 +104,7 @@ /datum/design/bluespacesmartdart name = "bluespace smartdart" - desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient, only medicines are administered to the patient using a smart nanofilter and capillary action with a built in safety for OD. Has an extended volume capacity thanks to bluespace foam." + desc = "A non-harmful dart that can administer medication from a range. Once it hits a patient using it's smart nanofilter technology only medicines contained within the dart are administered to the patient. Additonally, due to capillary action, injection of chemicals past the overdose limit is prevented. Has an extended volume capacity thanks to bluespace foam." id = "bluespacesmartdart" build_type = PROTOLATHE materials = list(MAT_GLASS = 250, MAT_PLASTIC = 250, MAT_METAL = 250, MAT_BLUESPACE = 250) From e0cada79659bbde02f57dac07dede68ec6d294c3 Mon Sep 17 00:00:00 2001 From: Fermi Date: Wed, 19 Jun 2019 01:08:23 +0100 Subject: [PATCH 40/98] Quick fix for a runtime --- code/modules/projectiles/ammunition/special/syringe.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/projectiles/ammunition/special/syringe.dm b/code/modules/projectiles/ammunition/special/syringe.dm index 47ae266e45..4d4dd7bcc1 100644 --- a/code/modules/projectiles/ammunition/special/syringe.dm +++ b/code/modules/projectiles/ammunition/special/syringe.dm @@ -69,6 +69,8 @@ /obj/item/ammo_casing/syringegun/dart/ready_proj(atom/target, mob/living/user, quiet, zone_override = "") ..() + if(!SG.syringes.len) + return var/obj/item/gun/syringe/SG = loc var/obj/item/reagent_containers/syringe/dart/S = SG.syringes[1] if(S.emptrig == TRUE) From df9c4fd1f4171d5a08d63f20efed8cbfe92fccec Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 19 Jun 2019 03:08:44 +0200 Subject: [PATCH 41/98] [s] Ports "Fixes PDA TK exploits" --- code/game/objects/items/devices/PDA/PDA.dm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 48b21d58bd..eac33c4c91 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -173,10 +173,14 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/MouseDrop(obj/over_object, src_location, over_location) var/mob/M = usr - if((!istype(over_object, /obj/screen)) && usr.canUseTopic(src)) + if((M == over) && usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return attack_self(M) return ..() +/obj/item/pda/attack_self_tk(mob/user) + to_chat(user, "The PDA's capacitive touch screen doesn't seem to respond!") + return + /obj/item/pda/interact(mob/user) if(!user.IsAdvancedToolUser()) to_chat(user, "You don't have the dexterity to do this!") @@ -382,7 +386,7 @@ GLOBAL_LIST_EMPTY(PDAs) var/mob/living/U = usr //Looking for master was kind of pointless since PDAs don't appear to have one. - if(usr.canUseTopic(src) && !href_list["close"]) + if(usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK) && !href_list["close"]) add_fingerprint(U) U.set_machine(src) @@ -636,7 +640,7 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/proc/remove_id() - if(issilicon(usr) || !usr.canUseTopic(src, BE_CLOSE)) + if(issilicon(usr) || !usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if (id) @@ -802,7 +806,7 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/proc/remove_pen() - if(issilicon(usr) || !usr.canUseTopic(src, BE_CLOSE)) + if(issilicon(usr) || !usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(inserted_item) From 55795355fd58636e9e1df430b62f717c36ee4630 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 19 Jun 2019 03:31:36 +0200 Subject: [PATCH 42/98] Ports "[s] Fixes pride mirror exploit" --- code/__DEFINES/misc.dm | 5 +++-- code/game/objects/items/devices/PDA/PDA.dm | 2 +- code/game/objects/structures/mirror.dm | 22 +++++++++---------- .../devil/true_devil/_true_devil.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 4 ++-- code/modules/mob/living/living.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 2 +- code/modules/mob/living/silicon/pai/pai.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 2 +- .../mob/living/simple_animal/simple_animal.dm | 2 +- code/modules/mob/mob.dm | 2 +- .../computers/item/processor.dm | 2 +- 13 files changed, 25 insertions(+), 26 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 19710a89fe..175f3d45ab 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -114,8 +114,9 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s #define TRANSITIONEDGE 7 //Distance from edge to move to another z-level -#define BE_CLOSE 1 //in the case of a silicon, to select if they need to be next to the atom -#define NO_DEXTERY 1 //if other mobs (monkeys, aliens, etc) can use this +#define BE_CLOSE TRUE //in the case of a silicon, to select if they need to be next to the atom +#define NO_DEXTERY TRUE //if other mobs (monkeys, aliens, etc) can use this +#define NO_TK TRUE //used by canUseTopic() //singularity defines diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index eac33c4c91..5d4984b321 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -171,7 +171,7 @@ GLOBAL_LIST_EMPTY(PDAs) overlay.icon_state = "pai_off_overlay" add_overlay(new /mutable_appearance(overlay)) -/obj/item/pda/MouseDrop(obj/over_object, src_location, over_location) +/obj/item/pda/MouseDrop(mob/over, src_location, over_location) var/mob/M = usr if((M == over) && usr.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return attack_self(M) diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index ea2e99d371..b15d686b7b 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -24,15 +24,13 @@ if(ishuman(user)) var/mob/living/carbon/human/H = user - var/userloc = H.loc - //see code/modules/mob/dead/new_player/preferences.dm at approx line 545 for comments! //this is largely copypasted from there. //handle facial hair (if necessary) if(H.gender == MALE) var/new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in GLOB.facial_hair_styles_list - if(userloc != H.loc) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return //no tele-grooming if(new_style) H.facial_hair_style = new_style @@ -41,7 +39,7 @@ //handle normal hair var/new_style = input(user, "Select a hair style", "Grooming") as null|anything in GLOB.hair_styles_list - if(userloc != H.loc) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return //no tele-grooming if(new_style) H.hair_style = new_style @@ -90,9 +88,9 @@ /obj/structure/mirror/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) if(BRUTE) - playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1) + playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1) if(BURN) - playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1) + playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1) /obj/structure/mirror/magic @@ -131,7 +129,7 @@ var/choice = input(user, "Something to change?", "Magical Grooming") as null|anything in list("name", "race", "gender", "hair", "eyes") - if(!Adjacent(user)) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return switch(choice) @@ -140,7 +138,7 @@ if(!newname) return - if(!Adjacent(user)) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return H.real_name = newname H.name = newname @@ -156,7 +154,7 @@ if(!newrace) return - if(!Adjacent(user)) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return H.set_species(newrace, icon_update=0) @@ -186,7 +184,7 @@ if("gender") if(!(H.gender in list("male", "female"))) //blame the patriarchy return - if(!Adjacent(user)) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(H.gender == "male") if(alert(H, "Become a Witch?", "Confirmation", "Yes", "No") == "Yes") @@ -207,7 +205,7 @@ if("hair") var/hairchoice = alert(H, "Hair style or hair color?", "Change Hair", "Style", "Color") - if(!Adjacent(user)) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(hairchoice == "Style") //So you just want to use a mirror then? ..() @@ -225,7 +223,7 @@ if(BODY_ZONE_PRECISE_EYES) var/new_eye_color = input(H, "Choose your eye color", "Eye Color","#"+H.eye_color) as color|null - if(!Adjacent(user)) + if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(new_eye_color) H.eye_color = sanitize_hexcolor(new_eye_color) diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm index 923a224b81..1df81a797b 100644 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm @@ -94,7 +94,7 @@ visible_message("[src] easily breaks out of [p_their()] handcuffs!", \ "With just a thought your handcuffs fall off.") -/mob/living/carbon/true_devil/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE) +/mob/living/carbon/true_devil/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) if(incapacitated()) to_chat(src, "You can't do that right now!") return FALSE diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 55b8891534..96de3b299a 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -753,7 +753,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp update_icon() -/mob/dead/observer/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE) +/mob/dead/observer/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) return IsAdminGhost(usr) /mob/dead/observer/is_literate() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 129e600b00..2206b13460 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -724,12 +724,12 @@ remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, "#000000") cut_overlay(MA) -/mob/living/carbon/human/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE) +/mob/living/carbon/human/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) if(incapacitated() || lying ) to_chat(src, "You can't do that right now!") return FALSE if(!Adjacent(M) && (M.loc != src)) - if((be_close == 0) || (dna.check_mutation(TK) && tkMaxRangeCheck(src, M))) + if((be_close == 0) || (!no_tk && (dna.check_mutation(TK) && tkMaxRangeCheck(src, M)))) return TRUE to_chat(src, "You are too far away!") return FALSE diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 69168caad1..b253e27e8d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -814,7 +814,7 @@ /mob/living/proc/harvest(mob/living/user) //used for extra objects etc. in butchering return -/mob/living/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE) +/mob/living/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) if(incapacitated()) to_chat(src, "You can't do that right now!") return FALSE diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 46576a357f..6d225d3913 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -779,7 +779,7 @@ return TRUE return ..() -/mob/living/silicon/ai/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE) +/mob/living/silicon/ai/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) if(control_disabled || incapacitated()) to_chat(src, "You can't do that right now!") return FALSE diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 896d8674be..7fd861bfeb 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -183,7 +183,7 @@ // See software.dm for Topic() -/mob/living/silicon/pai/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE) +/mob/living/silicon/pai/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) if(be_close && !in_range(M, src)) to_chat(src, "You are too far away!") return FALSE diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 335645b17e..e71e269222 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -910,7 +910,7 @@ if(DISCONNECT) //Tampering with the wires to_chat(connected_ai, "

NOTICE - Remote telemetry lost with [name].
") -/mob/living/silicon/robot/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE) +/mob/living/silicon/robot/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) if(stat || lockcharge || low_power_mode) to_chat(src, "You can't do that right now!") return FALSE diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 2517d2438d..1f81899d8a 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -392,7 +392,7 @@ if(target) return new childspawn(target) -/mob/living/simple_animal/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE) +/mob/living/simple_animal/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) if(incapacitated()) to_chat(src, "You can't do that right now!") return FALSE diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 7ff8fbc0b1..d8177af2ee 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -784,7 +784,7 @@ return 0 //Can the mob use Topic to interact with machines -/mob/proc/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE) +/mob/proc/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) return /mob/proc/faction_check_mob(mob/target, exact_match) diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm index 20ad2214cf..99d648d02b 100644 --- a/code/modules/modular_computers/computers/item/processor.dm +++ b/code/modules/modular_computers/computers/item/processor.dm @@ -44,7 +44,7 @@ return machinery_computer.update_icon() // This thing is not meant to be used on it's own, get topic data from our machinery owner. -//obj/item/modular_computer/processor/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE) +//obj/item/modular_computer/processor/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) // if(!machinery_computer) // return 0 From 8764d781a33ac372a85fa6e37e216c508763fc8c Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 19 Jun 2019 04:28:36 +0200 Subject: [PATCH 43/98] Porting smartfridge improvements. --- .../kitchen_machinery/smartfridge.dm | 113 +++++++++++------- icons/obj/vending.dmi | Bin 99896 -> 100587 bytes 2 files changed, 69 insertions(+), 44 deletions(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index deba080ca2..ee33f16d61 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -15,6 +15,7 @@ var/max_n_of_items = 1500 var/allow_ai_retrieve = FALSE var/list/initial_contents + var/visible_contents = TRUE /obj/machinery/smartfridge/Initialize() . = ..() @@ -37,11 +38,21 @@ update_icon() /obj/machinery/smartfridge/update_icon() - var/startstate = initial(icon_state) if(!stat) - icon_state = startstate + if(visible_contents) + switch(contents.len) + if(0) + icon_state = "[initial(icon_state)]" + if(1 to 25) + icon_state = "[initial(icon_state)]1" + if(26 to 75) + icon_state = "[initial(icon_state)]2" + if(76 to INFINITY) + icon_state = "[initial(icon_state)]3" + else + icon_state = "[initial(icon_state)]" else - icon_state = "[startstate]-off" + icon_state = "[initial(icon_state)]-off" @@ -50,7 +61,11 @@ ********************/ /obj/machinery/smartfridge/attackby(obj/item/O, mob/user, params) - if(default_deconstruction_screwdriver(user, "smartfridge_open", "smartfridge", O)) + if(default_deconstruction_screwdriver(user, icon_state, icon_state, O)) + cut_overlays() + if(panel_open) + add_overlay("[initial(icon_state)]-panel") + updateUsrDialog() return if(default_pry_open(O)) @@ -64,49 +79,53 @@ updateUsrDialog() return - if(!stat) + if(user.a_intent == INTENT_HARM) + return ..() - if(contents.len >= max_n_of_items) - to_chat(user, "\The [src] is full!") - return FALSE - - if(accept_check(O)) - load(O) - user.visible_message("[user] has added \the [O] to \the [src].", "You add \the [O] to \the [src].") - updateUsrDialog() - return TRUE - - if(istype(O, /obj/item/storage/bag)) - var/obj/item/storage/P = O - var/loaded = 0 - for(var/obj/G in P.contents) - if(contents.len >= max_n_of_items) - break - if(accept_check(G)) - load(G) - loaded++ - updateUsrDialog() - - if(loaded) - if(contents.len >= max_n_of_items) - user.visible_message("[user] loads \the [src] with \the [O].", \ - "You fill \the [src] with \the [O].") - else - user.visible_message("[user] loads \the [src] with \the [O].", \ - "You load \the [src] with \the [O].") - if(O.contents.len > 0) - to_chat(user, "Some items are refused.") - return TRUE - else - to_chat(user, "There is nothing in [O] to put in [src]!") - return FALSE - - if(user.a_intent != INTENT_HARM) - to_chat(user, "\The [src] smartly refuses [O].") + if(stat) updateUsrDialog() return FALSE - else - return ..() + + if(contents.len >= max_n_of_items) + to_chat(user, "\The [src] is full!") + return FALSE + + if(accept_check(O)) + load(O) + user.visible_message("[user] has added \the [O] to \the [src].", "You add \the [O] to \the [src].") + updateUsrDialog() + if (visible_contents) + update_icon() + return TRUE + + if(istype(O, /obj/item/storage/bag)) + var/obj/item/storage/P = O + var/loaded = 0 + for(var/obj/G in P.contents) + if(contents.len >= max_n_of_items) + break + if(accept_check(G)) + load(G) + loaded++ + updateUsrDialog() + + if(loaded) + if(contents.len >= max_n_of_items) + user.visible_message("[user] loads \the [src] with \the [O].", \ + "You fill \the [src] with \the [O].") + else + user.visible_message("[user] loads \the [src] with \the [O].", \ + "You load \the [src] with \the [O].") + if(O.contents.len > 0) + to_chat(user, "Some items are refused.") + return TRUE + else + to_chat(user, "There is nothing in [O] to put in [src]!") + return FALSE + + to_chat(user, "\The [src] smartly refuses [O].") + updateUsrDialog() + return FALSE @@ -186,6 +205,8 @@ O.forceMove(drop_location()) adjust_item_drop_location(O) break + if (visible_contents) + update_icon() return TRUE for(var/obj/item/O in src) @@ -195,6 +216,8 @@ O.forceMove(drop_location()) adjust_item_drop_location(O) desired-- + if (visible_contents) + update_icon() return TRUE return FALSE @@ -210,6 +233,7 @@ use_power = IDLE_POWER_USE idle_power_usage = 5 active_power_usage = 200 + visible_contents = FALSE var/drying = FALSE /obj/machinery/smartfridge/drying_rack/Initialize() @@ -414,6 +438,7 @@ name = "disk compartmentalizer" desc = "A machine capable of storing a variety of disks. Denoted by most as the DSU (disk storage unit)." icon_state = "disktoaster" + visible_contents = FALSE pass_flags = PASSTABLE /obj/machinery/smartfridge/disks/accept_check(obj/item/O) diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index e5d474f01dd15734314aa8a53233ef1b8c02fd3c..553336115b62cd46057c5774338849a48d275f44 100644 GIT binary patch literal 100587 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

{CZ>+EvQ%bQFeTX^yl1r?#F^B; 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 aMuxxSur%n_Ov#17AAOyh+C`VF0{;&{88Pqx literal 99896 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�>%>&IBci#7`G;K+6u?w;@>_n*0>8L(@ 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μwO1$2a7@%f|*)d;KKbC|7>nt@|NqJn3oL=TJZ;! z8PW153@|Gvps=*8oA{dXlVzCeqe#$n1=&agR(sMS>MD8B8%)_$P|5&$hJL`PoF_Nj z!oxBL*j{|!FaJCnx;CjU<>7PhGAK7)o*QG^pgzkkqkS143GnYT%trpAzK))_7fTF$ z`dn=Ots-GnwB@G54Y+NqIV?Zgw#qY^59IDPzt^p^+2!Z=V8!1zb~ zI6pJ5x>=h?+e8$O=b3{B%A=8~D@*|jU>C2z77McmdqEIqE_$=R6g*grxoh> zl?N8;icwcK+D(|bEd!rn(=BJZJjH4C5s}A;F~bQ8P4JqFL++>D$+=I+#}Ea4A_~-U zqp(98k?ARjM-q=7-yS$DQ6oA1elDH+%o74W?xvQd%)|K}D7Zlt3UX{l8caWTSck*0BPD zZj9b+pLf{P)`;KQ{E(9aCHVSAmjtjuJo_DfM=28HX(>LWj?ZTW%!wdK>xS*4wzZwJ z4f0h0tn#OtH#s>H`AB>G-*5UZd^lQ>q%x_aJMry>7=GtPt12i^$Y!$TvmDAQGH}$> z)5QV3RCD&hq`LIqP-s}1kFVG&W)8pEF@%>%b6*J28t#N^lfg3m`t{-j)jKsc6{#(g zLZS01ZG{#^>tF`YnHX9$HD06~-y&w+tdLdP4}whkUTN*ZhzQYgHA0gQ$rsDP8QwLl zQWl)juM#K1pIZR=E)8rHAhTN6p)&X2su@E7*;3u)asIVUQ%l*x`On#E1@{dmhUAB8 zljf|fX4Kk&*p0HsO_*YQB_hbhza}bmqm$yzs5?UIPk_JCt)dKPZ zylhu*@A=j=&f%l2AIO$89nVN3zG6J^`w&9WP z@%s7|ll?0isxP@fIM(&`D<4zEjgqeJZoTv89}}lBJv|0CFO+1jn8C}4fvw=cjQWHE z&VObDJkD#mq{eZ3=_kPXiSUpqF;qUOfO3_j!uR)K-a_p6e-#@lOq2pOky~(`$Ofo; z_@r3fm3_PV##LZMM#e!9YT^wr-^tK)@2M7yBpBC3_#hde(c`kR*T&PdoqiMF7vHQo zQ0dgmM+3o2l$Cv8dljDPAsM97sreM+T!OIe(f5=?f8%cMND!a{D(+ogUaM1OjC15Q z>#&mpLjyQ&P+T`HhMuIpd2_U_qvK6=_0L(=ii!&GlosD1J7*xSPsv69~tT zAJ_HqQ2|4H)y^*A_irZw0fDIjGq~?anm;*+1oOS@qY|+0P*XVt-h)$IYxu4vIMeQe z;RI}`w}{P6Kq?5J5C0+FE}iABMjyxrgSlVT$pdu+!N7X<`^v|UktdYCe*M}u58NU! zGA=Y<$}JFJ1LO6vO`#Q@Se;85AT3{A{RBiK@32mlM?ljjAg7s0_xA88T{g3n{yV?9 zgdv7%xC`n_$G26*Ik{$_E%H(qRd5ahO9zm+3Ry3KFMpby&Hb`h$kJJ2x;b=bB8s#I zG6__oB)ut*y66G$2d@)Mo=-=xHp4;O0bd!3`0zoxZ0z)zGt*Jp!JPEajrQ4hxh?yc z*nudblsRAO{=LEg4Ow@8Euu zB9&yXu&mYH(I;a_*Ft63%;|D$&n?44V7+8+hp{Kr<0R|vrnP{+@ zL|>A~j5^BW5S9#IH)l!R5i{MDQ|)fD0{0h)UT2v&*nVTOlhP4Ln+m>fpuT^Xh1lu& z9PNpimW3M(^ed6V+17uLRx2zg5CA)at{OGBv5Dc8G>l&L{#j`8g!EIt6Xqj^I!NDL zS4p!`hsF@r=3yi3R|vTn48~t$^L8jIegjm^0_%~cT=){fB z4>St3g~P%?D_iJ%LZd^FB58{xJ~{5ZEx<} zy?aDPhApgb2aM?Fkln-6L;Jw^`;!^y@6p4gyNVGWq+T*-aB>bk5Y;;GoD3LHu-EZO zdwX#(+78t>T9-K6*uh)xDI32yWBsZtM9#-oy zRLUqI1mp=4knuS^b2~5sjt^nyo;2WYDUn@rW|K6M;PkOj2L9m5Xm$|#2*?Cg%rZdl z1vMEbh3miW2N4Gc$tF61=jRyR(Ln!+G&trzuUTcT%Sxdk8Zlu5H&!p~KOQJ^`L))G z*9_bus^3;QhvV@$@5FU6Wk+UcI&K&kzNLM-|LiVK4p~@Q- zH;OHb)JIcIV~(OfsRYL-u!i~#T$~_7SR&=_{}CI+`IB>}oW;myYG-nN9##!gW*=VX zm%jWe8X);hRVrA(6^i2A02TiE&(pTS)1olUwSaX8O)V9yGVziBKxdb_8}HyKFiSC6 zlOt}-E6S3kbz=MQu6F^?lW%7UI(ePC%0I;+0Z<+6F!C4f%0)oW_bi{fO?E>+Bwytg zLv8I`C%q-)3Avz_@Gl^EW5|mSVoSZ1sB1be$7&Z_bBKYRIPU)>(3lu?NV9ZUis3&? zy%&`TpBvimf*Q>w#ByViL7+;S)k`kUB^@!}X{hq&_U%cc!B{US*yC4649FiSPdf$Z)g} z7z=PfM~r5lHJ57M=Hfb-ksS8X6KzpF5YEAosp7X0rSSKJ?KbPoHVUP6!$#=G7S;$| z$Xp9D&maMvKbp&X4nTqbd<+I)Hs9Y9=qa)c6dK5+A3SPd@{aWPJf-L1_tUX3)d&FL zFY7>X|2|!4PVfKy-y0WF)6!VapQC5?z@OYOM;0RRZ7yp1ejs00bohl4vWfmW0J|?N z{)@4J1|1x$DP-|_T|jK!YK!J2x*Hz~ax!Cps#eBh(eq9*W8_cgY8m4~vO-AO!Gv1d zqMKZ~Gbkm0)fp?~)Bw$4%?;88pzuR+wcrc5yByn&^;ScuxFp)^)@=7dafgqjI(uSDBm8`w$IM13Y7p5Zg&s%Ei0km z=7-&_N`f=?RIdO~t^(&=`*4wO#$})F%zg2XUzazZe@aSB>;P>NyUTQCOv_{$V_xWR zCzz~l5o-a&)dG(L1xGPMCX<{qa+2(uo0B;SMnSX#Nl92=;sF;F^DQ2N{J{E%=}T=L zDzL-_b#D00qW(cn%fROVQy)z@HcTa^!g9R3v!Y+akt2*vx+01gEv7R?YB5uS; zq65i^*8N%l92s)XWc5nTnRu`rdH8ibRyLYI8!u%!T-Ah%bKYt$Sb}RC(T@hv% zq@#Yk9GpJXjtCimzYY3H{>?hKB_~Cyo{qxwm|tK#M&rSNeQCOTxEkJK4nVoEfIv<~ z>46GC90WNsd?T;30PS<^4nt1!ZUDd&;PCP84n%`bun5L<_4I5mw?B@BgUi3u?X%*n zp@h{EfLhoKvwxvPh1!H(nyK>48*bouCh>>*ld7=3B% z?0i1UTmO57ZxmtIxq~PtH_R+>h*VjmZ@e}k`}&@+pEY|`-Xlf*5yRhwV@cxhx_eg& zaMX{nY0r<`I91d{cLev-u)2lFcVL#mL zZ~R8qqW_24VkLvW#t_HbrN*R|w8R$Lf!TFJLGXVec_U}N`_sbW5oc>&l{j#yy|(d0y7O(T(JsR@O&2wh^mZ^yTrDJixGIg z$`nWs4(ySW?>=y`>@k>qF5dJGy!LpN=`8hWHu)7 z#O3oy?tn{S0NX=H0>5^3>0Y`Nj}cz=QojNYW{?v2Zyi2Jati6UV@fadl0lpR;MZ|E zIfL`(SvnHM;);t;g2QlbVWHKf+VNMh%`F%`oCY%I_3NZrrhlBW3o7J?ByuCT<2K{B z$V;y?GnY1qbf`6NQ|UAfQvU5rKmW!A1-5?vBk4jRyQ%r5rN1UTD@W+54e*4DBQ_K{7F*ko#DQ8V_;u-GpSHP?o z#glS!CPOL^s&4?aljV+Ue*|CyJ?e?KtHmaj}1~A=+G~!-b?ZnQl3Mvax9q0LSp%nFrq9%77+pkI)SY z`n))^VCwEJZ4E5NImwKBaJ<|`ccZGoa2bE-i6##foSFr=?0T6wpf8Pdg zM~^%~9>;>5+sqwI$SEl3URE_VH6`A{hy%2%_SI~)>>vbIg2Ad8K)l z#o;TYXDcu1i%$YP@}pikN2f>?0?9MYFrCqMls!BPg$gSu*F!IIHipO%>!3x)^mIf!S^-nzt6 zSi_-7g-4Y!?aUsCb<R6AwUTMwqDguUW3fCcr}IP#eTJwbQIn zbK>e)1wMk?_R}l~g^~1!Rq6f{P`IF+0%-|uDC9PSQy0lTdMx7)XJpp)Suo)N0|NuM zDy-W`V7r4TH5?GT7Gx?tx&5y=4hjQ3HvfFY-fE4C>jAy-1UJM3bZu(@3yW6<3A_om zSUvjI;iH?jIG;zz6LUdL4^Yi_7$(8B)&%tnhdv5}-p;^r&u4#QTR`up!akYS!=>c_v$vK$0Y&a>3+Og0lN?Cj+I*5MO_k>7v($k6mJ z4FIj)V=~me-<*J>Ao{wXqf{8(-20D5vylf!s3FqLbXKRUi-%;_g~-_2C;AW1Q#kM9 zfGp?)>EjWkO`SIIR4ZFBe*OqRjNk#j))4V5%Kn|ZLH$)T)ZcCF0-lG) z<`WiF{z`;QH3vl|sm`=_A*%J>15tW-kPCx3#>Ua%aVjfw2%!f62u1Lg zQKJYV(ZV-81KCrO?|HAUY8C+9;jQjYWaIITs5FEeXqa`CBrNY@2BdBMw^4s#Z2{%{ z8p({>MR0vg|N5C;MsLz;P0{FDD|dp1<}o+|q-#L40B{BYFumm(J_-X^o*PX4G>Bz} z)J{79mZV)^qjoAj}J--o+lpZ~?Jc?97)01hR`=n3GLBY>+`z}kgxOb8bG-D93x zSpFB)x}cttsL$XZ|KjQw6wt`czCw$dw zZC1$DkIKbiwcVbbEq4r+v4TEnl-}+%g{&w)V9CqMHPQYbIL;+rMbKoi4u%LBo%49g2cC2u)Wh}hO~1* z$I$)iO(n!(-rtcSpeM`qEMuiR#_RcC79D3y4z^}yp?pk^zl(|f5yQG`& z5^11-*>2oW8a+8hp#ok$#JW0N4*+oXTTh`%1$wB^rohdN0NB5Pv9r+6P+De=yENM( zNX9gKgEpo~BOWgd#-SLEnVAwKB6&D-7&&%~`|i9Iludo0%+0aSO1{Ln_~_D`aZ95Z z;ZjxxE}gljw#}B$e;(bw_{NNUwISt-k-Pwx`Nx=)Dh7QP8;&EoJRCxs5uwx!ZJElK z6y?enBbAz@(9KaRCx7Y9NnDD?W)|+X&lCT^b@R|Oj$~%N=m_8NfNd+-_QgjWEeI{Y zaEFLbZfXrt7(RXmNR6p{#6$PZY@Hkc5HbECPcWjGvg#2ppEsz@x^BvlZF)3DeD~Wl z?fa~#chK(nHW=r4rYbKY`)ovJVv@J(;q~nTm0FKEucp_H3Q_LY2k^>GI=-wmAGkV) z^1dg-+bBJjTPvhrRWbRC0Uy(EnxUhK=T%Og+0T^i!DtxI29bLfrQ6igw5L5tCVBMo z?_>g66D^W{Sw_;SEug`5kyR^xTlpIK&7ri+$AsE+UKK|fXsVwm-4?&D)A4nJ5V}j= zCdg&7%;s;TtQLJV?R<`TZjtO@hMt-$r0>-IT|KPDSDNubu4}5cu{KgnL z{KF$eHW+`s=H=PhkCgAi-|0y^Ze{en6j&4MkfY$0PlXHBr*L)g^{b?f-R0FCjs0yt za#pwc-x)_I60*MdKYTa^&>)>>--O9bCv5l(e^l#Ozy(H3aKGBsJbPB@?pJ}q!ND9r z-O_pauCB0l$M6w1Lto!B;z56o^pfAq3b+5@zm_`oJS`EVQr^8It_4r@^+5oifri&( zC+JPfqF%$Glnyg+1N!09>`>q2WMZAq!W+QtU_&;!O6z_f1_x{|D4(Rq5{imZ^HwtY zXOTZvN}fG&KA9cNaDAZEVao{X(*=gDbMiAXp!`qOb+Q`*jB)<%f@vc&)YZELLC-A> zZ?Aqnls{n;-snqFIpId2WlvI81jnLY@=er?S8Pc{VR7Zfl+ zrWCr}wLjDxaCzD5bGN@fKM{)>Iz#n->q)2HcMX7?*Urw4ez%9ErO@HS?_OAa?dehW zU$cFlnu?!O1E4cCwf~a5zgD0PKhS%2vm7@`sg6dR2DU=;Qwg+kbE(ajR*tfzTd^pY zQNibyLDZ5fTf*~J`1uxJm2zO!#z$UNd{i7@|;0Tn$q(48#d~sFmXQf2T%wF)fGw> z=TpoP4EG~X4#L?>NWpjSoVYTG&0R24)QqS4*=u$lLVPo|_xm~(Fwp&HJ)DGixvL|R zPTmjS{KNLsOTGDeiIl7?+upr<>!goGTSpCZUG!(ODMMJUt*t?jW2N^!hqS|5NL}i& zjxu@Rs0$bNfrQ3>QPB?miLa*f?;@?EtS(>f85&x+!nE&H z4xFwpl}RkUR9nhike1L6cTCEW!f;pHPtU;0FusL9)$&2php&lXQmFB1-7Qhm62;|4 zYb}EVUq-SnK#jw}AL`^~^{u1g;C9E&$hnU(O@Y zMoRaj7~SjM!57MmZW`}ci>T#E{<5QH{#c%<{LS8iX04~P?N|?8tc$drX2xwlN~3`_ zG5gPGkZnxXtgW=lXkwutZ>VD-l_oVJ$@#dC#u~;Zvhd;0O;=Y4^6>B=uB9nCCO>)d zC3O-|ag%G9xn%A7LI4?a2Bel+laL#SL$}8RL1^dhN9OoM1dL%T46nnfHh?gwN1SBI zzy16Bi`)#v-e4ja+lvT95(xh?LkGmfcJ73Q=}I3y9KtEOL-2m5;C?nIYgv0fT&t8|KfUR6C zVd?yB&X%s0kxN_~h~pe`kS;0DiI?v%iHD1TDc}cm!lPF2UgzdEf9M+p3tq{wLUVKP zsf;ewj4pR~cg_!r$rooCIWy8?9B9UxWtNU;VPT>B?b~cngO1NHozQJ3OXF|u1Z<|Z zFfh9d&wdpZDFgDRcG%(6)YM3TQ^67tRiL@Z=vt9Ty=ps5E$!&^>`iLDLXm(x7SS}# zkp)3@B_!=nsAWNcqKr2Mh@-(fo`E(lz5KDje6EkF)w+1bw&ck31tHGYQ_Xt&FahH{ zuL{xrA2;OM0KT5o)BZ0>fwx9^4NWBiFLl%}{#BiYICp_99G##Ah=k;IhI^_wwQ zY{;$BY$nL$u}H)oVPysZcBs-v5>S61GqJEssjH{?oV?M-GeuZl1R2E{>&dDr&9R{Q zOr}jm1Izz7j8|{mIE?3b1$w8Qb+s@a!L_?C@R9Rc#>oprmboOeh2Q-yyhzK1DKyxG zr?|$U@N&iL5d`gUxuZKGSv_5fcY=5NU#DlwHhI;YRNwF2^*amM7@v0Y+H->$nA~5R zd*1X;lO@l<2gLpBmYbg*wYslX1=zrOMfztV-oHO$WNiGVuyAj>3ZiYUGd(3Otu1|Y zWQ3?5P6V^WAUr~r!E+sWaP}0`G6qzPVP0Tg1L=mZwR+z(wbN}QJ3Bk~iegNMOg#s% zy#suV!y!Kv8^b#T#UvqMm^!@AB?E0C_$q5roZ?)+iw(8E6V0wmEhl5n;N09U*7nO# z$LQAjRI{FD%+0$3h?_s&oO6oM>eI0Jqw-@rqe$`HUUwGM&y8wKO=Y0>y=Qb8duqFV7+-sw zK*}0Cki?X{i2{0U0!q}&Uj$og882P?jDs5U&!n=q8{Yz9pUAt=r(839y^uHhqo#DK%GK$HlE~4kB{Fgy3+v z3(G*|Lg<*?>jK6aALiMAY_Y4O!w(2mHeh&iThZ)=Nf(g!1g{Vk#=sc_j73fvXC=dV((QS?W zNZDkBHtKq)FvA5Y-F%klz5m#79OHZlt*!IYj(XdzZ=l!3avqm-2cyijTDAc$xvlkt zFRnKXIsFnT`jHLlPhP)!7lqybrhG!uh|J_NHBHkzKo)q{e89I7>`NQMf`VLNje5ds zJH?vskxIdqnp0B3%Qzm=Vs0%~ipe2SJtSht4YCm^o)I`~^7!sf(AeT>DLtev1(!`{ zhEx}R)7hcQFx2KoK?G%F$H`69HhdpD%)A{Oz;eC=kN|p_wQwD-pQB&rjXr zvs|g`?d^?-L}QT2>~*Y= z`j96h&9$)JpIu%gG*B}V9`=ZF4JjVIYs8QS9ibzGv$sK_ z;L!X8fC7v1S-&`>D(1`cx0yt8GQgstfnePo0T8CqT~>bOS#T2aN^ZmLJI^*;uu_j>GL-mY-4M2 z9Bm2BacYPU!KJgXgY>Xy`oryml*W8IVPcF8>Z>?FGHy{3FXfU;2>6E$ivQ-w3>s=M zDM?03Cr&JrSCBU*ELow-(I{8SgKIdn(8gP;Jmx-q22;HUP5ZX}s^$*`UvpcvUGkTN z6Q^WS+nu2W9t8qhYr*_069=JA~ z(?=5qcz-;|<)thpSHPq?cs5`37_yhg{MktNbKV)I##_VuD;0Qi5LKL9#dt2Zz5Ovm z{G7jzdfy6&YkCx8ev_o1Hw9?1Rsm42Gb#xfgB<4mCslikz7A)-@UhL)b)QZ$*(lag zcJ-zwH{u_aW1v?iGm4@w@HJtG5fm_OOAMemuQd-&I(%aOX0usm^P9TWxKc5(^Cc+T z2MClM!Qrgem&!vc0{7IN1UuM~fYz9^EvXH*F4F~kP?8E`j!7hDVH}{{y z<>(K$Y?HxpySG)l*nRQ5z^v`mi$Tk%P|6oSfrReyy8{HZj}In}GZjO(Jx5+mZv8<$bvaBgi?nf)dt3VA@sR81)lc*ki^;F=T@I2|wu^4~czeQTO)zMM%875M*P z*N6{Q4+!V@#XYYR8_X2L8c^2A?JG|ZHyDQ{*yc>J-`j>sX2&un7|z)zr}TvSd)h=v zlyikdxwax?BqoiVdJct#XQiU^k=gR$7M19gFdH5)g<&D z=&J0Uw1tILGyBeOv+isXSo9g_+AHx(@y}y2ZGi-MaKIc#IO477A>`Co%jaen8h{eg z4BnjWF~#5y0yNGaPxuV+-fx?03;Cnh!L-sj314&=_TkD>sXNm5Rsdew753 z$P~idQi;pXPaIY9f-mVh5gcLrtIjC=TXD$}KoX7o#K9LtW z0W%_(-!vrbo4x7e7u@~iU|>ul0{HpC#yijS=TURW{trO_gq!SLjMlJ0&2Nyl3#&t` z2L*k@dq)w;h)2Lsbe#8!9sL(V?${pEMN#;Ih6B6`Vk!dt_@Q%$k3RKa&rfWPcJT@fz+Slxe-``Kf148(1{613S)X_xNCM`_h;XP2;C*ZB z8R!e+>=1p(kd#|rpMe?p^$WMr0~}f{y5ct3nyEYN&!wjgTUv44BgZ{V;X0J>{R>_z z*um&N!EgugivK}~qXpM;Tj5|Ec|R2K&-z=%hW{Ttl#~JRaKTq50;Y7Z3!&A2UsT%` zXvRrmijadcLtO#|QJ}IeTCX=MKAS38TEw}w6JW2A%%(efKpD*FKK%o_Czyi{1K(Ql z0a#p<%fJ~-$1Hx`7I`v+vE>V;g<{v#v`Ej+%%d_D8b9Ij)_!j_gJ|3gqybGP^iN!) zI-+0q`0alPntlLa`u`gVN@QX-w-t@e=_B_}`c^dbEt;u-_>ZIFEA4j-%K*U#qwAsR zZ>C{#2ZKFNB{R+XRPm}ZVJ1SDkKbb9O;z82SbksffMF=5hGgM=Fk(YdN{YsoWh<(H z40@K)>Sb&>-TB^6=M#H8{43FI`4Z1#vG#1Z7T)BOgL>QI=tag63inxV+gVqJIbscc zFnkLX^j)^+yw7^N3YzYmS>)C~3f8Bpjsb}UQ7bJZf?;ugqJU}UuVI8v7GDh4?7}|@ zR<9cV0bV2n{^|b<|Af2nlA269P+5I{EQQ0TrAC7uk)R^cW@vSG=E}@Jw{l~rX9mad zGi?r0k5Nox+Ytd)Z0fEQeM`PS&sVcI*t$gh@IxT5>_>)V)(K z&-i9C3mk!T8yKtKwwj#X$%N7mRq7oF5B|S z=?mh-I$)R~(8tb+us0Ip>3 zy}-6i2`FpVM{xxEsAwUbD4!-&#CX_-?^ZOJoW*dLZRIP8MrwujYY&%y8%W={8Y8BF z9NaB(v)R09^`?U+2R54hzSB>~aS5CiHbyQWKq)hR>Y(C4=%cHrn812Dh#Y90x#OtF z&XchIoOOB5mL-#}1|*EhwBI0{lSP8vVr4F1?<~NCA4i9SDDD3P>uFV%!bu>)q2;tw z(f|jc1L+Y20^y^gq*R`smNv4yw4_t{RN-r=T%v7I(AqK+7;>#W4+V7tnQkD$qMMHG zFSUKQK2(XQ%xu>S`6pN(h~ST5X-Qxo23Kxzr#4&X$@iwOU{?S( zK2rF&4NOY07g9dk$J(FbKn4?@EHcrG^-CXh=-t?^a8ByH-9};W{yLB94+}@fDY7vD zl;|6OHhm->oD0_gK-F|aED{eq+#3+%|B_uEgx9WpIC(Ky(qSE1G63N&q*jQqkaAiB z1B@>JpfPL-i5Us$Q#=cRHJ15M9~!Es&}k#$x2CROKjZS0T)^ZmRp!VyJqwKV&D{G? zws{Ya5Ju8{oc8rvhc7tPO_Clr0+eJ|dip@MJtF|gw6Omm<{)kPoy=rip%^f!sn>F6yBFGjy;5*6#>4QvTK*gozK&d+V9>@6!{OnG(_SkMOJl6-~j$-T|2Xg z+a4ixE3Qh}uobVeM|iuvcPRhVa5_2;t(Y@2*pGG*;>>MDRL(1gR((#BuN6G}_Iyu3 zUlh!CAjdmtU6a+Y6*03m#xp-E-N}b=HAMr9g7@Ty zU;oepLIcsL336fGXmj`*zxsjB{0Ap5Gkglgj}TlB!@sP7VTSA;%e#6y`;8^heBdu@pY0ve`4^XsN?|6 zOhYf3{Y%MR+UFhLVDFZ7$#sx4{WE|m5&?>4L-QygOuar=qF?&$BbUj!dQ801M&M}V*aW*OFf8qeXR7E4m~?y!tsM!#~MA?-SyZ` zhf1HyOW7Z0_hK=wfkiog0djAQHwtJ&rqJ~Ho^q)|I@QF95+6F!VoPnOVsy2Sl-?nk zLsRi+XtNL<+@WNG@7TkgN29KTsAR_XmtlLnm|aRf)*1`#M7Gm|=#Q$ZLvpbbgfgci zZ2%>MzD2fM&cmskBS1V^MB|^U^X0s&{*(Nyy@B2Y&6LzEy*rI0V=(+Fpe)O2T}$5IHlDOoNM?)NFVd^kp=`ni=l-&aTgRijHB^?`V$8F zbAMj)+i^|3OQ~T_UL}ke$DDA2b(ZE=eoonrhs#??o_R36#w6pzHB=yt(>z5HE(7E1 zRa{rtf&7i7@d7)!gY2yfy#7v(Tn*D^WR=(BP5jA#sU5$;@!+*Z_^9$#km?C0&72jDI9ZH!_`E5~;|6UJ$|A_Rl7(H-`?#FlVTSpsV3cnt<*@4bm zbCbmk&`R7^*r4a)C>9&LywkyjUScQD%K=r|M%NR~*UMef4^0clFKk6qnx^vCvm01% zGwYmEkD`l2v>@q zVcvuU_yp*aOj1H~1l4BjP6pR);eCWil)D!X{bMU9A-I{q9h)yUYV{ znouv!vY2G6j4B$eP|QZDyC8jfc2qXHQ3l$39#TGD1LV^CC7zB z9X6Q>G)P9`Kb(Fb7IpT<;&lE)5D9}p99xcl3-=Y-+vTObO?lu8!_Uy-hg(##vK|^_ zh1!klT&=u8C|$aSPzWzV`Yg=B$FIZ<#Y}li{u8OO8qEN4+8^v)Ql4D;n(F*vZO?|l ztpr|-olzyc={KU9a{AL%nz(m$*F#6|R9fHA2}ie|L?$izqH&K+_}o`;?E)5$n)RcN zZF0->xZ_ay{`|_=nH>bFd z8c6NL*bm5lnU`K2;nA}teo=AR-6#?tkXNu2*ZLJ_ z*zTB_#nOGQWLePkb#F8M!lGO#rLr_mp~)nU-iTC;YHM3XKe&o9yXIsxRN+9T8k8Y? zj(tY0{M)GLP|10MAMK+JEha&vC?28YKvGIHQ(5Moa(JxP#8WVXZ@gaa&d4~>^h*dB zGooSQ!q!<&IxzkFqbpnkO8PL2!vaNEYaRo#Sdv=5zG+9uCnel93wIi1nMUhxtSJ_< ziYd{W2(j+9zF%)iL5|+FJwJ{Vn|yI6aPXV8Nyip7-ojyA;4^*_1rVY*yQ#eQLk+P% zr+OlV`uQ7%O{l?(t$@?<{u8e%V&wh-;k5EdFcj_NFLB$SQh^1ivOEyYL@3-@(aw-XQO6Wn{VgqDIE|&{eU54YSyy z)vhpzoLqxjb5NxRkW9<-CmNW{XNTLP4^!j>2T70#;=*nQ7m z{(Nl)CN!(DaL1Nc$SLB-2z_fZJ-9xAFs9d7*H| zUIw^2I-=?hluu}3?S*z3S#77C&kdHlzzDrfaC@RVcBqCqzZ~U5Hn%&mn$Gwd8ttwz zv~z_`=EisKSR8*Wgt812KHKMcLfe|57*bF1;KdD+h&OJJO%jcq7sbT0zmn-S0lWg^ zGF1p5v!6uR3VL5iR=)M#BtWe%I?x?bWwv_VKIR zbj)M>ir=e5Eefpm%cL3W9m&IeIrMjl({ct0^WHv1&s=&5p1Aah6_I2~OAsGTVE7k$(gUUha(r5Q_OkMK zu!C3p&_cdF#QF_?K*N%IuL!2qBclKKTJQHK*EF)DpB^!1nW6dpF}FxX^wQ}xu&x0* zL=Z~zZ1pxp3!W}9oC-fIs^&_#m6esB*CW9n`5C@tNy3ev)-g}$4}rtbh1Ztg2ItU$ zo<5N^dMHC`lc_?>o7b(sNdn~M9(AKe$WDrHD#3;7kuwRR zjP0lV{b`#2x$xXdFN4eH&KdEAkBv3pmSG`!gR{CR@KaRai@ieDIOfae%xrTgC1JLs zFfjcw_uv)y8<&}>*}<1HiO8~c2^0%HbAce|0Ad|)RL9e6 z2%Yz=(CYj$o#Tg_(_GI3l97usvDQKqKFf#~6T}F)N=H!eODJm;(U1ehL0ZHe3%L9wQw;u^1>lt^}fP7+%uVH`Y z|Mg^m>vGMN+hMl!$rlj5oY#uZ%&i3k&-(d@% zI!wx?p|huAU+L6cu6U+W>z!LUF{u9Ul&t1xGF=E#a_&#GhP_;Gq9%P03~tC@vaEMb z%?<8(X@*fL+xqw2Bd?Dz9z7_ZVfk^y@0(}t#dQp3d)cD;4*l@DH5rd`)%z7XXKe@w z)w`2}TYUkk#D$3#yrip~@UFJ*PxRau8WkZs9}yzIL;Vf8V6!kT*0Ct$kDsID*?sKr zzozjpB)dIRQ0|ph5FaLJO08~n&CGS|j^adv ziYonKY{!wXb&D0m_SpKu!U6;_s0j4oxiR`myN`A~LW#0Q-C6S##mN5(UAG8vbCai$ z@s%^e^ffLZ2AT3Y>-OI^OWUmmDb8Nv%7v;dx_C5jLH320fF4xEPxShluJldNwuPHHn$^#Of6_vybQ-z%2w zBsHrOH(yMe)uB<=Vh`1E^DI~~jazNXQ(QLg1wd7}icwH{*FAX8-+xu%*gD;xM18J$ zTvRE2B+SD8(*aqab`P$?{8A!lNSKkNi#(H@;8j)GeY?^7Tm>ei1a|txB}WJfw0VAC za#CCIJQR)%poqfHOGe+ugqZ)(2+AYu?<>OalDF~TmSrVK3QS@h%$ru)nMqL*67X1Z zJF@91fzdt~y4u7E5l1IzCM=VGbM9C6mxOG4qs4wooc7w@E}&Y;TW(cLdRLKkOZ*ov zlPN{YUWreGOMp5idG3Y!?U!jjK!cZYTlWHCm_rln6GmVoLEe+^k>1%8h>@S|_}g&S zH{!;kPqSjhcc_d6_3lUL7yCJOmnQi98HwF{!@+kk#Sa?J!Y)xHHcb9*aw~w0wEO%6 zPQ@ck;5u-|4_~~JxYW3Iez03{=Uuzfj{SrFBlb_ae4560N;~N AM*si- From 98367a8b004cc5a1e00f28d484701f816fb19912 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 19 Jun 2019 04:44:59 +0200 Subject: [PATCH 44/98] more. --- .../kitchen_machinery/smartfridge.dm | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index ee33f16d61..23bff72c62 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -61,6 +61,9 @@ ********************/ /obj/machinery/smartfridge/attackby(obj/item/O, mob/user, params) + if(user.a_intent == INTENT_HARM) + return ..() + if(default_deconstruction_screwdriver(user, icon_state, icon_state, O)) cut_overlays() if(panel_open) @@ -79,9 +82,6 @@ updateUsrDialog() return - if(user.a_intent == INTENT_HARM) - return ..() - if(stat) updateUsrDialog() return FALSE @@ -110,12 +110,8 @@ updateUsrDialog() if(loaded) - if(contents.len >= max_n_of_items) - user.visible_message("[user] loads \the [src] with \the [O].", \ - "You fill \the [src] with \the [O].") - else - user.visible_message("[user] loads \the [src] with \the [O].", \ - "You load \the [src] with \the [O].") + user.visible_message("[user] loads \the [src] with \the [O].", \ + "You [contents.len >= max_n_of_items ? "fill", "load"] \the [src] with \the [O].") if(O.contents.len > 0) to_chat(user, "Some items are refused.") return TRUE From 8a302552f21c9f1e54e66e3e44ddd653af120f1a Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 19 Jun 2019 06:22:19 +0200 Subject: [PATCH 45/98] Ouch really. --- code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 23bff72c62..483055cb0d 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -111,7 +111,7 @@ if(loaded) user.visible_message("[user] loads \the [src] with \the [O].", \ - "You [contents.len >= max_n_of_items ? "fill", "load"] \the [src] with \the [O].") + "You [contents.len >= max_n_of_items ? "fill" : "load"] \the [src] with \the [O].") if(O.contents.len > 0) to_chat(user, "Some items are refused.") return TRUE From 44a9fe95211aff30b997a72cce363d4ac1be5d2c Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 19 Jun 2019 13:38:59 +0200 Subject: [PATCH 46/98] Fixes "Penlights Cannot Give Eye Exams" --- code/game/objects/items/devices/flashlight.dm | 18 +++++++++-- .../game/objects/items/devices/flashlight.dm | 31 ------------------- tgstation.dme | 1 - 3 files changed, 15 insertions(+), 35 deletions(-) delete mode 100644 modular_citadel/code/game/objects/items/devices/flashlight.dm diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 40f2059d25..d8b539ac27 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -13,7 +13,8 @@ actions_types = list(/datum/action/item_action/toggle_light) var/on = FALSE var/brightness_on = 4 //range of light when on - var/flashlight_power = 1 //strength of the light when on + var/flashlight_power = 0.8 //strength of the light when on + light_color = "#FFCC66" /obj/item/flashlight/Initialize() . = ..() @@ -63,7 +64,7 @@ to_chat(user, "[M] doesn't have a head!") return - if(flashlight_power < 1) + if(flashlight_power < 0.3) to_chat(user, "\The [src] isn't bright enough to see anything! ") return @@ -168,6 +169,8 @@ item_state = "" flags_1 = CONDUCT_1 brightness_on = 2 + light_color = "#FFDDCC" + flashlight_power = 0.3 var/holo_cooldown = 0 /obj/item/flashlight/pen/afterattack(atom/target, mob/user, proximity_flag) @@ -204,6 +207,8 @@ righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' force = 9 // Not as good as a stun baton. brightness_on = 5 // A little better than the standard flashlight. + light_color = "#CDDDFF" + flashlight_power = 0.9 hitsound = 'sound/weapons/genhit1.ogg' // the desk lamps are a bit special @@ -216,6 +221,7 @@ righthand_file = 'icons/mob/inhands/items_righthand.dmi' force = 10 brightness_on = 5 + light_color = "#FFDDBB" w_class = WEIGHT_CLASS_BULKY flags_1 = CONDUCT_1 materials = list() @@ -252,6 +258,7 @@ desc = "A red Nanotrasen issued flare. There are instructions on the side, it reads 'pull cord, make light'." w_class = WEIGHT_CLASS_SMALL brightness_on = 7 // Pretty bright. + light_color = "#FA421A" icon_state = "flare" item_state = "flare" actions_types = list() @@ -325,6 +332,7 @@ desc = "A torch fashioned from some leaves and a log." w_class = WEIGHT_CLASS_BULKY brightness_on = 4 + light_color = "#FAA44B" icon_state = "torch" item_state = "torch" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' @@ -341,6 +349,8 @@ righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi' desc = "A mining lantern." brightness_on = 6 // luminosity when on + light_color = "#FFAA44" + flashlight_power = 0.75 /obj/item/flashlight/slime @@ -354,6 +364,8 @@ slot_flags = ITEM_SLOT_BELT materials = list() brightness_on = 6 //luminosity when on + light_color = "#FFEEAA" + flashlight_power = 0.6 /obj/item/flashlight/emp var/emp_max_charges = 4 @@ -517,6 +529,7 @@ icon_state = null light_color = null brightness_on = 0 + flashlight_power = 1 light_range = 0 light_power = 10 alpha = 0 @@ -538,7 +551,6 @@ name = "eyelight" desc = "This shouldn't exist outside of someone's head, how are you seeing this?" brightness_on = 15 - flashlight_power = 1 flags_1 = CONDUCT_1 item_flags = DROPDEL actions_types = list() diff --git a/modular_citadel/code/game/objects/items/devices/flashlight.dm b/modular_citadel/code/game/objects/items/devices/flashlight.dm deleted file mode 100644 index 3a373c9277..0000000000 --- a/modular_citadel/code/game/objects/items/devices/flashlight.dm +++ /dev/null @@ -1,31 +0,0 @@ -/obj/item/flashlight - light_color = "#FFCC66" - flashlight_power = 0.8 - -/obj/item/flashlight/pen - light_color = "#FFDDCC" - flashlight_power = 0.3 - -/obj/item/flashlight/seclite - light_color = "#CDDDFF" - flashlight_power = 0.9 - -/obj/item/flashlight/lamp - light_color = "#FFDDBB" - flashlight_power = 0.8 - -/obj/item/flashlight/flare - light_color = "#FA421A" - flashlight_power = 0.8 - -/obj/item/flashlight/flare/torch - light_color = "#FAA44B" - flashlight_power = 0.8 - -/obj/item/flashlight/lantern - light_color = "#FFAA44" - flashlight_power = 0.75 - -/obj/item/flashlight/slime - light_color = "#FFEEAA" - flashlight_power = 0.6 diff --git a/tgstation.dme b/tgstation.dme index 37df11d40c..65295c3773 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2879,7 +2879,6 @@ #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\flashlight.dm" #include "modular_citadel\code\game\objects\items\devices\PDA\PDA.dm" #include "modular_citadel\code\game\objects\items\devices\radio\encryptionkey.dm" #include "modular_citadel\code\game\objects\items\devices\radio\headset.dm" From e8fde8e6fce6205a439c3d07ca35c4e0a8c94bb6 Mon Sep 17 00:00:00 2001 From: Sishen Date: Wed, 19 Jun 2019 12:08:47 -0400 Subject: [PATCH 47/98] Update neck.dmi --- icons/mob/neck.dmi | Bin 39323 -> 39382 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/neck.dmi b/icons/mob/neck.dmi index 3c126daba69325c2a95c9542ccc9cf64ee3a96b6..3463065bc71a576d3f42ae0adcde615f1a6bf57f 100644 GIT binary patch literal 39382 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�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 Uw>{Xti-AG!#%&#(mP6=&0QP2o5C8xG literal 39323 zcmcG#RX`j~wf#B{A!QCOayC*mdgTnxG zoA29upZ#zi&i`;9rl+d9YW3>nYgKi)sx48BE@#@J(Isvcdt8NIY&`hSU$~520F{9NjqBe@Y3xSGJiEdMsI(gih&sC2hjv zZh8i3pHW|8%D^P47+z(QSml)6{4V(x>=M7>H08)k^b(zNKzUy-7q^TGKcoejw_Tnx z^5@tJyV-fm;=QyG2ZwjfERx#Kv#drds#wQyQ;izAUTs{#`rR+81=f~?m~R)7-eYNg zcKdwkRqe{?Q@q!?o45U3uZr-;N43GWdIjE+)C5VjjCdJh-GsVXQw*uqw2)*U__4!cY@uw6gGltQ$ zjNN2pnjm~hblU&qG8vA4fc&&1zoz*i#GQRuhtorhBYlt78qWoi(@zH%?x=1ZZS!N8Y%G5upcNDwKfAyqcUNXy*$k}2Q`?Y~s8 z59omeH79lyJhb$Vspq0v1VrLNu~{Myu2rIwTl1>B&)F`R(53X9eIEO?x*5sE23T0; zxnT+e?GX~sKjuiKgJ^@K1r6}6zJb#tAy}(Kt(m^i54G$*AWJchCF;0HL2-bpWKnoX z!B+fC36dY~xp%!Q7?}OgX(fcN+jh04yr7#LWW>{W$4-*y7}*YuFJ7f_CzW>oXWaOY zSoi-lIToLU&yK0ZSe5MjYi7q^D=b3amB#GmKQ!Zk1GCmJq`y=60V(0!Xv+=u=3q9x z&V*O$LE^)|YJ46%<_g}CW0UhLq5o1kq`0~EuyNx5`#m{%=*UGVnnK_OvQEK|lhqck z_@N+g*cFCwaU%b?W=i)`5|K87Bp^<1cvny%0Xs^M-L6b}~|zz=hNJi-ophAnc;! zDv>vjXR!n2HFaG(qe9%iqAMIs--_!XxgSO%B{~A$j%!n~={5R2qmz|qT;sJ}60h7s z!&f;woUb%*-P?kCUL6(7x!J6@>w9$VFV+@n+(TC`1|`}dz>V;pP&~yZOMT?AOfhOY z*{Dt}LvNz*+rEDWpLOYmT&ow! z{yJzQxg_-sfFNE3d)%;WK$r$^fMC)d*8{OR zXjFzVY=rEMvQZ=mAlk(ffNQlE7tVx4L=u%_F_i#s_xJY)$H(VI@G_8MD&@ctuFF%? z(+D*5%eLAe;&g0&7Eqg@So@cabvZ^Pp1!-?E~gFX<(?$ePS?5Srq*D2G&G4VF|+rS zmf+NMjrU?tkV0(7_Iz*9ViAE95Wjd=5x09P{ZP~8v2Tr{)`ZbiLiz4s*^JQZdHKk9 zD5^-Ow1uifzyl_&Z-x!M+OAO`(m^II`#1C7DzDo&`dpc=eCrqdC1@`WJ!X<3HPi9( zp_gmm(iMH0wt7!Mo^2*@=DW;Xjo|*&BFgRSUiw*zxO~`eP5IWjNj*E(qp&&vb9~>V ziY=kP+<-R1K-d1bBec5J(DVWql=m<((Wn99@yl@XIUqP7FycSPYTFaoEfn<_heL^# zVUp|~W4FaIYv;bL!PD&%Dc9jzmECd`F6itCL`ew*g zc%j*Q5KjYv56!5fA@_joRiVI1AB_n0!iNUnDqGFt}=x;=1oUO7<9y7k8nzWA#1#l}`sLcvvMw@JH3NeOOQg2H=PC zsGg*B{_5EO0nKN|yW6ob;=)@pJ`003DAq&owOBayIopOwQ@uSei30GPA`xU+z+7?* zY<)1=7G85LY>EV?Q_}ncY0E2V@Yuz|{|Z?ApZd7}c!j()Irp7rVu~Zz{}|1QJ>9QE z5*cVQrSn&4zh$h|?OHQdQ|G$PU;7Tv5;Hv}kXOzhlbi~>>9y61sj_((McqdIwQpKd z&JZ5*5^z8JG zP@)QV+L5lJz#q5xr?$qo7DySJ>tepQ6YE)p{<^7UYMj9>bkbz@Suxr=AGii*?iR{; z`MM8o7xZQJ%^Th;)-LE-^^Yozd*gxFont;1(?Mi6lMbuazu=7A!i*Hh6WR@|AE;og z^BX#c*KSAh`3C~66C#Pw{|)P;K`-zU{-Alj?Q5@tRj}KBy>l3>iH|(G9TFJNs8SP6 zDRkGWQt7<`k#;?pdF6aCqfkqMXxl;s{VR|r`1P$$zwex2y|5_wV7KkQDeG3$4elLM zZ~L(B`zY)%K)G~+m(g>3UN?L*juU39+MLtIO^xe`0@_$Y=rMY$bba$XX<6|+a8$z4 z%bmgyN_mAjx&<2seAaN*WW$@bYY`Adsl(Ry+~**U0(*Ps$jCEb1$C)|6|o`JfY!ZY z^xOZQ4{*lZ1LA2PfY*$Si z3mgcx%aYAFa1jxbO&(^1=!Xg?O~vgP$R?%`ntk1%3CBzElfJ3qHuvZ6Ec(>o_~nV!9Gy z=ML$h;Q*0jxT|J%4=h(1m-K4f(*(+{|E{3qzy>%KO)+vw5-@ev%aR1>2`qDn4hmt9 z?lDM#a3c2yo1m9?X1*qQ=eUqrtKV=_(CZ9}y$YOjEL?FDA)jvGV-sNRla%L0z6?=j zT=SgPsgh_=mH}kcp{#rV-}MI}Q59i){U*cy)XtIXtjbJIiI3hwjL5?IxO9=Wa z`dPIpxIDM#mtgpFH7+}|H7Rk!-91CEu+>bKmDS9NBRrACDXzGK6U4>n9ZSKPKjU|B zAC{lfIvfz%tV_8Ih~L5#m$9>}?-lh8Ej=s{UsAq@y9jB9qM7n7Poa0W5Y^0akqiv5 zS1;nXN;^T-+m6F~Y*bEmDJ?s{RBZN>7@G=dQ^ z%l(+Z=~0wWrvqH+_5x&)34qVTY)0a~>t{)kX^<-Z7Y4@~M|d;kn_nvEwDfOyvXCwm zYxi83X49_11$?O~W{ywA|3QFY6u~MFSYgqwsQ>TWNs264D`i;FPRq-`j$>AlEpPXaG*r8b#?AKryxZIS_mCwbt3z@?! zT}$0uY<=Nn3PPuE%zT^5JE>+&C8|yu5Zg7Ei5yk#Hg(>H>%!GBc27v~ZuA^Kp9^6! z2o-7JrP$(~?%K?j=K!LgDwy)b3zS|jMlteB`ydTjOSgRUmTytIHHc-g)DrdQsF{+O z$58Hq8-`X*9VxVG(dMV_##A2uX7Kn@lpDxz(jwu+iJt=Gw=c(zFj0^HdvMSQ@4gnLZ!OhN@}9N3-|`8FVCUplgGDU}EIw_q@eVI-XZ%;@c{+nG+~n7Mi#ETif%j zor%gv`&j%t#)6B|vZRFt*dL)YdVBM|0}lhW)WqaiCKwCH2aCs@ZFk(7SXL0~+B1x= zQZJe`tUQ>~D;5WsiXQv5;kqyg3z|EXP9JtcWEsiyXBfhIpIp{oonAxRI?Oe`wykrD zi-`P$M1eNo6+OMxIU71rawo&C?+RY9vVQwU#uJgBpI;4hyDhj)?EJAHm+x>E@-3C_ zwWhIu`doaMgCd3XOg$ZE z=5)JyAR#gB(}lR8x(rlZmAMKbarO0g{%K#QSXMhgE&khYho~5Vu*0q!s#z^AS!TYQ zQ}@1AC8Rf*ZJ0!%FoXmx+ByBBd6adEVy6L(FGPSW0=S*EB7}A7;+v~ zvLb+}+1j7aZAo4nOyS075Jz@9q0GuF*dZ-18qQ+jR4c}15C+3NH|g(?h;6$UkZ6U1`+3TKQ`!VG>QA$V8?rdUe z3Ooz7)hiRHx>^?dSZyd^NGd&OwGY4L0M{EcD{~#}J5jwCr`$~BMw$$YmS7g2z+pF~ z_T#tkd46@!4Vr-eq5h57>k0cDoW-^*2H7k=nri+=#ki78j1}48iD=;Ux4g;%<1idd z<6$QzhU#|}Jg(UI-Inw#50EW_I_(;^$B@2aMLkK}r#A>7B?f|in+Js-*-VB|1h+q( zk+iH^PNbxyuK{}B-rnxHp1!WnOO8!QKn6XvK@Sl$2KPtD)3_j2HMIav6qlzqkhJi7 zTohSJ8B4XGm+7~#Avpeo{{EHdb}YeY_P~R=i&=sI($!)B;a|h|Yr&_Z&;!|B zj=a)NkA`m{lBOEH^w@9guGB9HQrl(0oultzp2qLOUqlfA$k-N}^o841 zB+4A6p!8Y9;fW6oZj2GNfhsF`dR8O2_WyrmWL@ zF?WTDMFl1Mq626%yWumR9!ZalV3m4>)p}nV#{!F1i#p76s*K;KzjadvSeTeVAnn)0 zKb06-=lO_mLy>q>am;E-Wpm#%i{3^OWq z-n@CEeSNa}URxU-NaNeQmyAccYQ_Dv32hX(fEO|`qxv}~God7fxx6@w7}`U-v+*R$ zz@vcNG28R{1eB!%-aA@!0{P|TNqaTDp>k=VB%mtoFYBo9Z3?im@uGdZ1P^|hp|=AZM&PZ}hsjj>>1ICC1bV)&=!yi89NVvjmTzl6kzcr0wvGZ+ed^{` zjsX$&F<6@GSTPI^HHbj~y>4Ijze(Jx`l%^{PkqAty0mxtFiH*g9#WaNCro8vjaaZu zw40@jFr(x~C@}!?tl0mop7`*r7h$3rJq}EBZ!WTRH%Lohg7BuX{gNlgdNZlbLD2J0 zH5dg5(Z*G}z1*D$%%2-d)+ALB8Tc4eO?!w9nw~D`Y{sX$L%XoZ4bY)~*RBydm#{bT zbG6>oHFKQhL=0H0x3`VM>KuT2!7E<&05(J7P@OG=nVBNb?s63`FX8qkoizNl92u;4 zn5v>P-xCthK}@e+p>zTQ9>lJ7R%c@L24U`dq{9ocp_8wXifs-x2oeJHG!`(BuZb1YC1ZBE z=*LTj@fWPL;yAeQY|OPH*AZu|>Pong8Hk0vGUtdTUm6@@$Sb`?aEkEG4n2zw~zB*&}{}B8L;=UHPzL(9giUH?a%!h@kI612m)xU%zpdyBC991eN<|H zS?9(mzxK>(?1D*JlGJHrE)x{iCnF)@KOS!lxIsmr3_G{mr)KIt&Uz;2Lrq<9&ZAY# z36x9nA$2GGuQp3r5;HO?bnMs`^KjdJ$1_ACDF@ojJvmku@)PQ;wU*;*NkSQ~LPvM*)mHx%9Z)VX~oHf8JWLw9H*DT|g3zTUqnZ1YRSLnvYmk~RYj z_`3%`QQBJpoD5YWCmk;cN5169JnDcz^@N=d&=FDb_@ z#=C7wO5Z*_nl?Cge6!ez-8Y@@-@mJV{D{%AdeVUZCRr)$+qcWfY*jQOIO zJhfDZM1ageq*5M0Lqki8pj=1*m?M~>DF+EQKC(MAcK-s&FMKOiv(gaF!1qy{6ae-) zIXQmS>(+!XIUvRr>Y4h}8>T8Ksrnod~+4;lm5Q)Sn*aHCm zu%2xVz+k{z2nMUDseR|xD=6SHAEOZwp;Rt(lTq{WX?M=dNb0I|A;RFoc@@POGF_0B_DCXlNzBHo90Jql$u&T`1euWNaZn1(;mXcCn$iJ3(+w41|yy%oA098QH2o>7gCp>_Y<*#Lh(+*R*MdE7&+ zR@afx9l#O-M*8}!j-9LD)M{Z!SrRBp+@&G@0?+zNCIfiR?rG4emgyUPiIF7^5c_+3 z8|Rl6(glKD~^PkuUm@kl^O*>s4G^!CQ*XzPC{Cm>W-4i~zrs6f$&4TQuY{RGu-b zynar-GUT`1Dd}C?P;b^fzOxT#F{9^}@(4;Os&uNGQu5~?3?=e*tS2B+(kS>qI*I?-F8$~;H^ts@pQBr5WEq#*we9&3DP~~Cv4dz@ zu@sHhD=Gilr-at+hq;cK$5qk`XpIv(4w;KuBn?R?P5VRFqG1Ht1&K2e32jgi=dFXL zV>Kk3==Mu_NXH*Z5qRi!Qm^aRx|u&vsa41ubiYUh^GG)L*GRp8#ciWeK|D&aC-YG- zt6zq1ORE?wUwj((Uv(#vgjc*Tdxwb>6p}CTgyjvCX$*tiwp;{Hl+0)q$gli;?}K%E zRARQ$I>nwNof@vVv1>Wq49Da1_Tddg(y)p~d+q{eykFq@5v*#cprNA{H1++(QOT}I zAmM;me^3{YZiyeyVSv&MEYSnZ&4fNsJ)XJHK)^?%ELgWrMk)r$ogf#P@70e#p30CR zKP}~rO|qY5bc=Kp7y&Uf6fYcyaWe({AJ+{3clzAhQ1nRmQ3D=le4R}9FR&`2$V#_07UUGIT^4N_udH|@f zADR$xAoiWJAOCAHVMP%A=-HiJ^o@Vde0dS96~j4`Sl}k->(R~$o3SX8pX=h8AWUGw zTj$S4Ln9$C6*?FnNSTC>VA#q;ObAiuLO;6Llul&Rbz5t$tCALQO>eZ;^H z9|D2Q$G}q%Okh9)-|r1e&X(@>*_v&M*t1}NQ-D$z?;727k^qq)9l1EBH-uP&4J(}F{L4F%gWq*su2NLJ%EaV%jIc}` z*YEb?b)QxRb%sEN02t!e#iZ20Ui!t=aX##9JT1-yX$dR|X>E!2cE8T9dewOHe5W?< z&|@>Bwtv8OI_h)jFZ?gOpxEe%{0gZ{Q`KcK_Do-48KPu@q%-h;MU|BAr zg0u)2;q9RRys$?wBRDmR_KT)Ob~$uII$V$d#>0jgAC~>loUjpExN*M03++*q?ld|h zUQTi(_x>HB?E8eM`8vEmPX*Ov1M0fT#` zMPZF;{rlqL&!7jEY0@mVRX5o2q5Qm z!S~I>rXOJyotq)Y*uFV;F`tstg|a$zB9Kk7K^tG3xo!Hud0(}?tfeohhkl(PLpRyn zZKU2w_fG!zSpbtaCOW^w12|F571>_YI-wl}HaGoJK>6~>2X<63%g#aETUGB2mJC@F zLAiJMNy~=If0@*_*H+M>Lwnc@Mm8E#=h3dtJDGL?8uALy=BMB8Mk6XJpxU^|2XDAK z{k#|`(vp)maD#45o1v+FM-VsCaSk{E*dx=|SG9b+;I>SqbR#c3252a`{c>O&eog$3j2ZCrMIuW z$Aiqs-kRaTf+b5wr{&s^c2a8krtU-e5&K)^p_la7ZXo>H_HkTI30GZ9;GN z#J<Z}t)QB$r z+QUtPo=D2Eyf3>-lX&BlYBr?%iNmN#1R$g8Fkho2iXV+$w>7_%-@W_Bb{^n{KuD>t zi~P%C5)mrvNHStohX~ROVfygp)(&?eQw6gKA5W~^iyz#!Dx;dJu^~x|4@SE`wPBNO z|BeFUNX@M(Qvb$`(&g&ZnV44cZ9KFE6U#q=Fsn%Zo*5kkAK(zhbt}oelhOcmvdlNp zPhE^_;mCxIac!v2Ppz**Z`b^Cv@JO>GkV`#E<2gt(-PoRIp9E)(KBaKv0zL zT9Ex_W;8}%qmd_*8<=k`7DUsE1!!zI-#R-%OMv|*!egqf+x?XRxP4Y^V`eaK6 zkA_$@fTr`09S-?7+1ah(x)ZLb%Y!8hM$ECEO^41+2bx!}6qPO6EB<; z6vAf^4%6m{L(h~$Mkmsi5*Zk)7Loeq$=nCz+HH&--Bp(>ijbW9Mf&ZkwT-yR;sA{X z>}XZQ7j#FA6UL64Kefc*+=SwlaG@GJi+Bbf>UpxF#=XLuaKtp85?8-8&vwEIU;0}5 zm)!@V2tY-pQ{R~|F=4KvkaIVK9Yw0+Ss9QM6f4w8`L~`bC@F{3w3Z&WKg6gTSf_GUIZ{j@`WT zK?D^op=?p6dp5*K0U8_;5y`ok`#9ymp{jdtG5L^uoeCBa6eW&C0Zj64?ak(4={K+# zZzv^afwsmXOa4jZ3gAc!K0NCc5>!43FUH)fq%$X=j7&Af3jkua#QfC zPVFdRoU0HW`NbUYkB8N|4CHPF&6Kws;!`!(a&u>RROLbdD z#T4bW-wl!0{m?+>LMwhi*&QnzTL=xhd<}gdXGr9niS#A;Selhmn9CdpjA_+j?@0v8 z@*Lx)8EYF0MuduXdVly?J89fjrvjnzHr#t;=SXndL=m?VX;6WHN^RUtPYLWwT5gzL zeTQX^dMBj)zxK53)PEnAYX@5RYLFjDe_ottzZTcL2bu7lNM?J$y-tTl9Zx`Kl40krhQXt# zQK43SAnF~&-fXtWzAYybB^JXqZ*;>ge9%V5v8iwbjQ}J--gXTNs=h(+a}BY5&qFM> zdFS!Km#jn;TzD^f3n~48Js8PMmD}dImPCVI0@iP*5cHq`#ePx<8Tu5kYBxY&UD5Sh zuH)%n0x(TG0w8gq(v*=3Z3EoqVB|Q1KCGx@4L7#W#DCEyWYnzmJd|cYr4vxeQ8N;3 z)MDK!)v1>djPR{0&152c?5~lOAdZ1Z!&S-`35G!vzJ%)M5gh#_ONFlD8XAOxdb7`> zIMas2zU7!4!*9G46za3QJ_|o8{hG?(dRkQXuSABt1WA5svvcGQC@FXsL#BVcco@&tN3e4S6f^M;^^e^w)(Y_ zCs6?7F5uP@&YK#>{=PC@S0B@!O#I7Js3| zrpeFI2nbPrL{NdKZqr!!3lH$MfntJl4c^7wIApsLK3+~8#aM7;rD5aqH5u3h`f?i0 zj=oiJ7CzZ3mFL2@v({K3vejjs7I|IU=T9TTYO)S8dqdDlwJH|PcjJkp6gqHAnBBU+~S z;l`G?*5hwoJC?up6F^|%&-TH6)4Gia%J1uQu)N=iX>Yvpd6{5_V;Vj*1XQMsqKXZ@ zJOsW1l`N#wzo>K7fxH4Xsi~0|*0rh#)x$klwEf67zHaOx9ZPrwb5}k6O^=cEJRA(f zWR-AEaP9hNH_l;=!;89ltlT8t;?Al)ABZ7m zv{`EXc!_-z>1k!f3>>0E1gt|t=a85a>c@Hg(C%(YU{e9~^P!v{KCx4!NJ%4diW^Ie z62pF9cQTU9#RM}B9p7drmg(Vke*hyRC@3g6@KXTs9Y?Z~nlZz8Ob4Z+Lb%H`0g0)+ zii#Ydw-wC?%pCo(nVB(Lve7QcECK?gK!q>G1)dt{2SK8*+`_`d+&F{cPJFQ$PwH-R z+Wmt!F?g{uB^VhTQ?8c=H&w=`ew<@9nP+@O)c8WbRjq7|3tFWf#IS|8`zHk8yzzlQ~MGZ(< z2Y!6C+6E&Fq$@Y-v89Q6lSOfkhITaWb43RIt;GZU5>Qm^`TJ!yTE5X~I$)|IS`(;! zA&aVWXr(i^h@LU}uTT}xZ+v(OL=PqLDMxj=y}gHL5cr#o&oV&bhY z=s*GN@5*s^U$PJ>`?+{~X6T**Qqr?t$AO-cD zYSmUb-We2e!kJ=W>tg{%AncPnkB|1=>qK|WMEHr9#0``9FX!&AJIdi4dQ8x4-n!5g zvaNJuU1x8tJ=euAv>HA3m+xB$jt{Hd-fO6-sTD3vmSVj?N5n>jUNjkJDGBV;%$oE;QJl)J0!F z#mBvDv6@mwBQL+|<|GrCnb+|;1{k?$(xnJk3yHVy$jLNzzewUovp6wWIL6K#Tfpk~ z!-Fj0WRZ~<`eKFl1lyi$R_2)48Y1hnZPc|mZK}Z~dp4XLo1H8@LiM}Xk-}U9?#p|G z#2)8palj*n30@K6rXpO&LL(%XD#Fg^yK0Q`(XMUoyXIp-tUoyqGPU3EX#KcpKiw>F zAVJyKr7J|$65&IO*acx2MZnQ-d=U`IZadr(v^;o{{P&2BmLZ@K4E(z`)Oy!Mer`=C z(y+KTndaZYeola%1OvsLFG5fSM)4KKY=*|dKTxrLtj|f^J5oBcFVL}{^n>wV80k#RruoCr0kuf7+C8e_W-GHhfmUfrc=>KG>b&XVk6MB8|MO>W9N+8?ih#R;bC!%ecPeyrAy-zQV5ga;{$m)3l`leQMX^>pq=} zJHKwzP2C7HuBS``ev*D1E(KiT-XO4~v30||*Dx-GX-C60LfsS{5x+0Zh=-@~BC^>Y z)UQ(GEBdM(tP06Mz3MSeS}#9Yo$kDWfryBCn(u#X!S{6$;@1yDFI`Xig6g&u);1lC zw=eYe%|Qze=4=cdNx{?gORiCxOM}Kn92nXIQ`bT<%!MwWO!dEv^8P|*wti| z6trKK=Vtxu;G%A`^9CJNAoC#wg5Xf#ysM|Pi`&4!d<~skw8dFS)aW<2@2f98HBo#F zsiAaaxKgdfL~tS0FqCma(KdxVYmRoUO4%Nrm+U)pUwK zVVBiBf-is5V0C#2iBAF>I4#(dMzKkRlJK|@SP92%e0QB(zG4r`I^9hF&909 zo)DURyh^b77RU5o!?A7;3&TM;Vi{UHk8Wn$z_nI)=1jrtbjfl9evYxsI;mTQcpy6N7s|<9Sxn|AiAR86_YOR~!Rfh7t z<4#s`14QVFcR~vQBvQIlNYuKiKl#0E!}uMam7c5h7nMU z$`7|Ls-1|g#Kqt6RF0jaq`4K63`G)QkP>rqvW?p3dZ=vhsuxVBwom*+SUgMzxp&(> zw776D16f51Kdzj!iC@&)^x(e&J1)4k*j0cGF-q%o$(#|>CdV6nyp(#{D(>a+RC|K1@&mB-pTk) z2{esjlth@#KRg1F1Zns-=0Ih{AycnR#^;`%@Zgp)#xSE?)0n0YejvEvaV>d! zy(ZSuG2hIQJk9W{50CL($XpS+M-nUel)So}&wYBrV}7^igOv|5N(joj=1emO##d-h z+i)UQBh|>fc~G&0@Q|Hxofyne%YdTj14$V48pZp*j#=p`5dNh2oGOzdWoUe@_aVMJ zW1VB+fo=bm7(C;KK2YrZulrS3#Pd{gy)&@y@cXwHoH zF)(IBWaY0l`cdt;sA;NQ2aXk3Tv3qOHxyc^OvDsjd4f+u`%bTsm}E0WOP!zsMYeHg zb|y%7v&S-BD>&vPa_aM@Qp-5@)2B7^y{X)m-*XTZ_dPZPFrN-42i*`JIV7g^80zHG zay<3j8Y_P!BXq702e4a^owuyTRP&3XmdW1^EWeJ9k*I?OvXBt~C;9&OZo&V{dFG%g zaz@5lqeQ;Co6&UJYjx4<+K#{PSbdxt4zJWQVTw4)_+L@*v;+_FTH6em5n}wnMZsqqLjZ5Z z41sVhc*)Uyk#9PjpN`2MnoN zIn#&9ewDkAflzBX%kkKh^Je|T^GZr>v= zuX&2}{c8SseNRz^bIIM$4sV@BBAK`Ik@Ovj2t2`JL4r7aR+zq>m7fnp3#M2iQkH(m zfgIX*2umVnyhUc!KEz?|S}Pad{j_gW&)#cf)@T2o_Nqu?v+_1uS*p6*@Z7N=OLnq( z2I0k%^{AD4+VaGgOrd1?*7 z)~wW=^?p>ybtAPsGYN7KAT6=EjOl4fySSbwTr2@;y1$?F$lGuF!z}a8{lRxRNiU8| zE1pS9b0?t301jnmiA-zK+4TG8!!>{uMIfu7aZy;*66+`lC4A>wwC}m>fY{k9WHl-E!5Tp0kba4TmobGUXE zv)0J9sqo<%o{phXqxJR&R0k(lrsc7`u$fp9x#@n zhaZS3RC;~&Cx8S1_*nz=48S#SvA6-0vbr=-7g+-Q8M|25TK#a4k&y{ZlBt=z zrmv1tP{>xMvmlNC&T*GPFZlTF;?AZTMravg7#}=uUOJCqT``d9n)%|}QhL>n$9?7T za)3w^4a1Bj^6?M~XJfs6q(_WzC!)N8xVDQonA0B0I{u;jg~b&8XM4v==Qep7b{gW# zM^2M^#f(xN8C56Y$1}v7*>ZTq&*SgAC7RD>C}KKV{YdI&pK~t1d|Fy0K;`R>5I5OE z|Fp*1TShhg8sUtMBvIPvI#hRx6GtVT`E;S+1K3uAdeFC$8S}t3Kwm7)4UGM8Voy+_ zK~}#0U|V&4iAA-1(I?aer(K7tIb=czj_x*lTa13b`DIw7X8G%t6wLS`x{Yet8D6px zGwS(w9Q9JDtAbj&6)R-9MeI2M=lJR*W+RY}-P1;0DtdHG|AWMXa@Aod0VKe9)Y>uo zZT{q3D{&}kEwgaFCES0QYC!fbn`sp8`}-A2ochBMk4x%J`1HEMc@Li0r$^?;J0C5K zN0RgbM%0HEM&5AyumbMKqZq;4RjpDxA=0>kj_T!Jm9$6Y6#r;n?~YPr->4xZL9~Y! z@-NCXKX39O2HUQNFV`-;rK#ZkcGKmKwIrbX(yh9znE#sXDa4L(=eo`hB@76M@AJs` zT+fcK7fSzu+8^;k2@0hO(C(>VWQBEi?-yBpoR^&PJ0 zj=$3S*`kl8@lm4NH@eC*Jm#ONpPciTI@XLs*fixm>%8>iS(i)4XjVW>jkTuE_lTD>;Lt+DU#mzZIS8K3bOjq@CAC)^o5nR_E*iv zNWRsGe+vr)3@=PsaFu`9IkoQKufl&PPher{L(yHGtv zC>F{#lg54*E(Y7feq}uI;=RZS*`h*o+>YrJ!H%lMjE=CVpV}m_?t!O1jjC%wwP+KZ z6C^$!e#jGjh0~Q{iH-2sQCo^h4Pj%;};1{YmawmVt@wQcx2JsSf5jA@^5mmBz8>S}mSOUP)wC64Hyu%~zM$&qE_+ZO+r$SXxK{l3 zy3>}&>h3LfZw#D*QChN)Sv%Z&;LX|tLa#Df2SRMKIMB8FazAabk_Qvc3>nOHtc$(M zaao;E-CCs*QuXYNkpKj0E#2*G-RNMTmwi@o*L1SRRzxT_X* zyxoeF>!*!4PhGUH_uGgyDF1yHfCw!9PZ$%Ma%Ong_RN;4?YHD%DQ9bo*qS~~ImP3r zh=Q0(2G%b)N!yUs2j~f+rN01suF;y?D3zft%6WgF0DI}(Pr%HyRzXi5-CX^Dz4>GG zGAl)p#sh^7xkR8fvsVZsH zKFc^H5*ce%jtKJkWD=vYQWg(wTPYl;buc+H306F93$(;{HD-|{5)oO{mLR$?N~L}v zswyk;1FXf7vTX|9bV0+!AIG{pmofGZ$M=(tADRuSavmp$Duy*zSET*!4GPDG`qw_UXT*}sA^u=oy>)<4c zaFAa^B0S<*`gez&c&paBd#zvYLIlIVb&MTGbF!$CLOSK8nZ@Xcg)xp(PiAp@8x&D+ zy?!hqRdb4eCUPjwdR(V{7n3Lx)4=XgH^ZuF>OEQdatT!nEvQX@a@@%3Zh3E^nojdk zg*$y5Dn@rMq#$G9&ofpX;z@lm0)--ZQSL z=34^|O+ZjUq(}z~(wj;rh#)FWM0%5=bdcT&h)OSt^b(5n-a7#)q4y#+^xi@sw2<7* z`=0+f_x$dcbMqmy_s(SY%1{n*7bsv2Dy8$w-}bV;S9fwh3QENO z=7b(t(2RR~`11GG@ic-e zo{M{$Q#RpR?R|n_sjW;aLqMgj>vqep=p~IT)E9lPS~8i`_}jPAl~M(~KM}n~-w?3# zM>U^@;zHT6R|g0m>Z}TFt2^3#cB7#);+G8t-BZY^?NBab&SUhH;?$O#rMmx!=7-k) zd#+?4V>n{U%leSNsAY5F4p5ybF6FAnt()9}XH0rWu9!gPFE^hi5vp)RYJIy+Y8)6B z+0iypn}Jb&*u`{t7bMjntluyn{uN!mDQ!mYZ^z#I)AHkbc-$GBR<_kVletOU&9-?5Yce8P#@7&L_t!#mZ)UtF zkrusp%Q3GgAGUN19F%D`zK=l6Rrl0I_+l=ekkgmdEVzRGd>QOhy?z*qUHq`VgsF7d z_5VsDS}%YV+q@Z&OD1<+A$WUN(jYI@rqHN;dZRG@L#u!BNy+8;_CtD+_MYC`b{clL z+U=()iCyzyc#H=`pjG9%TmBvo*YvVEmp*fo|scLYJsRU1g%G$ zkmd@3?ABU$qJDu}i941*K*iURY!Z`&T>+nD@Rey}q?RG89-Q-o=2=h4Lw z4mj{{76ukVZv(K0qt`#eVFG*TyLrTxQ4UEOxk?pU^!hrkh-69+4Q;?_J~pK7d4yIm z9jmNLHP8LFrTa*EH~IG#Q*n-4k?+!c?yLK5f9$hX5U-j56r{YeuK@JR)|u!#3g;)@ z$2Xnx#zj8jbW7bq$6KPipa&j$x4I|`P+>#MA=z)my^25M9iQZj#mu@d9CSK z0lZ_U-smCajQ$CKc4b*edhwS~5~?_G4%Q>n0U@a^UZ^HToEsj%&&K@43<}=Ml<%k! zEPtNv{1OV=32=eN9%a9wyHVO7l|ayY;)}E}nIhP--M^IvX?1o8wgBC=8_T$buVl#@ zc8u2sX*KbS{1FSymoM!pYP*btvm#+H0+aqSLe}2y`r2r`MXr^vChQ2S`kdqjOJae( zqm+m`V+?~i<-w0Wpq1phWN(1h6y1rNul}i0Ftf}(Rqw=QL>O?e>-6z0@*K%pR&L)$ z{d%5tALFd?wMMPTVu5Im!p7+?E5vWvw)=IZ5Nzj)KFY}CWvr6t{gn}(evhuLo7^&B ztT?3Tazx_C_|;Ml6A#U#yOKHZPybpT8dltFSLjA)luYB@W3=eHdo!!qB;O4&?pRiw zZY}*=&55(K|6joApUe+_-L|9jX?d6pgq~rvP1^i#jO6L*`7cJQHiO^(7bDG&-|wjCYB5Y%_OpJLfvo^3 zuq`JD zz@R8o_51^mh1ABWAD`LfoxDXaAYa46y2(wXPtn*ZfApnMs5*Dh$ z_mtA<<_ZYrlXj6CoVZ-DKztlu3l|<}_@I+xpvDs($=qMH_3S?=E8Z8QNH5`H86$-S z>JRV~|CpA)0)U(z_SX99svuw|T{=E>sMe!_a5rbhdT3{x+gcRSH;WcQbpS{R|0yGh z2lBX>_zt185o54T>h>r{t;Tge25W=>Grfmf|Jb6!2>&H#frH3F!ETk^H@2^*L488B zL*ElR)jm&|8h?GKs(L$2QiM{y+3#yTuZ9FxGcGVsV)z!#o;we=o#Gik$N+M+87ziH z_+1i#EGq=$wsKg6c9F0v;+C6KmuFFj7^q*^5TxjxZ?dQMS|AP^+R@QbwvY=vwp}zM zgaDMZ8}@ct;gyQYt=?X1FjE5EqqdZ@z=*z;O~XyXFuGv>3K%5tCo$hv$_-GrD*4$G z(j?#?h~t4o?Iz@2KaA^!csTW$5^fJZnM5pHaDo=GlVtx5vO>1J$=55C|LPwox*R}1 zI5e{gP09pspJaU!S{WoK1TleI)GFz%m&A`!k{QNwW{17HL|OXuhR(Vy)PKjpacEXh z>%zBGpuD&hrAGX`fqJexgm`MUgE97?w;CGM%S9Y9nW2xiWo6zxa-Wc(oA?#J7oK;^ z6R;k-nx5verZJ-j-;0FsZliWYc36~grOU{Bu>vg5Z6uDjtjQ?tx4#s&hE zsnG2dRnFbw)BE?c&^k=g4aVm>ZUpbE5D`12tjttIlx%JVEuHot0wCuj{*rn;L)yuf z7Gz9|RvK>10oewDL$%HA+qhpOI@br{_X+WSsta* zG}_-gip)&rvG^VJuO{c`|Bha0M?BW;8nImqUwU^6Z)CjB54o+|Wyd>({I(6>0=m@o z8Y>m{(UMp;hvPxNNziES&DKWUi+BlICQEOk4+*_PmIW-kGC{QX@`{LPoUFKD&RWVG zAOy<>gpPjx6?Cny95tfoyEZOBEnzH3tW!?s@DR|o$XU(FGB6e()89d7+Qc+*6lfM| z$w*53=oV@fKZ#(~h2VO>;u5qH#DEv>%_A)UPhl;1;uBKpBb=gqoJa)JcGph*GSia1Iv#WL{wh)A=mWx@B>W7Sn60rh1A<0P zt)2~G*=kich(Ro~9)zH`>gpK^I=u6qEUlg@0FnU;d4+6v58`@Y7;cdG@_5S_)5AbQ{geyEsI=Y~>T7zQUrf)B1tkHkd<$|qkBf^a13a{b@a7NYVSNZ_E z);2U82SFZn7?tT2hXS)Hoop#-D&DT0hnB=0XFIQ$^m@f9nHBY851ew+qujBOyu8Ov zQss07g@wpguMca#l;3M=zCMk~*(<0Q7XxC-m_E9KRu$RJ*0|o}7(FgZ`56+&r=Qu- zz(DqFqJ?v+0y+OyQ}Y|(%|6CBlTe4thVlnSUA)jHF9}JZ-d#*m2)=l+YEVsE6rUsT zC(8zkC)=s!yy_w`Qt?sAN=8;$nH&pi_NIu+l)}Mr3lAO;5`Ha9S0~kSmR)0e{_s~! zdiA@vS@>^|cX&IKOw}*Tx8Z(ZYyCnrDD!S%=3?pJP`&4`%ZtBdW_NKTWsBrMJXJT| zki3$8A@_6R6uv&)pJwrFNF-?fbf*FR=96&ZWn#U%+rIBQA)#ty&iE7tqscDthSh17 zB0eUjeGg2Ub2Gi3hzI#{GRn19AyKr#FB~|H9d!2C_t3D2OHM5*^rF~iInv10e%6vD z{oT4?w#jkjrH1EINy7?z$oYLx0L34uu^%lEHtI)WV#us9HdtDgAq2haa!nW=NbKt@e_D_?^g?L=YVymXOM&6D zEvY8l+8d8Gjx4&UqK;se4ffc50++Kx6JD=NO72>shL!`^asMLe@M#m;>NCb}!+S+u zv!Z1GbL0JuW%IP6gE9I}CO@bK`6VOzq8CFkWiMz0kL9ZWYP8$;NA;i30<@|$%9 zkH;@gcJ4PwW~tcnJXq| ztr^!E$3X+v*VjLk4$YVD%LBsGPuDMUUgfp7>MC@uJs-mumO42(xhU>$&U`?yN>#ZL z-p<1qpXE4I9@%a@$^;5%H*F?%g@25BhoYjq%huR%kQN=4r5Lpg)Rh=asjsKUWY4T_ zZSCL=H<7Kss;#ObRQtY;hDwbQ4KG~ndk`dKG!%D=XLXc{%6zS;=!j3kdab-j5J7$_ zZ}tqUSSh>y%|Coh@F265z$hN~@N=D#%q=F+y5SQtkRaQA!RFpG&|AcQ>Ln=O-Ui^$ z1-lVXTB?dI5nl60@-=d~^>MMWu^ghJbbNe#?5s`{K3R{KUkHebYI|Z_+_$F1mvM0p ze+nPf;BfjaqzR(xTl47x(vphG{M(T?s87!m4aS*4zYq~K%C@y{=e6pu5;M#$!>X?o zc|7W_^xIk3D3aVqVpT;0Y~vCW?=?|GH_fzfpq`UZVWfe$8`@tev)Sx%UJs;*EiZl< zEng@#X)7B+LMX;^k4L@2wWcby=YES>{MuaEIdBo--C5ZI)*!0)9kPkS2X`^snF3NJkV z++lx$XW7B%0?kQ7LvwCzV{^aZz+F2LfnAFfNlg9p&)rvsy4#S?P?9xBi&c<+_F3{X zyE{Pm5s$S<6bE)adx3QeGRcI#%4|~WSZaJ|V=ZrJn3^AyoHK?t*4Jl5-HLlN3o}p^ z;HRegzkRZkvnAIRn$66MkomOWc|Kng{o@l>GoOM^HTUv;dd36Qiu}9a`H3R5g5gkk z7mqtlCOqV6+Ak*w9EwUBxMEZ80+$lnDZwoE4KCl;lbU9cG=+znZAb*u@EBdbzgTrJ z>qtY$JdE2<;6!84T*w|o*WVC3byAl{1_ip{a#zyMOT% zBlw!FS8j`G@g`3Oj-68oxUJtmUqjEK1g~$t;NvCTH7EE`O!c%JByB&ytY?~0gcrA9QBob3>MxkunyQ{phq0_yIb54#w;y@JUsHJJ*Kj;w<7 zS65eOW@NChvPU@SY@mD#3JN&Vc+AaDE59w%7~Hybi|ge51!bw+_>&94uYE+1zY(TocaUk85i{B+aoIZ)0U8b}GgqLPC1WnU?i$*` zt2>}~B_w(mf1Ww2_9@WM`G{iO;ZcDr5WO?pq1E8knc$^>j$pI=x$sZ}kMZ2I28so1 z-K>vTZeYM9)2A9nDmXB!)^og~WiKu+7V|m#{JDu&8MxKQ($IYlB_drm{8!B!o7^P2 zyFmL6FQbS`7)HgVjy>@(M(r}iSyPHY+hh<_+NB!oUZjW#W}>7>*QNAx|LD#^-7pFw zlt2(`D%auH&ZI{#w9Q=eZ47R(y*=)ZcWh!VpYJEL+YNmlcw_0xeWB~`L0Z@{Ps^7b zzeDCG+~6$zlgCF~=mIIRW4M@G5vk<1URCGYkBWw5k<2!K0$)HDAQ}OIkmezoTjY`kL|sN!{s}VG~2^PlV`vb#Fg|mo@4&;uAhDHpbytUuv0#YJu-k zBLe1P_jE&NEy5bQK6W1%QVAE$GAn6WM`iQ^$#TXw=M?+zPQZ=dP8kKY_zo(n4vht9 zU;}DxaN!}oFEdI?ZcC!KxZYx`t8dJ|5qX;cEe86PX5HdG!M(F7@29Gw3iU)}wCU;T zZ0iX3gN0%~e*e1i`Q<^$gYg=cx%8ZoAp9pLry=#0bI#;|xK(W1PzhjRQ^{Q-zbf|E zVO$xGCkvtTZgc-8I%7Qn^yX4=A-+OXKTcnJZMmp3sLUkiZ5m{Oei=#@tg4j-nvg0ji;~D0YdwYEM?*Ja!j+a#Z!$i0`pBj% zz(l!Wvt(Hi#Mj!A-cH3@bSKah)8m8Wx99UlV$BeTKJCE7eY{?YCCSW_%~I+Xyna=S z*n_Ku)!H4wpw>ffxiB^X8cvpvXbhd?V9fbY z)tkG!_%{WKx(Tr&x5QlM-`gRDg_|7Dlzs-az5BuI=Obg>{kbYL_#ItX+A%uaSS8|P z14wwbFe~enlbcq$Mz7*?LVixsL; zd-sAUEi2_ddAquxv6#kczOzf_(i&n2WOH;CwhN54&7^QY`oZXBp@>*3 z_HjgNYAS)p29qU-*-oqb7U%QR0|a=guwKg8O@Vo;y2>%*@VaT}gTxQu}`&Z2R&(CmPz4ttgQ@mcfpE zP_mR=qgQt6!Nbju@9)NY8OH0@5EKsXT$Ylag6KRuoXJyoJKbu-Y^ieb`GULb560Hq zVq>vysN@Ci`@xbKDB%fdUdhX-;)6xmh5OxugCkCPy}%pMv=_M&AuiGwNF(^0=lKSmWxtWTkot**%l&spoc?KG0*S`W{ zwUJa*R8*x*bQQMZbFv48#o=ZhV1`x(D?Xlgs>Iz=3HQb~AXk4`4jr(<>w?n&<|&;^ z2@yA&HNCBG;^pqRw71SL`BXAhlWu`O+SdYOHZ$!WXBFb`s3v(+k3zMtyPHG?wR4YSBn=6Lxp_~gZ(`D|K)H14Qgo)1rWpfVCo`g z38|w9Qu_}VAn?a!&f_Q`bYMW5;&_@)vBuE-huz)U+T>aQWSTQ@mQ0wNGx%TdNlxZ? zJpB9j8`;P)?1N1trRJ$-1`tJdL)+DurZ+N{v?=3I{x6a;fpC#5eevYc_%7096NYbm z_$Nq+v{fiCB1+bF=)7Z`8h~Q3O*sH{$K>)w#WsWHI(6 z7ab)1#lO@Z5H|98oRPlYof7PVD9MT}zJaPUJp-YP#y$7D(%d-*kwJa0_>-Txe zPEU)Ac^pzMKsM}lXY0uh_Rq;c>H4R<|D3>3&u+6w{l;u_-jjr#QLmvU9s&v9PTT9m z#6)&*z+mI^K12j0Yg_~JngT>ZD_Q=X>uEFQ)8Y@hioYRGZNF`mh5!n`idV`_9*pao zToIc|!}GQUPJw$e`&#{gs?_6HrlX)zWuVU$*FU2^^~DUH1cd3NI^G*2_CDQvaaAIq zj+-`l0`X+JK1Im*0>A!frP04hRtBiZ%6VzI_D;UO7sqCLQGwetlUY_aWK1ifMr$9N z7+nB>@tGkOP$YRzWa<@+j97rfcaLz5oGwh;NzpdeI`^h8SD(gES~k9PTgSOGRszH7 zkzcJ)-*}mBPHviz+4p?@?0X`g&ff2Nv=<*vnb`aK&A|#E#G8GC-6p#k@4X(aHzWi; z;+q#z0|k6M1GHO1`^H#B6J9{+8^!b$Cf&Hj@HKqhG-W}WahmRS7p&!scpEGk?hN;% z*@Np1%UDvP_hxg8K>FTe299h8R8sXe(rNX3yhE#yo}6KCi<+%U>XyrC z46QGvPv-)+x2-i$k9l}d`Fq z%a!$ExkW|&E?C!H4{GL%P_er?UmV5vk6U9Fvn7|>1DWkuOV>ZA$71w-IU4UxsaoHX zJf`tJVbg@%@=g=;mCnJ;{*}){jDAGD$xQ$=`2Gt|H^w&Ws4}Gp z(NOn=m)IW8m3isp5z$g@;4PhBXcl{V@HXB-uWoIPJu_QjL2bR%!)3}V#a-`4ntIIx zwAeuvxm3f>=^46%>#vk!S$B80tee~ImxkE#wK<)CZZDDD(4Yru#hjz?S~avG-+&m3 z{=8q(JeEm8vQ}34C;w!V!R5U0aE!48V!CxEyMwU=cE(Y|AK!3@Y7K3SxZao7-A!PA zc7F--U^bA=y}^*{`>NERuxR;C)ejdZ0E}gcv1}T@ywCU8U|+w%ERDq2-OQfEmi$xP z>oiPCKY=P8|1|eaRAu9P@}9H@o@Ow>wiEs0Los}2WPxAqcEHDvA5Gvbaf`U52#DJ` zD*~It(ozjE8|IGXB5PNmW*I8Oz zd}|sDIc*&DjsTvzCqM35of7a#^dDS%QmOp3&^PlmegE-en~Ek(W1*A6N}3tHgvNvB z{Vzz!7~yXDVblhwk+p&r{2*?G1=J@6w11wIm7DEP2=4b`~^cB&}z z)~Mx&b8`G2Kb)E=e?_+WxXdE7i+8_l4(WzIO&d4GjwQ#OBeY$%V~|I%(#>&BSNIfj z7SFCFYc1}H7Jybwr8jL|{lK$#D0wD*WXFrpRu1rOjGyV4)m5N?WPI~-M;Zraz{u@+ zewi6TIIX@O>d#nBaiC85t{z1{|i zw$@~N!&ne^QwRWA*R2Kk)0Rd>nE3fCNS|84)ljW#$JGe-1*+*64#zmG-PiD$p%w?y zuf+lLJOv56SA9#eO0bb!&D2&+-Xos5rvg%Z+^V}=S{tWi_a-N9=>hG3+?f8}R-zcT zGqsg7c0o36lslWrfP(52tQ)gn-~571G_wkq(4h|2+g*DW0Rz;;9=N?$LkcZubcr7D z&(MGWaQfujfzMg{AfREsuCR{qOtE@QMLqIdE&N=&uksvxY@C~%$%MK#k|EyX5fXZ7 z?Mn=AUf9Pr-hOhic(8X-B2n1O|CokGbnphq$776-9#eTKShwQ9y5K_AOM6B5G2prS zNtE@P=f$b7`$_|&y{j*_v~fub;gDv;dw9kT6n_`xpvnz&O|MW4?g*|uFsn_NCxiQT z?oL|^aV}a%xZwTT2k!Coq)S-RP@5b(?JKsIb}6Zd*_BCMBI$=n{PP^we2E7|l5tOi zu!R`HxuX_>4NVu!AZ9jd7GiCRx2kR=#-el~h}()dS99oxG32Ozx#16~t=X~-dM7bs zT~jcndnL+zc}E4_(qVNv$BL2m(TR_CVB*isDz@*%by8r3AK)$!^HG-Et>xVUdzKj}rgVhCj zMwf32(Y|N^Ms}w3_csa@ytnJsbqa+1Ht&JST}`ltaGhg%An!@EE=Qm&cH|hE>itL|f0^Z-5s>>i$f-5XhiGoo#!@#qS4UTlkiz$jRS~=Ar`C z6QN!0#3LSOY@sYV;e0exS;)iZw)u4|*SEx~1f7N|RSoC|0eLiz7}NWaA1T1!HJvRo zfm}sNlGNAjK{-TkpDQYkj3F3)?-M)2Kh3zjs7#=3)(#`s{cdGZLg^2UdAY8g!c^YT7<*^o}I?T=nRj~X& z7)2*;T%~rA5sMuYiWRt9)YHgwin38HT3MF6X^X%uY13#4UlKJ&;6I)FTA!?-t_!nbvd%Af~jwBcRR{Es3}s(b4AX=^hn77`_h?UZ8Ec+ z`gZ%AeFDP8Knkx8i)a4{b8_My2s0KlF`t8JY@1-m7*WuL1c>x9EinoYk1#YuG&$0{ zAeugARwZT31qgw{tq}d7QA{93Q24BC>Ix(y$#Rq%8b6anz7CcF21EE^yYBUSMIeWQ ztq((9sD^8ui{0j-2y`Vdr1cHBlwtUiHKL{w)%aY{0>KEM``n(D9OD zEeEp`37EHe0R8rhfMi&dCDPpcXQHu|Fz$)lt`0mc>tuEI>hPjsE8*?P`G>Kocolez z!|519Enr6`ufNc?yjnEr*Yz>$==EE#skGJS9GY{B6PS5fb~MS}&EQ7{nBo=G)qm8W z1#$hb5>L)M0yty7acYes>OQx-2X#F>=eV=ZgM|l^q-Qzj+%6sNHdt4{$MSlkiMj`{ z6a$}EQED$<5CC3^pGnYM7Lp`!+l*)jv;!0(ShwipA=gP}IokjjPkRbrCxJmrsB?qn z!LO7YHfMaG^pA#OA?Iqmnka$EkdM0V2q%q9Ozi^h(2Uz1Bh0_pj43ptQ(Zv=V$U8Y zn|{g(Sd{+9#_Gqw!0=W}>yuTY$oMmL7$;&sNV0|H?0mH3Pqc}lj32TQt^95bj9uS0ct@-Zv}`Wt;%9aJ&@d)I`AmBiu-?8njMY8o)(u zIV#B=9U;^z8$B)*(bIk8dv#1meKkmkD8z`thv?ajQJ`~;k^Eo^3;5b*KkVvyh^iz% zOYGh0ieRi>2TyY8^rR)NC9ot!Kq?W$5)dPI5+FU?B*<=q&Y0#pVtvPa zXs*Rv@BMWIlRb{XG}jY5z@n7|m=F1aNWW3Orjve|CP~Tw`Xt@NxnE|@3Oh4Q@m_&e zb-mr1W5oR$)y7M?>Dk>_#X|0r+ z8Z&!%c0em>m9L(s7= zr7&*46_b1)h46y8mly~Ko&!By3jtZ$*t~Fad#0zS2O=yXu>sChRaM6e+wUOfUJrM1 za84c+AQ}C=j~p8F0W! zgF-AUL;~LE#X_Jsb9xY9gyLhpfqIWubrI<-=NDgU3CSI=JP9dv!L~Sg9X>2JIFGf& zz2y3Gt*C(UWPzF=`pF*M2(BQhC{QAbPE~6q@=v7jrRR0}By()iJv8B-LX9ybUirT6 z=2ktikD*A$y*_;L`ELrHoL`B-IZb~eDx~J`wF-_%O@N#L6Be+MoBQhburAZw>S`K* z%LkZhouy?*LemeC1)j)oFM%5IA3(JAhucBvn8UG?Tf_fIOVzLEqC;VJ*NK{Ia!mc7 zH^jQT^g{$ciGDby=mIo~eiO3JU2)N*q$S|nT9Rr%w9)v5^UA`a+PQG#lu7plOb!_v zWtmueyHi^x^O(L&|H#;905LLGCwivQQqp{M&<2(G?TlSBdt9^%TXDSGtM>I1c3=rz zs@1RotEhOly1t&2^bGKN1ODGPD1jBg@xIvo<9?eQKxBKk8msK1b^_X)p_%EdM`OcQ zu&M8qJp5`Ahs||B5C6gBimrowdz9uP;u{!QA;4sIY;@z`iD!`dO7h&_mHY6WCTcEm zPCaZGbRVPDg~{bdJTX?-xuO8ycrXaLPIGot$5(+jVc+?9Q+?L-x~QP#aQ82R-QBOY zg+0_-bj|5@?pgSB)`5TpJCq5GyjMO%$`zybmSz($Ve94vwC@N*v-Cb7?; zPb=OW8RZ^ZDzCSJm%c}bWQ*75kC|6?`r$kM#xJw5N>duyf*$-=3n$_~zJLFI{MbME zv2S)?WLh`rko0K^$ls=<{*iSmWhv;*F-&Wj;{OX`M<&kx55o30ox>d<+pktbKN!fL zczfqQIvI)086WN`hq@S523$IaNudPa*PbDuRr0$nu0sm7@FRQ-2-mEYKWNq2M^1 zR*}b^hSi_1q?u)9f@c+lK)g91%oLT;F0Wz3`@6KX)((LN3zm>%8Q%uGoquxggf?RQ z%4sR-CBzRK%>5Q!Pf}B1?if41bRP@el~N-7a=?9j4aL9v4Rv%*j@ z)GZ-M_hteFH{E<;sz_bB=(W63dw9N$*sV+F3$@u{h-`aBZx>T12( zwx|Aw@bgQZWQtrkPu(`&uiVY0E5HX7`cNtE!_uE`ZH`VJZC{9H;_A!F-iFf)ajYYZ zfslauQ|?V)cCJnl09#h_SG9%nny2Y*Z%^xwzyK=OM*n4$1m|C@YP$9fkk?83x;Uet z+qPuya^FHO4}T(S@GU|wzu()p0-)y>ANHVWtze8FU(m9--iVp~O zF|(zKk?#W(PnKK9-FXEX^GVlg`UU zT);&!j@Hm-h4Q9Z*R1Qei($7#%dbbXG8uq< zArHQYL}(O~aP#ustvJ-JFn|5I$uXsu879OJ0-F5?Ee9{y8p{nkML<|V<3(W^F$%BB z&3L~&c!8v@x?+Ax)Hd8>iXw=hzuc@3Sc)Mg@CHYO3&08f`k=f6@D*I2JM~~%H`Ge~ z0#4r67CKJ{w3h92SZ=`F3HMefy>DGIUi`z&oWp#ag3GII8PwfNMpynT1I(SH z{Et8K`h^Sa{8=VX<*lN5Ua`TchvYihrn4;U;ple3yL)gLKfAiN_8g7>g8_LPQa^xU z&tmruc=sBygbO{>y#yk+f^>DgV0|5un6+nqgtr5KNc@v8nCd>8cR<5~qS~dBDJVWj zN^nV^D&_|6S;d@~o{A8qk@+vxNZv22CW3}v>^8+P?o~p=H_V2Vx?PgKp4OxeOAgbr zV~9MmB6`FeyI%gto60rav`i5*%c`LsoAWy(JABC)A208%cK%fyir7uu%3NG3T^T@b@ZsF@ST+|lhD-$6-u_*4 z$CNZqam6(llITA3l&jk%t?(zJ{Gli>No;wr&s!fw)YO}&bRts-dJh#8Ijowt1}gra!d_RwmJMjWk>o+s}4*+Kw5^3t}&OQl;- zm4zu`|1aJ4EM-{vS^0{vhbKL+UPg>O1tl39M^v!e?YDqq4V0dr-&5{J^~3j>aq|t3 zpxfGNw28jy&@`o<%d{@$RToFM4&`9EkxvDP<0x3g_i}j!ytWJm()N?-Gc`m@cYi-2 zXmxc}Y)*n>RE}kI=925P+`)&X`w@oX;-Akf4stWbY$(Imo~ciU-Q)FF-gfTP)8Nzv zI{94;K(nl>uI^-hB;9Xh_z`}e>#?tG%XxFFz&yF}XNjB9AEFe0eR*&ODd^ErJ;A=} zN_fq5@zdi@m11z*%c|tRQz3Dy2=Y}U8<0?51H*EP^YA;vh~39vVohx`6|4N3!r^Y+ zlar>#AH}O714kKIA^STbE)^u6^54FknH?nY`WFW%H8q}+@9wH?GH)V1%9+G6%x1D8 zQl-IA+X-h*OSa*@-#hXSh1+gKC9ih=@DcwdkY5#&no}^(YKFdKW!;gH^ag95J|<5` zEl7Uysd##{-(Aq%$m5;?SKtYYY6IzjTzdc>S3+{ z8Ytakdth47^=Gmp5679?Y`)NQoxw)>#y2NBRte>!%Rrf5XQK998%X2w?JG4pBkxtP zSzB2-);*NZw?GXXbnX+~tUc9`-as&k(?7OGmL{W+hSg&A|=6m1J?^SBjV_S}6*+`GMR#e>Jd6Au1a5wTiu| z_C5v+>}VI$5NQ#RFV!(c<8<{v7gG)lIFM(3Bj#RY)E~Cd2iSQiwOTGui^kkL%qw<< z%%`Lj0f3|>6_6%1>IE<{pf*&r)Bfuki$6&_DmoiHA4|3W{t+P#k?>OUoU9HiF8UeY z*vH8Fy{~&1Sm||(t?BrIM-N4H5Fg<1h8~Lv#5AiJiI{efEc}!WO1dSZO#^=Sb1(EV z--;K=`pfknGNQ<*e!*(Yr(6`i8QxNMZV}^bK>n=U+gV0F$GcZksvLeBx0MnDS0hCxRZ-^~P`Yw2pF3Bj_ncU?<8=h&jONgHi#l*^&3r;rvGHDz@P-Cu zC-^;^+ zVO9x$%$#G_jFoDF;PZ}c0n1!OYi8)$vr7BIH6OYw|pDxxA83wG@)OLQSR4knqedNsyKuh}iDvE*yg0 zFFwo8MA6)X8x(cpG^r3i-s4@h*Wn7G6fYifWC}WMsP7T@BUj*I0R+TdS5d&XDdr3r z8cJ!gqLv&-kv>CrHf;r5$pnVuCa|B$ADsZ4N(o6Y4cMRwofi)6zc`iiks%8Y4*v80 zab(MxQl+H{R>t}TVB+B4d z`7<+m>YAD~KGV8B@?o5_W{SHyj=KiL|Ek+?GzHa?z`Rg)B^<#@b?_Il zUO9-mxAA8hE$u1uuQolBsQ_$S#PP2-4TL=hv}xP<22Ehagyp~5bfxpZDmr?rH>5P5 z657<^42S=#`Mv0Vp|@5xXb}gzzabtHpAmu}5FPln{PXt|->WY@t^QkO_T;bq#54<* z|79f2I3ZASGcu-qp4g|zE^&wj0?YGrq~UMg3sT2nr!*&75@t2aL({eCt_ZWWhq}Os zI?0D9nCp%fa>p3QfH)s?|FW`rSZ2~*#pkS`@J$TWFJgwhs+qN~boB+4XSe;ikdJ+F z;y-a#V>uzNJKKxn^>nIm&e4}>tk2O|LNrSrL>j4?QAyVwl2&4V&wC@qKFr!83TABJ z)Nal0?X$Xb-CI8ywQP2-qJ?&M*IrM4tAx_Hodi#-pt0R7tN@Z8qnXyT;O{5LT{r;s?$ol)RW zRrGms-$4`Igunu$aFKp`{1)eC3pcV#^{2FKzU|IrF}t*^eyx2c&{QT{Dx$AO^|5}) z9vdl5&d}z~&@9G)Lk%mZQQU!b2uULc%_L zTIC!lAkGh*0z~4`Nh0f0Pnn)WImQ^rnQ5BkaYD%qjUg%O+|=UI9mGD$=jYP5XOFTn zGv&hXiCpiPU}y%%nPs;a8K zlE=v4u(|bp)&r{X;bA2Z{L2rrSJzX2N z83k+|6VluJ2D3x~XDgXSl0fkc@;~OpB z6@ZU%-J>tw@?x1xV@%yz!skp7AY25+s7jE|);hpnbEe)EQkFN5v$&a#fnY(L%BBBk zhv~qG1o(7A#O#EC?a)!~yssN#QgHNlzGg1Staqb8yO!@%e4daa+q|5B?f03`ZEC8- ziEQU7b6tTg{8#XdhddW%`LAM%ION9>}sJ zx>?(oMQNa#>%Vbxy$;yPWiVE}C zp(njO7Z)cdF`z+q_w)!oRhIwtD*k3Vu(YMXT2byOIG)$7qOvj&0<;hq5G;mgN7@gWW#qvK#R$vYg zFz}WmclUBmef{)!88=YjKT2v};s>Qr%IL3D4?i@3fDRFvXf}0g_|4=Xe{c$8WwN!h zYD2CBe3q`6%g+XED}mnb%g5)CQ{~gqEfj8Fvd*0o^qA+%r~U*J>+=EC4Wcf5pio`W z8cj{AOadZlJdr+aTpZGq$u_uod+I#VVr)@W8w1TFEL)gN){x<4DQq2d&KVESIiEP zta7JYIK@#Eb%2}pFA@;HE|k5yVptgr4Rg#cgGfM|GK*$?=W72bK;(_P++<5gbYNZUgeNX*NY4j zSUprT@cDN)Qv=v< z_Y^8r(!$gcbx@4S)$%bju*da7Zf=0lLB^h*^|#3E_5<}5^#Nzeqi`^F=ezkExhtHe z?oA%!H4m|oqKPN0-5Jvy9b0EzxDX#)Vo0uB=9ybfr!sHjOgh+a`OlP|RAFar{n`5L z&)xW_&Al=KoNA|bDnwkZ8d+TZu;)~^h+=Sg*;L)Ypy>ap?aJe!>c79TrLq&UO!S~g zNM(yDOVUE2COc6*3X^RtgAvi#LrM>0DnE&A6^4;Pmcdw($2Nm`7&}8_${2Ia{H~tY z@AvojpYP|7`^UZKb?)chd(OG%e9rrPPE3L!r?rA$R&3FEHkMB_zynJTi*fFb>xuECb>FS0*_F50En*nIT85*y6*gL^)z6L^tZ^;$s!FC@;{{bAbvJ zb%>Xgm<M4A&&sN< zUoR%Mh0}~fQNRygGT`};l8hmF;=9vVUT4sdsQ{fPaQ%8V zHU$}1z#Vz3O&Ai)9b$AJE@2j%#FpuZFU^G#3No<$1s*Jr!38^(ma#InJjleej8;P4 zc;;cZKw8>b>Rk$hpCKfL#5r6m+kB9vVz+Q53~+K)`A%Aj244rpxM^+ohW~{j_CuYM zIX5>q^W4#{^*%Nx>CD5CKg=Lio%Z4XADOsRdp$-Q7A%9Wk3=FRN;5DSpfV2A6lw2# zxXEY-r_#k}Yf!&&rwJj29?8^N#CvHdp((&tiBx&kNSRt1!Kg3Qv9c;W6F@%g4fr{^ zxhb&{&W=#|nWtb+KmvbLsao|TufA#rMKkHP=CS2Q?(D`DaV!v_|LC8VdILqHM@Kp{A&|}HV2@#q{-H-Ega!oI3!dLB>L*%C`|lb*_Kk(X z+^t*WoM>P%DBG3y0KC?U4@ANm6D=1-T;8Xou{fr$-7h;AymXmSTun;?l46 z(0?Te3>t5^lsVH=UHGlt zB6U!#5fPu^&E?NSfu6@>@|CJ4IV`$HFM5k!*&_?$1Ruk(e?bK-5wU?UdrU8Y>B)Jj zbN57uX6}r1mWDE9ZNt)@fPl?Cn7qK=iPaCBFba=u(NKFLZy4y-v&M(%;l00^TiCsO z>}|GnPS*TrK`$PiO0~Dbr{h-z&^xGuV&d|T;y3faLi`~WOIh98GYWRIC{{(tWBA&r zicR7qt{+@Gaw+YF9uQOuhN?b6wZuKi8D6J~Z$)2*jsmgG-}F5LOh#_T#55U_9||$y zDol7(gMpO2g_YlcKkJj6nDnzS5PETC5CkTHKa~NnV{;Iguznriq5ZrsRZv1w{a&5x z_~SN#Uz}fs`O_WBl^bUpkMX7#jNA!`gpmlX@Os3Jse5vBP(Z1q^2EbsrK5km{ktRN zd@s%TNH3HL-;az#cNv7THlH;vt_wxcLb`3A-6IHQ3!UudkziNF6gFq3 zZS8|?xnL{Hy|?)!CDmskdM%2u`n+>a&$L$Y3zE!rJNKpqNpNj*M*$BPwZq1N2SVEMG&N9Yi>Ce{T|^a6pc=O`dS(KskF zqK4(R6?wroQ-=y9(e;a(7V!TPcgWGc#Q$mi^hJoeRKcj1|I_>Z!#}d+SD@q!n{ckQ zEWWo{NPh#mJPx%=8^Z9cIx>d0PJjtKRl}c~&qBUL7@T*w4|`6rH)4Dn{u68I&i22v z$I42iVNN1vGBMA!Kg2evr>=2Mgocp2(~D|RI9dPc#0Wd~|L9&deJEdR93VTRL6K2~ z`kRGldSM4N;fI_Z9NzkCF1`RL|6V$9Qg^=Di;?oY2lbY@lg$pE>Y7Wcwf7_r&jp&qFXmpbUv4uyx@Uth2NW6&Ql8k%YEJ?ljM)* z1XE#FI_Qeo9z_v#HBNVqh);ALSR^mWrws4f(}DjHur4Z9 zR%KF+b?2cLT60+Re>f)I-K*7IR<;E5iFQ-oL#q)EDZlgSH~!k-?5NG_w9zN{eA-he z=82&0>{pEv^aN430j`^W4VypyT=KNj6p62<@#nF{y|_hQ+<;bqm~q#JYm=d*5XSx3 zS>ggX`D`02Y^2LZcV28S@QYNGN*1UAI1n8LT`b z+}nIbkGH26^+<+EwGH28b$lv@HHnS{msUQAPSaLXlywN0kIH^F)t@#k3_nPGt%S$d zNn3Qm<8}eUeGfeUp_BkZ?~g-&b4u3d_2~27d=3AyG{rd;JbTG|!KB($1=Pj}$9)6- zd~k%nz-|d%##}ZeYNHmkSu4WNsq1pI&UEHgE-_t^2xzw}zXs=&{E;s>O?l-)SlWrt z(jMksd=eixLw8TEFA80|S#;8L&mA5lp^aat;I-L2DBm^2>m64Dt|dvcHCbLN^)!dEZg+dh3kr`%x(mENFwSLy=`eec$3C5x(s#%P8&GAFwe* zhi^%K*4aS(l16N6@&zJ(uz?`0vRART%;DTdAAB*Ts_!Tj5CTnr)2OolrYlC2%KaLS zcv&_1`iuwIU~h!I^7>2P$)4sLwzeYN%}&L_-mH>(z1{iMN7IE)Kn!F++7=dHmbC~n zuCBLmnWLg5cO^UsnfCc}#de^fZmZMQ z@R=fulA-))hpf_^*WpwXSh(qP=AHb$Z<7?uwL^3P`$N#BqvXxzo&I%`Z&GUO1~Ia? z$p*-<#Chc1C#WGG9PXN1HVTzOooTIg%jW%QW_BVjIok)%_dPPX*unc{>N}H0b0ClR z6U0Io&SM?2miE5)V(iDzulM{GfF^TYYT82!Q`{PH&(T$8(u-yJxji*fXUxnl5> zgh{YiXbRt0=N=G7q8(bTXDH%$mjb(?0|)-NEHtrxj zwh_QgzW|u~_1@0@kjPWe&(OBvyepl%-Jlw~MicMAIN1Q;7yG9edBF_)4DVya+q+OT z%&O1@sHFSC0}wFlwu{x(y5m+hk3A*}R`1vjnmZN6@c+G2p+|mN8Q2KNq^_HBgef$Q z732W-0vmb6#iOW6^NZ85+gWQA)M*m&V7fdmbpb0GdGYJsE*)Y+&YMs4T_(Ty7V%o7 z(ndm0*dn+oXAfXQdRP-SQ~b+U2*(?nZ*rE_UrUoQRq6&DwNhRAc1>&5d$5gYoaa=t z=lI3zo}Tar<9&Abhe0j+u_2qIzutHFOLT{?>q!)gvtx0{#iJJm_Mz&Tg&v-?t`3@v z)aS+FF@T?LbPMr1Ek_mO&Q9qER zQ#Mc(atTz3vF{AGE~hB_oWrf6Hwni34^^QTJ6TtM!DZ&!FVH@{+J2{DuaWj~HMZHa zy}&-6cc$1!rQ2;z8aU*8iqOj=aacAoO{Li=+NWX*F3n8Pd>jbjh+~BLM(3f0zD(W3 za_!6o=rYp8I%@epwBzVwH|gV_b(iVwKIyn3QADT4eUZqg?m0Ai%DNDuhMo)aNIraY zBx3mTl`GZ}$vG2!x8v;@kawbVn~|zpWNUlc8hzKq^N49*!e`rr--*@jE*3>Fa$?ybP&5OMS>pGma3wd z3RTOV7?Yk6Fg+k?C{rlY-EYyZL;YD#6RrL%;XP>iUx*{DtYm)j_;u<;59r&bF!;b> MYi(y$Y2g+Bzg_b_*Z=?k From 3f10ad390b9782a541b9da720f660e086d9711ca Mon Sep 17 00:00:00 2001 From: Thalpy <33956696+Thalpy@users.noreply.github.com> Date: Thu, 20 Jun 2019 02:15:55 +0100 Subject: [PATCH 48/98] Update code/modules/mob/living/simple_animal/friendly/panda.dm Wah Co-Authored-By: deathride58 --- code/modules/mob/living/simple_animal/friendly/panda.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/friendly/panda.dm b/code/modules/mob/living/simple_animal/friendly/panda.dm index ef3f0c6c23..a7b6143ef5 100644 --- a/code/modules/mob/living/simple_animal/friendly/panda.dm +++ b/code/modules/mob/living/simple_animal/friendly/panda.dm @@ -1,6 +1,6 @@ /mob/living/simple_animal/pet/redpanda name = "Red panda" - desc = "It's a red panda." + desc = "Wah't a dork." icon = 'icons/mob/pets.dmi' icon_state = "red_panda" icon_living = "red_panda" From 88ec4e336ef6e8d496960a7921927052db9c36e6 Mon Sep 17 00:00:00 2001 From: Fermi Date: Thu, 20 Jun 2019 03:34:49 +0100 Subject: [PATCH 49/98] Small oops. --- code/modules/projectiles/ammunition/special/syringe.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/ammunition/special/syringe.dm b/code/modules/projectiles/ammunition/special/syringe.dm index 4d4dd7bcc1..d5cba6936f 100644 --- a/code/modules/projectiles/ammunition/special/syringe.dm +++ b/code/modules/projectiles/ammunition/special/syringe.dm @@ -69,9 +69,9 @@ /obj/item/ammo_casing/syringegun/dart/ready_proj(atom/target, mob/living/user, quiet, zone_override = "") ..() + var/obj/item/gun/syringe/SG = loc if(!SG.syringes.len) return - var/obj/item/gun/syringe/SG = loc var/obj/item/reagent_containers/syringe/dart/S = SG.syringes[1] if(S.emptrig == TRUE) var/obj/item/projectile/bullet/dart/syringe/dart/D = BB From 8be06ddcd0bf92d964329254a9efe956ee1c66ac Mon Sep 17 00:00:00 2001 From: Arturlang Date: Fri, 21 Jun 2019 17:27:57 +0300 Subject: [PATCH 50/98] Fixes --- code/modules/research/nanites/nanite_programs.dm | 8 +++++++- code/modules/research/nanites/nanite_programs/utility.dm | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/code/modules/research/nanites/nanite_programs.dm b/code/modules/research/nanites/nanite_programs.dm index f691c828c9..a06311f26f 100644 --- a/code/modules/research/nanites/nanite_programs.dm +++ b/code/modules/research/nanites/nanite_programs.dm @@ -57,6 +57,7 @@ deactivate() if(passive_enabled) disable_passive_effect() + on_mob_remove() if(nanites) nanites.programs -= src return ..() @@ -107,6 +108,9 @@ if(activated) //apply activation effects if it starts active activate() +datum/nanite_program/proc/on_mob_remove() + return + /datum/nanite_program/proc/toggle() if(!activated) activate() @@ -115,6 +119,7 @@ /datum/nanite_program/proc/activate() activated = TRUE + timer_counter = activation_delay /datum/nanite_program/proc/deactivate() if(passive_enabled) @@ -135,8 +140,10 @@ if(timer && timer_counter > timer) if(timer_type == NANITE_TIMER_DEACTIVATE) deactivate() + return else if(timer_type == NANITE_TIMER_SELFDELETE) qdel(src) + return else if(can_trigger && timer_type == NANITE_TIMER_TRIGGER) trigger() timer_counter = activation_delay @@ -251,4 +258,3 @@ return "Trigger" if(NANITE_TIMER_RESET) return "Reset Activation Timer" - diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index 4405401cec..77fb4e1005 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -237,7 +237,11 @@ if(prob(10)) var/list/mob/living/target_hosts = list() for(var/mob/living/L in oview(5, host_mob)) + if(!(MOB_ORGANIC in L.mob_biotypes) && !(MOB_UNDEAD in L.mob_biotypes)) + continue target_hosts += L + if(!target_hosts.len) + return var/mob/living/infectee = pick(target_hosts) if(prob(100 - (infectee.get_permeability_protection() * 100))) //this will potentially take over existing nanites! From 69a302d4f4f40932fa1c5defb0739c320f0644e9 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sat, 22 Jun 2019 00:03:28 +0200 Subject: [PATCH 51/98] Greytide Stationwide! --- modular_citadel/code/modules/client/loadout/_service.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modular_citadel/code/modules/client/loadout/_service.dm b/modular_citadel/code/modules/client/loadout/_service.dm index 9b508bb93f..062e22f966 100644 --- a/modular_citadel/code/modules/client/loadout/_service.dm +++ b/modular_citadel/code/modules/client/loadout/_service.dm @@ -1,3 +1,9 @@ +/datum/gear/greytidestationwide + name = "Grey jumpsuit" + category = SLOT_W_UNIFORM + path = /obj/item/clothing/under/color/grey + restricted_roles = list("Assistant") + /datum/gear/plushvar name = "Ratvar Plushie" category = SLOT_IN_BACKPACK From 0a43036eae95c4cff630eac68ba183bb95a00710 Mon Sep 17 00:00:00 2001 From: Sishen Date: Fri, 21 Jun 2019 20:01:19 -0400 Subject: [PATCH 52/98] hugboxing slimepeople one thing at a time --- .../antagonists/changeling/powers/panacea.dm | 2 +- code/modules/projectiles/guns/misc/medbeam.dm | 2 +- .../chemistry/reagents/medicine_reagents.dm | 17 +++++++++++++++++ .../chemistry/reagents/toxin_reagents.dm | 2 +- .../reagents/chemistry/recipes/medicine.dm | 6 ++++++ 5 files changed, 26 insertions(+), 3 deletions(-) diff --git a/code/modules/antagonists/changeling/powers/panacea.dm b/code/modules/antagonists/changeling/powers/panacea.dm index 9f7a36f214..8d571d21e3 100644 --- a/code/modules/antagonists/changeling/powers/panacea.dm +++ b/code/modules/antagonists/changeling/powers/panacea.dm @@ -29,7 +29,7 @@ O.forceMove(get_turf(user)) user.reagents.add_reagent("mutadone", 10) - user.reagents.add_reagent("pen_acid", 20) + user.reagents.add_reagent("pen_jelly", 20) user.reagents.add_reagent("antihol", 10) user.reagents.add_reagent("mannitol", 25) diff --git a/code/modules/projectiles/guns/misc/medbeam.dm b/code/modules/projectiles/guns/misc/medbeam.dm index 17c0f63955..7bdefe5e91 100644 --- a/code/modules/projectiles/guns/misc/medbeam.dm +++ b/code/modules/projectiles/guns/misc/medbeam.dm @@ -116,7 +116,7 @@ new /obj/effect/temp_visual/heal(get_turf(target), "#80F5FF") target.adjustBruteLoss(-4) target.adjustFireLoss(-4) - target.adjustToxLoss(-1) + target.adjustToxLoss(-1, forced = TRUE) target.adjustOxyLoss(-1) return diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 07a2a9c02a..458d2cd752 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -493,6 +493,23 @@ ..() . = 1 +/datum/reagent/medicine/pen_jelly + name = "Pentetic Jelly" + id = "pen_jelly" + description = "Reduces massive amounts of radiation and toxin damage while purging other chemicals from the body. Slimepeople friendly!" + reagent_state = LIQUID + color = "#E6FFF0" + metabolization_rate = 0.5 * REAGENTS_METABOLISM + +/datum/reagent/medicine/pen_jelly/on_mob_life(mob/living/carbon/M) + M.radiation -= max(M.radiation-RAD_MOB_SAFE, 0)/50 + M.adjustToxLoss(-2*REM, 0, TRUE) //HEALS TOXINOVERS + for(var/datum/reagent/R in M.reagents.reagent_list) + if(R != src) + M.reagents.remove_reagent(R.id,2) + ..() + . = 1 + /datum/reagent/medicine/sal_acid name = "Salicyclic Acid" id = "sal_acid" diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 8be95efb83..11b12c7942 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -798,7 +798,7 @@ /datum/reagent/toxin/anacea/on_mob_life(mob/living/carbon/M) var/remove_amt = 5 - if(holder.has_reagent("calomel") || holder.has_reagent("pen_acid")) + if(holder.has_reagent("calomel") || holder.has_reagent("pen_acid") || holder.has_reagent("pen_jelly")) remove_amt = 0.5 for(var/datum/reagent/medicine/R in M.reagents.reagent_list) M.reagents.remove_reagent(R.id,remove_amt) diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index dc7c32d925..9cfb761e32 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -94,6 +94,12 @@ results = list("pen_acid" = 6) required_reagents = list("welding_fuel" = 1, "chlorine" = 1, "ammonia" = 1, "formaldehyde" = 1, "sodium" = 1, "cyanide" = 1) +/datum/chemical_reaction/pen_jelly + name = "Pentetic Jelly" + id = "pen_jelly" + results = list("pen_acid" = 2) + required_reagents = list("pen_acid" = 1, "slimejelly" = 1) + /datum/chemical_reaction/sal_acid name = "Salicyclic Acid" id = "sal_acid" From 054ec6e710cbe4833b91258d3ca58250eafaa87f Mon Sep 17 00:00:00 2001 From: Sishen Date: Fri, 21 Jun 2019 21:38:53 -0400 Subject: [PATCH 53/98] Update PubbyStation.dmm --- _maps/map_files/PubbyStation/PubbyStation.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index f9792a736e..0dc0afcd0c 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -35713,13 +35713,13 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, -/obj/machinery/rnd/production/protolathe/department/medical, /obj/effect/turf_decal/tile/blue{ dir = 1 }, /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/rnd/production/techfab/department/medical, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bEw" = ( From 88dd4bdc99a777f5d020a78e9615592a6b9538d7 Mon Sep 17 00:00:00 2001 From: poptar4551 <33611085+poptar4551@users.noreply.github.com> Date: Fri, 21 Jun 2019 21:32:21 -0500 Subject: [PATCH 54/98] Brings back Big Wolf ears for humans (#8668) * Brings back Big Wolf ears for humans This use to be here, and I'm no furry, but it needed to come back. * Update modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm Co-Authored-By: Poojawa * Update modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm Co-Authored-By: Poojawa * Update modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm Co-Authored-By: Poojawa * Update modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm Co-Authored-By: Poojawa --- .../mob/dead/new_player/sprite_accessories.dm | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm index e552c2cbdd..bf811b777c 100644 --- a/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm +++ b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -191,6 +191,32 @@ icon = 'modular_citadel/icons/mob/mam_ears.dmi' color_src = MATRIXED +/datum/sprite_accessory/ears/human/bigwolf + name = "Big Wolf" + icon_state = "bigwolf" + icon = 'modular_citadel/icons/mob/mam_ears.dmi' + color_src = MATRIXED + +/datum/sprite_accessory/ears/human/bigwolfinner + name = "Big Wolf (ALT)" + icon_state = "bigwolfinner" + hasinner = 1 + icon = 'modular_citadel/icons/mob/mam_ears.dmi' + color_src = MATRIXED + +/datum/sprite_accessory/ears/human/bigwolfdark + name = "Dark Big Wolf" + icon_state = "bigwolfdark" + icon = 'modular_citadel/icons/mob/mam_ears.dmi' + color_src = MATRIXED + +/datum/sprite_accessory/ears/human/bigwolfinnerdark + name = "Dark Big Wolf (ALT)" + icon_state = "bigwolfinnerdark" + hasinner = 1 + icon = 'modular_citadel/icons/mob/mam_ears.dmi' + color_src = MATRIXED + /datum/sprite_accessory/ears/human/cow name = "Cow" icon_state = "cow" From 498c35b73308539cc4eb848a63b6ec8d80847da1 Mon Sep 17 00:00:00 2001 From: Thalpy <33956696+Thalpy@users.noreply.github.com> Date: Sat, 22 Jun 2019 03:33:34 +0100 Subject: [PATCH 55/98] Fixes empathy antag check exploit. (#8690) * Fixes exploit * Wrong way round..! * Should be okay for antags now. * Fixed githuba being dumb --- code/modules/mob/living/carbon/human/examine.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index d814893053..8550a0887f 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -294,7 +294,7 @@ if(mood.sanity <= SANITY_DISTURBED) msg += "[t_He] seem[p_s()] distressed.\n" SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "empath", /datum/mood_event/sad_empath, src) - if(mood.mood >= 5) //So roundstart people aren't all "happy" + if(mood.shown_mood >= 6) //So roundstart people aren't all "happy" and that antags don't show their true happiness. msg += "[t_He] seem[p_s()] to have had something nice happen to them recently.\n" SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "empathH", /datum/mood_event/happy_empath, src) if (HAS_TRAIT(src, TRAIT_BLIND)) From 2f96e4012095823e85afad6a2e1fbb00089a054d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Fri, 21 Jun 2019 21:33:37 -0500 Subject: [PATCH 56/98] Automatic changelog generation for PR #8690 [ci skip] --- html/changelogs/AutoChangeLog-pr-8690.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8690.yml diff --git a/html/changelogs/AutoChangeLog-pr-8690.yml b/html/changelogs/AutoChangeLog-pr-8690.yml new file mode 100644 index 0000000000..3ac76333a2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8690.yml @@ -0,0 +1,4 @@ +author: "Fermis" +delete-after: True +changes: + - bugfix: "fixes empathy exploit." From 6709483aecf5fb9b29076fc53819933bb9e01e60 Mon Sep 17 00:00:00 2001 From: Linzolle Date: Fri, 21 Jun 2019 23:06:53 -0500 Subject: [PATCH 57/98] allows quick maxing of suit sensors --- code/modules/clothing/clothing.dm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 746d5da60d..caaca3958a 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -216,6 +216,34 @@ BLIND // can't see anything ..() +/obj/item/clothing/under/CtrlClick(mob/user) + if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + return + + var/mob/M = user + if (istype(M, /mob/dead/)) + return + if (!can_use(M)) + return + if(src.has_sensor == LOCKED_SENSORS) + to_chat(usr, "The controls are locked.") + return 0 + if(src.has_sensor == BROKEN_SENSORS) + to_chat(usr, "The sensors have shorted out!") + return 0 + if(src.has_sensor <= NO_SENSORS) + to_chat(usr, "This suit does not have any sensors.") + return 0 + + sensor_mode = 3 + + to_chat(usr, "Your suit will now report your exact vital lifesigns as well as your coordinate position.") + + if(ishuman(loc)) + var/mob/living/carbon/human/H = loc + if(H.w_uniform == src) + H.update_suit_sensors() + /obj/item/clothing/under/AltClick(mob/user) if(..()) return 1 From 94b8b33efac6d71293161013e29b5625c773baca Mon Sep 17 00:00:00 2001 From: Sishen Date: Sat, 22 Jun 2019 00:41:52 -0400 Subject: [PATCH 58/98] Update medicine_reagents.dm --- code/modules/reagents/chemistry/reagents/medicine_reagents.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 458d2cd752..7f116d0049 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1119,7 +1119,7 @@ M.adjustBruteLoss(-3 * REM, 0) M.adjustFireLoss(-3 * REM, 0) M.adjustOxyLoss(-15 * REM, 0) - M.adjustToxLoss(-3 * REM, 0) + M.adjustToxLoss(-3 * REM, 0, TRUE) //Heals TOXINLOVERS M.adjustBrainLoss(2 * REM, 150) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that! M.adjustCloneLoss(-1 * REM, 0) M.adjustStaminaLoss(-30 * REM, 0) @@ -1130,7 +1130,7 @@ /datum/reagent/medicine/earthsblood/overdose_process(mob/living/M) M.hallucination = min(max(0, M.hallucination + 5), 60) - M.adjustToxLoss(5 * REM, 0) + M.adjustToxLoss(8 * REM, 0, TRUE) //Hurts TOXINLOVERS ..() . = 1 From 45109776e19f5ae7347ed88e25e8ded9d27370a3 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sat, 22 Jun 2019 17:05:08 +0200 Subject: [PATCH 59/98] Ports in "Liver removal/failure now also stops passive reagent effects" --- code/modules/mob/living/carbon/life.dm | 1 + code/modules/reagents/chemistry/holder.dm | 21 +++++++++++++++ code/modules/reagents/chemistry/reagents.dm | 12 +++++++++ .../chemistry/reagents/alcohol_reagents.dm | 26 +++++++++---------- .../chemistry/reagents/blob_reagents.dm | 2 +- .../chemistry/reagents/drink_reagents.dm | 4 +-- .../chemistry/reagents/drug_reagents.dm | 14 +++++----- .../chemistry/reagents/food_reagents.dm | 2 +- .../chemistry/reagents/medicine_reagents.dm | 22 ++++++++-------- .../chemistry/reagents/other_reagents.dm | 22 ++++++++-------- .../chemistry/reagents/toxin_reagents.dm | 18 ++++++------- .../chemistry/reagents/other_reagents.dm | 4 +-- 12 files changed, 91 insertions(+), 57 deletions(-) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 571775d541..b2eb83d668 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -654,6 +654,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put L.damage += d /mob/living/carbon/proc/liver_failure() + reagents.end_metabolization(src, keep_liverless = TRUE) //Stops trait-based effects on reagents, to prevent permanent buffs reagents.metabolize(src, can_overdose=FALSE, liverless = TRUE) if(HAS_TRAIT(src, TRAIT_STABLEHEART)) return diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 58c29f351b..cc93a28ed8 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -267,6 +267,9 @@ continue if(!C) C = R.holder.my_atom + if(!R.metabolizing) + R.metabolizing = TRUE + R.on_mob_metabolize(C) if(C && R) if(C.reagent_check(R) != 1) if(can_overdose) @@ -313,6 +316,21 @@ C.update_stamina() update_total() +//Signals that metabolization has stopped, triggering the end of trait-based effects +/datum/reagents/proc/end_metabolization(mob/living/carbon/C, keep_liverless = TRUE) + var/list/cached_reagents = reagent_list + for(var/reagent in cached_reagents) + var/datum/reagent/R = reagent + if(QDELETED(R.holder)) + continue + if(keep_liverless && R.self_consuming) //Will keep working without a liver + continue + if(!C) + C = R.holder.my_atom + if(R.metabolizing) + R.metabolizing = FALSE + R.on_mob_end_metabolize(C) + /datum/reagents/proc/conditional_update_move(atom/A, Running = 0) var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) @@ -466,6 +484,9 @@ if(R.id == reagent) if(my_atom && isliving(my_atom)) var/mob/living/M = my_atom + if(R.metabolizing) + R.metabolizing = FALSE + R.on_mob_end_metabolize(M) R.on_mob_delete(M) qdel(R) reagent_list -= R diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index a52bb1ecfe..9bfbffd330 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -33,6 +33,10 @@ var/addiction_stage4_end = 40 var/overdosed = 0 // You fucked up and this is now triggering its overdose effects, purge that shit quick. var/self_consuming = FALSE + var/metabolizing = FALSE + + + /datum/reagent/Destroy() // This should only be called by the holder, so it's already handled clearing its references . = ..() @@ -68,6 +72,14 @@ /datum/reagent/proc/on_mob_delete(mob/living/L) return +// Called when this reagent first starts being metabolized by a liver +/datum/reagent/proc/on_mob_metabolize(mob/living/L) + return + +// Called when this reagent stops being metabolized by a liver +/datum/reagent/proc/on_mob_end_metabolize(mob/living/L) + return + /datum/reagent/proc/on_move(mob/M) return diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 14963a6689..80e195d5ac 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -111,7 +111,7 @@ All effects don't start immediately, but rather get worse over time; the rate is M.add_atom_colour(color, TEMPORARY_COLOUR_PRIORITY) return ..() -/datum/reagent/consumable/ethanol/beer/green/on_mob_delete(mob/living/M) +/datum/reagent/consumable/ethanol/beer/green/on_mob_end_metabolize(mob/living/M) M.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, color) /datum/reagent/consumable/ethanol/kahlua @@ -569,13 +569,13 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "Tequila and Coffee liqueur, brought together in a mouthwatering mixture. Drink up." var/tough_text -/datum/reagent/consumable/ethanol/brave_bull/on_mob_add(mob/living/M) +/datum/reagent/consumable/ethanol/brave_bull/on_mob_metabolize(mob/living/M) tough_text = pick("brawny", "tenacious", "tough", "hardy", "sturdy") //Tuff stuff to_chat(M, "You feel [tough_text]!") M.maxHealth += 10 //Brave Bull makes you sturdier, and thus capable of withstanding a tiny bit more punishment. M.health += 10 -/datum/reagent/consumable/ethanol/brave_bull/on_mob_delete(mob/living/M) +/datum/reagent/consumable/ethanol/brave_bull/on_mob_end_metabolize(mob/living/M) to_chat(M, "You no longer feel [tough_text].") M.maxHealth -= 10 M.health = min(M.health - 10, M.maxHealth) //This can indeed crit you if you're alive solely based on alchol ingestion @@ -593,7 +593,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "Oh great, now you feel nostalgic about sunrises back on Terra..." var/obj/effect/light_holder -/datum/reagent/consumable/ethanol/tequila_sunrise/on_mob_add(mob/living/M) +/datum/reagent/consumable/ethanol/tequila_sunrise/on_mob_metabolize(mob/living/M) to_chat(M, "You feel gentle warmth spread through your body!") light_holder = new(M) light_holder.set_light(3, 0.7, "#FFCC00") //Tequila Sunrise makes you radiate dim light, like a sunrise! @@ -605,7 +605,7 @@ All effects don't start immediately, but rather get worse over time; the rate is light_holder.forceMove(M) return ..() -/datum/reagent/consumable/ethanol/tequila_sunrise/on_mob_delete(mob/living/M) +/datum/reagent/consumable/ethanol/tequila_sunrise/on_mob_end_metabolize(mob/living/M) to_chat(M, "The warmth in your body fades.") QDEL_NULL(light_holder) @@ -671,7 +671,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "A manly concoction made from Ale and Beer. Intended for true men only." var/dorf_mode -/datum/reagent/consumable/ethanol/manly_dorf/on_mob_add(mob/living/M) +/datum/reagent/consumable/ethanol/manly_dorf/on_mob_metabolize(mob/living/M) if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.dna.check_mutation(DWARFISM) || HAS_TRAIT(H, TRAIT_ALCOHOL_TOLERANCE)) @@ -722,7 +722,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "Kahlua, Irish Cream, and cognac. You will get bombed." shot_glass_icon_state = "b52glass" -/datum/reagent/consumable/ethanol/b52/on_mob_add(mob/living/M) +/datum/reagent/consumable/ethanol/b52/on_mob_metabolize(mob/living/M) playsound(M, 'sound/effects/explosion_distant.ogg', 100, FALSE) /datum/reagent/consumable/ethanol/irishcoffee @@ -1534,7 +1534,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "If you're feeling low, count on the buttery flavor of our own bastion bourbon." shot_glass_icon_state = "shotglassgreen" -/datum/reagent/consumable/ethanol/bastion_bourbon/on_mob_add(mob/living/L) +/datum/reagent/consumable/ethanol/bastion_bourbon/on_mob_metabolize(mob/living/L) var/heal_points = 10 if(L.health <= 0) heal_points = 20 //heal more if we're in softcrit @@ -1618,7 +1618,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "Crevice Spike" glass_desc = "It'll either knock the drunkenness out of you or knock you out cold. Both, probably." -/datum/reagent/consumable/ethanol/crevice_spike/on_mob_add(mob/living/L) //damage only applies when drink first enters system and won't again until drink metabolizes out +/datum/reagent/consumable/ethanol/crevice_spike/on_mob_metabolize(mob/living/L) //damage only applies when drink first enters system and won't again until drink metabolizes out L.adjustBruteLoss(3 * min(5,volume)) //minimum 3 brute damage on ingestion to limit non-drink means of injury - a full 5 unit gulp of the drink trucks you for the full 15 /datum/reagent/consumable/ethanol/sake @@ -1661,7 +1661,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "A creamy, indulgent delight that is stronger than it seems." var/obj/item/shield/mighty_shield -/datum/reagent/consumable/ethanol/alexander/on_mob_add(mob/living/L) +/datum/reagent/consumable/ethanol/alexander/on_mob_metabolize(mob/living/L) if(ishuman(L)) var/mob/living/carbon/human/thehuman = L for(var/obj/item/shield/theshield in thehuman.contents) @@ -1675,7 +1675,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(mighty_shield && !(mighty_shield in L.contents)) //If you had a shield and lose it, you lose the reagent as well. Otherwise this is just a normal drink. L.reagents.del_reagent("alexander") -/datum/reagent/consumable/ethanol/alexander/on_mob_delete(mob/living/L) +/datum/reagent/consumable/ethanol/alexander/on_mob_end_metabolize(mob/living/L) if(mighty_shield) mighty_shield.block_chance -= 10 to_chat(L,"You notice [mighty_shield] looks worn again. Weird.") @@ -1796,7 +1796,7 @@ All effects don't start immediately, but rather get worse over time; the rate is M.overeatduration = 0 return ..() -/datum/reagent/consumable/ethanol/fanciulli/on_mob_add(mob/living/M) +/datum/reagent/consumable/ethanol/fanciulli/on_mob_metabolize(mob/living/M) if(M.health > 0) M.adjustStaminaLoss(20) . = TRUE @@ -1820,7 +1820,7 @@ All effects don't start immediately, but rather get worse over time; the rate is M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) return ..() -/datum/reagent/consumable/ethanol/branca_menta/on_mob_add(mob/living/M) +/datum/reagent/consumable/ethanol/branca_menta/on_mob_metabolize(mob/living/M) if(M.health > 0) M.adjustStaminaLoss(35) . = TRUE diff --git a/code/modules/reagents/chemistry/reagents/blob_reagents.dm b/code/modules/reagents/chemistry/reagents/blob_reagents.dm index 8ee9449468..af85b6b35f 100644 --- a/code/modules/reagents/chemistry/reagents/blob_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/blob_reagents.dm @@ -204,7 +204,7 @@ C.hal_screwyhud = SCREWYHUD_HEALTHY //fully healed, honest ..() -/datum/reagent/blob/regenerative_materia/on_mob_delete(mob/living/M) +/datum/reagent/blob/regenerative_materia/on_mob_end_metabolize(mob/living/M) if(iscarbon(M)) var/mob/living/carbon/N = M N.hal_screwyhud = 0 diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index ac15eb6b01..6d0d1e13c6 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -390,11 +390,11 @@ glass_name = "glass of Nuka Cola" glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland." -/datum/reagent/consumable/nuka_cola/on_mob_add(mob/living/L) +/datum/reagent/consumable/nuka_cola/on_mob_metabolize(mob/living/L) ..() ADD_TRAIT(L, TRAIT_GOTTAGOFAST, id) -/datum/reagent/consumable/nuka_cola/on_mob_delete(mob/living/L) +/datum/reagent/consumable/nuka_cola/on_mob_end_metabolize(mob/living/L) REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) ..() diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 04dad3a065..a4586dd997 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -5,7 +5,7 @@ taste_description = "bitterness" var/trippy = TRUE //Does this drug make you trip? -/datum/reagent/drug/on_mob_delete(mob/living/M) +/datum/reagent/drug/on_mob_end_metabolize(mob/living/M) if(trippy) SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "[id]_high") @@ -168,11 +168,11 @@ var/jitter = TRUE var/confusion = TRUE -/datum/reagent/drug/methamphetamine/on_mob_add(mob/living/L) +/datum/reagent/drug/methamphetamine/on_mob_metabolize(mob/living/L) ..() L.ignore_slowdown(id) -/datum/reagent/drug/methamphetamine/on_mob_delete(mob/living/L) +/datum/reagent/drug/methamphetamine/on_mob_end_metabolize(mob/living/L) L.unignore_slowdown(id) ..() @@ -262,7 +262,7 @@ taste_description = "salt" // because they're bathsalts? var/datum/brain_trauma/special/psychotic_brawling/bath_salts/rage -/datum/reagent/drug/bath_salts/on_mob_add(mob/living/L) +/datum/reagent/drug/bath_salts/on_mob_metabolize(mob/living/L) ..() ADD_TRAIT(L, TRAIT_STUNIMMUNE, id) ADD_TRAIT(L, TRAIT_SLEEPIMMUNE, id) @@ -271,7 +271,7 @@ rage = new() C.gain_trauma(rage, TRAUMA_RESILIENCE_ABSOLUTE) -/datum/reagent/drug/bath_salts/on_mob_delete(mob/living/L) +/datum/reagent/drug/bath_salts/on_mob_end_metabolize(mob/living/L) REMOVE_TRAIT(L, TRAIT_STUNIMMUNE, id) REMOVE_TRAIT(L, TRAIT_SLEEPIMMUNE, id) if(rage) @@ -381,7 +381,7 @@ addiction_stage3_end = 40 addiction_stage4_end = 240 -/datum/reagent/drug/skooma/on_mob_add(mob/living/L) +/datum/reagent/drug/skooma/on_mob_metabolize(mob/living/L) . = ..() ADD_TRAIT(L, TRAIT_GOTTAGOFAST, id) L.next_move_modifier *= 2 @@ -392,7 +392,7 @@ if(H.dna && H.dna.species) H.dna.species.punchdamagehigh *= 5 -/datum/reagent/drug/skooma/on_mob_delete(mob/living/L) +/datum/reagent/drug/skooma/on_mob_end_metabolize(mob/living/L) . = ..() REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) L.next_move_modifier *= 0.5 diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index afa469706a..05c75493b4 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -686,7 +686,7 @@ /datum/reagent/consumable/tinlux/reaction_mob(mob/living/M) M.set_light(2) -/datum/reagent/consumable/tinlux/on_mob_delete(mob/living/M) +/datum/reagent/consumable/tinlux/on_mob_end_metabolize(mob/living/M) M.set_light(-2) /datum/reagent/consumable/vitfro diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 07a2a9c02a..0a70316495 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -366,7 +366,7 @@ to_chat(M, "You feel your wounds fade away to nothing!" ) ..() -/datum/reagent/medicine/mine_salve/on_mob_delete(mob/living/M) +/datum/reagent/medicine/mine_salve/on_mob_end_metabolize(mob/living/M) if(iscarbon(M)) var/mob/living/carbon/N = M N.hal_screwyhud = SCREWYHUD_NONE @@ -630,11 +630,11 @@ overdose_threshold = 30 addiction_threshold = 25 -/datum/reagent/medicine/morphine/on_mob_add(mob/living/L) +/datum/reagent/medicine/morphine/on_mob_metabolize(mob/living/L) ..() L.ignore_slowdown(id) -/datum/reagent/medicine/morphine/on_mob_delete(mob/living/L) +/datum/reagent/medicine/morphine/on_mob_end_metabolize(mob/living/L) L.unignore_slowdown(id) ..() @@ -875,11 +875,11 @@ metabolization_rate = 0.5 * REAGENTS_METABOLISM overdose_threshold = 60 -/datum/reagent/medicine/stimulants/on_mob_add(mob/living/L) +/datum/reagent/medicine/stimulants/on_mob_metabolize(mob/living/L) ..() ADD_TRAIT(L, TRAIT_GOTTAGOFAST, id) -/datum/reagent/medicine/stimulants/on_mob_delete(mob/living/L) +/datum/reagent/medicine/stimulants/on_mob_end_metabolize(mob/living/L) REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) ..() @@ -1188,11 +1188,11 @@ color = "#C8A5DC" metabolization_rate = 1 -/datum/reagent/medicine/changelinghaste/on_mob_add(mob/living/L) +/datum/reagent/medicine/changelinghaste/on_mob_metabolize(mob/living/L) ..() ADD_TRAIT(L, TRAIT_GOTTAGOREALLYFAST, id) -/datum/reagent/medicine/changelinghaste/on_mob_delete(mob/living/L) +/datum/reagent/medicine/changelinghaste/on_mob_end_metabolize(mob/living/L) REMOVE_TRAIT(L, TRAIT_GOTTAGOREALLYFAST, id) ..() @@ -1223,11 +1223,11 @@ id = "muscle_stimulant" description = "A potent chemical that allows someone under its influence to be at full physical ability even when under massive amounts of pain." -/datum/reagent/medicine/muscle_stimulant/on_mob_add(mob/living/M) +/datum/reagent/medicine/muscle_stimulant/on_mob_metabolize(mob/living/M) . = ..() M.ignore_slowdown(id) -/datum/reagent/medicine/muscle_stimulant/on_mob_delete(mob/living/M) +/datum/reagent/medicine/muscle_stimulant/on_mob_end_metabolize(mob/living/M) . = ..() M.unignore_slowdown(id) @@ -1242,11 +1242,11 @@ taste_description = "salt" // it actually does taste salty var/overdose_progress = 0 // to track overdose progress -/datum/reagent/medicine/modafinil/on_mob_add(mob/living/M) +/datum/reagent/medicine/modafinil/on_mob_metabolize(mob/living/M) ADD_TRAIT(M, TRAIT_SLEEPIMMUNE, id) ..() -/datum/reagent/medicine/modafinil/on_mob_delete(mob/living/M) +/datum/reagent/medicine/modafinil/on_mob_end_metabolize(mob/living/M) REMOVE_TRAIT(M, TRAIT_SLEEPIMMUNE, id) ..() diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 40242909de..5f2592670d 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -196,11 +196,11 @@ glass_name = "glass of holy water" glass_desc = "A glass of holy water." -/datum/reagent/water/holywater/on_mob_add(mob/living/L) +/datum/reagent/water/holywater/on_mob_metabolize(mob/living/L) ..() ADD_TRAIT(L, TRAIT_HOLY, id) -/datum/reagent/water/holywater/on_mob_delete(mob/living/L) +/datum/reagent/water/holywater/on_mob_end_metabolize(mob/living/L) REMOVE_TRAIT(L, TRAIT_HOLY, id) ..() @@ -1241,12 +1241,12 @@ color = "E1A116" taste_description = "sourness" -/datum/reagent/stimulum/on_mob_add(mob/living/L) +/datum/reagent/stimulum/on_mob_metabolize(mob/living/L) ..() ADD_TRAIT(L, TRAIT_STUNIMMUNE, id) ADD_TRAIT(L, TRAIT_SLEEPIMMUNE, id) -/datum/reagent/stimulum/on_mob_delete(mob/living/L) +/datum/reagent/stimulum/on_mob_end_metabolize(mob/living/L) REMOVE_TRAIT(L, TRAIT_STUNIMMUNE, id) REMOVE_TRAIT(L, TRAIT_SLEEPIMMUNE, id) ..() @@ -1266,11 +1266,11 @@ color = "90560B" taste_description = "burning" -/datum/reagent/nitryl/on_mob_add(mob/living/L) +/datum/reagent/nitryl/on_mob_metabolize(mob/living/L) ..() ADD_TRAIT(L, TRAIT_GOTTAGOFAST, id) -/datum/reagent/nitryl/on_mob_delete(mob/living/L) +/datum/reagent/nitryl/on_mob_end_metabolize(mob/living/L) REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, id) ..() @@ -1723,7 +1723,7 @@ H.update_transform() ..() -/datum/reagent/growthserum/on_mob_delete(mob/living/M) +/datum/reagent/growthserum/on_mob_end_metabolize(mob/living/M) M.resize = 1/current_size M.update_transform() ..() @@ -1777,11 +1777,11 @@ taste_description = "water" metabolization_rate = 0.25 * REAGENTS_METABOLISM -/datum/reagent/pax/on_mob_add(mob/living/L) +/datum/reagent/pax/on_mob_metabolize(mob/living/L) ..() ADD_TRAIT(L, TRAIT_PACIFISM, id) -/datum/reagent/pax/on_mob_delete(mob/living/L) +/datum/reagent/pax/on_mob_end_metabolize(mob/living/L) REMOVE_TRAIT(L, TRAIT_PACIFISM, id) ..() @@ -1793,11 +1793,11 @@ taste_description = "acrid cinnamon" metabolization_rate = 0.2 * REAGENTS_METABOLISM -/datum/reagent/bz_metabolites/on_mob_add(mob/living/L) +/datum/reagent/bz_metabolites/on_mob_metabolize(mob/living/L) ..() ADD_TRAIT(L, CHANGELING_HIVEMIND_MUTE, id) -/datum/reagent/bz_metabolites/on_mob_delete(mob/living/L) +/datum/reagent/bz_metabolites/on_mob_end_metabolize(mob/living/L) ..() REMOVE_TRAIT(L, CHANGELING_HIVEMIND_MUTE, id) diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 8be95efb83..2fe06b6b6d 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -156,11 +156,11 @@ toxpwr = 0.5 taste_description = "death" -/datum/reagent/toxin/zombiepowder/on_mob_add(mob/living/L) +/datum/reagent/toxin/zombiepowder/on_mob_metabolize(mob/living/L) ..() L.fakedeath(id) -/datum/reagent/toxin/zombiepowder/on_mob_delete(mob/living/L) +/datum/reagent/toxin/zombiepowder/on_mob_end_metabolize(mob/living/L) L.cure_fakedeath(id) ..() @@ -178,11 +178,11 @@ toxpwr = 0.8 taste_description = "death" -/datum/reagent/toxin/ghoulpowder/on_mob_add(mob/living/L) +/datum/reagent/toxin/ghoulpowder/on_mob_metabolize(mob/living/L) ..() ADD_TRAIT(L, TRAIT_FAKEDEATH, id) -/datum/reagent/toxin/ghoulpowder/on_mob_delete(mob/living/L) +/datum/reagent/toxin/ghoulpowder/on_mob_end_metabolize(mob/living/L) REMOVE_TRAIT(L, TRAIT_FAKEDEATH, id) ..() @@ -626,7 +626,7 @@ toxpwr = 0 metabolization_rate = 0.5 * REAGENTS_METABOLISM -/datum/reagent/toxin/amanitin/on_mob_delete(mob/living/M) +/datum/reagent/toxin/amanitin/on_mob_end_metabolize(mob/living/M) var/toxdamage = current_cycle*3*REM M.log_message("has taken [toxdamage] toxin damage from amanitin toxin", LOG_ATTACK) M.adjustToxLoss(toxdamage) @@ -742,7 +742,7 @@ animate(transform = matrix(-rotation, MATRIX_ROTATE), time = 5, easing = QUAD_EASING) return ..() -/datum/reagent/toxin/rotatium/on_mob_delete(mob/living/M) +/datum/reagent/toxin/rotatium/on_mob_end_metabolize(mob/living/M) if(M && M.hud_used) var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"]) for(var/whole_screen in screens) @@ -779,7 +779,7 @@ */ return ..() -/datum/reagent/toxin/skewium/on_mob_delete(mob/living/M) +/datum/reagent/toxin/skewium/on_mob_end_metabolize(mob/living/M) if(M && M.hud_used) var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"]) for(var/whole_screen in screens) @@ -882,8 +882,8 @@ toxpwr = 0 taste_description = "stillness" -/datum/reagent/toxin/mimesbane/on_mob_add(mob/living/L) +/datum/reagent/toxin/mimesbane/on_mob_metabolize(mob/living/L) ADD_TRAIT(L, TRAIT_EMOTEMUTE, id) -/datum/reagent/toxin/mimesbane/on_mob_delete(mob/living/L) +/datum/reagent/toxin/mimesbane/on_mob_end_metabolize(mob/living/L) REMOVE_TRAIT(L, TRAIT_EMOTEMUTE, id) diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/other_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/other_reagents.dm index 0f71a71add..00063c22d4 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -17,13 +17,13 @@ M.adjustStaminaLoss(-5*REM) . = ..() -/datum/reagent/syndicateadrenals/on_mob_add(mob/living/M) +/datum/reagent/syndicateadrenals/on_mob_metabolize(mob/living/M) . = ..() if(istype(M)) M.next_move_modifier *= 0.5 to_chat(M, "You feel an intense surge of energy rushing through your veins.") -/datum/reagent/syndicateadrenals/on_mob_delete(mob/living/M) +/datum/reagent/syndicateadrenals/on_mob_end_metabolize(mob/living/M) . = ..() if(istype(M)) M.next_move_modifier *= 2 From d50afb92757dc405483267644fad262f61c21327 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sat, 22 Jun 2019 17:58:42 +0200 Subject: [PATCH 60/98] frickkkkeroni pepperoni garlic. --- code/modules/reagents/chemistry/reagents/medicine_reagents.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 0a70316495..ce4dffb69a 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1210,11 +1210,11 @@ color = "#F5F5F5" self_consuming = TRUE -/datum/reagent/medicine/corazone/on_mob_add(mob/living/M) +/datum/reagent/medicine/corazone/on_mob_metabolize(mob/living/M) ..() ADD_TRAIT(M, TRAIT_STABLEHEART, id) -/datum/reagent/medicine/corazone/on_mob_delete(mob/living/M) +/datum/reagent/medicine/corazone/on_mob_end_metabolize(mob/living/M) REMOVE_TRAIT(M, TRAIT_STABLEHEART, id) ..() From 846f6789da54d00011c1afbdc3e62cbe18f05cd9 Mon Sep 17 00:00:00 2001 From: Linzolle Date: Sat, 22 Jun 2019 11:05:34 -0500 Subject: [PATCH 61/98] suggested changes --- code/modules/clothing/clothing.dm | 34 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index caaca3958a..767b700051 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -217,30 +217,30 @@ BLIND // can't see anything ..() /obj/item/clothing/under/CtrlClick(mob/user) - if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + . = ..() + + if (!(item_flags & IN_INVENTORY)) return - var/mob/M = user - if (istype(M, /mob/dead/)) + if(!isliving(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return - if (!can_use(M)) + + if(has_sensor == LOCKED_SENSORS) + to_chat(user, "The controls are locked.") + return + if(has_sensor == BROKEN_SENSORS) + to_chat(user, "The sensors have shorted out!") + return + if(has_sensor <= NO_SENSORS) + to_chat(user, "This suit does not have any sensors.") return - if(src.has_sensor == LOCKED_SENSORS) - to_chat(usr, "The controls are locked.") - return 0 - if(src.has_sensor == BROKEN_SENSORS) - to_chat(usr, "The sensors have shorted out!") - return 0 - if(src.has_sensor <= NO_SENSORS) - to_chat(usr, "This suit does not have any sensors.") - return 0 - sensor_mode = 3 + sensor_mode = SENSOR_COORDS - to_chat(usr, "Your suit will now report your exact vital lifesigns as well as your coordinate position.") + to_chat(user, "Your suit will now report your exact vital lifesigns as well as your coordinate position.") - if(ishuman(loc)) - var/mob/living/carbon/human/H = loc + if(ishuman(user)) + var/mob/living/carbon/human/H = user if(H.w_uniform == src) H.update_suit_sensors() From 1d4f55cab2e6b7326dba07281554970b54d39d03 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 22 Jun 2019 13:34:08 -0400 Subject: [PATCH 62/98] makes tower shield be seeable --- code/game/objects/items/shields.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index e70e8553ed..a9f0e038df 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -170,7 +170,7 @@ name = "tower shield" desc = "A massive shield that can block a lot of attacks, can take a lot of abuse before braking." armor = list("melee" = 95, "bullet" = 95, "laser" = 75, "energy" = 60, "bomb" = 90, "bio" = 90, "rad" = 0, "fire" = 90, "acid" = 10) //Armor for the item, dosnt transfer to user - icon_state = "metal" + item_state = "metal" block_chance = 75 //1/4 shots will hit* force = 10 slowdown = 2 From 2276f65c029107468509fed7d6f617dae64860c8 Mon Sep 17 00:00:00 2001 From: Sishen Date: Sat, 22 Jun 2019 14:27:08 -0400 Subject: [PATCH 63/98] holy shit it actually works --- .../chemistry/reagents/medicine_reagents.dm | 19 +++++-------------- .../reagents/chemistry/recipes/medicine.dm | 2 +- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 7f116d0049..cbdeeeced1 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -483,32 +483,23 @@ reagent_state = LIQUID color = "#E6FFF0" metabolization_rate = 0.5 * REAGENTS_METABOLISM + var/healtoxinlover = FALSE /datum/reagent/medicine/pen_acid/on_mob_life(mob/living/carbon/M) M.radiation -= max(M.radiation-RAD_MOB_SAFE, 0)/50 - M.adjustToxLoss(-2*REM, 0) + M.adjustToxLoss(-2*REM, 0, healtoxinlover) for(var/datum/reagent/R in M.reagents.reagent_list) if(R != src) M.reagents.remove_reagent(R.id,2) ..() . = 1 -/datum/reagent/medicine/pen_jelly +/datum/reagent/medicine/pen_acid/pen_jelly name = "Pentetic Jelly" id = "pen_jelly" description = "Reduces massive amounts of radiation and toxin damage while purging other chemicals from the body. Slimepeople friendly!" - reagent_state = LIQUID - color = "#E6FFF0" - metabolization_rate = 0.5 * REAGENTS_METABOLISM - -/datum/reagent/medicine/pen_jelly/on_mob_life(mob/living/carbon/M) - M.radiation -= max(M.radiation-RAD_MOB_SAFE, 0)/50 - M.adjustToxLoss(-2*REM, 0, TRUE) //HEALS TOXINOVERS - for(var/datum/reagent/R in M.reagents.reagent_list) - if(R != src) - M.reagents.remove_reagent(R.id,2) - ..() - . = 1 + color = "#91D865" + healtoxinlover = TRUE /datum/reagent/medicine/sal_acid name = "Salicyclic Acid" diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 9cfb761e32..727048a12c 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -97,7 +97,7 @@ /datum/chemical_reaction/pen_jelly name = "Pentetic Jelly" id = "pen_jelly" - results = list("pen_acid" = 2) + results = list("pen_jelly" = 2) required_reagents = list("pen_acid" = 1, "slimejelly" = 1) /datum/chemical_reaction/sal_acid From 41c05861540439947299d5aa9d553645ff9e072b Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 23 Jun 2019 06:28:37 +0200 Subject: [PATCH 64/98] Ports in "makes the abductor console use radials" --- .../antagonists/abductor/machinery/console.dm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/abductor/machinery/console.dm b/code/modules/antagonists/abductor/machinery/console.dm index a14b667069..3e4984b554 100644 --- a/code/modules/antagonists/abductor/machinery/console.dm +++ b/code/modules/antagonists/abductor/machinery/console.dm @@ -126,8 +126,20 @@ if(vest) vest.flip_mode() -/obj/machinery/abductor/console/proc/SelectDisguise(remote = 0) - var/entry_name = input( "Choose Disguise", "Disguise") as null|anything in disguises +/obj/machinery/abductor/console/proc/SelectDisguise(remote = FALSE) +var/list/disguises2 = list() + for(var/name in disguises) + var/datum/icon_snapshot/snap = disguises[name] + var/image/dummy = image(snap.icon, src, snap.icon_state) + dummy.overlays = snap.overlays + disguises2[name] = dummy + + var/entry_name + if(remote) + entry_name = show_radial_menu(usr, camera.eyeobj, disguises2) + else + entry_name = show_radial_menu(usr, src, disguises2) + var/datum/icon_snapshot/chosen = disguises[entry_name] if(chosen && vest && (remote || in_range(usr,src))) vest.SetDisguise(chosen) From d1008122daccf80dcbe1dddd28e6ea2989586b29 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 23 Jun 2019 06:33:27 +0200 Subject: [PATCH 65/98] indention bested me. --- code/modules/antagonists/abductor/machinery/console.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/abductor/machinery/console.dm b/code/modules/antagonists/abductor/machinery/console.dm index 3e4984b554..52bda50b86 100644 --- a/code/modules/antagonists/abductor/machinery/console.dm +++ b/code/modules/antagonists/abductor/machinery/console.dm @@ -127,7 +127,7 @@ vest.flip_mode() /obj/machinery/abductor/console/proc/SelectDisguise(remote = FALSE) -var/list/disguises2 = list() + var/list/disguises2 = list() for(var/name in disguises) var/datum/icon_snapshot/snap = disguises[name] var/image/dummy = image(snap.icon, src, snap.icon_state) From 7f4d60ae25abc60591d6febe46f8581ea6fdbb98 Mon Sep 17 00:00:00 2001 From: TrilbySpaseClone Date: Sun, 23 Jun 2019 01:49:45 -0400 Subject: [PATCH 66/98] Poojawa this would been easyer with webedits --- code/modules/clothing/under/miscellaneous.dm | 8 ++++++++ .../code/modules/client/loadout/uniform.dm | 6 ++++++ .../icons/obj/clothing/cit_clothes.dmi | Bin 2077 -> 2493 bytes 3 files changed, 14 insertions(+) diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index bcd9642662..7d338063a5 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -749,3 +749,11 @@ fitted = NO_FEMALE_UNIFORM can_adjust = FALSE resistance_flags = NONE + +/obj/item/clothing/under/gear_harness + name = "gear harness" + desc = "A simple, inconspicuous harness replacement for a jumpsuit." + icon = 'modular_citadel/icons/obj/clothing/cit_clothes.dmi' + icon_state = "gear_harness" + item_state = "golem" //This allows us to have no clothing on us well also hiding the cit lewd bits unless we show them. + body_parts_covered = CHEST|GROIN \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/uniform.dm b/modular_citadel/code/modules/client/loadout/uniform.dm index 07309ffd0d..997b25313d 100644 --- a/modular_citadel/code/modules/client/loadout/uniform.dm +++ b/modular_citadel/code/modules/client/loadout/uniform.dm @@ -303,3 +303,9 @@ path = /obj/item/clothing/under/rank/trek/engsec/ent restricted_desc = "Engineering and Security" restricted_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer","Warden","Detective","Security Officer","Head of Security","Cargo Technician", "Shaft Miner", "Quartermaster") + +//memes +/datum/gear/gear_harnesses + name = "Gear Harness" + category = SLOT_W_UNIFORM + path = /obj/item/clothing/under/gear_harness \ No newline at end of file diff --git a/modular_citadel/icons/obj/clothing/cit_clothes.dmi b/modular_citadel/icons/obj/clothing/cit_clothes.dmi index 8cc6ca2950316e64c19c81363327f03c30303fff..b88e1bd786ff3873521e7932b5be595e3b67d2a7 100644 GIT binary patch literal 2493 zcmV;u2}1UXP)V=-0C=2@$~_LkFbqK9IX;Ee?ufrN3rdADv{yh;V;T!+k!|Sp87i@%vb`sL zHJ+Mt>@c(u-XzM?h#rrdEx4Jp74&%6gDb>Cv1Qbf5qhkYdcCn&1unBFdfb7#N_x=J zUsxvn51Q(W*V&!s+^6TN8z{-8BpFHd7p}4C0){ri2ht`>;Pol)MF0Q@=Sf6CRCt{2 zn{P}T*8#wPCcq3B9O6F&^2a8WD4CW z#@AENEic312EZD)vtbcm#p!HybsP>&JiQ5G`6QxhYy6|HJP! z3*BR>7_L={-zmta>8%bvU;hFgkB2>b_GnsKT11P*!kYh`X8*ooKJ4mcB(Fx6GW6^_ zA$Iwud2;&%A9?lC^{v?f{&F>q0&^l;-ug{Uc}FeaQrS^)XHp^neRpPfW8`zTjZe|7 zOXi?q4VzYlJ5&4ZX;~!H*Vl`Mg@t%L9^7s>j{bfcb91Gm&1S=5v2f+e6%HIY5cm9h z_MH%mcO^6O!7v|r^%U<)mf|`tPO&vRfZ<^i9T%r!k`R@E@@JnHe2NjJt$ZyIssVc1#Kn4i3(fV6)lSuwjD~|JkWi>~3z3TmC)!PKaBx0|49z zqyjJ+N|NF;Q*Q&XRv!Z3Bd*(_D|`oTe|@&^aMh%bF* zBY(Er#dt|LwNC;gxl@LZnv}NLNNpH zS!ix<24Hx2m`5Ldlm>R-+vST}8B7~DAOwPF_35m$=1AACUHvbbon1Jx-5ffx0pIEM zvppk~tSIljU`<^rJ1V|xHu7Y0GDAZ*04T{^%|XMOdFc)s)=-kU8UWYmO=&2)RCaV( ztCPsMAE|tRyu3VYHX8sfdpiKI*=*$HFM5duN3 z4}2zlf`OZ4{nLVFJyPX&`KIR$Pm8f=Q*FOJjcfEK&2KhI-TCeoJ~v$bW}_w|VYzH; zZN+-}G`9A3>gwvG{4EyCymWKJb#-+bTYEd!)2G?i+PdsA0KD|-iyG6$4Gej&BLspB ze>#Y#r-x8z0)Xu!HmUM|Xcc3cgclrwB1_Jt;2I5&k&iFw+hKAJXtCsHG1fZ-fXQUS zY&L&sTC>@V$z%c`;}?nZz84REee9Q-veLt1FmRJlXoBa2wX>6NXkNOkKm9hQd1pZZ zht9vgq)BY<9$`7;>^`p<0dn#l%=cm;GxfH#>RAp;nl1b8%q$pwPz=2Af+G3ek9Riu z7f*B-i>`w1rhig^6fJ!-GyE86pL<r3U?Q~q z7I{C)N)JmDdRF#2Ui4mvQAkZqBQ!Gt;ngWkCC9}5u2b=u1MViYK8s1K6<5dm_r#ft zzei|bAeP(3Oj>Fxx2C3;2!%*YOyno0rm6nvG%sDyO7U`$mA#H3?{xsQ`gBqQX{75{ zqt&M)1cCqzd9U;2_KB$X01$(Kii!%+YPAC4%KkE}Rx1@16=H2|tt`)CGW2?EHXClY zTRLvbpQ5KJpEK{-r2T;0czSvO2!$p{4Wvn{A(-6-$8fKh=790>@nyv?hpMV7(Qda( z;mFeSoyk%@?CRynW8uwNRaKQNPexyQ^+ioq_BsISGE;a?Sj&!2jU4_wT?#)Ztd03$ zTvR=vqM|}H8ja|5Iv`xpI-TyGVU`7CHZwi6`(Mx0EJNnC``=Hg1&B)l$0o%zuE&7MirnissM#i1t^RvKw(q?3Zn{8 z7*&A6r~(vb#RzCbm=-!%+CP1D}Ei>R)y7X5xduf6u#eeYdfUM?DqMvfmp9(DdJ>Tz_|$wx@f&BXh` z7@ME4P`UqtxcLbS-Veq|&&?$3>C^y`qv&ur#Egs#S@V{Im;^Ll zJH(kb6Y0H~)aIY#*~tUc=AWam<}ktjQS{e_sgbLsz}VOrb1OeWL_%k0CkBH-#uCJz zm;~H1z5Di&v5$YSJ^vxTZ3*)4y?@33uOPLY z?EzLQ-}oQruBeTeO8ij;D2ysVVN?MMqY6+MRe-{%0u<)|(&eCK;^XW_00000NkvXX Hu0mjf{Gzeu literal 2077 zcmV+&2;%pNP)V=-0C=2@$~z9iFc3x2+OvwMq(}T(H^>okk?g^W2Rz~vBdWc zV43tkXsS>7&8|G>F+IMy7TpjK`bckLeLhe#r%qD<00&V?L_t(|ob8!yOk39($A3-@ zGsfT$Y!gVxHD#bNDUA?iizlRHYt&Slv@9Q%nv{hSp_D37y2>h*Dw>z2trQ}@E!v=2 z5mi*ks)$4r*D9;UTQz4kY{+_K_ScFB(mxg-Ix9s%5G1ENIyyu_5P0aU z6c40-EN1rCDzZT%cPo6W=8SkKNejTh<1n90{ENLa3;e~9%*o6hJpWuo%g)6mUi#H9 zG)jz+LvwSpSXx@j(9jSrmy3$QL9XZJN&hyR4M7m-?d_$is!DeKvU!_#_kp-~)?E%2VeXm!1bwbdo5s zzGsPxnYn|58QTHqnw*N+P>7EEsPh2%`T5vvHUK(~b^~Cu z*~rh&2cV~?2cOSJX=y3V&CTo9ziv}?E-ukEIYrxzR%v2+x`mgAFWtDViHfjU_Bx$d zuUx^_*-2w#qg1~j2rKd}4>vY8YHXdISg%}RuhY419cvDO!MPAaPrAHPx+bRpcxgj# zN64wtArxdW{a_RTv)PQrVtHm>i^YQ3Yz83xr`i?ot;L!GRJUB)&~kR^#`TyigE_CX zXeNN1{P?}Mq1h_B5`10wzlG-BQe=|rc~ zp-V~OYGsJiEjmJTbA&=6W`jY+WhxRNxI2qEtCg43KU#Vzb$B zxm?o!-hu_(tp!}YZIku`N>DTh%*@PeDt$B5)zyi1yIl%Lm%cCOPVm>h2b}(1WOGzk zSEp$2Axi*Ol8C=LraThz31-vd0u$^8|1vwvaU@V65xM{EqNpsOA-R8ZGhS&1W?-m zwMht|wgGCB5I}7M)FvT-+6JgiLIAZ5P@4@2(0cGaajo!HLeb~2``9_L&$qSP%>|0G{basi zru*i?mJ&gh0PbVw#G-6J0FV5Uqvy$Bl9ZmIUj$&MF>)?{-)r15BFH)xZ`u)n`N(vU zmK8aJ5BMW@fA5BL92@u!Uln%&5rK-b{cM#Am9{8NPd0Y*FzrC-25Mb;k# zgxyHa_xYAq43Ah*Ti!0#mbZ%lg+~O*={M@T#lj=PsyuR$CBVhY=QZX%xr};82>Any z{d1Thx0_&a7Jz*dHp%%PSjD)F|Evoyl9rc&_ue#xM+9oi+r`2o0^WPmq~&Fhb>T(D zWhz<*YfhXJ_4-tT!C8J5+DV3fk)6gMkNkQ`fby=7;x_r!mbZ)kVl%p(kqes8qnQ=Y z#=bG?TaPNLU-9j5l&JG+kdzV`Vo7-!Qrt%GrenGl{&LUw`k6LCMgBFKUjCfk+Q=nn zU~m$E-r6>rUjCel{A-HKl-&brPMne^m#pkvocE5vB$SsiIT_?{TAVQ{^_ znybGvllCBkhJq%}&Q;M+&_rqdDFTC&82iVlS6HTO0kX1pG3p%wKxa%t?@uMoxE-A_ zjgUV8z^HeGA!z}U%@x|wh-XYM}N!sp8_<{#NE69;MeBDFW{)6 zGB-2_47uF^1cS5a{i)Jw08e&-8!1#Km)xlr@-82|5S4*%YhGGMXJafp%exU1tu;>)iywF5(21gfZ8MkP}=~tNeG~}0c!JayHyt=X%sTC00000NkvXX Hu0mjfw!#4_ From 0ea7ce373140a0eaf6d54ae20771d73b42329bc1 Mon Sep 17 00:00:00 2001 From: TrilbySpaseClone Date: Sun, 23 Jun 2019 02:51:01 -0400 Subject: [PATCH 67/98] No... --- code/modules/clothing/under/miscellaneous.dm | 1 - icons/obj/clothing/uniforms.dmi | Bin 65458 -> 65739 bytes .../icons/obj/clothing/cit_clothes.dmi | Bin 2493 -> 2077 bytes 3 files changed, 1 deletion(-) diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 7d338063a5..aeccae5de2 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -753,7 +753,6 @@ /obj/item/clothing/under/gear_harness name = "gear harness" desc = "A simple, inconspicuous harness replacement for a jumpsuit." - icon = 'modular_citadel/icons/obj/clothing/cit_clothes.dmi' icon_state = "gear_harness" item_state = "golem" //This allows us to have no clothing on us well also hiding the cit lewd bits unless we show them. body_parts_covered = CHEST|GROIN \ No newline at end of file diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index 84155bfe43ad134e6795fb23a894476757d19a31..3e3a1cefcbf44d4d50db7dcd8ea463a9ea8bd7e6 100644 GIT binary patch delta 12189 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℞ejDWTFRJws;I34<{iM%fVMXP$4;*t4lTL+DV6v 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 TdFVos5FZ5@73r$?rh)$t3vH*2 diff --git a/modular_citadel/icons/obj/clothing/cit_clothes.dmi b/modular_citadel/icons/obj/clothing/cit_clothes.dmi index b88e1bd786ff3873521e7932b5be595e3b67d2a7..8cc6ca2950316e64c19c81363327f03c30303fff 100644 GIT binary patch literal 2077 zcmV+&2;%pNP)V=-0C=2@$~z9iFc3x2+OvwMq(}T(H^>okk?g^W2Rz~vBdWc zV43tkXsS>7&8|G>F+IMy7TpjK`bckLeLhe#r%qD<00&V?L_t(|ob8!yOk39($A3-@ zGsfT$Y!gVxHD#bNDUA?iizlRHYt&Slv@9Q%nv{hSp_D37y2>h*Dw>z2trQ}@E!v=2 z5mi*ks)$4r*D9;UTQz4kY{+_K_ScFB(mxg-Ix9s%5G1ENIyyu_5P0aU z6c40-EN1rCDzZT%cPo6W=8SkKNejTh<1n90{ENLa3;e~9%*o6hJpWuo%g)6mUi#H9 zG)jz+LvwSpSXx@j(9jSrmy3$QL9XZJN&hyR4M7m-?d_$is!DeKvU!_#_kp-~)?E%2VeXm!1bwbdo5s zzGsPxnYn|58QTHqnw*N+P>7EEsPh2%`T5vvHUK(~b^~Cu z*~rh&2cV~?2cOSJX=y3V&CTo9ziv}?E-ukEIYrxzR%v2+x`mgAFWtDViHfjU_Bx$d zuUx^_*-2w#qg1~j2rKd}4>vY8YHXdISg%}RuhY419cvDO!MPAaPrAHPx+bRpcxgj# zN64wtArxdW{a_RTv)PQrVtHm>i^YQ3Yz83xr`i?ot;L!GRJUB)&~kR^#`TyigE_CX zXeNN1{P?}Mq1h_B5`10wzlG-BQe=|rc~ zp-V~OYGsJiEjmJTbA&=6W`jY+WhxRNxI2qEtCg43KU#Vzb$B zxm?o!-hu_(tp!}YZIku`N>DTh%*@PeDt$B5)zyi1yIl%Lm%cCOPVm>h2b}(1WOGzk zSEp$2Axi*Ol8C=LraThz31-vd0u$^8|1vwvaU@V65xM{EqNpsOA-R8ZGhS&1W?-m zwMht|wgGCB5I}7M)FvT-+6JgiLIAZ5P@4@2(0cGaajo!HLeb~2``9_L&$qSP%>|0G{basi zru*i?mJ&gh0PbVw#G-6J0FV5Uqvy$Bl9ZmIUj$&MF>)?{-)r15BFH)xZ`u)n`N(vU zmK8aJ5BMW@fA5BL92@u!Uln%&5rK-b{cM#Am9{8NPd0Y*FzrC-25Mb;k# zgxyHa_xYAq43Ah*Ti!0#mbZ%lg+~O*={M@T#lj=PsyuR$CBVhY=QZX%xr};82>Any z{d1Thx0_&a7Jz*dHp%%PSjD)F|Evoyl9rc&_ue#xM+9oi+r`2o0^WPmq~&Fhb>T(D zWhz<*YfhXJ_4-tT!C8J5+DV3fk)6gMkNkQ`fby=7;x_r!mbZ)kVl%p(kqes8qnQ=Y z#=bG?TaPNLU-9j5l&JG+kdzV`Vo7-!Qrt%GrenGl{&LUw`k6LCMgBFKUjCfk+Q=nn zU~m$E-r6>rUjCel{A-HKl-&brPMne^m#pkvocE5vB$SsiIT_?{TAVQ{^_ znybGvllCBkhJq%}&Q;M+&_rqdDFTC&82iVlS6HTO0kX1pG3p%wKxa%t?@uMoxE-A_ zjgUV8z^HeGA!z}U%@x|wh-XYM}N!sp8_<{#NE69;MeBDFW{)6 zGB-2_47uF^1cS5a{i)Jw08e&-8!1#Km)xlr@-82|5S4*%YhGGMXJafp%exU1tu;>)iywF5(21gfZ8MkP}=~tNeG~}0c!JayHyt=X%sTC00000NkvXX Hu0mjfw!#4_ literal 2493 zcmV;u2}1UXP)V=-0C=2@$~_LkFbqK9IX;Ee?ufrN3rdADv{yh;V;T!+k!|Sp87i@%vb`sL zHJ+Mt>@c(u-XzM?h#rrdEx4Jp74&%6gDb>Cv1Qbf5qhkYdcCn&1unBFdfb7#N_x=J zUsxvn51Q(W*V&!s+^6TN8z{-8BpFHd7p}4C0){ri2ht`>;Pol)MF0Q@=Sf6CRCt{2 zn{P}T*8#wPCcq3B9O6F&^2a8WD4CW z#@AENEic312EZD)vtbcm#p!HybsP>&JiQ5G`6QxhYy6|HJP! z3*BR>7_L={-zmta>8%bvU;hFgkB2>b_GnsKT11P*!kYh`X8*ooKJ4mcB(Fx6GW6^_ zA$Iwud2;&%A9?lC^{v?f{&F>q0&^l;-ug{Uc}FeaQrS^)XHp^neRpPfW8`zTjZe|7 zOXi?q4VzYlJ5&4ZX;~!H*Vl`Mg@t%L9^7s>j{bfcb91Gm&1S=5v2f+e6%HIY5cm9h z_MH%mcO^6O!7v|r^%U<)mf|`tPO&vRfZ<^i9T%r!k`R@E@@JnHe2NjJt$ZyIssVc1#Kn4i3(fV6)lSuwjD~|JkWi>~3z3TmC)!PKaBx0|49z zqyjJ+N|NF;Q*Q&XRv!Z3Bd*(_D|`oTe|@&^aMh%bF* zBY(Er#dt|LwNC;gxl@LZnv}NLNNpH zS!ix<24Hx2m`5Ldlm>R-+vST}8B7~DAOwPF_35m$=1AACUHvbbon1Jx-5ffx0pIEM zvppk~tSIljU`<^rJ1V|xHu7Y0GDAZ*04T{^%|XMOdFc)s)=-kU8UWYmO=&2)RCaV( ztCPsMAE|tRyu3VYHX8sfdpiKI*=*$HFM5duN3 z4}2zlf`OZ4{nLVFJyPX&`KIR$Pm8f=Q*FOJjcfEK&2KhI-TCeoJ~v$bW}_w|VYzH; zZN+-}G`9A3>gwvG{4EyCymWKJb#-+bTYEd!)2G?i+PdsA0KD|-iyG6$4Gej&BLspB ze>#Y#r-x8z0)Xu!HmUM|Xcc3cgclrwB1_Jt;2I5&k&iFw+hKAJXtCsHG1fZ-fXQUS zY&L&sTC>@V$z%c`;}?nZz84REee9Q-veLt1FmRJlXoBa2wX>6NXkNOkKm9hQd1pZZ zht9vgq)BY<9$`7;>^`p<0dn#l%=cm;GxfH#>RAp;nl1b8%q$pwPz=2Af+G3ek9Riu z7f*B-i>`w1rhig^6fJ!-GyE86pL<r3U?Q~q z7I{C)N)JmDdRF#2Ui4mvQAkZqBQ!Gt;ngWkCC9}5u2b=u1MViYK8s1K6<5dm_r#ft zzei|bAeP(3Oj>Fxx2C3;2!%*YOyno0rm6nvG%sDyO7U`$mA#H3?{xsQ`gBqQX{75{ zqt&M)1cCqzd9U;2_KB$X01$(Kii!%+YPAC4%KkE}Rx1@16=H2|tt`)CGW2?EHXClY zTRLvbpQ5KJpEK{-r2T;0czSvO2!$p{4Wvn{A(-6-$8fKh=790>@nyv?hpMV7(Qda( z;mFeSoyk%@?CRynW8uwNRaKQNPexyQ^+ioq_BsISGE;a?Sj&!2jU4_wT?#)Ztd03$ zTvR=vqM|}H8ja|5Iv`xpI-TyGVU`7CHZwi6`(Mx0EJNnC``=Hg1&B)l$0o%zuE&7MirnissM#i1t^RvKw(q?3Zn{8 z7*&A6r~(vb#RzCbm=-!%+CP1D}Ei>R)y7X5xduf6u#eeYdfUM?DqMvfmp9(DdJ>Tz_|$wx@f&BXh` z7@ME4P`UqtxcLbS-Veq|&&?$3>C^y`qv&ur#Egs#S@V{Im;^Ll zJH(kb6Y0H~)aIY#*~tUc=AWam<}ktjQS{e_sgbLsz}VOrb1OeWL_%k0CkBH-#uCJz zm;~H1z5Di&v5$YSJ^vxTZ3*)4y?@33uOPLY z?EzLQ-}oQruBeTeO8ij;D2ysVVN?MMqY6+MRe-{%0u<)|(&eCK;^XW_00000NkvXX Hu0mjf{Gzeu From 51e4ac0f6779c96f6f20b135252505cb250cb6a6 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 23 Jun 2019 08:59:19 -0400 Subject: [PATCH 68/98] fixes plant disk design and hacked autolathen (#8674) * fixes plant disk design and hacked autolathen * Update lavaland_surface_seed_vault.dmm --- _maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm | 3 +-- code/modules/ruins/lavaland_ruin_code.dm | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm index fd2e56a53f..945ea515c7 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm @@ -274,8 +274,7 @@ /area/ruin/powered/seedvault) "Z" = ( /obj/item/disk/design_disk/plant_disk, -/obj/machinery/autolathe{ - hacked = TRUE; +/obj/machinery/autolathe/hacked{ desc = "This autolathe seems to have its safety light off." }, /turf/open/floor/plasteel/freezer, diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm index 28ea849782..161ea3ac62 100644 --- a/code/modules/ruins/lavaland_ruin_code.dm +++ b/code/modules/ruins/lavaland_ruin_code.dm @@ -22,7 +22,7 @@ icon_state = "datadisk1" max_blueprints = 1 -/obj/item/disk/design_disk/golem_shell/Initialize() +/obj/item/disk/design_disk/plant_disk/Initialize() . = ..() var/datum/design/diskplantgene/P = new blueprints[1] = P From 69e551a95faa9e82d4e9db9e62c337ebaf141b8d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 07:59:21 -0500 Subject: [PATCH 69/98] Automatic changelog generation for PR #8674 [ci skip] --- html/changelogs/AutoChangeLog-pr-8674.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8674.yml diff --git a/html/changelogs/AutoChangeLog-pr-8674.yml b/html/changelogs/AutoChangeLog-pr-8674.yml new file mode 100644 index 0000000000..3277946844 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8674.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - bugfix: "fixing cat code that dosnt work, my bad" From d85a2f5f4ad8232c6417b52ff1d843194d0293dc Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 23 Jun 2019 08:59:35 -0400 Subject: [PATCH 70/98] Update arcade.dm (#8675) --- code/game/machinery/computer/arcade.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index efbbe36228..2c839c2ab9 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -32,7 +32,6 @@ /obj/item/toy/spinningtoy = ARCADE_WEIGHT_TRICK, /obj/item/toy/sword = ARCADE_WEIGHT_TRICK, /obj/item/toy/sword/cx = ARCADE_WEIGHT_TRICK, - /obj/item/toy/sword/darksabre = ARCADE_WEIGHT_TRICK, /obj/item/toy/talking/AI = ARCADE_WEIGHT_USELESS, /obj/item/toy/talking/codex_gigas = ARCADE_WEIGHT_USELESS, /obj/item/toy/talking/griffin = ARCADE_WEIGHT_USELESS, From 8c3d377a9bf8dbf5d0a74fec08eec55c0dc9dd87 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 07:59:36 -0500 Subject: [PATCH 71/98] Automatic changelog generation for PR #8675 [ci skip] --- html/changelogs/AutoChangeLog-pr-8675.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8675.yml diff --git a/html/changelogs/AutoChangeLog-pr-8675.yml b/html/changelogs/AutoChangeLog-pr-8675.yml new file mode 100644 index 0000000000..170a44ca25 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8675.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - bugfix: "Arcades stealing from noodles" From d21e483abf827701719af5b54ac3c55cbbd9f4e8 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 23 Jun 2019 14:59:50 +0200 Subject: [PATCH 72/98] Ports "Disembowelment now only works if you are dead/in critical" (#8671) --- code/modules/surgery/bodyparts/bodyparts.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 3c80737b31..a97a133685 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -564,6 +564,11 @@ max_stamina_damage = 200 var/obj/item/cavity_item +/obj/item/bodypart/chest/can_dismember(obj/item/I) + if(!((owner.stat == DEAD) || owner.InFullCritical())) + return FALSE + return ..() + /obj/item/bodypart/chest/Destroy() if(cavity_item) qdel(cavity_item) From 27920454de1269511e910619ed3a1c28c6fb9ea2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 07:59:52 -0500 Subject: [PATCH 73/98] Automatic changelog generation for PR #8671 [ci skip] --- html/changelogs/AutoChangeLog-pr-8671.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8671.yml diff --git a/html/changelogs/AutoChangeLog-pr-8671.yml b/html/changelogs/AutoChangeLog-pr-8671.yml new file mode 100644 index 0000000000..bb01481d5c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8671.yml @@ -0,0 +1,4 @@ +author: "Ghommie (original PR by wesoda25)" +delete-after: True +changes: + - balance: "disembowelment no longer works on mobs that aren't dead or in critical condition" From 2bb56a900a92fde714ca1707544e348682087ed4 Mon Sep 17 00:00:00 2001 From: Sishen1542 Date: Sun, 23 Jun 2019 09:00:07 -0400 Subject: [PATCH 74/98] Dab emote now checks restraint flags. (#8672) * Update cit_emotes.dm * Revert "Update cit_emotes.dm" This reverts commit 649007667db6f7d1fdd0f30e99bbaa268fbeb03c. * Revert "Revert "Update cit_emotes.dm"" This reverts commit 7950f642bf32b4179d265fdb498451c3e05a10fe. --- modular_citadel/code/modules/mob/cit_emotes.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/modular_citadel/code/modules/mob/cit_emotes.dm b/modular_citadel/code/modules/mob/cit_emotes.dm index a314baa852..aff1739ae4 100644 --- a/modular_citadel/code/modules/mob/cit_emotes.dm +++ b/modular_citadel/code/modules/mob/cit_emotes.dm @@ -183,6 +183,7 @@ key_third_person = "suddenly hits a dab" message = "suddenly hits a dab!" emote_type = EMOTE_AUDIBLE + restraint_check = TRUE From 41bd3caf3ca3d1c4f24820324e4f606bd7f8f8e6 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 23 Jun 2019 15:00:27 +0200 Subject: [PATCH 75/98] Ports "Reorganizes the uplink, adds grenades and explosives category." (#8669) * Ports "Reorganizes the uplink, adds grenades and explosives category." * Unbent codex, singing the sorrow of aborted spoils. * . --- code/game/objects/items/storage/backpack.dm | 13 + code/game/objects/items/storage/briefcase.dm | 16 + code/modules/clothing/suits/jobs.dm | 3 + .../living/simple_animal/guardian/guardian.dm | 3 + code/modules/uplink/uplink_items.dm | 2220 +++++++++-------- .../code/datums/uplink_items_cit.dm | 177 -- .../code/modules/uplink/uplink_items.dm | 18 - tgstation.dme | 2 - 8 files changed, 1198 insertions(+), 1254 deletions(-) delete mode 100644 modular_citadel/code/datums/uplink_items_cit.dm delete mode 100644 modular_citadel/code/modules/uplink/uplink_items.dm diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 8178f0390a..c2929dafbd 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -589,3 +589,16 @@ new /obj/item/clothing/mask/gas/clown_hat(src) new /obj/item/bikehorn(src) new /obj/item/implanter/sad_trombone(src) + +obj/item/storage/backpack/duffelbag/syndie/shredderbundle + desc = "A large duffel bag containing two CX Shredders, some magazines, an elite hardsuit, and a chest rig." + +/obj/item/storage/backpack/duffelbag/syndie/shredderbundle/PopulateContents() + new /obj/item/ammo_box/magazine/flechette/shredder(src) + new /obj/item/ammo_box/magazine/flechette/shredder(src) + new /obj/item/ammo_box/magazine/flechette/shredder(src) + new /obj/item/ammo_box/magazine/flechette/shredder(src) + new /obj/item/gun/ballistic/automatic/flechette/shredder(src) + new /obj/item/gun/ballistic/automatic/flechette/shredder(src) + new /obj/item/storage/belt/military(src) + new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src) diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm index 1f80cec0f5..46676b5adb 100644 --- a/code/game/objects/items/storage/briefcase.dm +++ b/code/game/objects/items/storage/briefcase.dm @@ -80,6 +80,21 @@ new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) new /obj/item/suppressor/specialoffer(src) + +/obj/item/storage/briefcase/modularbundle + desc = "It's label reads genuine hardened Captain leather, but suspiciously has no other tags or branding." + force = 10 + +/obj/item/storage/briefcase/modularbundle/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/modular(src) + new /obj/item/suppressor(src) + new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/ammo_box/magazine/m10mm/soporific(src) + new /obj/item/ammo_box/c10mm/soporific(src) + new /obj/item/clothing/under/lawyer/blacksuit(src) + new /obj/item/clothing/accessory/waistcoat(src) + new /obj/item/clothing/suit/toggle/lawyer/black/syndie(src) + /obj/item/storage/briefcase/medical name = "medical briefcase" icon_state = "medbriefcase" @@ -89,3 +104,4 @@ new /obj/item/clothing/neck/stethoscope(src) new /obj/item/healthanalyzer(src) ..() //In case of paperwork + diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index deaedfec18..bf11d40caf 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -124,6 +124,9 @@ icon_state = "suitjacket_black" item_state = "ro_suit" +/obj/item/clothing/suit/toggle/lawyer/black/syndie + desc = "A snappy dress jacket. Suspiciously has no tags or branding." + armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 10, "bio" = 10, "rad" = 10, "fire" = 40, "acid" = 40) //Mime /obj/item/clothing/suit/suspenders diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 701e244f89..1a918766b6 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -596,6 +596,9 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians /obj/item/guardiancreator/tech/choose/traitor possible_guardians = list("Assassin", "Chaos", "Charger", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support") +/obj/item/guardiancreator/tech/choose/traitor/check_uplink_validity() + return !used + /obj/item/guardiancreator/tech/choose random = FALSE diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 871de715df..3018ebf03c 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -109,72 +109,194 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/discounts category = "Discounted Gear" -// Nuclear Operative (Special Offers) -/datum/uplink_item/nukeoffer - category = "Special Offers" +//All bundles and telecrystals +/datum/uplink_item/bundles_TC + category = "Bundles and Telecrystals" surplus = 0 - include_modes = list(/datum/game_mode/nuclear) cant_discount = TRUE -/datum/uplink_item/nukeoffer/c20r - name = "C-20r bundle" - desc = "Old faithful: The classic C-20r, bundled with two magazines, and a (surplus) suppressor at discount price." - item = /obj/item/storage/backpack/duffelbag/syndie/c20rbundle - cost = 14 // normally 16 - -/datum/uplink_item/nukeoffer/bulldog - name = "Bulldog bundle" - desc = "Lean and mean: Optimised for people that want to get up close and personal. Contains the popular \ - Bulldog shotgun, two 12g drums, and a pair of Thermal imaging goggles." - item = /obj/item/storage/backpack/duffelbag/syndie/bulldogbundle - cost = 13 // normally 16 - -/datum/uplink_item/nukeoffer/medical - name = "Medical bundle" - desc = "The support specialist: Aid your fellow operatives with this medical bundle. Contains a Donksoft machine gun, \ - a box of ammo, and a pair of magboots to rescue your friends in no-gravity environments." - item = /obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle - cost = 15 // normally 20 - -/datum/uplink_item/nukeoffer/sniper - name = "Sniper bundle" - desc = "Elegant and refined: Contains a collapsed sniper rifle in an expensive carrying case, a hollow-point \ - a soporific knockout magazine, a free surplus supressor, and a worn out suit and tie." - item = /obj/item/storage/briefcase/sniperbundle - cost = 20 // normally 26 - -/datum/uplink_item/nukeoffer/chemical +/datum/uplink_item/bundles_TC/chemical name = "Bioterror bundle" desc = "For the madman: Contains Bioterror spray, Bioterror grenade, chemicals, syringe gun, box of syringes,\ Donksoft assault rifle, and some darts. Remember: Seal suit and equip internals before use." item = /obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle cost = 30 // normally 42 + include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/nukeoffer/firestarter +/datum/uplink_item/bundles_TC/bulldog + name = "Bulldog bundle" + desc = "Lean and mean: Optimised for people that want to get up close and personal. Contains the popular \ + Bulldog shotgun, two 12g drums, and a pair of Thermal imaging goggles." + item = /obj/item/storage/backpack/duffelbag/syndie/bulldogbundle + cost = 13 // normally 16 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/bundles_TC/c20r + name = "C-20r bundle" + desc = "Old faithful: The classic C-20r, bundled with two magazines, and a (surplus) suppressor at discount price." + item = /obj/item/storage/backpack/duffelbag/syndie/c20rbundle + cost = 14 // normally 16 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/bundles_TC/cybernetics_bundle + name = "Cybernetic Implants Bundle" + desc = "A random selection of cybernetic implants. Guaranteed 5 high quality implants. Comes with an autosurgeon." + item = /obj/item/storage/box/cyber_implants + cost = 40 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/bundles_TC/medical + name = "Medical bundle" + desc = "The support specialist: Aid your fellow operatives with this medical bundle. Contains a Donksoft machine gun, \ + a box of ammo, and a pair of magboots to rescue your friends in no-gravity environments." + item = /obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle + cost = 15 // normally 20 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/bundles_TC/modular + name = "Modular Pistol Kit" + desc = "A heavy briefcase containing one modular pistol (chambered in 10mm), one supressor, and spare ammunition, including a box of soporific ammo. \ + Includes a suit jacket that is padded with a robust liner." + item = /obj/item/storage/briefcase/modularbundle + cost = 12 + +/datum/uplink_item/bundles_TC/shredder + name = "Shredder bundle" + desc = "A truly horrific weapon designed simply to maim its victim, the CX Shredder is banned by several intergalactic treaties. \ + You'll get two of them with this. And spare ammo to boot. And we'll throw in an extra elite hardsuit and chest rig to hold them all!" + item = /obj/item/storage/backpack/duffelbag/syndie/shredderbundle + cost = 30 // normally 41 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/bundles_TC/sniper + name = "Sniper bundle" + desc = "Elegant and refined: Contains a collapsed sniper rifle in an expensive carrying case, a hollow-point \ + a soporific knockout magazine, a free surplus supressor, and a worn out suit and tie." + item = /obj/item/storage/briefcase/sniperbundle + cost = 20 // normally 26 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/bundles_TC/firestarter name = "Spetsnaz Pyro bundle" desc = "For systematic suppression of carbon lifeforms in close range: Contains a specialist Pyrotechnic equipment, foreign pistol, two magazines, a pipebomb, and a stimulant syringe." item = /obj/item/storage/backpack/duffelbag/syndie/firestarter cost = 30 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/bundles_TC/bundle + name = "Syndicate Bundle" + desc = "Syndicate Bundles are specialized groups of items that arrive in a plain box. \ + These items are collectively worth more than 20 telecrystals, but you do not know which specialization \ + you will receive." + item = /obj/item/storage/box/syndicate + cost = 20 + exclude_modes = list(/datum/game_mode/nuclear) + cant_discount = TRUE + +/datum/uplink_item/bundles_TC/surplus + name = "Syndicate Surplus Crate" + desc = "A dusty crate from the back of the Syndicate warehouse. Rumored to contain a valuable assortment of items, \ + but you never know. Contents are sorted to always be worth 50 TC." + item = /obj/structure/closet/crate + cost = 20 + player_minimum = 25 + exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + cant_discount = TRUE + var/starting_crate_value = 50 + +/datum/uplink_item/bundles_TC/surplus/super + name = "Super Surplus Crate" + desc = "A dusty SUPER-SIZED from the back of the Syndicate warehouse. Rumored to contain a valuable assortment of items, \ + but you never know. Contents are sorted to always be worth 125 TC." + cost = 40 + player_minimum = 40 + starting_crate_value = 125 + +/datum/uplink_item/bundles_TC/surplus/purchase(mob/user, datum/component/uplink/U) + var/list/uplink_items = get_uplink_items(SSticker && SSticker.mode? SSticker.mode : null, FALSE) + + var/crate_value = starting_crate_value + var/obj/structure/closet/crate/C = spawn_item(/obj/structure/closet/crate, user) + if(U.purchase_log) + U.purchase_log.LogPurchase(C, src, cost) + while(crate_value) + var/category = pick(uplink_items) + var/item = pick(uplink_items[category]) + var/datum/uplink_item/I = uplink_items[category][item] + + if(!I.surplus || prob(100 - I.surplus)) + continue + if(crate_value < I.cost) + continue + crate_value -= I.cost + var/obj/goods = new I.item(C) + if(U.purchase_log) + U.purchase_log.LogPurchase(goods, I, 0) + return C + +/datum/uplink_item/bundles_TC/random + name = "Random Item" + desc = "Picking this will purchase a random item. Useful if you have some TC to spare or if you haven't decided on a strategy yet." + item = /obj/effect/gibspawner/generic // non-tangible item because techwebs use this path to determine illegal tech + cost = 0 + cant_discount = TRUE + +/datum/uplink_item/bundles_TC/random/purchase(mob/user, datum/component/uplink/U) + var/list/uplink_items = U.uplink_items + var/list/possible_items = list() + for(var/category in uplink_items) + for(var/item in uplink_items[category]) + var/datum/uplink_item/I = uplink_items[category][item] + if(src == I || !I.item) + continue + if(U.telecrystals < I.cost) + continue + if(I.limited_stock == 0) + continue + possible_items += I + + if(possible_items.len) + var/datum/uplink_item/I = pick(possible_items) + SSblackbox.record_feedback("tally", "traitor_random_uplink_items_gotten", 1, initial(I.name)) + U.MakePurchase(user, I) + +/datum/uplink_item/bundles_TC/telecrystal + name = "1 Raw Telecrystal" + desc = "A telecrystal in its rawest and purest form; can be utilized on active uplinks to increase their telecrystal count." + item = /obj/item/stack/telecrystal + cost = 1 + surplus = 0 + cant_discount = TRUE + // Don't add telecrystals to the purchase_log since + // it's just used to buy more items (including itself!) + purchase_log_vis = FALSE + +/datum/uplink_item/bundles_TC/telecrystal/five + name = "5 Raw Telecrystals" + desc = "Five telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count." + item = /obj/item/stack/telecrystal/five + cost = 5 + +/datum/uplink_item/bundles_TC/telecrystal/twenty + name = "20 Raw Telecrystals" + desc = "Twenty telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count." + item = /obj/item/stack/telecrystal/twenty + cost = 20 // Dangerous Items /datum/uplink_item/dangerous category = "Conspicuous and Dangerous Weapons" -/datum/uplink_item/dangerous/pistol - name = "Stechkin Pistol" - desc = "A small, easily concealable handgun that uses 10mm auto rounds in 8-round magazines and is compatible \ - with suppressors." - item = /obj/item/gun/ballistic/automatic/pistol - cost = 7 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/dangerous/revolver - name = "Syndicate Revolver" - desc = "A brutally simple syndicate revolver that fires .357 Magnum rounds and has 7 chambers." - item = /obj/item/gun/ballistic/revolver - cost = 13 - surplus = 50 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/dangerous/antitank + name = "Anti Tank Pistol" + desc = "Essentially amounting to a sniper rifle with no stock and barrel (or indeed, any rifling at all), \ + this extremely dubious pistol is guaranteed to dislocate your wrists and hit the broad side of a barn! \ + Uses sniper ammo. \ + Bullets tend to veer off-course. We are not responsible for any unintentional damage or injury resulting from inaacuracy." + item = /obj/item/gun/ballistic/automatic/pistol/antitank/syndicate + cost = 14 + surplus = 25 + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/dangerous/pie_cannon name = "Banana Cream Pie Cannon" @@ -184,6 +306,42 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) surplus = 0 include_modes = list(/datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/dangerous/bananashield + name = "Bananium Energy Shield" + desc = "A clown's most powerful defensive weapon, this personal shield provides near immunity to ranged energy attacks \ + by bouncing them back at the ones who fired them. It can also be thrown to bounce off of people, slipping them, \ + and returning to you even if you miss. WARNING: DO NOT ATTEMPT TO STAND ON SHIELD WHILE DEPLOYED, EVEN IF WEARING ANTI-SLIP SHOES." + item = /obj/item/shield/energy/bananium + cost = 16 + surplus = 0 + include_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/dangerous/clownsword + name = "Bananium Energy Sword" + desc = "An energy sword that deals no damage, but will slip anyone it contacts, be it by melee attack, thrown \ + impact, or just stepping on it. Beware friendly fire, as even anti-slip shoes will not protect against it." + item = /obj/item/melee/transforming/energy/sword/bananium + cost = 3 + surplus = 0 + include_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/dangerous/bioterror + name = "Biohazardous Chemical Sprayer" + desc = "A chemical sprayer that allows a wide dispersal of selected chemicals. Especially tailored by the Tiger \ + Cooperative, the deadly blend it comes stocked with will disorient, damage, and disable your foes... \ + Use with extreme caution, to prevent exposure to yourself and your fellow operatives." + item = /obj/item/reagent_containers/spray/chemsprayer/bioterror + cost = 20 + surplus = 0 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/dangerous/throwingweapons + name = "Box of Throwing Weapons" + desc = "A box of shurikens and reinforced bolas from ancient Earth martial arts. They are highly effective \ + throwing weapons. The bolas can knock a target down and the shurikens will embed into limbs." + item = /obj/item/storage/box/syndie_kit/throwing_weapons + cost = 3 + /datum/uplink_item/dangerous/shotgun name = "Bulldog Shotgun" desc = "A fully-loaded semi-automatic drum-fed shotgun. Compatible with all 12g rounds. Designed for close \ @@ -202,86 +360,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) surplus = 40 include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/dangerous/carbine - name = "M-90gl Carbine" - desc = "A fully-loaded, specialized three-round burst carbine that fires 5.56mm ammunition from a 30 round magazine \ - with a togglable 40mm under-barrel grenade launcher." - item = /obj/item/gun/ballistic/automatic/m90 - cost = 18 - surplus = 50 - include_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/dangerous/machinegun - name = "L6 Squad Automatic Weapon" - desc = "A fully-loaded Aussec Armoury belt-fed machine gun. \ - This deadly weapon has a massive 50-round magazine of devastating 1.95x129mm ammunition." - item = /obj/item/gun/ballistic/automatic/l6_saw - cost = 18 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/dangerous/grenadier - name = "Grenadier's belt" - desc = "A belt of a large variety of lethally dangerous and destructive grenades." - item = /obj/item/storage/belt/grenade/full - include_modes = list(/datum/game_mode/nuclear) - cost = 22 - surplus = 0 - -/datum/uplink_item/dangerous/sniper - name = "Sniper Rifle" - desc = "Ranged fury, Syndicate style. Guaranteed to cause shock and awe or your TC back!" - item = /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate - cost = 16 - surplus = 25 - include_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/dangerous/bolt_action - name = "Surplus Rifle" - desc = "A horribly outdated bolt action weapon. You've got to be desperate to use this." - item = /obj/item/gun/ballistic/shotgun/boltaction - cost = 2 - include_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/dangerous/crossbow - name = "Miniature Energy Crossbow" - desc = "A short bow mounted across a tiller in miniature. Small enough to \ - fit into a pocket or slip into a bag unnoticed. It will synthesize \ - and fire bolts tipped with a paralyzing toxin that will briefly stun \ - targets and cause them to slur as if inebriated. It can produce an \ - infinite number of bolts, but takes time to automatically recharge \ - after each shot." - item = /obj/item/gun/energy/kinetic_accelerator/crossbow - cost = 12 - surplus = 50 - exclude_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/dangerous/flamethrower - name = "Flamethrower" - desc = "A flamethrower, fueled by a portion of highly flammable biotoxins stolen previously from Nanotrasen \ - stations. Make a statement by roasting the filth in their own greed. Use with caution." - item = /obj/item/flamethrower/full/tank - cost = 4 - surplus = 40 - include_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/dangerous/sword - name = "Energy Sword" - desc = "The energy sword is an edged weapon with a blade of pure energy. The sword is small enough to be \ - pocketed when inactive. Activating it produces a loud, distinctive noise." - item = /obj/item/melee/transforming/energy/sword/saber - cost = 8 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/dangerous/clownsword - name = "Bananium Energy Sword" - desc = "An energy sword that deals no damage, but will slip anyone it contacts, be it by melee attack, thrown \ - impact, or just stepping on it. Beware friendly fire, as even anti-slip shoes will not protect against it." - item = /obj/item/melee/transforming/energy/sword/bananium - cost = 3 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - /datum/uplink_item/dangerous/doublesword name = "Double-Bladed Energy Sword" desc = "The double-bladed energy sword does slightly more damage than a standard energy sword and will deflect \ @@ -294,6 +372,90 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/dangerous/doublesword/get_discount() return pick(4;0.8,2;0.65,1;0.5) +/datum/uplink_item/dangerous/cxneb + name = "Dragon's Tooth Non-Eutactic Blade" + desc = "An illegal modification of a weapon that is functionally identical to the energy sword, \ + the Non-Eutactic Blade (NEB) forges a hardlight blade on-demand, \ + generating an extremely sharp, unbreakable edge that is guaranteed to satisfy your every need. \ + This particular model has a polychromic hardlight generator, allowing you to murder in style! \ + The illegal modifications bring this weapon up to par with the classic energy sword, and also gives it the energy sword's distinctive sounds." + item = /obj/item/melee/transforming/energy/sword/cx/traitor + cost = 8 + +/datum/uplink_item/dangerous/sword + name = "Energy Sword" + desc = "The energy sword is an edged weapon with a blade of pure energy. The sword is small enough to be \ + pocketed when inactive. Activating it produces a loud, distinctive noise." + item = /obj/item/melee/transforming/energy/sword/saber + cost = 8 + exclude_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/dangerous/shield + name = "Energy Shield" + desc = "An incredibly useful personal shield projector, capable of reflecting energy projectiles and defending \ + against other attacks. Pair with an Energy Sword for a killer combination." + item = /obj/item/shield/energy + cost = 16 + surplus = 20 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/dangerous/flamethrower + name = "Flamethrower" + desc = "A flamethrower, fueled by a portion of highly flammable biotoxins stolen previously from Nanotrasen \ + stations. Make a statement by roasting the filth in their own greed. Use with caution." + item = /obj/item/flamethrower/full/tank + cost = 4 + surplus = 40 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/dangerous/flechettegun + name = "Flechette Launcher" + desc = "A compact bullpup that fires micro-flechettes.\ + Flechettes have very poor performance idividually, but can be very deadly in numbers. \ + Pre-loaded with armor piercing flechettes that are capable of puncturing most kinds of armor." + item = /obj/item/gun/ballistic/automatic/flechette + cost = 12 + surplus = 30 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/badass/rapid + name = "Gloves of the North Star" + desc = "These gloves let the user punch people very fast. Does not improve weapon attack speed or the meaty fists of a hulk." + item = /obj/item/clothing/gloves/rapid + cost = 8 + +/datum/uplink_item/dangerous/guardian + name = "Holoparasites" + desc = "Though capable of near sorcerous feats via use of hardlight holograms and nanomachines, they require an \ + organic host as a home base and source of fuel." + item = /obj/item/storage/box/syndie_kit/guardian + cost = 15 + refundable = TRUE + cant_discount = TRUE + surplus = 0 + exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + player_minimum = 25 + restricted = TRUE + refund_path = /obj/item/guardiancreator/tech/choose/traitor + +/datum/uplink_item/dangerous/machinegun + name = "L6 Squad Automatic Weapon" + desc = "A fully-loaded Aussec Armoury belt-fed machine gun. \ + This deadly weapon has a massive 50-round magazine of devastating 1.95x129mm ammunition." + item = /obj/item/gun/ballistic/automatic/l6_saw + cost = 18 + surplus = 0 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/dangerous/carbine + name = "M-90gl Carbine" + desc = "A fully-loaded, specialized three-round burst carbine that fires 5.56mm ammunition from a 30 round magazine \ + with a togglable 40mm under-barrel grenade launcher." + item = /obj/item/gun/ballistic/automatic/m90 + cost = 18 + surplus = 50 + include_modes = list(/datum/game_mode/nuclear) + /datum/uplink_item/dangerous/powerfist name = "Power Fist" desc = "The power-fist is a metal gauntlet with a built-in piston-ram powered by an external gas supply.\ @@ -303,46 +465,36 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/melee/powerfist cost = 8 -/datum/uplink_item/badass/combatglovesplus - name = "Combat Gloves Plus" - desc = "A pair of gloves that are fireproof and shock resistant, however unlike the regular Combat Gloves this one uses nanotechnology \ - to learn the abilities of krav maga to the wearer." - item = /obj/item/clothing/gloves/krav_maga/combatglovesplus - cost = 5 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/dangerous/sniper + name = "Sniper Rifle" + desc = "Ranged fury, Syndicate style. Guaranteed to cause shock and awe or your TC back!" + item = /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate + cost = 16 + surplus = 25 + include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/dangerous/emp - name = "EMP Grenades and Implanter Kit" - desc = "A box that contains two EMP grenades and an EMP implant. Useful to disrupt communication, \ - security's energy weapons, and silicon lifeforms when you're in a tight spot." - item = /obj/item/storage/box/syndie_kit/emp - cost = 2 - -/datum/uplink_item/dangerous/syndicate_minibomb - name = "Syndicate Minibomb" - desc = "The minibomb is a grenade with a five-second fuse. Upon detonation, it will create a small hull breach \ - in addition to dealing high amounts of damage to nearby personnel." - item = /obj/item/grenade/syndieminibomb - cost = 6 +/datum/uplink_item/dangerous/pistol + name = "Stechkin Pistol" + desc = "A small, easily concealable handgun that uses 10mm auto rounds in 8-round magazines and is compatible \ + with suppressors." + item = /obj/item/gun/ballistic/automatic/pistol + cost = 7 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) -/datum/uplink_item/dangerous/bombanana - name = "Bombanana" - desc = "A banana with an explosive taste! discard the peel quickly, as it will explode with the force of a syndicate minibomb \ - a few seconds after the banana is eaten." - item = /obj/item/reagent_containers/food/snacks/grown/banana/bombanana - cost = 4 //it is a bit cheaper than a minibomb because you have to take off your helmet to eat it, which is how you arm it - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/dangerous/bolt_action + name = "Surplus Rifle" + desc = "A horribly outdated bolt action weapon. You've got to be desperate to use this." + item = /obj/item/gun/ballistic/shotgun/boltaction + cost = 2 + include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/dangerous/tearstache - name = "Teachstache Grenade" - desc = "A teargas grenade that launches sticky moustaches onto the face of anyone not wearing a clown or mime mask. The moustaches will \ - remain attached to the face of all targets for one minute, preventing the use of breath masks and other such devices." - item = /obj/item/grenade/chem_grenade/teargas/moustache - cost = 3 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/dangerous/revolver + name = "Syndicate Revolver" + desc = "A brutally simple syndicate revolver that fires .357 Magnum rounds and has 7 chambers." + item = /obj/item/gun/ballistic/revolver/syndie + cost = 13 + surplus = 50 + exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/dangerous/foamsmg name = "Toy Submachine Gun" @@ -361,65 +513,132 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) surplus = 0 include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) -/datum/uplink_item/dangerous/viscerators - name = "Viscerator Delivery Grenade" - desc = "A unique grenade that deploys a swarm of viscerators upon activation, which will chase down and shred \ - any non-operatives in the area." - item = /obj/item/grenade/spawnergrenade/manhacks - cost = 5 - surplus = 35 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/dangerous/foampistol + name = "Toy Gun with Riot Darts" + desc = "An innocent-looking toy pistol designed to fire foam darts. Comes loaded with riot-grade \ + darts effective at incapacitating a target." + item = /obj/item/gun/ballistic/automatic/toy/pistol/riot + cost = 3 + surplus = 10 -/datum/uplink_item/dangerous/bioterrorfoam - name = "Chemical Foam Grenade" - desc = "A powerful chemical foam grenade which creates a deadly torrent of foam that will mute, blind, confuse, \ - mutate, and irritate carbon lifeforms. Specially brewed by Tiger Cooperative chemical weapons specialists \ - using additional spore toxin. Ensure suit is sealed before use." - item = /obj/item/grenade/chem_grenade/bioterrorfoam - cost = 5 - surplus = 35 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) +// Stealthy Weapons +/datum/uplink_item/stealthy_weapons + category = "Stealthy and Inconspicuous Weapons" -/datum/uplink_item/dangerous/bioterror - name = "Biohazardous Chemical Sprayer" - desc = "A chemical sprayer that allows a wide dispersal of selected chemicals. Especially tailored by the Tiger \ - Cooperative, the deadly blend it comes stocked with will disorient, damage, and disable your foes... \ - Use with extreme caution, to prevent exposure to yourself and your fellow operatives." - item = /obj/item/reagent_containers/spray/chemsprayer/bioterror - cost = 20 +/datum/uplink_item/stealthy_weapons/combatglovesplus + name = "Combat Gloves Plus" + desc = "A pair of gloves that are fireproof and shock resistant, however unlike the regular Combat Gloves this one uses nanotechnology \ + to learn the abilities of krav maga to the wearer." + item = /obj/item/clothing/gloves/krav_maga/combatglovesplus + cost = 5 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) surplus = 0 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) -/datum/uplink_item/stealthy_weapons/virus_grenade - name = "Fungal Tuberculosis Grenade" - desc = "A primed bio-grenade packed into a compact box. Comes with five Bio Virus Antidote Kit (BVAK) \ - autoinjectors for rapid application on up to two targets each, a syringe, and a bottle containing \ - the BVAK solution." - item = /obj/item/storage/box/syndie_kit/tuberculosisgrenade - cost = 8 - surplus = 35 +/datum/uplink_item/stealthy_weapons/cqc + name = "CQC Manual" + desc = "A manual that teaches a single user tactical Close-Quarters Combat before self-destructing." + item = /obj/item/book/granter/martial/cqc include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - restricted = TRUE + cost = 13 + surplus = 0 -/datum/uplink_item/dangerous/guardian - name = "Holoparasites" - desc = "Though capable of near sorcerous feats via use of hardlight holograms and nanomachines, they require an \ - organic host as a home base and source of fuel." - item = /obj/item/storage/box/syndie_kit/guardian - cost = 18 +/datum/uplink_item/stealthy_weapons/dart_pistol + name = "Dart Pistol" + desc = "A miniaturized version of a normal syringe gun. It is very quiet when fired and can fit into any \ + space a small item can." + item = /obj/item/gun/syringe/syndicate + cost = 4 + surplus = 50 + +/datum/uplink_item/stealthy_weapons/dehy_carp + name = "Dehydrated Space Carp" + desc = "Looks like a plush toy carp, but just add water and it becomes a real-life space carp! Activate in \ + your hand before use so it knows not to kill you." + item = /obj/item/toy/plush/carpplushie/dehy_carp + cost = 1 + +/datum/uplink_item/stealthy_weapons/edagger + name = "Energy Dagger" + desc = "A dagger made of energy that looks and functions as a pen when off." + item = /obj/item/pen/edagger + cost = 2 + +/datum/uplink_item/stealthy_weapons/martialarts + name = "Martial Arts Scroll" + desc = "This scroll contains the secrets of an ancient martial arts technique. You will master unarmed combat, \ + deflecting all ranged weapon fire, but you also refuse to use dishonorable ranged weaponry." + item = /obj/item/book/granter/martial/carp + cost = 17 surplus = 0 exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - player_minimum = 25 - restricted = TRUE -/datum/uplink_item/dangerous/buzzkill - name = "Buzzkill Grenade Box" - desc = "A box with three grenades that release a swarm of angry bees upon activation. These bees indiscriminately attack friend or foe \ - with random toxins. Courtesy of the BLF and Tiger Cooperative." - item = /obj/item/storage/box/syndie_kit/bee_grenades - cost = 15 - surplus = 35 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/stealthy_weapons/crossbow + name = "Miniature Energy Crossbow" + desc = "A short bow mounted across a tiller in miniature. Small enough to \ + fit into a pocket or slip into a bag unnoticed. It will synthesize \ + and fire bolts tipped with a paralyzing toxin that will briefly stun \ + targets and cause them to slur as if inebriated. It can produce an \ + infinite number of bolts, but takes time to automatically recharge \ + after each shot." + item = /obj/item/gun/energy/kinetic_accelerator/crossbow + cost = 12 + surplus = 50 + exclude_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/stealthy_weapons/traitor_chem_bottle + name = "Poison Kit" + desc = "An assortment of deadly chemicals packed into a compact box. Comes with a syringe for more precise application." + item = /obj/item/storage/box/syndie_kit/chemical + cost = 6 + surplus = 50 + +/datum/uplink_item/stealthy_weapons/romerol_kit + name = "Romerol" + desc = "A highly experimental bioterror agent which creates dormant nodules to be etched into the grey matter of the brain. On death, these nodules take control of the dead body, causing limited revivification, along with slurred speech, aggression, and the ability to infect others with this agent." + item = /obj/item/storage/box/syndie_kit/romerol + cost = 25 + cant_discount = TRUE + exclude_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/stealthy_weapons/sleepy_pen + name = "Sleepy Pen" + desc = "A syringe disguised as a functional pen, filled with a potent mix of drugs, including a \ + strong anesthetic and a chemical that prevents the target from speaking. \ + The pen holds one dose of the mixture, and can be refilled. Note that before the target \ + falls asleep, they will be able to move and act." + item = /obj/item/pen/sleepy + cost = 4 + exclude_modes = list(/datum/game_mode/nuclear) + +datum/uplink_item/stealthy_weapons/taeclowndo_shoes + name = "Tae-clown-do Shoes" + desc = "A pair of shoes for the most elite agents of the honkmotherland. They grant the mastery of taeclowndo with some honk-fu moves as long as they're worn." + cost = 12 + item = /obj/item/clothing/shoes/clown_shoes/taeclowndo + include_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/stealthy_weapons/suppressor + name = "Universal Suppressor" + desc = "Fitted for use on any small caliber weapon with a threaded barrel, this suppressor will silence the \ + shots of the weapon for increased stealth and superior ambushing capability." + item = /obj/item/suppressor + cost = 1 + surplus = 10 + exclude_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/stealthy_weapons/soap + name = "Syndicate Soap" + desc = "A sinister-looking surfactant used to clean blood stains to hide murders and prevent DNA analysis. \ + You can also drop it underfoot to slip people." + item = /obj/item/soap/syndie + cost = 1 + surplus = 50 + +/datum/uplink_item/stealthy_weapons/soap_clusterbang + name = "Slipocalypse Clusterbang" + desc = "A traditional clusterbang grenade with a payload consisting entirely of Syndicate soap. Useful in any scenario!" + item = /obj/item/grenade/clusterbuster/soap + cost = 6 // Ammunition /datum/uplink_item/ammo @@ -441,13 +660,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 2 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) -/datum/uplink_item/ammo/pistolfire - name = "10mm Incendiary Magazine" - desc = "An additional 8-round 10mm magazine; compatible with the Stechkin Pistol. Loaded with incendiary rounds which ignite the target." - item = /obj/item/ammo_box/magazine/m10mm/fire - cost = 2 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) - /datum/uplink_item/ammo/pistolhp name = "10mm Hollow Point Magazine" desc = "An additional 8-round 10mm magazine; compatible with the Stechkin Pistol. These rounds are more damaging but ineffective against armour." @@ -455,51 +667,35 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 3 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) -/datum/uplink_item/ammo/pistolaps - name = "9mm Handgun Magazine" - desc = "An additional 15-round 9mm magazine, compatible with the Stetchkin APS pistol, found in the Spetsnaz Pyro bundle." - item = /obj/item/ammo_box/magazine/pistolm9mm +/datum/uplink_item/ammo/pistolfire + name = "10mm Incendiary Magazine" + desc = "An additional 8-round 10mm magazine; compatible with the Stechkin Pistol. Loaded with incendiary rounds which ignite the target." + item = /obj/item/ammo_box/magazine/m10mm/fire cost = 2 - include_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/ammo/bolt_action - name = "Surplus Rifle Clip" - desc = "A stripper clip used to quickly load bolt action rifles. Contains 5 rounds." - item = /obj/item/ammo_box/a762 - cost = 1 - include_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/ammo/revolver - name = ".357 Speed Loader" - desc = "A speed loader that contains seven additional .357 Magnum rounds; usable with the Syndicate revolver. \ - For when you really need a lot of things dead." - item = /obj/item/ammo_box/a357 - cost = 4 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/ammo/pistolzzz + name = "10mm Soporific Magazine" + desc = "An additional 8-round 10mm magazine; compatible with the Stechkin Pistol. Loaded with soporific rounds that put the target to sleep. \ + NOTE: Soporific is not instant acting due to the constraints of the round's scale. Will usually require three shots to take effect." + item = /obj/item/ammo_box/magazine/m10mm/soporific + cost = 2 + /datum/uplink_item/ammo/shotgun cost = 2 include_modes = list(/datum/game_mode/nuclear) +/datum/uplink_item/ammo/shotgun/bag + name = "12g Ammo Duffel Bag" + desc = "A duffel bag filled with enough 12g ammo to supply an entire team, at a discounted price." + item = /obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun + cost = 12 + /datum/uplink_item/ammo/shotgun/buck name = "12g Buckshot Drum" desc = "An additional 8-round buckshot magazine for use with the Bulldog shotgun. Front towards enemy." item = /obj/item/ammo_box/magazine/m12g -/datum/uplink_item/ammo/shotgun/slug - name = "12g Slug Drum" - desc = "An additional 8-round slug magazine for use with the Bulldog shotgun. \ - Now 8 times less likely to shoot your pals." - cost = 3 - item = /obj/item/ammo_box/magazine/m12g/slug - -/datum/uplink_item/ammo/shotgun/stun - name = "12g Stun Slug Drum" - desc = "An alternative 8-round stun slug magazine for use with the Bulldog shotgun. \ - Saying that they're completely non-lethal would be lying." - item = /obj/item/ammo_box/magazine/m12g/stun - include_modes = list(/datum/game_mode/nuclear) - /datum/uplink_item/ammo/shotgun/dragon name = "12g Dragon's Breath Drum" desc = "An alternative 8-round dragon's breath magazine for use in the Bulldog shotgun. \ @@ -520,18 +716,34 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/ammo_box/magazine/m12g/scatter cost = 4 // most armor has less laser protection then bullet -/datum/uplink_item/ammo/shotgun/bag - name = "12g Ammo Duffel Bag" - desc = "A duffel bag filled with enough 12g ammo to supply an entire team, at a discounted price." - item = /obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun - cost = 12 - -/datum/uplink_item/ammo/smg - name = ".45 SMG Magazine" - desc = "An additional 24-round .45 magazine suitable for use with the C-20r submachine gun. \ - These bullets pack a lot of punch that can knock most targets down, but do limited overall damage." - item = /obj/item/ammo_box/magazine/smgm45 +/datum/uplink_item/ammo/shotgun/slug + name = "12g Slug Drum" + desc = "An additional 8-round slug magazine for use with the Bulldog shotgun. \ + Now 8 times less likely to shoot your pals." cost = 3 + item = /obj/item/ammo_box/magazine/m12g/slug + +/datum/uplink_item/ammo/shotgun/stun + name = "12g Stun Slug Drum" + desc = "An alternative 8-round stun slug magazine for use with the Bulldog shotgun. \ + Saying that they're completely non-lethal would be lying." + item = /obj/item/ammo_box/magazine/m12g/stun + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/ammo/revolver + name = ".357 Speed Loader" + desc = "A speed loader that contains seven additional .357 Magnum rounds; usable with the Syndicate revolver. \ + For when you really need a lot of things dead." + item = /obj/item/ammo_box/a357 + cost = 4 + exclude_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/ammo/a40mm + name = "40mm Grenade" + desc = "A 40mm HE grenade for use with the M-90gl's under-barrel grenade launcher. \ + Your teammates will ask you to not shoot these down small hallways." + item = /obj/item/ammo_casing/a40mm + cost = 2 include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/smg/bag @@ -541,6 +753,36 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 20 include_modes = list(/datum/game_mode/nuclear) +/datum/uplink_item/ammo/smg + name = ".45 SMG Magazine" + desc = "An additional 24-round .45 magazine suitable for use with the C-20r submachine gun. \ + These bullets pack a lot of punch that can knock most targets down, but do limited overall damage." + item = /obj/item/ammo_box/magazine/smgm45 + cost = 3 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/ammo/sniper + cost = 4 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/ammo/sniper/basic + name = ".50 Magazine" + desc = "An additional standard 6-round magazine for use with .50 sniper rifles." + item = /obj/item/ammo_box/magazine/sniper_rounds + +/datum/uplink_item/ammo/sniper/penetrator + name = ".50 Penetrator Magazine" + desc = "A 5-round magazine of penetrator ammo designed for use with .50 sniper rifles. \ + Can pierce walls and multiple enemies." + item = /obj/item/ammo_box/magazine/sniper_rounds/penetrator + cost = 5 + +/datum/uplink_item/ammo/sniper/soporific + name = ".50 Soporific Magazine" + desc = "A 3-round magazine of soporific ammo designed for use with .50 sniper rifles. Put your enemies to sleep today!" + item = /obj/item/ammo_box/magazine/sniper_rounds/soporific + cost = 6 + /datum/uplink_item/ammo/carbine name = "5.56mm Toploader Magazine" desc = "An additional 30-round 5.56mm magazine; suitable for use with the M-90gl carbine. \ @@ -549,14 +791,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 4 include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/ammo/a40mm - name = "40mm Grenade" - desc = "A 40mm HE grenade for use with the M-90gl's under-barrel grenade launcher. \ - Your teammates will ask you to not shoot these down small hallways." - item = /obj/item/ammo_casing/a40mm - cost = 2 - include_modes = list(/datum/game_mode/nuclear) - /datum/uplink_item/ammo/machinegun cost = 6 surplus = 0 @@ -568,12 +802,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) By the time you need to use this, you'll already be on a pile of corpses." item = /obj/item/ammo_box/magazine/mm195x129 -/datum/uplink_item/ammo/machinegun/hollow - name = "1.95x129mm (Hollow-Point) Box Magazine" - desc = "A 50-round magazine of 1.95x129mm ammunition for use in the L6 SAW; equipped with hollow-point tips to help \ - with the unarmored masses of crew." - item = /obj/item/ammo_box/magazine/mm195x129/hollow - /datum/uplink_item/ammo/machinegun/ap name = "1.95x129mm (Armor Penetrating) Box Magazine" desc = "A 50-round magazine of 1.95x129mm ammunition for use in the L6 SAW; equipped with special properties \ @@ -581,33 +809,41 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/ammo_box/magazine/mm195x129/ap cost = 9 +/datum/uplink_item/ammo/machinegun/hollow + name = "1.95x129mm (Hollow-Point) Box Magazine" + desc = "A 50-round magazine of 1.95x129mm ammunition for use in the L6 SAW; equipped with hollow-point tips to help \ + with the unarmored masses of crew." + item = /obj/item/ammo_box/magazine/mm195x129/hollow + /datum/uplink_item/ammo/machinegun/incen name = "1.95x129mm (Incendiary) Box Magazine" desc = "A 50-round magazine of 1.95x129mm ammunition for use in the L6 SAW; tipped with a special flammable \ mixture that'll ignite anyone struck by the bullet. Some men just want to watch the world burn." item = /obj/item/ammo_box/magazine/mm195x129/incen -/datum/uplink_item/ammo/sniper - cost = 4 +/datum/uplink_item/ammo/pistolaps + name = "9mm Handgun Magazine" + desc = "An additional 15-round 9mm magazine, compatible with the Stetchkin APS pistol, found in the Spetsnaz Pyro bundle." + item = /obj/item/ammo_box/magazine/pistolm9mm + cost = 2 include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/ammo/sniper/basic - name = ".50 Magazine" - desc = "An additional standard 6-round magazine for use with .50 sniper rifles." - item = /obj/item/ammo_box/magazine/sniper_rounds +/datum/uplink_item/ammo/flechetteap + name = "Armor Piercing Flechette Magazine" + desc = "An additional 40-round flechette magazine; compatible with the Flechette Launcer. \ + Loaded with armor piercing flechettes that very nearly ignore armor, but are not very effective agaisnt flesh." + item = /obj/item/ammo_box/magazine/flechette + cost = 2 + include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/ammo/sniper/soporific - name = ".50 Soporific Magazine" - desc = "A 3-round magazine of soporific ammo designed for use with .50 sniper rifles. Put your enemies to sleep today!" - item = /obj/item/ammo_box/magazine/sniper_rounds/soporific - cost = 6 - -/datum/uplink_item/ammo/sniper/penetrator - name = ".50 Penetrator Magazine" - desc = "A 5-round magazine of penetrator ammo designed for use with .50 sniper rifles. \ - Can pierce walls and multiple enemies." - item = /obj/item/ammo_box/magazine/sniper_rounds/penetrator - cost = 5 +/datum/uplink_item/ammo/flechettes + name = "Serrated Flechette Magazine" + desc = "An additional 40-round flechette magazine; compatible with the Flechette Launcer. \ + Loaded with serrated flechettes that shreds flesh, but is stopped dead in its tracks by armor. \ + These flechettes are highly likely to sever arteries, and even limbs." + item = /obj/item/ammo_box/magazine/flechette/s + cost = 2 + include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/toydarts name = "Box of Riot Darts" @@ -624,12 +860,184 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 6 include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/ammo/bolt_action + name = "Surplus Rifle Clip" + desc = "A stripper clip used to quickly load bolt action rifles. Contains 5 rounds." + item = /obj/item/ammo_box/a762 + cost = 1 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/explosives + category = "Grenades and Explosives" + +/datum/uplink_item/explosives/bioterrorfoam + name = "Chemical Foam Grenade" + desc = "A powerful chemical foam grenade which creates a deadly torrent of foam that will mute, blind, confuse, \ + mutate, and irritate carbon lifeforms. Specially brewed by Tiger Cooperative chemical weapons specialists \ + using additional spore toxin. Ensure suit is sealed before use." + item = /obj/item/grenade/chem_grenade/bioterrorfoam + cost = 5 + surplus = 35 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/explosives/bombanana + name = "Bombanana" + desc = "A banana with an explosive taste! discard the peel quickly, as it will explode with the force of a syndicate minibomb \ + a few seconds after the banana is eaten." + item = /obj/item/reagent_containers/food/snacks/grown/banana/bombanana + cost = 4 //it is a bit cheaper than a minibomb because you have to take off your helmet to eat it, which is how you arm it + surplus = 0 + include_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/explosives/buzzkill + name = "Buzzkill Grenade Box" + desc = "A box with three grenades that release a swarm of angry bees upon activation. These bees indiscriminately attack friend or foe \ + with random toxins. Courtesy of the BLF and Tiger Cooperative." + item = /obj/item/storage/box/syndie_kit/bee_grenades + cost = 15 + surplus = 35 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/explosives/c4 + name = "Composition C-4" + desc = "C-4 is plastic explosive of the common variety Composition C. You can use it to breach walls, sabotage equipment, or connect \ + an assembly to it in order to alter the way it detonates. It has a modifiable timer with a \ + minimum setting of 10 seconds." + item = /obj/item/grenade/plastic/c4 + cost = 1 + +/datum/uplink_item/explosives/c4bag + name = "Bag of C-4 explosives" + desc = "Because sometimes quantity is quality. Contains 10 C-4 plastic explosives." + item = /obj/item/storage/backpack/duffelbag/syndie/c4 + cost = 9 //10% discount! + cant_discount = TRUE + +/datum/uplink_item/explosives/x4bag + name = "Bag of X-4 explosives" + desc = "Contains 3 X-4 plastic explosives. Similar, but more powerful than C-4. X-4 can be placed on a solid surface, such as a wall or window, and it will \ + blast through the wall, injuring anything on the opposite side, while being safer to the user. For when you want a wider, deeper, hole." + item = /obj/item/storage/backpack/duffelbag/syndie/x4 + cost = 4 // + cant_discount = TRUE + +/datum/uplink_item/explosives/clown_bomb_clownops + name = "Clown Bomb" + desc = "The Clown bomb is a hilarious device capable of massive pranks. It has an adjustable timer, \ + with a minimum of 60 seconds, and can be bolted to the floor with a wrench to prevent \ + movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ + transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ + be defused, and some crew may attempt to do so." + item = /obj/item/sbeacondrop/clownbomb + cost = 15 + surplus = 0 + include_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/explosives/detomatix + name = "Detomatix PDA Cartridge" + desc = "When inserted into a personal digital assistant, this cartridge gives you four opportunities to \ + detonate PDAs of crewmembers who have their message feature enabled. \ + The concussive effect from the explosion will knock the recipient out for a short period, and deafen \ + them for longer. Beware, it has a chance to detonate your PDA." + item = /obj/item/cartridge/virus/syndicate + cost = 5 + restricted = TRUE + +/datum/uplink_item/explosives/emp + name = "EMP Grenades and Implanter Kit" + desc = "A box that contains two EMP grenades and an EMP implant. Useful to disrupt communication, \ + security's energy weapons, and silicon lifeforms when you're in a tight spot." + item = /obj/item/storage/box/syndie_kit/emp + cost = 2 + +/datum/uplink_item/explosives/virus_grenade + name = "Fungal Tuberculosis Grenade" + desc = "A primed bio-grenade packed into a compact box. Comes with five Bio Virus Antidote Kit (BVAK) \ + autoinjectors for rapid application on up to two targets each, a syringe, and a bottle containing \ + the BVAK solution." + item = /obj/item/storage/box/syndie_kit/tuberculosisgrenade + cost = 8 + surplus = 35 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + restricted = TRUE + +/datum/uplink_item/explosives/grenadier + name = "Grenadier's belt" + desc = "A belt of a large variety of lethally dangerous and destructive grenades." + item = /obj/item/storage/belt/grenade/full + include_modes = list(/datum/game_mode/nuclear) + cost = 22 + surplus = 0 + +/datum/uplink_item/explosives/pizza_bomb + name = "Pizza Bomb" + desc = "A pizza box with a bomb cunningly attached to the lid. The timer needs to be set by opening the box; afterwards, \ + opening the box again will trigger the detonation after the timer has elapsed. Comes with free pizza, for you or your target!" + item = /obj/item/pizzabox/bomb + cost = 6 + surplus = 8 + +/datum/uplink_item/explosives/syndicate_bomb + name = "Syndicate Bomb" + desc = "The Syndicate bomb is a fearsome device capable of massive destruction. It has an adjustable timer, \ + with a minimum of 60 seconds, and can be bolted to the floor with a wrench to prevent \ + movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ + transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ + be defused, and some crew may attempt to do so." + item = /obj/item/sbeacondrop/bomb + cost = 11 + +/datum/uplink_item/explosives/syndicate_detonator + name = "Syndicate Detonator" + desc = "The Syndicate detonator is a companion device to the Syndicate bomb. Simply press the included button \ + and an encrypted radio frequency will instruct all live Syndicate bombs to detonate. \ + Useful for when speed matters or you wish to synchronize multiple bomb blasts. Be sure to stand clear of \ + the blast radius before using the detonator." + item = /obj/item/syndicatedetonator + cost = 3 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/explosives/syndicate_minibomb + name = "Syndicate Minibomb" + desc = "The minibomb is a grenade with a five-second fuse. Upon detonation, it will create a small hull breach \ + in addition to dealing high amounts of damage to nearby personnel." + item = /obj/item/grenade/syndieminibomb + cost = 6 + exclude_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/explosives/tearstache + name = "Teachstache Grenade" + desc = "A teargas grenade that launches sticky moustaches onto the face of anyone not wearing a clown or mime mask. The moustaches will \ + remain attached to the face of all targets for one minute, preventing the use of breath masks and other such devices." + item = /obj/item/grenade/chem_grenade/teargas/moustache + cost = 3 + surplus = 0 + include_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/explosives/viscerators + name = "Viscerator Delivery Grenade" + desc = "A unique grenade that deploys a swarm of viscerators upon activation, which will chase down and shred \ + any non-operatives in the area." + item = /obj/item/grenade/spawnergrenade/manhacks + cost = 5 + surplus = 35 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + + //Support and Mechs /datum/uplink_item/support category = "Support and Mechanized Exosuits" surplus = 0 include_modes = list(/datum/game_mode/nuclear) +/datum/uplink_item/support/clown_reinforcement + name = "Clown Reinforcements" + desc = "Call in an additional clown to share the fun, equipped with full starting gear, but no telecrystals." + item = /obj/item/antag_spawner/nuke_ops/clown + cost = 20 + include_modes = list(/datum/game_mode/nuclear/clown_ops) + restricted = TRUE + /datum/uplink_item/support/reinforcement name = "Reinforcements" desc = "Call in an additional team member. They won't come with any gear, so you'll have to save some telecrystals \ @@ -664,13 +1072,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/mecha/combat/gygax/dark/loaded cost = 80 -/datum/uplink_item/support/mauler - name = "Mauler Exosuit" - desc = "A massive and incredibly deadly military-grade exosuit. Features long-range targeting, thrust vectoring, \ - and deployable smoke." - item = /obj/mecha/combat/marauder/mauler/loaded - cost = 140 - /datum/uplink_item/support/honker name = "Dark H.O.N.K." desc = "A clown combat mech equipped with bombanana peel and tearstache grenade launchers, as well as the ubiquitous HoNkER BlAsT 5000." @@ -678,141 +1079,36 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 80 include_modes = list(/datum/game_mode/nuclear/clown_ops) -/datum/uplink_item/support/clown_reinforcement - name = "Clown Reinforcements" - desc = "Call in an additional clown to share the fun, equipped with full starting gear, but no telecrystals." - item = /obj/item/antag_spawner/nuke_ops/clown - cost = 20 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - restricted = TRUE - -// Stealthy Weapons -/datum/uplink_item/stealthy_weapons - category = "Stealthy and Inconspicuous Weapons" - -/datum/uplink_item/stealthy_weapons/martialarts - name = "Martial Arts Scroll" - desc = "This scroll contains the secrets of an ancient martial arts technique. You will master unarmed combat, \ - deflecting all ranged weapon fire, but you also refuse to use dishonorable ranged weaponry." - item = /obj/item/book/granter/martial/carp - cost = 17 - surplus = 0 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/stealthy_weapons/cqc - name = "CQC Manual" - desc = "A manual that teaches a single user tactical Close-Quarters Combat before self-destructing." - item = /obj/item/book/granter/martial/cqc - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - cost = 13 - surplus = 0 - -/datum/uplink_item/stealthy_weapons/throwingweapons - name = "Box of Throwing Weapons" - desc = "A box of shurikens and reinforced bolas from ancient Earth martial arts. They are highly effective \ - throwing weapons. The bolas can knock a target down and the shurikens will embed into limbs." - item = /obj/item/storage/box/syndie_kit/throwing_weapons - cost = 3 - -/datum/uplink_item/stealthy_weapons/edagger - name = "Energy Dagger" - desc = "A dagger made of energy that looks and functions as a pen when off." - item = /obj/item/pen/edagger - cost = 2 - -/datum/uplink_item/stealthy_weapons/foampistol - name = "Toy Gun with Riot Darts" - desc = "An innocent-looking toy pistol designed to fire foam darts. Comes loaded with riot-grade \ - darts effective at incapacitating a target." - item = /obj/item/gun/ballistic/automatic/toy/pistol/riot - cost = 3 - surplus = 10 - -/datum/uplink_item/stealthy_weapons/sleepy_pen - name = "Sleepy Pen" - desc = "A syringe disguised as a functional pen, filled with a potent mix of drugs, including a \ - strong anesthetic and a chemical that prevents the target from speaking. \ - The pen holds one dose of the mixture, and can be refilled. Note that before the target \ - falls asleep, they will be able to move and act." - item = /obj/item/pen/sleepy - cost = 4 - exclude_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/stealthy_weapons/soap - name = "Syndicate Soap" - desc = "A sinister-looking surfactant used to clean blood stains to hide murders and prevent DNA analysis. \ - You can also drop it underfoot to slip people." - item = /obj/item/soap/syndie - cost = 1 - surplus = 50 - -/datum/uplink_item/stealthy_weapons/traitor_chem_bottle - name = "Poison Kit" - desc = "An assortment of deadly chemicals packed into a compact box. Comes with a syringe for more precise application." - item = /obj/item/storage/box/syndie_kit/chemical - cost = 6 - surplus = 50 - -/datum/uplink_item/stealthy_weapons/romerol_kit - name = "Romerol" - desc = "A highly experimental bioterror agent which creates dormant nodules to be etched into the grey matter of the brain. On death, these nodules take control of the dead body, causing limited revivification, along with slurred speech, aggression, and the ability to infect others with this agent." - item = /obj/item/storage/box/syndie_kit/romerol - cost = 25 - cant_discount = TRUE - exclude_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/stealthy_weapons/dart_pistol - name = "Dart Pistol" - desc = "A miniaturized version of a normal syringe gun. It is very quiet when fired and can fit into any \ - space a small item can." - item = /obj/item/gun/syringe/syndicate - cost = 4 - surplus = 50 - -/datum/uplink_item/stealthy_weapons/detomatix - name = "Detomatix PDA Cartridge" - desc = "When inserted into a personal digital assistant, this cartridge gives you four opportunities to \ - detonate PDAs of crewmembers who have their message feature enabled. \ - The concussive effect from the explosion will knock the recipient out for a short period, and deafen \ - them for longer. Beware, it has a chance to detonate your PDA." - item = /obj/item/cartridge/virus/syndicate - cost = 5 - restricted = TRUE - -/datum/uplink_item/stealthy_weapons/suppressor - name = "Universal Suppressor" - desc = "Fitted for use on any small caliber weapon with a threaded barrel, this suppressor will silence the \ - shots of the weapon for increased stealth and superior ambushing capability." - item = /obj/item/suppressor - cost = 1 - surplus = 10 - exclude_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/stealthy_weapons/pizza_bomb - name = "Pizza Bomb" - desc = "A pizza box with a bomb cunningly attached to the lid. The timer needs to be set by opening the box; afterwards, \ - opening the box again will trigger the detonation after the timer has elapsed. Comes with free pizza, for you or your target!" - item = /obj/item/pizzabox/bomb - cost = 6 - surplus = 8 - -/datum/uplink_item/stealthy_weapons/dehy_carp - name = "Dehydrated Space Carp" - desc = "Looks like a plush toy carp, but just add water and it becomes a real-life space carp! Activate in \ - your hand before use so it knows not to kill you." - item = /obj/item/toy/plush/carpplushie/dehy_carp - cost = 1 - -/datum/uplink_item/stealthy_weapons/soap_clusterbang - name = "Slipocalypse Clusterbang" - desc = "A traditional clusterbang grenade with a payload consisting entirely of Syndicate soap. Useful in any scenario!" - item = /obj/item/grenade/clusterbuster/soap - cost = 6 +/datum/uplink_item/support/mauler + name = "Mauler Exosuit" + desc = "A massive and incredibly deadly military-grade exosuit. Features long-range targeting, thrust vectoring, \ + and deployable smoke." + item = /obj/mecha/combat/marauder/mauler/loaded + cost = 140 // Stealth Items /datum/uplink_item/stealthy_tools category = "Stealth and Camouflage Items" +/datum/uplink_item/stealthy_tools/agent_card + name = "Agent Identification Card" + desc = "Agent cards prevent artificial intelligences from tracking the wearer, and can copy access \ + from other identification cards. The access is cumulative, so scanning one card does not erase the \ + access gained from another. In addition, they can be forged to display a new assignment and name. \ + This can be done an unlimited amount of times. Some Syndicate areas and devices can only be accessed \ + with these cards." + item = /obj/item/card/id/syndicate + cost = 2 + +/datum/uplink_item/stealthy_tools/ai_detector + name = "Artificial Intelligence Detector" + desc = "A functional multitool that turns red when it detects an artificial intelligence watching it, and can be \ + activated to display their exact viewing location and nearby security camera blind spots. Knowing when \ + an artificial intelligence is watching you is useful for knowing when to maintain cover, and finding nearby \ + blind spots can help you identify escape routes." + item = /obj/item/multitool/ai_detect + cost = 1 + /datum/uplink_item/stealthy_tools/chameleon name = "Chameleon Kit" desc = "A set of items that contain chameleon technology allowing you to disguise as pretty much anything on the station, and more!" @@ -820,6 +1116,46 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 2 exclude_modes = list(/datum/game_mode/nuclear) +/datum/uplink_item/stealthy_tools/chameleon_proj + name = "Chameleon Projector" + desc = "Projects an image across a user, disguising them as an object scanned with it, as long as they don't \ + move the projector from their hand. Disguised users move slowly, and projectiles pass over them." + item = /obj/item/chameleon + cost = 7 + +/datum/uplink_item/stealthy_tools/codespeak_manual + name = "Codespeak Manual" + desc = "Syndicate agents can be trained to use a series of codewords to convey complex information, which sounds like random concepts and drinks to anyone listening. This manual teaches you this Codespeak. You can also hit someone else with the manual in order to teach them. This is the deluxe edition, which has unlimited used." + item = /obj/item/codespeak_manual/unlimited + cost = 3 + +/datum/uplink_item/stealthy_tools/combatbananashoes + name = "Combat Banana Shoes" + desc = "While making the wearer immune to most slipping attacks like regular combat clown shoes, these shoes \ + can generate a large number of synthetic banana peels as the wearer walks, slipping up would-be pursuers. They also \ + squeak significantly louder." + item = /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat + cost = 6 + surplus = 0 + include_modes = list(/datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/stealthy_tools/emplight + name = "EMP Flashlight" + desc = "A small, self-charging, short-ranged EMP device disguised as a flashlight. \ + Useful for disrupting headsets, cameras, and borgs during stealth operations." + item = /obj/item/flashlight/emp + cost = 2 + surplus = 30 + +/datum/uplink_item/stealthy_tools/mulligan + name = "Mulligan" + desc = "Screwed up and have security on your tail? This handy syringe will give you a completely new identity \ + and appearance." + item = /obj/item/reagent_containers/syringe/mulligan + cost = 3 + surplus = 30 + exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + /datum/uplink_item/stealthy_tools/syndigaloshes name = "No-Slip Chameleon Shoes" desc = "These shoes will allow the wearer to run on wet floors and slippery objects without falling down. \ @@ -835,57 +1171,22 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) exclude_modes = list() include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/stealthy_tools/combatbananashoes - name = "Combat Banana Shoes" - desc = "While making the wearer immune to most slipping attacks like regular combat clown shoes, these shoes \ - can generate a large number of synthetic banana peels as the wearer walks, slipping up would-be pursuers. They also \ - squeak significantly louder." - item = /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat - cost = 6 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/stealthy_tools/jammer + name = "Radio Jammer" + desc = "This device will disrupt any nearby outgoing radio communication when activated." + item = /obj/item/jammer + cost = 5 -datum/uplink_item/stealthy_tools/taeclowndo_shoes - name = "Tae-clown-do Shoes" - desc = "A pair of shoes for the most elite agents of the honkmotherland. They grant the mastery of taeclowndo with some honk-fu moves as long as they're worn." - cost = 12 - item = /obj/item/clothing/shoes/clown_shoes/taeclowndo - include_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/stealthy_tools/frame - name = "F.R.A.M.E. PDA Cartridge" - desc = "When inserted into a personal digital assistant, this cartridge gives you five PDA viruses which \ - when used cause the targeted PDA to become a new uplink with zero TCs, and immediately become unlocked. \ - You will receive the unlock code upon activating the virus, and the new uplink may be charged with \ - telecrystals normally." - item = /obj/item/cartridge/virus/frame - cost = 2 - restricted = TRUE - -/datum/uplink_item/stealthy_tools/agent_card - name = "Agent Identification Card" - desc = "Agent cards prevent artificial intelligences from tracking the wearer, and can copy access \ - from other identification cards. The access is cumulative, so scanning one card does not erase the \ - access gained from another. In addition, they can be forged to display a new assignment and name. \ - This can be done an unlimited amount of times. Some Syndicate areas and devices can only be accessed \ - with these cards." - item = /obj/item/card/id/syndicate - cost = 2 - -/datum/uplink_item/stealthy_tools/chameleon_proj - name = "Chameleon Projector" - desc = "Projects an image across a user, disguising them as an object scanned with it, as long as they don't \ - move the projector from their hand. Disguised users move slowly, and projectiles pass over them." - item = /obj/item/chameleon - cost = 7 - -/datum/uplink_item/stealthy_tools/camera_bug - name = "Camera Bug" - desc = "Enables you to view all cameras on the network and track a target. Bugging cameras allows you \ - to disable them remotely." - item = /obj/item/camera_bug - cost = 1 - surplus = 90 +/*/datum/uplink_item/stealthy_tools/syndi_borer + name = "Syndicate Brain Slug" + desc = "A small cortical borer, modified to be completely loyal to the owner. \ + Genetically infertile, these brain slugs can assist medically in a support role, or take direct action \ + to assist their host." + item = /obj/item/antag_spawner/syndi_borer + refundable = TRUE + cost = 10 + surplus = 20 //Let's not have this be too common + exclude_modes = list(/datum/game_mode/nuclear) */ /datum/uplink_item/stealthy_tools/smugglersatchel name = "Smuggler's Satchel" @@ -896,46 +1197,6 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes cost = 2 surplus = 30 -/datum/uplink_item/stealthy_tools/stimpack - name = "Stimpack" - desc = "Stimpacks, the tool of many great heroes, make you nearly immune to stuns and knockdowns for about \ - 5 minutes after injection." - item = /obj/item/reagent_containers/syringe/stimulants - cost = 5 - surplus = 90 - -/datum/uplink_item/stealthy_tools/mulligan - name = "Mulligan" - desc = "Screwed up and have security on your tail? This handy syringe will give you a completely new identity \ - and appearance." - item = /obj/item/reagent_containers/syringe/mulligan - cost = 3 - surplus = 30 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/stealthy_tools/emplight - name = "EMP Flashlight" - desc = "A small, self-charging, short-ranged EMP device disguised as a flashlight. \ - Useful for disrupting headsets, cameras, and borgs during stealth operations." - item = /obj/item/flashlight/emp - cost = 2 - surplus = 30 - -/datum/uplink_item/stealthy_tools/cutouts - name = "Adaptive Cardboard Cutouts" - desc = "These cardboard cutouts are coated with a thin material that prevents discoloration and makes the images on them appear more lifelike. This pack contains three as well as a \ - crayon for changing their appearances." - item = /obj/item/storage/box/syndie_kit/cutouts - cost = 1 - surplus = 20 - -/datum/uplink_item/stealthy_tools/fakenucleardisk - name = "Decoy Nuclear Authentication Disk" - desc = "It's just a normal disk. Visually it's identical to the real deal, but it won't hold up under closer scrutiny by the Captain. Don't try to give this to us to complete your objective, we know better!" - item = /obj/item/disk/nuclear/fake - cost = 1 - surplus = 1 - //Space Suits and Hardsuits /datum/uplink_item/suits category = "Space Suits and Hardsuits" @@ -982,6 +1243,74 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes /datum/uplink_item/device_tools category = "Devices and Tools" +/datum/uplink_item/device_tools/cutouts + name = "Adaptive Cardboard Cutouts" + desc = "These cardboard cutouts are coated with a thin material that prevents discoloration and makes the images on them appear more lifelike. This pack contains three as well as a \ + crayon for changing their appearances." + item = /obj/item/storage/box/syndie_kit/cutouts + cost = 1 + surplus = 20 + +/datum/uplink_item/device_tools/assault_pod + name = "Assault Pod Targeting Device" + desc = "Use to select the landing zone of your assault pod." + item = /obj/item/assault_pod + cost = 30 + surplus = 0 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + restricted = TRUE + +/datum/uplink_item/device_tools/binary + name = "Binary Translator Key" + desc = "A key that, when inserted into a radio headset, allows you to listen to and talk with silicon-based lifeforms, \ + such as AI units and cyborgs, over their private binary channel. Caution should \ + be taken while doing this, as unless they are allied with you, they are programmed to report such intrusions." + item = /obj/item/encryptionkey/binary + cost = 2 + surplus = 75 + restricted = TRUE + +/datum/uplink_item/device_tools/magboots + name = "Blood-Red Magboots" + desc = "A pair of magnetic boots with a Syndicate paintjob that assist with freer movement in space or on-station \ + during gravitational generator failures. These reverse-engineered knockoffs of Nanotrasen's \ + 'Advanced Magboots' slow you down in simulated-gravity environments much like the standard issue variety." + item = /obj/item/clothing/shoes/magboots/syndie + cost = 2 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) + +/datum/uplink_item/device_tools/compressionkit + name = "Bluespace Compression Kit" + desc = "A modified version of a BSRPED that can be used to reduce the size of most items while retaining their original functions! \ + Does not work on storage items. \ + Recharge using bluespace crystals. \ + Comes with 5 charges." + item = /obj/item/compressionkit + cost = 5 + +/datum/uplink_item/device_tools/briefcase_launchpad + name = "Briefcase Launchpad" + desc = "A briefcase containing a launchpad, a device able to teleport items and people to and from targets up to twenty tiles away from the briefcase. \ + Also includes a remote control, disguised as an ordinary folder. Touch the briefcase with the remote to link it." + surplus = 0 + item = /obj/item/storage/briefcase/launchpad + cost = 6 + +/datum/uplink_item/device_tools/camera_bug + name = "Camera Bug" + desc = "Enables you to view all cameras on the network and track a target. Bugging cameras allows you \ + to disable them remotely." + item = /obj/item/camera_bug + cost = 1 + surplus = 90 + +/datum/uplink_item/device_tools/military_belt + name = "Chest Rig" + desc = "A robust seven-slot set of webbing that is capable of holding all manner of tactical equipment." + item = /obj/item/storage/belt/military + cost = 1 + exclude_modes = list(/datum/game_mode/nuclear) + /datum/uplink_item/device_tools/emag name = "Cryptographic Sequencer" desc = "The cryptographic sequencer, electromagnetic card, or emag, is a small card that unlocks hidden functions \ @@ -989,6 +1318,29 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes item = /obj/item/card/emag cost = 6 +/datum/uplink_item/device_tools/emagrecharge + name = "Electromagnet Charging Device" + desc = "A small device intended for recharging Cryptographic Sequencers. Using it will add five extra charges to the Cryptographic Sequencer." + item = /obj/item/emagrecharge + cost = 2 + +/datum/uplink_item/device_tools/fakenucleardisk + name = "Decoy Nuclear Authentication Disk" + desc = "It's just a normal disk. Visually it's identical to the real deal, but it won't hold up under closer scrutiny by the Captain. Don't try to give this to us to complete your objective, we know better!" + item = /obj/item/disk/nuclear/fake + cost = 1 + surplus = 1 + +/datum/uplink_item/device_tools/frame + name = "F.R.A.M.E. PDA Cartridge" + desc = "When inserted into a personal digital assistant, this cartridge gives you five PDA viruses which \ + when used cause the targeted PDA to become a new uplink with zero TCs, and immediately become unlocked. \ + You will receive the unlock code upon activating the virus, and the new uplink may be charged with \ + telecrystals normally." + item = /obj/item/cartridge/virus/frame + cost = 2 + restricted = TRUE + /datum/uplink_item/device_tools/toolbox name = "Full Syndicate Toolbox" desc = "The syndicate toolbox is a suspicious black and red. It comes loaded with a full tool set including a \ @@ -996,12 +1348,28 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes item = /obj/item/storage/toolbox/syndicate cost = 1 -/datum/uplink_item/device_tools/surgerybag - name = "Syndicate Surgery Duffel Bag" - desc = "The Syndicate surgery duffel bag is a toolkit containing all surgery tools, surgical drapes, \ - a Syndicate brand MMI, a straitjacket, and a muzzle." - item = /obj/item/storage/backpack/duffelbag/syndie/surgery - cost = 3 +/datum/uplink_item/device_tools/syndie_glue + name = "Glue" + desc = "A cheap bottle of one use syndicate brand super glue. \ + Use on any item to make it undroppable. \ + Be careful not to glue an item you're already holding!" + item = /obj/item/syndie_glue + cost = 2 + +/datum/uplink_item/device_tools/hacked_module + name = "Hacked AI Law Upload Module" + desc = "When used with an upload console, this module allows you to upload priority laws to an artificial intelligence. \ + Be careful with wording, as artificial intelligences may look for loopholes to exploit." + item = /obj/item/aiModule/syndicate + cost = 9 + +/datum/uplink_item/device_tools/medgun + name = "Medbeam Gun" + desc = "A wonder of Syndicate engineering, the Medbeam gun, or Medi-Gun enables a medic to keep his fellow \ + operatives in the fight, even while under fire." + item = /obj/item/gun/medbeam + cost = 15 + include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) /datum/uplink_item/device_tools/nutcracker name = "Nutcracker" @@ -1009,19 +1377,39 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes item = /obj/item/nutcracker cost = 1 -/datum/uplink_item/device_tools/surgerybag_adv - name = "Advanced Syndicate Surgery Duffel Bag" - desc = "The Syndicate surgery duffel bag is a toolkit containing all newest surgery tools, surgical drapes, \ - a Syndicate brand MMI, a straitjacket, a muzzle, and a full Syndicate Combat Medic Kit." - item = /obj/item/storage/backpack/duffelbag/syndie/surgery_adv - cost = 10 +/datum/uplink_item/device_tools/singularity_beacon + name = "Power Beacon" + desc = "When screwed to wiring attached to an electric grid and activated, this large device pulls any \ + active gravitational singularities or tesla balls towards it. This will not work when the engine is still \ + in containment. Because of its size, it cannot be carried. Ordering this \ + sends you a small beacon that will teleport the larger beacon to your location upon activation." + item = /obj/item/sbeacondrop + cost = 14 -/datum/uplink_item/device_tools/military_belt - name = "Chest Rig" - desc = "A robust seven-slot set of webbing that is capable of holding all manner of tactical equipment." - item = /obj/item/storage/belt/military - cost = 1 - exclude_modes = list(/datum/game_mode/nuclear) +/datum/uplink_item/device_tools/powersink + name = "Power Sink" + desc = "When screwed to wiring attached to a power grid and activated, this large device places excessive \ + load on the grid, causing a station-wide blackout. The sink is large and cannot be stored in most \ + traditional bags and boxes." + item = /obj/item/powersink + cost = 6 + +/datum/uplink_item/device_tools/rad_laser + name = "Radioactive Microlaser" + desc = "A radioactive microlaser disguised as a standard Nanotrasen health analyzer. When used, it emits a \ + powerful burst of radiation, which, after a short delay, can incapacitate all but the most protected \ + of humanoids. It has two settings: intensity, which controls the power of the radiation, \ + and wavelength, which controls how long the radiation delay is." + item = /obj/item/healthanalyzer/rad_laser + cost = 3 + +/datum/uplink_item/device_tools/stimpack + name = "Stimpack" + desc = "Stimpacks, the tool of many great heroes, make you nearly immune to stuns and knockdowns for about \ + 5 minutes after injection." + item = /obj/item/reagent_containers/syringe/stimulants + cost = 5 + surplus = 90 /datum/uplink_item/device_tools/medkit name = "Syndicate Combat Medic Kit" @@ -1032,6 +1420,29 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes cost = 4 include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) +/datum/uplink_item/device_tools/surgerybag + name = "Syndicate Surgery Duffel Bag" + desc = "The Syndicate surgery duffel bag is a toolkit containing all surgery tools, surgical drapes, \ + a Syndicate brand MMI, a straitjacket, and a muzzle." + item = /obj/item/storage/backpack/duffelbag/syndie/surgery + cost = 3 + +/datum/uplink_item/device_tools/surgerybag_adv + name = "Advanced Syndicate Surgery Duffel Bag" + desc = "The Syndicate surgery duffel bag is a toolkit containing all newest surgery tools, surgical drapes, \ + a Syndicate brand MMI, a straitjacket, a muzzle, and a full Syndicate Combat Medic Kit." + item = /obj/item/storage/backpack/duffelbag/syndie/surgery_adv + cost = 10 + +/datum/uplink_item/device_tools/encryptionkey + name = "Syndicate Encryption Key" + desc = "A key that, when inserted into a radio headset, allows you to listen to all station department channels \ + as well as talk on an encrypted Syndicate channel with other agents that have the same key." + item = /obj/item/encryptionkey/syndicate + cost = 2 + surplus = 75 + restricted = TRUE + /datum/uplink_item/device_tools/syndietome name = "Syndicate Tome" desc = "Using rare artifacts acquired at great cost, the syndicate has reverse engineered \ @@ -1050,175 +1461,6 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes item = /obj/item/clothing/glasses/thermal/syndi cost = 4 -/datum/uplink_item/device_tools/binary - name = "Binary Translator Key" - desc = "A key that, when inserted into a radio headset, allows you to listen to and talk with silicon-based lifeforms, \ - such as AI units and cyborgs, over their private binary channel. Caution should \ - be taken while doing this, as unless they are allied with you, they are programmed to report such intrusions." - item = /obj/item/encryptionkey/binary - cost = 2 - surplus = 75 - restricted = TRUE - -/datum/uplink_item/device_tools/encryptionkey - name = "Syndicate Encryption Key" - desc = "A key that, when inserted into a radio headset, allows you to listen to all station department channels \ - as well as talk on an encrypted Syndicate channel with other agents that have the same key." - item = /obj/item/encryptionkey/syndicate - cost = 2 - surplus = 75 - restricted = TRUE - -/datum/uplink_item/device_tools/ai_detector - name = "Artificial Intelligence Detector" - desc = "A functional multitool that turns red when it detects an artificial intelligence watching it, and can be \ - activated to display their exact viewing location and nearby security camera blind spots. Knowing when \ - an artificial intelligence is watching you is useful for knowing when to maintain cover, and finding nearby \ - blind spots can help you identify escape routes." - item = /obj/item/multitool/ai_detect - cost = 1 - -/datum/uplink_item/device_tools/hacked_module - name = "Hacked AI Law Upload Module" - desc = "When used with an upload console, this module allows you to upload priority laws to an artificial intelligence. \ - Be careful with wording, as artificial intelligences may look for loopholes to exploit." - item = /obj/item/aiModule/syndicate - cost = 9 - -/datum/uplink_item/device_tools/briefcase_launchpad - name = "Briefcase Launchpad" - desc = "A briefcase containing a launchpad, a device able to teleport items and people to and from targets up to twenty tiles away from the briefcase. \ - Also includes a remote control, disguised as an ordinary folder. Touch the briefcase with the remote to link it." - surplus = 0 - item = /obj/item/storage/briefcase/launchpad - cost = 6 - -/datum/uplink_item/device_tools/magboots - name = "Blood-Red Magboots" - desc = "A pair of magnetic boots with a Syndicate paintjob that assist with freer movement in space or on-station \ - during gravitational generator failures. These reverse-engineered knockoffs of Nanotrasen's \ - 'Advanced Magboots' slow you down in simulated-gravity environments much like the standard issue variety." - item = /obj/item/clothing/shoes/magboots/syndie - cost = 2 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/device_tools/c4 - name = "Composition C-4" - desc = "C-4 is plastic explosive of the common variety Composition C. You can use it to breach walls, sabotage equipment, or connect \ - an assembly to it in order to alter the way it detonates. It has a modifiable timer with a \ - minimum setting of 10 seconds." - item = /obj/item/grenade/plastic/c4 - cost = 1 - -/datum/uplink_item/device_tools/c4bag - name = "Bag of C-4 explosives" - desc = "Because sometimes quantity is quality. Contains 10 C-4 plastic explosives." - item = /obj/item/storage/backpack/duffelbag/syndie/c4 - cost = 9 //10% discount! - cant_discount = TRUE - -/datum/uplink_item/device_tools/x4bag - name = "Bag of X-4 explosives" - desc = "Contains 3 X-4 plastic explosives. Similar, but more powerful than C-4. X-4 can be placed on a solid surface, such as a wall or window, and it will \ - blast through the wall, injuring anything on the opposite side, while being safer to the user. For when you want a wider, deeper, hole." - item = /obj/item/storage/backpack/duffelbag/syndie/x4 - cost = 4 // - cant_discount = TRUE - -/datum/uplink_item/device_tools/powersink - name = "Power Sink" - desc = "When screwed to wiring attached to a power grid and activated, this large device places excessive \ - load on the grid, causing a station-wide blackout. The sink is large and cannot be stored in most \ - traditional bags and boxes." - item = /obj/item/powersink - cost = 6 - -/datum/uplink_item/device_tools/singularity_beacon - name = "Power Beacon" - desc = "When screwed to wiring attached to an electric grid and activated, this large device pulls any \ - active gravitational singularities or tesla balls towards it. This will not work when the engine is still \ - in containment. Because of its size, it cannot be carried. Ordering this \ - sends you a small beacon that will teleport the larger beacon to your location upon activation." - item = /obj/item/sbeacondrop - cost = 14 - -/datum/uplink_item/device_tools/syndicate_bomb - name = "Syndicate Bomb" - desc = "The Syndicate bomb is a fearsome device capable of massive destruction. It has an adjustable timer, \ - with a minimum of 60 seconds, and can be bolted to the floor with a wrench to prevent \ - movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ - transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ - be defused, and some crew may attempt to do so." - item = /obj/item/sbeacondrop/bomb - cost = 11 - -/datum/uplink_item/device_tools/clown_bomb_clownops - name = "Clown Bomb" - desc = "The Clown bomb is a hilarious device capable of massive pranks. It has an adjustable timer, \ - with a minimum of 60 seconds, and can be bolted to the floor with a wrench to prevent \ - movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ - transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ - be defused, and some crew may attempt to do so." - item = /obj/item/sbeacondrop/clownbomb - cost = 15 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/device_tools/syndicate_detonator - name = "Syndicate Detonator" - desc = "The Syndicate detonator is a companion device to the Syndicate bomb. Simply press the included button \ - and an encrypted radio frequency will instruct all live Syndicate bombs to detonate. \ - Useful for when speed matters or you wish to synchronize multiple bomb blasts. Be sure to stand clear of \ - the blast radius before using the detonator." - item = /obj/item/syndicatedetonator - cost = 3 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/device_tools/rad_laser - name = "Radioactive Microlaser" - desc = "A radioactive microlaser disguised as a standard Nanotrasen health analyzer. When used, it emits a \ - powerful burst of radiation, which, after a short delay, can incapacitate all but the most protected \ - of humanoids. It has two settings: intensity, which controls the power of the radiation, \ - and wavelength, which controls how long the radiation delay is." - item = /obj/item/healthanalyzer/rad_laser - cost = 3 - -/datum/uplink_item/device_tools/assault_pod - name = "Assault Pod Targeting Device" - desc = "Use to select the landing zone of your assault pod." - item = /obj/item/assault_pod - cost = 30 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - restricted = TRUE - -/datum/uplink_item/device_tools/shield - name = "Energy Shield" - desc = "An incredibly useful personal shield projector, capable of reflecting energy projectiles and defending \ - against other attacks. Pair with an Energy Sword for a killer combination." - item = /obj/item/shield/energy - cost = 16 - surplus = 20 - include_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/device_tools/bananashield - name = "Bananium Energy Shield" - desc = "A clown's most powerful defensive weapon, this personal shield provides near immunity to ranged energy attacks \ - by bouncing them back at the ones who fired them. It can also be thrown to bounce off of people, slipping them, \ - and returning to you even if you miss. WARNING: DO NOT ATTEMPT TO STAND ON SHIELD WHILE DEPLOYED, EVEN IF WEARING ANTI-SLIP SHOES." - item = /obj/item/shield/energy/bananium - cost = 16 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/device_tools/medgun - name = "Medbeam Gun" - desc = "A wonder of Syndicate engineering, the Medbeam gun, or Medi-Gun enables a medic to keep his fellow \ - operatives in the fight, even while under fire." - item = /obj/item/gun/medbeam - cost = 15 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - /datum/uplink_item/device_tools/potion name = "Syndicate Sentience Potion" item = /obj/item/slimepotion/slime/sentience/nuclear @@ -1227,79 +1469,12 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) restricted = TRUE -/datum/uplink_item/device_tools/telecrystal - name = "Raw Telecrystal" - desc = "A telecrystal in its rawest and purest form; can be utilized on active uplinks to increase their telecrystal count." - item = /obj/item/stack/telecrystal - cost = 1 - surplus = 0 - cant_discount = TRUE - // Don't add telecrystals to the purchase_log since - // it's just used to buy more items (including itself!) - purchase_log_vis = FALSE - -/datum/uplink_item/device_tools/telecrystal/five - name = "5 Raw Telecrystals" - desc = "Five telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count." - item = /obj/item/stack/telecrystal/five - cost = 5 - -/datum/uplink_item/device_tools/telecrystal/twenty - name = "20 Raw Telecrystals" - desc = "Twenty telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count." - item = /obj/item/stack/telecrystal/twenty - cost = 20 - -/datum/uplink_item/device_tools/jammer - name = "Radio Jammer" - desc = "This device will disrupt any nearby outgoing radio communication when activated." - item = /obj/item/jammer - cost = 5 - -/datum/uplink_item/device_tools/codespeak_manual - name = "Codespeak Manual" - desc = "Syndicate agents can be trained to use a series of codewords to convey complex information, which sounds like random concepts and drinks to anyone listening. This manual teaches you this Codespeak. You can also hit someone else with the manual in order to teach them. This is the deluxe edition, which has unlimited used." - item = /obj/item/codespeak_manual/unlimited - cost = 3 - -/datum/uplink_item/device_tools/compressionkit - name = "Bluespace Compression Kit" - desc = "A modified version of a BSRPED that can be used to reduce the size of most items while retaining their original functions! \ - Does not work on storage items. \ - Recharge using bluespace crystals. \ - Comes with 5 charges." - item = /obj/item/compressionkit - cost = 5 - -/datum/uplink_item/device_tools/syndie_glue - name = "Glue" - desc = "A cheap bottle of one use syndicate brand super glue. \ - Use on any item to make it undroppable. \ - Be careful not to glue an item you're already holding!" - item = /obj/item/syndie_glue - cost = 2 // Implants /datum/uplink_item/implants category = "Implants" surplus = 50 -/datum/uplink_item/implants/freedom - name = "Freedom Implant" - desc = "An implant injected into the body and later activated at the user's will. It will attempt to free the \ - user from common restraints such as handcuffs." - item = /obj/item/storage/box/syndie_kit/imp_freedom - cost = 5 - -/datum/uplink_item/implants/uplink - name = "Uplink Implant" - desc = "An implant injected into the body, and later activated at the user's will. Has no telecrystals, must be charged by the use of physical telecrystals. Undetectable (except via surgery), and excellent for escaping confinement." - item = /obj/item/storage/box/syndie_kit/imp_uplink - cost = 4 - // An empty uplink is kinda useless. - surplus = 0 - restricted = TRUE - /datum/uplink_item/implants/adrenal name = "Adrenal Implant" desc = "An implant injected into the body, and later activated at the user's will. It will inject a chemical \ @@ -1308,12 +1483,19 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes cost = 8 player_minimum = 25 -/datum/uplink_item/implants/storage - name = "Storage Implant" - desc = "An implant injected into the body, and later activated at the user's will. It will open a small bluespace \ - pocket capable of storing two items." - item = /obj/item/storage/box/syndie_kit/imp_storage - cost = 8 +/datum/uplink_item/implants/antistun + name = "CNS Rebooter Implant" + desc = "This implant will help you get back up on your feet faster after being stunned. Comes with an autosurgeon." + item = /obj/item/autosurgeon/anti_stun + cost = 12 + include_modes = list(/datum/game_mode/nuclear) + +/datum/uplink_item/implants/freedom + name = "Freedom Implant" + desc = "An implant injected into the body and later activated at the user's will. It will attempt to free the \ + user from common restraints such as handcuffs." + item = /obj/item/storage/box/syndie_kit/imp_freedom + cost = 5 /datum/uplink_item/implants/microbomb name = "Microbomb Implant" @@ -1340,48 +1522,49 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes cost = 4 restricted = TRUE +/datum/uplink_item/implants/reviver + name = "Reviver Implant" + desc = "This implant will attempt to revive you if you lose consciousness. Comes with an autosurgeon." + item = /obj/item/autosurgeon/reviver + cost = 8 + include_modes = list(/datum/game_mode/nuclear) + /datum/uplink_item/implants/stealthimplant name = "Stealth Implant" desc = "This one-of-a-kind implant will make you almost invisible if you play your cards right." item = /obj/item/implanter/stealth cost = 8 -// Cybernetics -/datum/uplink_item/cyber_implants - category = "Cybernetic Implants" - surplus = 0 - include_modes = list(/datum/game_mode/nuclear) +/datum/uplink_item/implants/storage + name = "Storage Implant" + desc = "An implant injected into the body, and later activated at the user's will. It will open a small bluespace \ + pocket capable of storing two items." + item = /obj/item/storage/box/syndie_kit/imp_storage + cost = 8 -/datum/uplink_item/cyber_implants/thermals +/datum/uplink_item/implants/thermals name = "Thermal Eyes" desc = "These cybernetic eyes will give you thermal vision. Comes with a free autosurgeon." item = /obj/item/autosurgeon/thermal_eyes cost = 8 + include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/cyber_implants/xray +/datum/uplink_item/implants/uplink + name = "Uplink Implant" + desc = "An implant injected into the body, and later activated at the user's will. Has no telecrystals, must be charged by the use of physical telecrystals. Undetectable (except via surgery), and excellent for escaping confinement." + item = /obj/item/storage/box/syndie_kit/imp_uplink + cost = 4 + // An empty uplink is kinda useless. + surplus = 0 + restricted = TRUE + +/datum/uplink_item/implants/xray name = "X-ray Vision Implant" desc = "These cybernetic eyes will give you X-ray vision. Comes with an autosurgeon." item = /obj/item/autosurgeon/xray_eyes cost = 10 - -/datum/uplink_item/cyber_implants/antistun - name = "CNS Rebooter Implant" - desc = "This implant will help you get back up on your feet faster after being stunned. Comes with an autosurgeon." - item = /obj/item/autosurgeon/anti_stun - cost = 12 - -/datum/uplink_item/cyber_implants/reviver - name = "Reviver Implant" - desc = "This implant will attempt to revive you if you lose consciousness. Comes with an autosurgeon." - item = /obj/item/autosurgeon/reviver - cost = 8 - -/datum/uplink_item/cyber_implants/bundle - name = "Cybernetic Implants Bundle" - desc = "A random selection of cybernetic implants. Guaranteed 5 high quality implants. Comes with an autosurgeon." - item = /obj/item/storage/box/cyber_implants - cost = 40 - cant_discount = TRUE + surplus = 0 + include_modes = list(/datum/game_mode/nuclear) // Role-specific items /datum/uplink_item/role_restricted @@ -1389,23 +1572,62 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) surplus = 0 -/datum/uplink_item/role_restricted/reverse_revolver - name = "Reverse Revolver" - desc = "A revolver that always fires at its user. \"Accidentally\" drop your weapon, then watch as the greedy corporate pigs blow their own brains all over the wall. \ - The revolver itself is actually real. Only clumsy people, and clowns, can fire it normally. Comes in a box of hugs. Honk." - cost = 14 - item = /obj/item/storage/box/hug/reverse_revolver +/datum/uplink_item/role_restricted/ancient_jumpsuit + name = "Ancient Jumpsuit" + desc = "A tattered old jumpsuit that will provide absolutely no benefit to you. It fills the wearer with a strange compulsion to blurt out 'glorf'." + item = /obj/item/clothing/under/color/grey/glorf + cost = 20 + restricted_roles = list("Assistant") + +/datum/uplink_item/role_restricted/pie_cannon + name = "Banana Cream Pie Cannon" + desc = "A special pie cannon for a special clown, this gadget can hold up to 20 pies and automatically fabricates one every two seconds!" + cost = 10 + item = /obj/item/pneumatic_cannon/pie/selfcharge restricted_roles = list("Clown") -/datum/uplink_item/role_restricted/reverse_bear_trap - name = "Reverse Bear Trap" - desc = "An ingenious execution device worn on (or forced onto) the head. Arming it starts a 1-minute kitchen timer mounted on the bear trap. When it goes off, the trap's jaws will \ - violently open, instantly killing anyone wearing it by tearing their jaws in half. To arm, attack someone with it while they're not wearing headgear, and you will force it onto their \ - head after three seconds uninterrupted." - cost = 5 - item = /obj/item/reverse_bear_trap +/datum/uplink_item/role_restricted/blastcannon + name = "Blast Cannon" + desc = "A highly specialized weapon, the Blast Cannon is actually relatively simple. It contains an attachment for a tank transfer valve mounted to an angled pipe specially constructed \ + withstand extreme pressure and temperatures, and has a mechanical trigger for triggering the transfer valve. Essentially, it turns the explosive force of a bomb into a narrow-angle \ + blast wave \"projectile\". Aspiring scientists may find this highly useful, as forcing the pressure shockwave into a narrow angle seems to be able to bypass whatever quirk of physics \ + disallows explosive ranges above a certain distance, allowing for the device to use the theoretical yield of a transfer valve bomb, instead of the factual yield." + item = /obj/item/gun/blastcannon + cost = 14 //High cost because of the potential for extreme damage in the hands of a skilled gas masked scientist. + restricted_roles = list("Research Director", "Scientist") + +/datum/uplink_item/role_restricted/brainwash_disk + name = "Brainwashing Surgery Program" + desc = "A disk containing the procedure to perform a brainwashing surgery, allowing you to implant an objective onto a target. \ + Insert into an Operating Console to enable the procedure." + item = /obj/item/disk/surgery/brainwashing + restricted_roles = list("Medical Doctor") + cost = 3 + +/datum/uplink_item/role_restricted/clown_bomb + name = "Clown Bomb" + desc = "The Clown bomb is a hilarious device capable of massive pranks. It has an adjustable timer, \ + with a minimum of 60 seconds, and can be bolted to the floor with a wrench to prevent \ + movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ + transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ + be defused, and some crew may attempt to do so." + item = /obj/item/sbeacondrop/clownbomb + cost = 15 restricted_roles = list("Clown") +/* +/datum/uplink_item/role_restricted/clowncar + name = "Clown Car" + desc = "The Clown Car is the ultimate transportation method for any worthy clown! \ + Simply insert your bikehorn and get in, and get ready to have the funniest ride of your life! \ + You can ram any spacemen you come across and stuff them into your car, kidnapping them and locking them inside until \ + someone saves them or they manage to crawl out. Be sure not to ram into any walls or vending machines, as the springloaded seats \ + are very sensetive. Now with our included lube defense mechanism which will protect you against any angry shitcurity!" + item = /obj/vehicle/sealed/car/clowncar + cost = 15 + restricted_roles = list("Clown") +*/ + /datum/uplink_item/role_restricted/clumsyDNA name = "Clumsy Clown DNA" desc = "A DNA injector that has been loaded with the clown gene that makes people clumsy.. \ @@ -1414,19 +1636,31 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes item = /obj/item/dnainjector/clumsymut restricted_roles = list("Clown") -/datum/uplink_item/role_restricted/taeclowndo_shoes - name = "Tae-clown-do Shoes" - desc = "A pair of shoes for the most elite agents of the honkmotherland. They grant the mastery of taeclowndo with some honk-fu moves as long as they're worn." - cost = 14 - item = /obj/item/clothing/shoes/clown_shoes/taeclowndo - restricted_roles = list("Clown") +/datum/uplink_item/role_restricted/haunted_magic_eightball + name = "Haunted Magic Eightball" + desc = "Most magic eightballs are toys with dice inside. Although identical in appearance to the harmless toys, this occult device reaches into the spirit world to find its answers. Be warned, that spirits are often capricious or just little assholes. To use, simply speak your question aloud, then begin shaking." + item = /obj/item/toy/eightball/haunted + cost = 2 + restricted_roles = list("Curator") + limited_stock = 1 //please don't spam deadchat -/datum/uplink_item/role_restricted/mimery - name = "Guide to Advanced Mimery Series" - desc = "The classical two part series on how to further hone your mime skills. Upon studying the series, the user should be able to make 3x1 invisible walls, and shoot bullets out of their fingers. Obviously only works for Mimes." - cost = 12 - item = /obj/item/storage/box/syndie_kit/mimery - restricted_roles = list("Mime") +/datum/uplink_item/role_restricted/his_grace + name = "His Grace" + desc = "An incredibly dangerous weapon recovered from a station overcome by the grey tide. Once activated, He will thirst for blood and must be used to kill to sate that thirst. \ + His Grace grants gradual regeneration and complete stun immunity to His wielder, but be wary: if He gets too hungry, He will become impossible to drop and eventually kill you if not fed. \ + However, if left alone for long enough, He will fall back to slumber. \ + To activate His Grace, simply unlatch Him." + item = /obj/item/his_grace + cost = 20 + restricted_roles = list("Chaplain") + surplus = 5 //Very low chance to get it in a surplus crate even without being the chaplain + +/datum/uplink_item/role_restricted/explosive_hot_potato + name = "Exploding Hot Potato" + desc = "A potato rigged with explosives. On activation, a special mechanism is activated that prevents it from being dropped. The only way to get rid of it if you are holding it is to attack someone else with it, causing it to latch to that person instead." + item = /obj/item/hot_potato/syndicate + cost = 4 + restricted_roles = list("Cook", "Botanist", "Clown", "Mime") /datum/uplink_item/role_restricted/ez_clean_bundle name = "EZ Clean Grenade Bundle" @@ -1436,6 +1670,36 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes surplus = 20 restricted_roles = list("Janitor") +/datum/uplink_item/role_restricted/goldenbox + name = "Gold Toolbox" + desc = "A gold planted plastitanium toolbox loaded with tools. Comes with a set of AI detection multi-tool and a pare of combat gloves." + item = /obj/item/storage/toolbox/gold_real + cost = 3 // Has syndie tools + gloves + a robust weapon + restricted_roles = list("Assistant", "Curator") //Curator due to this being made of gold - It fits the theme + +/datum/uplink_item/role_restricted/mimery + name = "Guide to Advanced Mimery Series" + desc = "The classical two part series on how to further hone your mime skills. Upon studying the series, the user should be able to make 3x1 invisible walls, and shoot bullets out of their fingers. Obviously only works for Mimes." + cost = 12 + item = /obj/item/storage/box/syndie_kit/mimery + restricted_roles = list("Mime") + +/datum/uplink_item/role_restricted/ultrahonkpins + name = "Hilarious firing pin" + desc = "A single firing pin made for Clown agents, this firing pin makes any gun honk when fired if not a true clown! \ + This firing pin also helps you fire the gun correctly. May the HonkMother HONK you agent." + item = /obj/item/firing_pin/clown/ultra + cost = 2 + restricted_roles = list("Clown") + +/datum/uplink_item/role_restricted/pressure_mod + name = "Kinetic Accelerator Pressure Mod" + desc = "A modification kit which allows Kinetic Accelerators to do greatly increased damage while indoors. Occupies 35% mod capacity." + item = /obj/item/borg/upgrade/modkit/indoors + cost = 5 //you need two for full damage, so total of 10 for maximum damage + limited_stock = 2 //you can't use more than two! + restricted_roles = list("Shaft Miner") + /datum/uplink_item/role_restricted/kitchen_gun name = "Kitchen Gun (TM)" desc = "A revolutionary .45 caliber cleaning solution! Say goodbye to daily stains and dirty surfaces with Kitchen Gun (TM)! Just five shots from Kitchen Gun (TM), and it'll sparkle like new! Includes two extra ammunition clips!" @@ -1451,60 +1715,12 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes restricted_roles = list("Cook", "Janitor") item = /obj/item/ammo_box/magazine/m45/kitchengun -/datum/uplink_item/role_restricted/explosive_hot_potato - name = "Exploding Hot Potato" - desc = "A potato rigged with explosives. On activation, a special mechanism is activated that prevents it from being dropped. The only way to get rid of it if you are holding it is to attack someone else with it, causing it to latch to that person instead." - item = /obj/item/hot_potato/syndicate - cost = 4 - restricted_roles = list("Cook", "Botanist", "Clown", "Mime") - -/datum/uplink_item/role_restricted/his_grace - name = "His Grace" - desc = "An incredibly dangerous weapon recovered from a station overcome by the grey tide. Once activated, He will thirst for blood and must be used to kill to sate that thirst. \ - His Grace grants gradual regeneration and complete stun immunity to His wielder, but be wary: if He gets too hungry, He will become impossible to drop and eventually kill you if not fed. \ - However, if left alone for long enough, He will fall back to slumber. \ - To activate His Grace, simply unlatch Him." - item = /obj/item/his_grace - cost = 20 - restricted_roles = list("Chaplain") - surplus = 5 //Very low chance to get it in a surplus crate even without being the chaplain - -/datum/uplink_item/role_restricted/pie_cannon - name = "Banana Cream Pie Cannon" - desc = "A special pie cannon for a special clown, this gadget can hold up to 20 pies and automatically fabricates one every two seconds!" - cost = 10 - item = /obj/item/pneumatic_cannon/pie/selfcharge - restricted_roles = list("Clown") - -/datum/uplink_item/role_restricted/ancient_jumpsuit - name = "Ancient Jumpsuit" - desc = "A tattered old jumpsuit that will provide absolutely no benefit to you. It fills the wearer with a strange compulsion to blurt out 'glorf'." - item = /obj/item/clothing/under/color/grey/glorf - cost = 20 - restricted_roles = list("Assistant") - -/datum/uplink_item/role_restricted/goldenbox - name = "Gold Toolbox" - desc = "A gold planted plastitanium toolbox loaded with tools. Comes with a set of AI detection multi-tool and a pare of combat gloves." - item = /obj/item/storage/toolbox/gold_real - cost = 3 // Has synda tools + gloves + a robust weapon - restricted_roles = list("Assistant", "Curator") //Curator do to being made of gold - It fits the theme - -/datum/uplink_item/role_restricted/brainwash_disk - name = "Brainwashing Surgery Program" - desc = "A disk containing the procedure to perform a brainwashing surgery, allowing you to implant an objective onto a target. \ - Insert into an Operating Console to enable the procedure." - item = /obj/item/disk/surgery/brainwashing - restricted_roles = list("Medical Doctor") - cost = 3 - -/datum/uplink_item/role_restricted/haunted_magic_eightball - name = "Haunted Magic Eightball" - desc = "Most magic eightballs are toys with dice inside. Although identical in appearance to the harmless toys, this occult device reaches into the spirit world to find its answers. Be warned, that spirits are often capricious or just little assholes. To use, simply speak your question aloud, then begin shaking." - item = /obj/item/toy/eightball/haunted - cost = 2 - restricted_roles = list("Curator") - limited_stock = 1 //please don't spam deadchat +/datum/uplink_item/role_restricted/magillitis_serum + name = "Magillitis Serum Autoinjector" + desc = "A single-use autoinjector which contains an experimental serum that causes rapid muscular growth in Hominidae. Side-affects may include hypertrichosis, violent outbursts, and an unending affinity for bananas." + item = /obj/item/reagent_containers/hypospray/magillitis + cost = 15 + restricted_roles = list("Geneticist", "Chief Medical Officer") /datum/uplink_item/role_restricted/modified_syringe_gun name = "Modified Syringe Gun" @@ -1520,106 +1736,41 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes cost = 12 restricted_roles = list("Chemist", "Chief Medical Officer") -/datum/uplink_item/role_restricted/magillitis_serum - name = "Magillitis Serum Autoinjector" - desc = "A single-use autoinjector which contains an experimental serum that causes rapid muscular growth in Hominidae. Side-affects may include hypertrichosis, violent outbursts, and an unending affinity for bananas." - item = /obj/item/reagent_containers/hypospray/magillitis - cost = 15 - restricted_roles = list("Geneticist", "Chief Medical Officer") - -/datum/uplink_item/role_restricted/pressure_mod - name = "Kinetic Accelerator Pressure Mod" - desc = "A modification kit which allows Kinetic Accelerators to do greatly increased damage while indoors. Occupies 35% mod capacity." - item = /obj/item/borg/upgrade/modkit/indoors - cost = 5 //you need two for full damage, so total of 10 for maximum damage - limited_stock = 2 //you can't use more than two! - restricted_roles = list("Shaft Miner") - -/datum/uplink_item/role_restricted/blastcannon - name = "Blast Cannon" - desc = "A highly specialized weapon, the Blast Cannon is actually relatively simple. It contains an attachment for a tank transfer valve mounted to an angled pipe specially constructed \ - withstand extreme pressure and temperatures, and has a mechanical trigger for triggering the transfer valve. Essentially, it turns the explosive force of a bomb into a narrow-angle \ - blast wave \"projectile\". Aspiring scientists may find this highly useful, as forcing the pressure shockwave into a narrow angle seems to be able to bypass whatever quirk of physics \ - disallows explosive ranges above a certain distance, allowing for the device to use the theoretical yield of a transfer valve bomb, instead of the factual yield." - item = /obj/item/gun/blastcannon - cost = 14 //High cost because of the potential for extreme damage in the hands of a skilled gas masked scientist. - restricted_roles = list("Research Director", "Scientist") - -/datum/uplink_item/device_tools/clown_bomb - name = "Clown Bomb" - desc = "The Clown bomb is a hilarious device capable of massive pranks. It has an adjustable timer, \ - with a minimum of 60 seconds, and can be bolted to the floor with a wrench to prevent \ - movement. The bomb is bulky and cannot be moved; upon ordering this item, a smaller beacon will be \ - transported to you that will teleport the actual bomb to it upon activation. Note that this bomb can \ - be defused, and some crew may attempt to do so." - item = /obj/item/sbeacondrop/clownbomb - cost = 15 +/datum/uplink_item/role_restricted/reverse_bear_trap + name = "Reverse Bear Trap" + desc = "An ingenious execution device worn on (or forced onto) the head. Arming it starts a 1-minute kitchen timer mounted on the bear trap. When it goes off, the trap's jaws will \ + violently open, instantly killing anyone wearing it by tearing their jaws in half. To arm, attack someone with it while they're not wearing headgear, and you will force it onto their \ + head after three seconds uninterrupted." + cost = 5 + item = /obj/item/reverse_bear_trap restricted_roles = list("Clown") -/datum/uplink_item/device_tools/ultrahonkpins //Idealy so they can place it into their own guns without needing cargo - name = "Hilarious firing pin" - desc = "A single firing pin made for Clown agents, this firing pin makes any gun honk when fired if not a true clown! \ - This firing pin also helps you fire the gun correctly. May the HonkMother HONK you agent." - item = /obj/item/firing_pin/clown/ultra - cost = 2 +/datum/uplink_item/role_restricted/reverse_revolver + name = "Reverse Revolver" + desc = "A revolver that always fires at its user. \"Accidentally\" drop your weapon, then watch as the greedy corporate pigs blow their own brains all over the wall. \ + The revolver itself is actually real. Only clumsy people, and clowns, can fire it normally. Comes in a box of hugs. Honk." + cost = 14 + item = /obj/item/storage/box/hug/reverse_revolver restricted_roles = list("Clown") -/* -/datum/uplink_item/role_restricted/clowncar - name = "Clown Car" - desc = "The Clown Car is the ultimate transportation method for any worthy clown! \ - Simply insert your bikehorn and get in, and get ready to have the funniest ride of your life! \ - You can ram any spacemen you come across and stuff them into your car, kidnapping them and locking them inside until \ - someone saves them or they manage to crawl out. Be sure not to ram into any walls or vending machines, as the springloaded seats \ - are very sensetive. Now with our included lube defense mechanism which will protect you against any angry shitcurity!" - item = /obj/vehicle/sealed/car/clowncar - cost = 15 +/datum/uplink_item/role_restricted/taeclowndo_shoes + name = "Tae-clown-do Shoes" + desc = "A pair of shoes for the most elite agents of the honkmotherland. They grant the mastery of taeclowndo with some honk-fu moves as long as they're worn." + cost = 14 + item = /obj/item/clothing/shoes/clown_shoes/taeclowndo restricted_roles = list("Clown") -*/ + // Pointless /datum/uplink_item/badass category = "(Pointless) Badassery" surplus = 0 -/datum/uplink_item/badass/syndiecards - name = "Syndicate Playing Cards" - desc = "A special deck of space-grade playing cards with a mono-molecular edge and metal reinforcement, \ - making them slightly more robust than a normal deck of cards. \ - You can also play card games with them or leave them on your victims." - item = /obj/item/toy/cards/deck/syndicate - cost = 1 - surplus = 40 - -/datum/uplink_item/badass/syndiecash - name = "Syndicate Briefcase Full of Cash" - desc = "A secure briefcase containing 5000 space credits. Useful for bribing personnel, or purchasing goods \ - and services at lucrative prices. The briefcase also feels a little heavier to hold; it has been \ - manufactured to pack a little bit more of a punch if your client needs some convincing." - item = /obj/item/storage/secure/briefcase/syndie - cost = 1 - -/datum/uplink_item/badass/syndiecigs - name = "Syndicate Smokes" - desc = "Strong flavor, dense smoke, infused with omnizine." - item = /obj/item/storage/fancy/cigarettes/cigpack_syndicate - cost = 2 - -/datum/uplink_item/badass/balloon - name = "Syndicate Balloon" - desc = "For showing that you are THE BOSS: A useless red balloon with the Syndicate logo on it. \ - Can blow the deepest of covers." - item = /obj/item/toy/syndicateballoon - cost = 20 - cant_discount = TRUE - -/datum/uplink_item/badass/durasteel_toolbox - name = "Durasteel Toolbox" - desc = "A very high impact toolbox. Excels at destroying stationary structures." - item = /obj/item/storage/toolbox/durasteel - cost = 2 //18 damage on mobs, 50 on objects, 4.5 stam/hit +/datum/uplink_item/badass/costumes/obvious_chameleon + name = "Broken Chameleon Kit" + desc = "A set of items that contain chameleon technology allowing you to disguise as pretty much anything on the station, and more! Please note that this kit did NOT pass quality control." + item = /obj/item/storage/box/syndie_kit/chameleon/broken /datum/uplink_item/badass/costumes - surplus = 0 include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) cost = 4 cant_discount = TRUE @@ -1634,90 +1785,45 @@ datum/uplink_item/stealthy_tools/taeclowndo_shoes desc = "Nothing is more terrifying than clowns with fully automatic weaponry." item = /obj/item/storage/backpack/duffelbag/clown/syndie -/datum/uplink_item/badass/costumes/obvious_chameleon - name = "Broken Chameleon Kit" - desc = "A set of items that contain chameleon technology allowing you to disguise as pretty much anything on the station, and more! Please note that this kit did NOT pass quality control." - item = /obj/item/storage/box/syndie_kit/chameleon/broken +/datum/uplink_item/badass/durasteel_toolbox + name = "Durasteel Toolbox" + desc = "A very high impact toolbox. Excels at destroying stationary structures." + item = /obj/item/storage/toolbox/durasteel + cost = 2 //18 damage on mobs, 50 on objects, 4.5 stam/hit -/datum/uplink_item/badass/rapid - name = "Gloves of the North Star" - desc = "These gloves let the user punch people very fast. Does not improve weapon attack speed or the meaty fists of a hulk." - item = /obj/item/clothing/gloves/rapid - cost = 8 - -/datum/uplink_item/badass/bundle - name = "Syndicate Bundle" - desc = "Syndicate Bundles are specialized groups of items that arrive in a plain box. \ - These items are collectively worth more than 20 telecrystals, but you do not know which specialization \ - you will receive." - item = /obj/item/storage/box/syndicate +/datum/uplink_item/badass/balloon + name = "Syndicate Balloon" + desc = "For showing that you are THE BOSS: A useless red balloon with the Syndicate logo on it. \ + Can blow the deepest of covers." + item = /obj/item/toy/syndicateballoon cost = 20 - exclude_modes = list(/datum/game_mode/nuclear) cant_discount = TRUE -/datum/uplink_item/badass/surplus - name = "Syndicate Surplus Crate" - desc = "A dusty crate from the back of the Syndicate warehouse. Rumored to contain a valuable assortment of items, \ - but you never know. Contents are sorted to always be worth 50 TC." - item = /obj/structure/closet/crate - cost = 20 - player_minimum = 25 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - cant_discount = TRUE - var/starting_crate_value = 50 +/datum/uplink_item/badass/syndiecash + name = "Syndicate Briefcase Full of Cash" + desc = "A secure briefcase containing 5000 space credits. Useful for bribing personnel, or purchasing goods \ + and services at lucrative prices. The briefcase also feels a little heavier to hold; it has been \ + manufactured to pack a little bit more of a punch if your client needs some convincing." + item = /obj/item/storage/secure/briefcase/syndie + cost = 1 -/datum/uplink_item/badass/surplus/super - name = "Super Surplus Crate" - desc = "A dusty SUPER-SIZED from the back of the Syndicate warehouse. Rumored to contain a valuable assortment of items, \ - but you never know. Contents are sorted to always be worth 125 TC." - cost = 40 - player_minimum = 40 - starting_crate_value = 125 +/datum/uplink_item/badass/phantomthief + name = "Syndicate Mask" + desc = "A cheap plastic mask fitted with an adrenaline autoinjector, which can be used by simply tensing your muscles" + item = /obj/item/clothing/glasses/phantomthief/syndicate + cost = 2 -/datum/uplink_item/badass/surplus/purchase(mob/user, datum/component/uplink/U) - var/list/uplink_items = get_uplink_items(SSticker && SSticker.mode? SSticker.mode : null, FALSE) +/datum/uplink_item/badass/syndiecards + name = "Syndicate Playing Cards" + desc = "A special deck of space-grade playing cards with a mono-molecular edge and metal reinforcement, \ + making them slightly more robust than a normal deck of cards. \ + You can also play card games with them or leave them on your victims." + item = /obj/item/toy/cards/deck/syndicate + cost = 1 + surplus = 40 - var/crate_value = starting_crate_value - var/obj/structure/closet/crate/C = spawn_item(/obj/structure/closet/crate, user) - if(U.purchase_log) - U.purchase_log.LogPurchase(C, src, cost) - while(crate_value) - var/category = pick(uplink_items) - var/item = pick(uplink_items[category]) - var/datum/uplink_item/I = uplink_items[category][item] - - if(!I.surplus || prob(100 - I.surplus)) - continue - if(crate_value < I.cost) - continue - crate_value -= I.cost - var/obj/goods = new I.item(C) - if(U.purchase_log) - U.purchase_log.LogPurchase(goods, I, 0) - return C - -/datum/uplink_item/badass/random - name = "Random Item" - desc = "Picking this will purchase a random item. Useful if you have some TC to spare or if you haven't decided on a strategy yet." - item = /obj/effect/gibspawner/generic // non-tangible item because techwebs use this path to determine illegal tech - cost = 0 - cant_discount = TRUE - -/datum/uplink_item/badass/random/purchase(mob/user, datum/component/uplink/U) - var/list/uplink_items = U.uplink_items - var/list/possible_items = list() - for(var/category in uplink_items) - for(var/item in uplink_items[category]) - var/datum/uplink_item/I = uplink_items[category][item] - if(src == I || !I.item) - continue - if(U.telecrystals < I.cost) - continue - if(I.limited_stock == 0) - continue - possible_items += I - - if(possible_items.len) - var/datum/uplink_item/I = pick(possible_items) - SSblackbox.record_feedback("tally", "traitor_random_uplink_items_gotten", 1, initial(I.name)) - U.MakePurchase(user, I) +/datum/uplink_item/badass/syndiecigs + name = "Syndicate Smokes" + desc = "Strong flavor, dense smoke, infused with omnizine." + item = /obj/item/storage/fancy/cigarettes/cigpack_syndicate + cost = 2 diff --git a/modular_citadel/code/datums/uplink_items_cit.dm b/modular_citadel/code/datums/uplink_items_cit.dm deleted file mode 100644 index 16130de96d..0000000000 --- a/modular_citadel/code/datums/uplink_items_cit.dm +++ /dev/null @@ -1,177 +0,0 @@ -/*/datum/uplink_item/stealthy_tools/syndi_borer - name = "Syndicate Brain Slug" - desc = "A small cortical borer, modified to be completely loyal to the owner. \ - Genetically infertile, these brain slugs can assist medically in a support role, or take direct action \ - to assist their host." - item = /obj/item/antag_spawner/syndi_borer - refundable = TRUE - cost = 10 - surplus = 20 //Let's not have this be too common - exclude_modes = list(/datum/game_mode/nuclear) */ - -/datum/uplink_item/stealthy_tools/holoparasite - name="Holoparasite Injector" - desc="An injector containing a swarm of holographic parasites. \ - They mimic the function of the guardians employed by the Space Wizard Federation, and their form can be selected upon application \ - NOTE: The precise nature of the symbiosis required by the parasites renders them incompatible with changelings" //updated to actually describe what they do and warn traitorchans not to buy it - item = /obj/item/storage/box/syndie_kit/holoparasite - refundable = TRUE - cant_discount = TRUE - cost = 15 - surplus = 20 //Nobody needs a ton of parasites - exclude_modes = list(/datum/game_mode/nuclear) - refund_path = /obj/item/guardiancreator/tech/choose/traitor - - -/obj/item/storage/box/syndie_kit/holoparasite - name = "box" - -/obj/item/storage/box/syndie_kit/holoparasite/PopulateContents() - new /obj/item/guardiancreator/tech/choose/traitor(src) - new /obj/item/paper/guides/antag/guardian(src) - -/datum/uplink_item/dangerous/antitank - name = "Anti Tank Pistol" - desc = "Essentially amounting to a sniper rifle with no stock and barrel (or indeed, any rifling at all), \ - this extremely dubious pistol is guaranteed to dislocate your wrists and hit the broad side of a barn! \ - Uses sniper ammo. \ - Bullets tend to veer off-course. We are not responsible for any unintentional damage or injury resulting from inaacuracy." - item = /obj/item/gun/ballistic/automatic/pistol/antitank/syndicate - cost = 14 - surplus = 25 - include_modes = list(/datum/game_mode/nuclear) - -/* Commented out due to introduction of reskinnable stetchkins. May still have a niche if people decide it somehow has value. -/datum/uplink_item/dangerous/stealthpistol - name = "Stealth Pistol" - desc = "A compact, easily concealable bullpup pistol that fires 10mm auto rounds in 8 round magazines. \ - Has an integrated suppressor." - item = /obj/item/gun/ballistic/automatic/pistol/stealth - cost = 10 - surplus = 30 -*/ - -///Soporific 10mm mags/// - -/datum/uplink_item/ammo/pistolzzz - name = "10mm Soporific Magazine" - desc = "An additional 8-round 10mm magazine; compatible with the Stechkin Pistol. Loaded with soporific rounds that put the target to sleep. \ - NOTE: Soporific is not instant acting due to the constraints of the round's scale. Will usually require three shots to take effect." - item = /obj/item/ammo_box/magazine/m10mm/soporific - cost = 2 - -///flechette memes/// - -/datum/uplink_item/dangerous/flechettegun - name = "Flechette Launcher" - desc = "A compact bullpup that fires micro-flechettes.\ - Flechettes have very poor performance idividually, but can be very deadly in numbers. \ - Pre-loaded with armor piercing flechettes that are capable of puncturing most kinds of armor." - item = /obj/item/gun/ballistic/automatic/flechette - cost = 12 - surplus = 30 - include_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/ammo/flechetteap - name = "Armor Piercing Flechette Magazine" - desc = "An additional 40-round flechette magazine; compatible with the Flechette Launcer. \ - Loaded with armor piercing flechettes that very nearly ignore armor, but are not very effective agaisnt flesh." - item = /obj/item/ammo_box/magazine/flechette - cost = 2 - include_modes = list(/datum/game_mode/nuclear) - -/datum/uplink_item/ammo/flechettes - name = "Serrated Flechette Magazine" - desc = "An additional 40-round flechette magazine; compatible with the Flechette Launcer. \ - Loaded with serrated flechettes that shreds flesh, but is stopped dead in its tracks by armor. \ - These flechettes are highly likely to sever arteries, and even limbs." - item = /obj/item/ammo_box/magazine/flechette/s - cost = 2 - include_modes = list(/datum/game_mode/nuclear) - -///shredder/// - -/datum/uplink_item/nukeoffer/shredder - name = "Shredder bundle" - desc = "A truly horrific weapon designed simply to maim its victim, the CX Shredder is banned by several intergalactic treaties. \ - You'll get two of them with this. And spare ammo to boot. And we'll throw in an extra elite hardsuit and chest rig to hold them all!" - item = /obj/item/storage/backpack/duffelbag/syndie/shredderbundle - cost = 30 // normally 41 - -///Modular Pistols/// - -/datum/uplink_item/bundle/modular - name="Modular Pistol Kit" - desc="A heavy briefcase containing one modular pistol (chambered in 10mm), one supressor, and spare ammunition, including a box of soporific ammo. \ - Includes a suit jacket that is padded with a robust liner." - item = /obj/item/storage/briefcase/modularbundle - cost = 12 - -//////Bundle stuff////// - -///bundle category/// - -/datum/uplink_item/bundle - category = "Bundles" - surplus = 0 - cant_discount = TRUE - -///place bundle storage items here I guess/// - -/obj/item/storage/briefcase/modularbundle - name = "briefcase" - desc = "It's label reads genuine hardened Captain leather, but suspiciously has no other tags or branding." - icon_state = "briefcase" - flags_1 = CONDUCT_1 - force = 10 - hitsound = "swing_hit" - throw_speed = 2 - throw_range = 4 - w_class = WEIGHT_CLASS_BULKY - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") - resistance_flags = FLAMMABLE - max_integrity = 150 - -/obj/item/storage/briefcase/modularbundle/PopulateContents() - new /obj/item/gun/ballistic/automatic/pistol/modular(src) - new /obj/item/suppressor(src) - new /obj/item/ammo_box/magazine/m10mm(src) - new /obj/item/ammo_box/magazine/m10mm/soporific(src) - new /obj/item/ammo_box/c10mm/soporific(src) - new /obj/item/clothing/under/lawyer/blacksuit(src) - new /obj/item/clothing/accessory/waistcoat(src) - new /obj/item/clothing/suit/toggle/lawyer/black/syndie(src) - -/obj/item/clothing/suit/toggle/lawyer/black/syndie - desc = "A snappy dress jacket. Suspiciously has no tags or branding." - armor = list(melee = 10, bullet = 10, laser = 10, energy = 10, bomb = 10) - -/obj/item/storage/backpack/duffelbag/syndie/shredderbundle - desc = "A large duffel bag containing two CX Shredders, some magazines, an elite hardsuit, and a chest rig." - -/obj/item/storage/backpack/duffelbag/syndie/shredderbundle/PopulateContents() - new /obj/item/ammo_box/magazine/flechette/shredder(src) - new /obj/item/ammo_box/magazine/flechette/shredder(src) - new /obj/item/ammo_box/magazine/flechette/shredder(src) - new /obj/item/ammo_box/magazine/flechette/shredder(src) - new /obj/item/gun/ballistic/automatic/flechette/shredder(src) - new /obj/item/gun/ballistic/automatic/flechette/shredder(src) - new /obj/item/storage/belt/military(src) - new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src) - -///End of Bundle stuff/// - - -/*///////////////////////////////////////////////////////////////////////// -///////////// The TRUE Energy Sword /////////////////////////// -*////////////////////////////////////////////////////////////////////////// - -/datum/uplink_item/dangerous/cxneb - name = "Dragon's Tooth Non-Eutactic Blade" - desc = "An illegal modification of a weapon that is functionally identical to the energy sword, \ - the Non-Eutactic Blade (NEB) forges a hardlight blade on-demand, \ - generating an extremely sharp, unbreakable edge that is guaranteed to satisfy your every need. \ - This particular model has a polychromic hardlight generator, allowing you to murder in style! \ - The illegal modifications bring this weapon up to par with the classic energy sword, and also gives it the energy sword's distinctive sounds." - item = /obj/item/melee/transforming/energy/sword/cx/traitor - cost = 8 \ No newline at end of file diff --git a/modular_citadel/code/modules/uplink/uplink_items.dm b/modular_citadel/code/modules/uplink/uplink_items.dm deleted file mode 100644 index df076c3994..0000000000 --- a/modular_citadel/code/modules/uplink/uplink_items.dm +++ /dev/null @@ -1,18 +0,0 @@ -/* -// PUT ALL YOUR NEW UPLINK STUFF HERE, OVERRIDES GO IN HERE TOO -*/ - -/datum/uplink_item/device_tools/emagrecharge - name = "Electromagnet Charging Device" - desc = "A small device intended for recharging Cryptographic Sequencers. Using it will add five extra charges to the Cryptographic Sequencer." - item = /obj/item/emagrecharge - cost = 2 - -/datum/uplink_item/dangerous/revolver - item = /obj/item/gun/ballistic/revolver/syndie - -/datum/uplink_item/dangerous/phantomthief - name = "Syndicate Mask" - desc = "A cheap plastic mask fitted with an adrenaline autoinjector, which can be used by simply tensing your muscles" - item = /obj/item/clothing/glasses/phantomthief/syndicate - cost = 2 diff --git a/tgstation.dme b/tgstation.dme index 8e33f39524..e596189415 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2825,7 +2825,6 @@ #include "modular_citadel\code\controllers\configuration\entries\general.dm" #include "modular_citadel\code\controllers\subsystem\job.dm" #include "modular_citadel\code\controllers\subsystem\shuttle.dm" -#include "modular_citadel\code\datums\uplink_items_cit.dm" #include "modular_citadel\code\datums\components\material_container.dm" #include "modular_citadel\code\datums\components\phantomthief.dm" #include "modular_citadel\code\datums\components\souldeath.dm" @@ -3036,7 +3035,6 @@ #include "modular_citadel\code\modules\research\techweb\_techweb.dm" #include "modular_citadel\code\modules\research\techweb\all_nodes.dm" #include "modular_citadel\code\modules\research\xenobiology\xenobio_camera.dm" -#include "modular_citadel\code\modules\uplink\uplink_items.dm" #include "modular_citadel\code\modules\vehicles\secway.dm" #include "modular_citadel\code\modules\vore\hook-defs_vr.dm" #include "modular_citadel\code\modules\vore\persistence.dm" From 36c1e80fcc2a57e2b19e7f3ced9596f7adf4ab8c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:00:29 -0500 Subject: [PATCH 76/98] Automatic changelog generation for PR #8669 [ci skip] --- html/changelogs/AutoChangeLog-pr-8669.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8669.yml diff --git a/html/changelogs/AutoChangeLog-pr-8669.yml b/html/changelogs/AutoChangeLog-pr-8669.yml new file mode 100644 index 0000000000..20770e8cc2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8669.yml @@ -0,0 +1,5 @@ +author: "Ghommie (original PRs by Denton and Skoglol)" +delete-after: True +changes: + - tweak: "Reorganized the syndicate uplinks. Items are now mostly alphabetical, some misplaced items moved to more fitting categories. Bundles, random item and TC have been moved into a new category called \"Bundles and Telecrystals\". Gloves of the North Star and Box of Throwing Weapons have been moved to Conspicuous and Dangerous Weapons. Combat Gloves Plus have been moved to Stealthy and Inconspicuous Weapons. Moved all implants into the Implants category." + - tweak: "Added a new category to the uplink: Grenades and Explosives." From d4a13077ff484e947624e0b0b3e683d0ffbe9986 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 23 Jun 2019 15:01:09 +0200 Subject: [PATCH 77/98] ports in "Adds radial menu to arm-mounted implants" (#8733) --- code/modules/surgery/organs/augments_arms.dm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index ad07ce7238..f09258f19f 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -129,11 +129,14 @@ holder = null if(contents.len == 1) Extend(contents[1]) - else // TODO: make it similar to borg's storage-like module selection - var/obj/item/choise = input("Activate which item?", "Arm Implant", null, null) as null|anything in items_list - if(owner && owner == usr && owner.stat != DEAD && (src in owner.internal_organs) && !holder && istype(choise) && (choise in contents)) - // This monster sanity check is a nice example of how bad input() is. - Extend(choise) + else + var/list/choice_list = list() + for(var/obj/item/I in items_list) + choice_list[I] = getFlatIcon(I) + var/obj/item/choice = show_radial_menu(owner, owner, choice_list) + if(owner && owner == usr && owner.stat != DEAD && (src in owner.internal_organs) && !holder && (choice in contents)) + // This monster sanity check is a nice example of how bad input is. + Extend(choice) else Retract() From 37e97510e334d2f568ffc52e2fd0e6b47ba9eef0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:01:11 -0500 Subject: [PATCH 78/98] Automatic changelog generation for PR #8733 [ci skip] --- html/changelogs/AutoChangeLog-pr-8733.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8733.yml diff --git a/html/changelogs/AutoChangeLog-pr-8733.yml b/html/changelogs/AutoChangeLog-pr-8733.yml new file mode 100644 index 0000000000..593c06bd90 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8733.yml @@ -0,0 +1,4 @@ +author: "Ghommie (original PR by Swindly)" +delete-after: True +changes: + - rscadd: "Arm-mounted implants that contain more than one item use a radial menu instead of a list menu." From 057e12dcf66405eb873d6ba0c7944e5528dcdc45 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:01:30 -0500 Subject: [PATCH 79/98] Automatic changelog generation for PR #8732 [ci skip] --- html/changelogs/AutoChangeLog-pr-8732.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8732.yml diff --git a/html/changelogs/AutoChangeLog-pr-8732.yml b/html/changelogs/AutoChangeLog-pr-8732.yml new file mode 100644 index 0000000000..69a79b93ac --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8732.yml @@ -0,0 +1,4 @@ +author: "Ghommie (original PR by Nicjh)" +delete-after: True +changes: + - rscadd: "Abductor console's select disguise option now uses a radial" From 60d42511dfa8aa2f6ceee35d0cc7c037cf8171b0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:01:54 -0500 Subject: [PATCH 80/98] Automatic changelog generation for PR #8718 [ci skip] --- html/changelogs/AutoChangeLog-pr-8718.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8718.yml diff --git a/html/changelogs/AutoChangeLog-pr-8718.yml b/html/changelogs/AutoChangeLog-pr-8718.yml new file mode 100644 index 0000000000..102fbd4f23 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8718.yml @@ -0,0 +1,4 @@ +author: "Linzolle" +delete-after: True +changes: + - rscadd: "ability to quickly max sensors" From 21e757b69d66354a4062790356442edbe2f15e17 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:19:43 -0500 Subject: [PATCH 81/98] Automatic changelog generation for PR #8665 [ci skip] --- html/changelogs/AutoChangeLog-pr-8665.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8665.yml diff --git a/html/changelogs/AutoChangeLog-pr-8665.yml b/html/changelogs/AutoChangeLog-pr-8665.yml new file mode 100644 index 0000000000..fc34f9ac3e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8665.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - balance: "Buffed wizard and artificier's Magic Missile, wizard and xeno queen's Repulse and juggernaut's Gauntlet Echo." From 573de725bc4805a7f042642e2d0984934ba677e2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:21:00 -0500 Subject: [PATCH 82/98] Automatic changelog generation for PR #8677 [ci skip] --- html/changelogs/AutoChangeLog-pr-8677.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8677.yml diff --git a/html/changelogs/AutoChangeLog-pr-8677.yml b/html/changelogs/AutoChangeLog-pr-8677.yml new file mode 100644 index 0000000000..181f6d2932 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8677.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "speedy quirk" From 6d42fab676e6f95573046c197c46a58992ecfd63 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:41:05 -0500 Subject: [PATCH 83/98] Automatic changelog generation for PR #8698 [ci skip] --- html/changelogs/AutoChangeLog-pr-8698.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8698.yml diff --git a/html/changelogs/AutoChangeLog-pr-8698.yml b/html/changelogs/AutoChangeLog-pr-8698.yml new file mode 100644 index 0000000000..464f74427e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8698.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixes flashlights being unable to be used for rudimentary eyes and mouth exams." From c3e19d9cf168af5af2e524c9639bda60c51d1487 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:41:36 -0500 Subject: [PATCH 84/98] Automatic changelog generation for PR #8691 [ci skip] --- html/changelogs/AutoChangeLog-pr-8691.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8691.yml diff --git a/html/changelogs/AutoChangeLog-pr-8691.yml b/html/changelogs/AutoChangeLog-pr-8691.yml new file mode 100644 index 0000000000..680904cc5c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8691.yml @@ -0,0 +1,4 @@ +author: "Ghommie (Original PRs by nemvar and Rowell)" +delete-after: True +changes: + - rscadd: "Added beekini bras and panties, thigh-high and knee-high bee socks." From 9db5b56653cd97476230688abf009fe9da71000e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:45:51 -0500 Subject: [PATCH 85/98] Automatic changelog generation for PR #8688 [ci skip] --- html/changelogs/AutoChangeLog-pr-8688.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8688.yml diff --git a/html/changelogs/AutoChangeLog-pr-8688.yml b/html/changelogs/AutoChangeLog-pr-8688.yml new file mode 100644 index 0000000000..b22c2c52fd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8688.yml @@ -0,0 +1,5 @@ +author: "Ghommie (Original PR by nemvar)" +delete-after: True +changes: + - rscadd: "Botanists can now get beeplushies (or cultivator and bucket) as an heirloom." + - bugfix: "Clowns and mimes will now properly pick either a can of paint or their brand as heirloom now." From 9cce5a45f13132038f80b39dd29e76b06364253a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:46:34 -0500 Subject: [PATCH 86/98] Automatic changelog generation for PR #8689 [ci skip] --- html/changelogs/AutoChangeLog-pr-8689.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8689.yml diff --git a/html/changelogs/AutoChangeLog-pr-8689.yml b/html/changelogs/AutoChangeLog-pr-8689.yml new file mode 100644 index 0000000000..bf44770c76 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8689.yml @@ -0,0 +1,4 @@ +author: "Fermis" +delete-after: True +changes: + - rscadd: "Added a panda simplemob" From 03ed1976e4e1158e8b5d9af0d619b84b10d51c3e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:46:50 -0500 Subject: [PATCH 87/98] Automatic changelog generation for PR #8687 [ci skip] --- html/changelogs/AutoChangeLog-pr-8687.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8687.yml diff --git a/html/changelogs/AutoChangeLog-pr-8687.yml b/html/changelogs/AutoChangeLog-pr-8687.yml new file mode 100644 index 0000000000..65347093ef --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8687.yml @@ -0,0 +1,4 @@ +author: "Ghommie (original PR by monster860)" +delete-after: True +changes: + - bugfix: "fixes advanced proccall" From 1ce01839fa6990836bd39c0eb996596b1299d556 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:50:34 -0500 Subject: [PATCH 88/98] Automatic changelog generation for PR #8659 [ci skip] --- html/changelogs/AutoChangeLog-pr-8659.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8659.yml diff --git a/html/changelogs/AutoChangeLog-pr-8659.yml b/html/changelogs/AutoChangeLog-pr-8659.yml new file mode 100644 index 0000000000..6287f1307f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8659.yml @@ -0,0 +1,4 @@ +author: "Ghommie (original PR by ninjanomnom)" +delete-after: True +changes: + - bugfix: "Orbiting is a little more aggressive about staying in orbit. The wisp as a result now correctly follows you over shuttle moves." From 504e9d2be682696d7c67a9981b5f07a47420de2a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:52:07 -0500 Subject: [PATCH 89/98] Automatic changelog generation for PR #8711 [ci skip] --- html/changelogs/AutoChangeLog-pr-8711.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8711.yml diff --git a/html/changelogs/AutoChangeLog-pr-8711.yml b/html/changelogs/AutoChangeLog-pr-8711.yml new file mode 100644 index 0000000000..f836783659 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8711.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - rscadd: "Adds in a grey jumpsuit to the loadout choices, restricted to Assistants." From 847fbd6516fc1f4f6c42f8c10117abbae4e16535 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:52:27 -0500 Subject: [PATCH 90/98] Automatic changelog generation for PR #8722 [ci skip] --- html/changelogs/AutoChangeLog-pr-8722.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8722.yml diff --git a/html/changelogs/AutoChangeLog-pr-8722.yml b/html/changelogs/AutoChangeLog-pr-8722.yml new file mode 100644 index 0000000000..fe858768af --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8722.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - bugfix: "I didn't code it right it in the first place" From f2aaaf9d3e174a0477f0cb3cf674adc372263798 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:53:04 -0500 Subject: [PATCH 91/98] Automatic changelog generation for PR #8695 [ci skip] --- html/changelogs/AutoChangeLog-pr-8695.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8695.yml diff --git a/html/changelogs/AutoChangeLog-pr-8695.yml b/html/changelogs/AutoChangeLog-pr-8695.yml new file mode 100644 index 0000000000..671eaa519e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8695.yml @@ -0,0 +1,6 @@ +author: "Ghommie (original PRs by grandpawalton and Mickyan)" +delete-after: True +changes: + - tweak: "the contents on the smartfridge icon now change depending on how many items it contains" + - bugfix: "opening the maintenance panel of smartfridges now correctly updates the icon" + - bugfix: "Screwing a disk compartmentalizer no longer makes it look like a smartfridge." From 53c81f8897329c959c115d0b52782061c8f795b3 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:53:32 -0500 Subject: [PATCH 92/98] Automatic changelog generation for PR #8721 [ci skip] --- html/changelogs/AutoChangeLog-pr-8721.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8721.yml diff --git a/html/changelogs/AutoChangeLog-pr-8721.yml b/html/changelogs/AutoChangeLog-pr-8721.yml new file mode 100644 index 0000000000..4b616e9923 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8721.yml @@ -0,0 +1,4 @@ +author: "Ghommie (original PR by XDTM)" +delete-after: True +changes: + - bugfix: "Reagents now stop their passive effects (for example, stun immunity) if the liver stops working while they're active." From 8fadb8b3d4f69ede70315213223cea9d44d4a185 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:54:07 -0500 Subject: [PATCH 93/98] Automatic changelog generation for PR #8666 [ci skip] --- html/changelogs/AutoChangeLog-pr-8666.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8666.yml diff --git a/html/changelogs/AutoChangeLog-pr-8666.yml b/html/changelogs/AutoChangeLog-pr-8666.yml new file mode 100644 index 0000000000..df2e2e3af0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8666.yml @@ -0,0 +1,4 @@ +author: "Ghommie (original PR by YPOQ)" +delete-after: True +changes: + - bugfix: "Fixing roffle waffle, mushroom halluginogen and some invalid reagents." From 2b401e2022976c6df4cf5387143790269fbc1b5a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:54:45 -0500 Subject: [PATCH 94/98] Automatic changelog generation for PR #8667 [ci skip] --- html/changelogs/AutoChangeLog-pr-8667.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8667.yml diff --git a/html/changelogs/AutoChangeLog-pr-8667.yml b/html/changelogs/AutoChangeLog-pr-8667.yml new file mode 100644 index 0000000000..1f80a2917d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8667.yml @@ -0,0 +1,4 @@ +author: "Ghommie (original PR by Anturk)" +delete-after: True +changes: + - rscadd: "Recipe for fabled secret sauce can now be found in the deepest reaches of space." From ccdc90186f94ae8cc6b928445e05180ef7912c45 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:56:19 -0500 Subject: [PATCH 95/98] Automatic changelog generation for PR #8692 [ci skip] --- html/changelogs/AutoChangeLog-pr-8692.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8692.yml diff --git a/html/changelogs/AutoChangeLog-pr-8692.yml b/html/changelogs/AutoChangeLog-pr-8692.yml new file mode 100644 index 0000000000..f1d87676ab --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8692.yml @@ -0,0 +1,7 @@ +author: "Ghommie (original PRs by ShizCalev)" +delete-after: True +changes: + - bugfix: "Fixed a bug that allowed you to teleport an ID in your possession to a PDA anywhere ingame." + - bugfix: "Fixed an exploit allowing you to steal ID's/pens from PDA's not in your possession." + - bugfix: "Fixed an exploit allowing you unlimited control of a PDA's interface even if it wasn't near you/in your possession." + - bugfix: "Fixed Pride Mirror exploits." From 83d06d88aded0b4528518f586be4c0965dbbb8bc Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 08:57:11 -0500 Subject: [PATCH 96/98] Automatic changelog generation for PR #8715 [ci skip] --- html/changelogs/AutoChangeLog-pr-8715.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8715.yml diff --git a/html/changelogs/AutoChangeLog-pr-8715.yml b/html/changelogs/AutoChangeLog-pr-8715.yml new file mode 100644 index 0000000000..b99309cdd9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8715.yml @@ -0,0 +1,5 @@ +author: "Sishen1542" +delete-after: True +changes: + - rscadd: "Pentetic Jelly, new chemical made through mixing 1:1 slime jelly and pentetic acid." + - tweak: "Anatomic panacea now gives pent jelly instead of pent acid. Medbeams now have TRUE tox healing to heal TOXINLOVER as well." From 74c607b2dfd1ffd52230be35a5a165ebb32fb522 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Sun, 23 Jun 2019 17:15:03 -0400 Subject: [PATCH 97/98] Ghommie Asked --- code/modules/clothing/under/miscellaneous.dm | 3 +-- icons/mob/uniform.dmi | Bin 239154 -> 239187 bytes 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index d15f3d392c..91fde0dbd0 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -1,4 +1,3 @@ - /obj/item/clothing/under/pj/red name = "red pj's" desc = "Sleepwear." @@ -755,5 +754,5 @@ name = "gear harness" desc = "A simple, inconspicuous harness replacement for a jumpsuit." icon_state = "gear_harness" - item_state = "golem" //This allows us to have no clothing on us well also hiding the cit lewd bits unless we show them. + item_state = "gear_harness" //We dont use golem do to being a item, item without faces making it default to error suit sprites. body_parts_covered = CHEST|GROIN \ No newline at end of file diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 2ed178394187e4b1759fd5c86e8c128f717ffdd0..3d281606de26537b657b52dfa55cdf8856399bf6 100644 GIT binary patch delta 17122 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

T9CRUwjUNM>yS9PHZa{U0-D&lH%Ub7d zcjwt2dXuBB^)+9@{HdwOVuA=;3tlbgK*MO%X1hIQ^s1c1om|2a=?Mh)%pob4645<* zz3v7-Gbp2g16c2qLE%0uH1-v9;kc^JQl+C2^jJt)Ipho?l58ZC?OOPRd&3@G_ zSv);UPFES=Z$5j%K@j(fX1&TvvRB1pUAxvxA_@$(GA#+n!bqhF7KZ}KZ*sIMAMPb0 zro7sPLdx{&h$2B+y$;+5zF4!#pjgbH4e=a|xuNME?ND;C=GZtF*1P#Lu zj1>cpJ-oEG&^Uc9vkzdZl-H@EXrN{~@E&9Y!FoWk<*0JjS_NVcw&@Iu*Y|3}cBLA% z<^Hd3NkvTv1O-)PzDnEHTJOcZTL6i@layK5*H|1YY`m-w2_Jr3xL06@>RvGuzQ%~z zEzgF03w>a0Z-WNa9pZm}i#ZR9&%_WE9B#Z2gg?L)5mp;(g+LU?kqo~*eu~UpDmsHo z_|9X2BM=QJo}P<_03Y#Xj$tfw8a6g8<|CS zKf%7Czchcde1S#afo1xkk+)aYPol})w&~bpsj8%ly!c1Qfe)GT?Skh`EA(5z?&@{T zCqut)0gODbTIJEmN&jP5483u7!$T<&QoF-#_P28PknhPrJZHC|TWbIjE3(>~@!!{% zT`>(Z&T!q1Jkjx)q`d8EidlMurGC}gps#7h-b8?P`nu7_{Qn*AJzUK1xZwttMKrp> zf;R_rWx*HS;1IYnK8Y$js!Q>8_97wp{p!mh*JNi?`-zJC(1 z$o91kcAhSG(+lu>hWv-;fuK0_ez#4Z9;!q|GXf0ofUxkq(kPByCW#?%|HL8%eE`va z*uB8CZSHzoJ#==7sOy_UCN)w!fi0 zAHw#35NaRB{*t_a9WJqv!qy7nkL_YVsEJ6G@fH2@TeoIm-92(@L=_V$%R&dJGJbCi zQZ6x5={WvDvGpg-yCue24e-2px14f&O0IR-0wvtzRn1K^l~;PNHm~E{ig_md1x4?`U`3h-!fM!-~*uA zVYFL!Z+1@&n8w{aNQwQQlw>8OhfIwoW!Po>#Q?%-6&KVb#!1%$SYu#g|FIHVFX=;y z+(Giqr~k5)(Jb>vs2C4%3Cmuq7lO-0)QMaI>^Jw5Wd6&0{?wGe??F8MQmkd;Rcy>Z z*0P%S5<|tDj}j&q{ofVK8bm!AS<8e@cQ-LdsURXKy&S$s5h;+?3Ben zCa6{IWwVetlowumGw7B$C&c*cIq2U1L^fxqC$3h23J4^y=BRYs`vR8J!2YjjFM#Gm zFbT<)4D6SEK4FX!5`Zm7NJ(Un8z@f;esuTL`_ST@No-}qP4eHz&j`a#)N&MUlqfw+N>(?~JKicqw(bN2sn@*G>j--?SSM2`++CO9*5SQ1&E9uuv zA`uk}ut+_l<^CZhVBO4tbi+4O{zG((;<-yyjQjF={7*KYsSQ)c#xr6T#=Nw##h9h~ zi#lYI-3D(UKYAoyN^tS%+kZ?6#<(IZqw)U0ZTNNgS+kNFtq>Uq$x3YM@70#qHk&K% z|BtA}{!Vj}cqJ3%wchK>md5nIiu%a(pIy--7}#ONWG43MW+3FBs-lKMg`CBw{|_VQ B^v(bP From dcd74f899acaaf88d095cc4613fb741f571a292e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 23 Jun 2019 19:26:32 -0500 Subject: [PATCH 98/98] Automatic changelog generation for PR #8736 [ci skip] --- html/changelogs/AutoChangeLog-pr-8736.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8736.yml diff --git a/html/changelogs/AutoChangeLog-pr-8736.yml b/html/changelogs/AutoChangeLog-pr-8736.yml new file mode 100644 index 0000000000..68d64e2410 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8736.yml @@ -0,0 +1,6 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - rscadd: "gear harness and a conflict merg" + - rscdel: "Nudity permits" + - bugfix: "nothing"