From ede55cc8f5b50abcd4f51d37779b56853a440a9a Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Thu, 5 Mar 2015 17:17:52 -0500 Subject: [PATCH 1/5] Re-Adds Ninja Gear --- .../game/objects/items/weapons/power_cells.dm | 7 + .../clothing/spacesuits/space_ninja.dm | 207 ++++++++++++++++++ icons/mob/eyes.dmi | Bin 9406 -> 9461 bytes icons/obj/clothing/glasses.dmi | Bin 7741 -> 7831 bytes paradise.dme | 1 + 5 files changed, 215 insertions(+) create mode 100644 code/modules/clothing/spacesuits/space_ninja.dm diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index 7424f685ef8..1756935eacb 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -128,6 +128,13 @@ name = "pulse pistol power cell" maxcharge = 1600 +/obj/item/weapon/stock_parts/cell/ninja + name = "spider-clan power cell" + desc = "A standard ninja-suit power cell." + maxcharge = 10000 + rating = 3 + g_amt = 60 + /obj/item/weapon/stock_parts/cell/emproof name = "\improper EMP-proof cell" desc = "An EMP-proof cell." diff --git a/code/modules/clothing/spacesuits/space_ninja.dm b/code/modules/clothing/spacesuits/space_ninja.dm new file mode 100644 index 00000000000..04ca1c56030 --- /dev/null +++ b/code/modules/clothing/spacesuits/space_ninja.dm @@ -0,0 +1,207 @@ +/obj/item/clothing/head/helmet/space/space_ninja + desc = "What may appear to be a simple black garment is in fact a highly sophisticated nano-weave helmet. Standard issue ninja gear." + name = "ninja hood" + icon_state = "s-ninja" + item_state = "s-ninja_hood" + armor = list(melee = 60, bullet = 60, laser = 45, energy = 15, bomb = 30, bio = 30, rad = 25) + unacidable = 1 + siemens_coefficient = 0.2 + + +/obj/item/clothing/mask/gas/voice/space_ninja + name = "ninja mask" + desc = "A close-fitting mask that acts both as an air filter and a post-modern fashion statement." + icon_state = "s-ninja(norm)" + item_state = "s-ninja_mask" + unacidable = 1 + siemens_coefficient = 0.2 + +/obj/item/clothing/glasses/hud/space_ninja + name = "vision enhancement implant" + desc = "A high-tech ocular implant designed for Spider Clan operatives." + icon_state = "cybereye-off" + item_state = "eyepatch" + flags = NODROP + + var/enabled = 0 + var/energyConsumption = 0 + var/antagHUDEnabled = 0 + var/mesonEnabled = 0 + var/materialEnabled = 0 + var/thermalEnabled = 0 + +/obj/item/clothing/glasses/hud/space_ninja/process_hud(var/mob/M) // Antag HUD processing. + + if(antagHUDEnabled) // We only process if the antag-vision mode is enabled. + if(!M) return + if(!M.client) return + var/client/C = M.client + for(var/mob/living/carbon/human/target in view(get_turf(M))) + if(M.see_invisible < target.invisibility) + continue + if(!C) continue + C.images += target.hud_list[SPECIALROLE_HUD] + +/obj/item/clothing/glasses/hud/space_ninja/verb/modifyHUD(mob/user as mob) + set category = "Space Ninja - Equiptment" + set name = "Modify Vision" + + if(enabled) // If the Ninja's suit is on and connected. + if(usr.mind.special_role != "Ninja") + usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked." + + if(!user) // The user var is, so far as I can tell, required to refresh the window after each click. + user = usr + + /* + * Each vision type the Ninja enables will drain more from his suit's battery per tick. + * For instance, if the Ninja were to rn around with thermals and AntagHUD on he would be losing an additional 10 energy per tick. + * Current vision modes are: + * - Night + * - Meson (Turfs) + * - Material (Objects) + * - Thermal (Mobs) + * - Antag HUD + * + * -Dave + */ + var/dat = {" +
Night Vision (2E) - [darkness_view ? "ENABLED" : "DISABLED"]
+ Meson Scanner (2E) - [mesonEnabled ? "ENABLED" : "DISABLED"]
+ Material Scanner (4E) - [materialEnabled ? "ENABLED" : "DISABLED"]
+ Thermal Scanner (4E) - [thermalEnabled ? "ENABLED" : "DISABLED"]
+ Threat Identification HUD (6E) - [antagHUDEnabled ? "ENABLED" : "DISABLED"]
+ "} + + var/datum/browser/popup = new(user, "SpiderOS", "SpiderOS Optical Interface", 310, 150) + popup.set_content(dat) + popup.open() + else + usr << "ERROR: No power supply detected, cannot activate optical implant." + + +/obj/item/clothing/glasses/hud/space_ninja/Topic(href, href_list) + if(usr.stat != 0 || !enabled) + return 1 + + if(href_list["night"]) + darkness_view = (darkness_view ? 0 : 8) + energyConsumption += (darkness_view ? 2 : -2) + usr << "Light amplification [(darkness_view ? "ENABLED" : "DISABLED")]." + + else if(href_list["meson"]) + mesonEnabled = (mesonEnabled ? 0 : 1) + + if(mesonEnabled) + vision_flags |= SEE_TURFS + else + vision_flags &= ~SEE_TURFS + + energyConsumption += (mesonEnabled ? 2 : -2) + usr << "Meson scanning [(mesonEnabled ? "ENABLED" : "DISABLED")]." + + else if(href_list["material"]) + materialEnabled = (materialEnabled ? 0 : 1) + + if(materialEnabled) + vision_flags |= SEE_OBJS + else + vision_flags &= ~SEE_OBJS + + energyConsumption += (materialEnabled ? 4 : -4) + usr << "Material scanning [(materialEnabled ? "ENABLED" : "DISABLED")]." + + else if(href_list["thermal"]) + thermalEnabled = (thermalEnabled ? 0 : 1) + + if(thermalEnabled) + vision_flags |= SEE_MOBS + invisa_view = 2 + else + vision_flags &= ~SEE_MOBS + invisa_view = 0 + + energyConsumption += (thermalEnabled ? 4 : -4) + usr << "Thermal scanning [(thermalEnabled ? "ENABLED" : "DISABLED")]." + + else if(href_list["antagHUD"]) + antagHUDEnabled = (antagHUDEnabled ? 0 : 1) + energyConsumption += (antagHUDEnabled ? 6 : -6) + usr << "Threat identification HUD [(antagHUDEnabled ? "ENABLED" : "DISABLED")]." + + modifyHUD(usr) // Re-call the verb to get a fresh version of the window. + return + +/obj/item/clothing/suit/space/space_ninja + name = "ninja suit" + desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins." + icon_state = "s-ninja" + item_state = "s-ninja_suit" + allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/weapon/melee/baton, /obj/item/weapon/tank, /obj/item/weapon/stock_parts/cell) + slowdown = 0 + unacidable = 1 + armor = list(melee = 60, bullet = 60, laser = 45,energy = 15, bomb = 30, bio = 30, rad = 30) + siemens_coefficient = 0.2 + + var/suitActive = 0 + var/suitBusy = 0 + + var/obj/item/weapon/stock_parts/cell/suitCell + var/obj/item/clothing/head/helmet/space/space_ninja/suitHood + var/obj/item/clothing/gloves/space_ninja/suitGloves + var/obj/item/clothing/shoes/space_ninja/suitShoes + var/obj/item/clothing/mask/gas/voice/space_ninja/suitMask + var/obj/item/clothing/glasses/space_ninja/suitGlasses + var/mob/living/carbon/human/suitOccupant + +/obj/item/clothing/suit/space/space_ninja/New() + suitCell = /obj/item/weapon/stock_parts/cell/ninja // The Ninja starts out with a 10,000 energy cell. + + +/obj/item/clothing/gloves/space_ninja + desc = "These nano-enhanced gloves insulate from electricity and provide fire resistance." + name = "ninja gloves" + icon_state = "s-ninja" + item_state = "s-ninja" + siemens_coefficient = 0 + cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE + heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE + transfer_prints = FALSE + + +/obj/item/clothing/shoes/space_ninja + name = "ninja shoes" + desc = "A pair of running shoes. Excellent for running and even better for smashing skulls." + icon_state = "s-ninja" + permeability_coefficient = 0.01 + flags = NOSLIP + armor = list(melee = 60, bullet = 60, laser = 45,energy = 15, bomb = 30, bio = 30, rad = 30) + siemens_coefficient = 0.2 + cold_protection = FEET + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE + heat_protection = FEET + max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE + + +/obj/item/clothing/suit/space/space_ninja/verb/toggle_suit() + set category = "Space Ninja - Equiptment" + set name = "Toggle Suit" + + if(usr.mind.special_role == "Ninja") + if(suitBusy) + usr << "ERROR: Suit systems busy, cannot initiate [suitActive ? "de-activation" : "activation"] protocals." + return + + suitBusy = 1 + if(suitActive && (alert("Confirm suit systems shutdown? This cannot be halted once it has started", "Confirm Shutdown", "Yes", "No") == "Yes")) + usr << "" + else if(!suitActive) // Activate the suit. + usr << "" + else + suitBusy = 0 + usr << "NOTICE: Suit de-activation protocals aborted." + else + usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked." + return \ No newline at end of file diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index 9a066c9eb3fa418aed6f02cfcee53d667c246db6..1a34c2836cb4ce3c560bf440a88da93c93cbf561 100644 GIT binary patch literal 9461 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 literal 9406 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%0A^BW{0M7Rdl?>+jZ%!*PpWTG5nyf(!R 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 diff --git a/paradise.dme b/paradise.dme index d84b2c5f513..f8608a51a2a 100644 --- a/paradise.dme +++ b/paradise.dme @@ -993,6 +993,7 @@ #include "code\modules\clothing\spacesuits\miscellaneous.dm" #include "code\modules\clothing\spacesuits\plasmamen.dm" #include "code\modules\clothing\spacesuits\rig.dm" +#include "code\modules\clothing\spacesuits\space_ninja.dm" #include "code\modules\clothing\spacesuits\syndi.dm" #include "code\modules\clothing\spacesuits\void.dm" #include "code\modules\clothing\suits\alien.dm" From 5fac18862e65ed41b7a5b9cd3201072a240ec47a Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Thu, 5 Mar 2015 18:25:20 -0500 Subject: [PATCH 2/5] Fixes Nightvision Glasses Nightvision glasses no longer have a snowflake check, instead all glasses have a see_darkness variable that determines if they see the darkness overlay. --- code/modules/clothing/glasses/glasses.dm | 7 +++++-- code/modules/clothing/glasses/hud.dm | 2 ++ code/modules/clothing/spacesuits/space_ninja.dm | 2 ++ code/modules/mob/living/carbon/human/life.dm | 6 ++---- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 7f592a2405b..77e31587c41 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -8,6 +8,7 @@ //var/darkness_view = 0//Base human is 2 //var/invisa_view = 0 var/prescription = 0 + var/see_darkness = 1 /obj/item/clothing/glasses/meson name = "Optical Meson Scanner" @@ -20,13 +21,14 @@ sprite_sheets = list( "Vox" = 'icons/mob/species/vox/eyes.dmi' ) - + /obj/item/clothing/glasses/meson/night name = "Night Vision Optical Meson Scanner" desc = "An Optical Meson Scanner fitted with an amplified visible light spectrum overlay, providing greater visual clarity in darkness." icon_state = "nvgmeson" item_state = "glasses" darkness_view = 8 + see_darkness = 0 /obj/item/clothing/glasses/meson/prescription name = "prescription mesons" @@ -49,7 +51,7 @@ desc = "nothing" icon_state = "purple" item_state = "glasses" - + /obj/item/clothing/glasses/janitor name = "Janitorial Goggles" desc = "These'll keep the soap out of your eyes." @@ -63,6 +65,7 @@ item_state = "glasses" origin_tech = "magnets=2" darkness_view = 8 + see_darkness = 0 species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/eyes.dmi' diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 47d9875c2a9..9a52deadebc 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -26,6 +26,7 @@ icon_state = "healthhudnight" item_state = "glasses" darkness_view = 8 + see_darkness = 0 /obj/item/clothing/glasses/hud/health/process_hud(var/mob/M) process_med_hud(M,1) @@ -53,6 +54,7 @@ desc = "An advanced heads-up display which provides id data and vision in complete darkness." icon_state = "securityhudnight" darkness_view = 8 + see_darkness = 0 /obj/item/clothing/glasses/hud/security/process_hud(var/mob/M) diff --git a/code/modules/clothing/spacesuits/space_ninja.dm b/code/modules/clothing/spacesuits/space_ninja.dm index 04ca1c56030..96d33a488ed 100644 --- a/code/modules/clothing/spacesuits/space_ninja.dm +++ b/code/modules/clothing/spacesuits/space_ninja.dm @@ -49,6 +49,7 @@ if(enabled) // If the Ninja's suit is on and connected. if(usr.mind.special_role != "Ninja") usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked." + return if(!user) // The user var is, so far as I can tell, required to refresh the window after each click. user = usr @@ -86,6 +87,7 @@ if(href_list["night"]) darkness_view = (darkness_view ? 0 : 8) + see_darkness = (darkness_view ? 0 : 1) energyConsumption += (darkness_view ? 2 : -2) usr << "Light amplification [(darkness_view ? "ENABLED" : "DISABLED")]." diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 4c03256ecb8..96898990afa 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1325,7 +1325,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc sight |= G.vision_flags if(!druggy) see_invisible = SEE_INVISIBLE_MINIMUM - if(istype(G,/obj/item/clothing/glasses/night)) + if(!G.see_darkness) see_invisible = SEE_INVISIBLE_MINIMUM /* HUD shit goes here, as long as it doesn't modify sight flags */ // The purpose of this is to stop xray and w/e from preventing you from using huds -- Love, Doohl @@ -1341,9 +1341,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc var/obj/item/clothing/glasses/hud/O = glasses O.process_hud(src) if(!druggy) - see_invisible = SEE_INVISIBLE_LIVING - if(istype(O,/obj/item/clothing/glasses/hud/security/night) || istype(O,/obj/item/clothing/glasses/hud/health/night)) - see_invisible = SEE_INVISIBLE_MINIMUM + see_invisible = (O.see_darkness ? SEE_INVISIBLE_LIVING : SEE_INVISIBLE_MINIMUM) else if(!seer) see_in_dark = species.darksight see_invisible = SEE_INVISIBLE_LIVING From 723044ebc657ac8991088289c88d7aa415af75ed Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Sat, 7 Mar 2015 10:31:56 -0500 Subject: [PATCH 3/5] Ninja icons addition, glasses code tweak --- code/modules/mob/living/carbon/human/life.dm | 6 +++--- icons/obj/ninjaobjects.dmi | Bin 16769 -> 21596 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 96898990afa..ed1c260027d 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1320,7 +1320,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc if(glasses) var/obj/item/clothing/glasses/G = glasses if(istype(G)) - see_in_dark += G.darkness_view + see_in_dark = (G.darkness_view ? see_in_dark + G.darkness_view : species.darksight) // Otherwise we keep our darkness view with togglable nightvision. if(G.vision_flags) // MESONS sight |= G.vision_flags if(!druggy) @@ -1335,13 +1335,13 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc if(istype(glasses, /obj/item/clothing/glasses/sunglasses/sechud)) var/obj/item/clothing/glasses/sunglasses/sechud/O = glasses if(O.hud) O.hud.process_hud(src) - if(!druggy) see_invisible = SEE_INVISIBLE_LIVING + if(!druggy) see_invisible = (!O.see_darkness || O.vision_flags ? SEE_INVISIBLE_MINIMUM : SEE_INVISIBLE_LIVING) // So we can have meson/thermal/material sunglasses if(istype(glasses, /obj/item/clothing/glasses/hud)) var/obj/item/clothing/glasses/hud/O = glasses O.process_hud(src) if(!druggy) - see_invisible = (O.see_darkness ? SEE_INVISIBLE_LIVING : SEE_INVISIBLE_MINIMUM) + see_invisible = (!O.see_darkness || O.vision_flags ? SEE_INVISIBLE_MINIMUM : SEE_INVISIBLE_LIVING) else if(!seer) see_in_dark = species.darksight see_invisible = SEE_INVISIBLE_LIVING diff --git a/icons/obj/ninjaobjects.dmi b/icons/obj/ninjaobjects.dmi index d57727cdc734f7e4b3bc3d606a78bf81d8c42ee5..9e2288d786c0f6658bf2ca55b013b8f0f7bf5c08 100644 GIT binary patch literal 21596 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 literal 16769 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 Date: Sat, 7 Mar 2015 19:54:00 -0500 Subject: [PATCH 4/5] Ninja glove icon update, ninja suit toggle function --- code/defines/obj.dm | 2 +- .../clothing/spacesuits/space_ninja.dm | 347 ++++++++++++------ icons/obj/clothing/gloves.dmi | Bin 11433 -> 11389 bytes 3 files changed, 244 insertions(+), 105 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 5eb6c3b54fc..b0e8290ffee 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -13,7 +13,7 @@ /obj/structure/ninjatele name = "Long-Distance Teleportation Console" - desc = "A console used to send a Spider Clan agent long distances rapidly." + desc = "A console used to send a Spider Clan operative long distances rapidly." icon = 'icons/obj/ninjaobjects.dmi' icon_state = "teleconsole" anchored = 1 diff --git a/code/modules/clothing/spacesuits/space_ninja.dm b/code/modules/clothing/spacesuits/space_ninja.dm index 96d33a488ed..03ffac852a0 100644 --- a/code/modules/clothing/spacesuits/space_ninja.dm +++ b/code/modules/clothing/spacesuits/space_ninja.dm @@ -1,3 +1,5 @@ +// ** BEGIN NINJA CLOTHING DEFINES ** + /obj/item/clothing/head/helmet/space/space_ninja desc = "What may appear to be a simple black garment is in fact a highly sophisticated nano-weave helmet. Standard issue ninja gear." name = "ninja hood" @@ -30,6 +32,214 @@ var/materialEnabled = 0 var/thermalEnabled = 0 +/obj/item/clothing/suit/space/space_ninja + name = "ninja suit" + desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins." + icon_state = "s-ninja" + item_state = "s-ninja_suit" + allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/weapon/melee/baton, /obj/item/weapon/tank, /obj/item/weapon/stock_parts/cell) + slowdown = 0 + unacidable = 1 + armor = list(melee = 60, bullet = 60, laser = 45,energy = 15, bomb = 30, bio = 30, rad = 30) + siemens_coefficient = 0.2 + + var/suitActive = 0 + var/suitBusy = 0 + + var/obj/item/weapon/stock_parts/cell/suitCell + var/obj/item/clothing/head/helmet/space/space_ninja/suitHood + var/obj/item/clothing/gloves/space_ninja/suitGloves + var/obj/item/clothing/shoes/space_ninja/suitShoes + var/obj/item/clothing/mask/gas/voice/space_ninja/suitMask + var/obj/item/clothing/glasses/hud/space_ninja/suitGlasses + var/mob/living/carbon/human/suitOccupant + +/obj/item/clothing/gloves/space_ninja + desc = "These nano-enhanced gloves insulate from electricity and provide fire resistance." + name = "ninja gloves" + icon_state = "s-ninja" + item_state = "s-ninja" + siemens_coefficient = 0 + cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE + heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE + transfer_prints = FALSE + + +/obj/item/clothing/shoes/space_ninja + name = "ninja shoes" + desc = "A pair of running shoes. Excellent for running and even better for smashing skulls." + icon_state = "s-ninja" + permeability_coefficient = 0.01 + flags = NOSLIP + armor = list(melee = 60, bullet = 60, laser = 45,energy = 15, bomb = 30, bio = 30, rad = 30) + siemens_coefficient = 0.2 + cold_protection = FEET + min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE + heat_protection = FEET + max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE + +// ** END NINJA CLOTHING DEFINES ** + +// ** BEGIN NINJA SUIT PROCS ** + +/obj/item/clothing/suit/space/space_ninja/New() + suitCell = new/obj/item/weapon/stock_parts/cell/ninja // The Ninja starts out with a 10,000 energy cell. + if(suitCell.charge != suitCell.maxcharge) + suitCell.charge = suitCell.maxcharge + +/obj/item/clothing/suit/space/space_ninja/verb/toggle_suit() + set category = "Space Ninja - Equiptment" + set name = "Toggle Suit" + + if(usr.mind.special_role == "Ninja") + if(suitBusy) + usr << "ERROR: Suit systems busy, cannot initiate [suitActive ? "de-activation" : "activation"] protocals at this time." + return + + suitBusy = 1 + + if(suitActive && (alert("Confirm suit systems shutdown? This cannot be halted once it has started", "Confirm Shutdown", "Yes", "No") == "Yes")) + usr << "Now de-initializing..." + + sleep(15) + usr << "Logging off, [usr.real_name]. Shutting down SpiderOS." + + sleep(10) + usr<< "Primary system status: OFFLINE.\nBackup system status: OFFLINE." + + sleep(5) + usr<< "VOID-shift device status: OFFLINE.\nCLOAK-tech device status: OFFLINE." + //TODO: Shut down any active abilities + + sleep(10) + usr<< "Disconnecting neural-net interface... Success." + usr.hud_used.instantiate() + usr.regenerate_icons() + + sleep(5) + usr<< "Disengaging neural-net interface... Success." + + sleep(10) + usr<< "Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: FINISHED." + //TODO: Grant verbs + toggle_suit_lock(usr) + usr.regenerate_icons() + suitBusy = 0 + suitActive = 0 + + else if(!suitActive) // Activate the suit. + usr << "Now initializing..." + + sleep(15) + usr<< "Now establishing neural-net interface..." + if(usr.mind.special_role != "Ninja") + usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked." + return + + sleep(10) + usr<< "Neural-net established. Now monitoring brainwave pattern. \nBrainwave pattern GREEN, proceeding." + + sleep(10) + usr<< "Securing external locking mechanism..." + if(!toggle_suit_lock(usr)) + return + + sleep(5) + usr<< "Suit secured, extending neural-net interface..." + usr.hud_used.human_hud('icons/mob/screen1_NinjaHUD.dmi',"#ffffff",255) + usr.regenerate_icons() + + sleep(10) + usr<< "VOID-shift device status: ONLINE.\nCLOAK-tech device status:ONLINE" + + sleep(5) + usr<< "Primary system status: ONLINE.\nBackup system status: ONLINE.\nCurrent energy capacity: [suitCell.charge]/[suitCell.maxcharge]." + + sleep(10) + usr<< "All systems operational. Welcome to SpiderOS, [usr.real_name]." + //TODO: Grant ninja verbs here. + suitBusy = 0 + suitActive = 1 + + else + suitBusy = 0 + usr << "NOTICE: Suit de-activation protocals aborted." + else + usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked." + return + +/obj/item/clothing/suit/space/space_ninja/proc/toggle_suit_lock(mob/living/carbon/human/user) + if(!suitActive) + if(!istype(user.wear_suit, /obj/item/clothing/suit/space/space_ninja)) + user<< "ERROR: Unable to locate user.\nABORTING..." + return 0 + if(!istype(user.head, /obj/item/clothing/head/helmet/space/space_ninja)) + user<< "ERROR: Unable to locate hood.\nABORTING..." + return 0 + if(!istype(user.gloves, /obj/item/clothing/gloves/space_ninja)) + user<< "ERROR: Unable to locate gloves.\nABORTING..." + return 0 + if(!istype(user.shoes, /obj/item/clothing/shoes/space_ninja)) + user<< "ERROR: Unable to locate foot gear.\nABORTING..." + return 0 + if(!istype(user.wear_mask, /obj/item/clothing/mask/gas/voice/space_ninja)) + user<< "ERROR: Unable to locate mask.\nABORTING..." + return 0 + if(!istype(user.glasses, /obj/item/clothing/glasses/hud/space_ninja)) + user<< "WARNING: Unable to locate eye gear, vision enhancement unavailable.\nProceeding..." + else + suitGlasses = user.glasses + suitGlasses.enabled = 1 + suitGlasses.icon_state = "cybereye-green" + + suitHood = user.head + suitMask = user.wear_mask + suitGloves = user.gloves + suitShoes = user.shoes + suitOccupant = user + + flags |= NODROP + suitHood.flags |= NODROP + suitMask.flags |= NODROP + suitGloves.flags |= NODROP + suitGloves.pickpocket = 1 + suitShoes.flags |= NODROP + suitShoes.slowdown = -2 + + icon_state = (user.gender == MALE ? "s-ninjan" : "s-ninjanf") + suitGloves.icon_state = "s-ninjan" + + return 1 + + else + flags &= ~NODROP + suitHood.flags &= ~NODROP + suitMask.flags &= ~NODROP + if(suitGlasses) + suitGlasses.enabled = 0 + suitGlasses.icon_state = "cybereye-off" + suitGloves.flags &= ~NODROP + suitGloves.pickpocket = 0 + suitShoes.flags &= ~NODROP + suitShoes.slowdown = -1 + icon_state = "s-ninja" + suitGloves.icon_state = "s-ninja" + + suitHood = null + suitMask = null + suitGlasses = null + suitGloves = null + suitShoes = null + suitOccupant = null + + return 1 + +// ** END NINJA SUIT PROCS ** + +// **BEGIN NINJA GLASSES PROCS** + /obj/item/clothing/glasses/hud/space_ninja/process_hud(var/mob/M) // Antag HUD processing. if(antagHUDEnabled) // We only process if the antag-vision mode is enabled. @@ -46,39 +256,40 @@ set category = "Space Ninja - Equiptment" set name = "Modify Vision" - if(enabled) // If the Ninja's suit is on and connected. - if(usr.mind.special_role != "Ninja") - usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked." - return + if(usr.mind.special_role != "Ninja") + usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked." + return - if(!user) // The user var is, so far as I can tell, required to refresh the window after each click. - user = usr - - /* - * Each vision type the Ninja enables will drain more from his suit's battery per tick. - * For instance, if the Ninja were to rn around with thermals and AntagHUD on he would be losing an additional 10 energy per tick. - * Current vision modes are: - * - Night - * - Meson (Turfs) - * - Material (Objects) - * - Thermal (Mobs) - * - Antag HUD - * - * -Dave - */ - var/dat = {" -
Night Vision (2E) - [darkness_view ? "ENABLED" : "DISABLED"]
- Meson Scanner (2E) - [mesonEnabled ? "ENABLED" : "DISABLED"]
- Material Scanner (4E) - [materialEnabled ? "ENABLED" : "DISABLED"]
- Thermal Scanner (4E) - [thermalEnabled ? "ENABLED" : "DISABLED"]
- Threat Identification HUD (6E) - [antagHUDEnabled ? "ENABLED" : "DISABLED"]
- "} - - var/datum/browser/popup = new(user, "SpiderOS", "SpiderOS Optical Interface", 310, 150) - popup.set_content(dat) - popup.open() - else + if(!enabled) // If the Ninja's suit is on and connected. usr << "ERROR: No power supply detected, cannot activate optical implant." + return + + if(!user) // The user var is, so far as I can tell, required to refresh the window after each click. + user = usr + + /* + * Each vision type the Ninja enables will drain more from his suit's battery per tick. + * For instance, if the Ninja were to rn around with thermals and AntagHUD on he would be losing an additional 10 energy per tick. + * Current vision modes are: + * - Night + * - Meson (Turfs) + * - Material (Objects) + * - Thermal (Mobs) + * - Antag HUD + * + * -Dave + */ + var/dat = {" +
Night Vision (2E) - [darkness_view ? "ENABLED" : "DISABLED"]
+ Meson Scanner (2E) - [mesonEnabled ? "ENABLED" : "DISABLED"]
+ Material Scanner (4E) - [materialEnabled ? "ENABLED" : "DISABLED"]
+ Thermal Scanner (4E) - [thermalEnabled ? "ENABLED" : "DISABLED"]
+ Threat Identification HUD (6E) - [antagHUDEnabled ? "ENABLED" : "DISABLED"]
+ "} + + var/datum/browser/popup = new(user, "SpiderOS", "SpiderOS Optical Interface", 310, 150) + popup.set_content(dat) + popup.open() /obj/item/clothing/glasses/hud/space_ninja/Topic(href, href_list) @@ -134,76 +345,4 @@ modifyHUD(usr) // Re-call the verb to get a fresh version of the window. return -/obj/item/clothing/suit/space/space_ninja - name = "ninja suit" - desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins." - icon_state = "s-ninja" - item_state = "s-ninja_suit" - allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/weapon/melee/baton, /obj/item/weapon/tank, /obj/item/weapon/stock_parts/cell) - slowdown = 0 - unacidable = 1 - armor = list(melee = 60, bullet = 60, laser = 45,energy = 15, bomb = 30, bio = 30, rad = 30) - siemens_coefficient = 0.2 - - var/suitActive = 0 - var/suitBusy = 0 - - var/obj/item/weapon/stock_parts/cell/suitCell - var/obj/item/clothing/head/helmet/space/space_ninja/suitHood - var/obj/item/clothing/gloves/space_ninja/suitGloves - var/obj/item/clothing/shoes/space_ninja/suitShoes - var/obj/item/clothing/mask/gas/voice/space_ninja/suitMask - var/obj/item/clothing/glasses/space_ninja/suitGlasses - var/mob/living/carbon/human/suitOccupant - -/obj/item/clothing/suit/space/space_ninja/New() - suitCell = /obj/item/weapon/stock_parts/cell/ninja // The Ninja starts out with a 10,000 energy cell. - - -/obj/item/clothing/gloves/space_ninja - desc = "These nano-enhanced gloves insulate from electricity and provide fire resistance." - name = "ninja gloves" - icon_state = "s-ninja" - item_state = "s-ninja" - siemens_coefficient = 0 - cold_protection = HANDS - min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE - heat_protection = HANDS - max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE - transfer_prints = FALSE - - -/obj/item/clothing/shoes/space_ninja - name = "ninja shoes" - desc = "A pair of running shoes. Excellent for running and even better for smashing skulls." - icon_state = "s-ninja" - permeability_coefficient = 0.01 - flags = NOSLIP - armor = list(melee = 60, bullet = 60, laser = 45,energy = 15, bomb = 30, bio = 30, rad = 30) - siemens_coefficient = 0.2 - cold_protection = FEET - min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE - heat_protection = FEET - max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE - - -/obj/item/clothing/suit/space/space_ninja/verb/toggle_suit() - set category = "Space Ninja - Equiptment" - set name = "Toggle Suit" - - if(usr.mind.special_role == "Ninja") - if(suitBusy) - usr << "ERROR: Suit systems busy, cannot initiate [suitActive ? "de-activation" : "activation"] protocals." - return - - suitBusy = 1 - if(suitActive && (alert("Confirm suit systems shutdown? This cannot be halted once it has started", "Confirm Shutdown", "Yes", "No") == "Yes")) - usr << "" - else if(!suitActive) // Activate the suit. - usr << "" - else - suitBusy = 0 - usr << "NOTICE: Suit de-activation protocals aborted." - else - usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked." - return \ No newline at end of file +// **END NINJA GLASSES PROCS** \ No newline at end of file diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index 460dd640c29de7588006fc645886f8ee3707e945..7883f93184e54d897cd5a078122eed416782455b 100644 GIT binary patch delta 10798 zcmYj%1yodB_x{k`AQFOrAV{}#hae%{-5t_#0Yy+iKsuBLDFI1oK|)$mx}*gLh8SR& z`Cs1e{eQo2)|xeI?uon4+0Q=DK6~$S<6EOzJv89M3D#UH)>pby&_V6votW9#iNP2t{mwG=n6N|I` zp~>Z3gFTOedYs|&K;%CywaoFz3-z>qMX5Wh&Dc`ZI6PldG!~Py-gSTxLk_!_Ho-RB2XEIP3OebAWeIX8nZGTP*qlwi$hdcT1enhLou} zaZg^t8yg>|mdAAyG1Vr`7-s!iUq2J7p`k%}@1Al8dAy>uQN5Cz#epI0!PD%gJZuy1 z%s8PcW}3;#=+9D8$Mb?!w%=l}?{_`kd;}q&5Pfe7+@hHJMcpAR$vZncaaC1Z0)m2Q zr1ER9D<>Bh^jH(6`)|!OEbF&zw!aDx(`#TB1_%fK*rGIcrj`jYp^8*L86S&iStqs+ z5pD2OaLqUsqg75i2NqBa5ZzGq>FZ<78hdk12EOofPqy&oberwli;LlVs8?ehRT`Z# zh43PPwtLG5FK4vB%D6t0-}X)R(Rr}5iwiR+CnvkPxSo!&u~<)C@@ z^80OMc9nn<+w(kpB&7KHn>PgS@Jh9!jh*?#(B8bsZ=~BEjW`P5g>kYudFT$&#*xME zqr7bSL2(9$hBijJkThII*z%l_$ks4Al;LDdE!UV4iHA_J0GYy( zok+PW@0!t0^Xf&fbD-Fn@xbSFdbO~k;z{B4+(6Bu&T|;d%l+ao)MrY1`*@s=tjj~4 zA9lHu5R3Y$akCrjv&Y(p%J=0}_$X$U6DFb37Ct1*v8eLn?%7kEDg9G=;zoJ2#tooxW47tygZ7PKl~KW`X(teVWH~Tj4ZKAz@aI)Osj}pT z&%1#piN1E4TATOGyT(&iYRn@)A*hE!P4fG8s_F)ctMfQ}KUw-n`20S6koNoPL-mU! zU18nlo1%xu7ZVh?*<|vyJdb%lclOS7xsfFb9V*~P_OA1pqj)mZfnv#*0_@24)s?Z< zTuFUI!N&M%&C6GIh*s`Cdgp}!utD<_m{z9j^6ZpgM=t!iG0sRSdncoZaMfvo$?aGO zBXK^4h)p&mHvYU!X|H3mLy%!7rSWp=6jFDEOHlfBjqmjCz}CH zccz2NX{oy(;U^XZ50!4Ws42e=_-4kuwevXZa&hragjR0q8u72uB-EDKYhFbk0%k3? zF15m)imu>eCbMj-6L?MGUMD4Z#G?0n0gWMlhpi{Jg?~&O2jOzqN!(p? z2YoxR1gEP6XmAJ9l&Ogc_-kipw{{W;y$ZFi!K{GCV7by3wSUbOc1@M@zE1&a2!DfW zeQ`7GO9EL6d1~eNV$A#W=$M52YJV9ce5Iic9EM4X5`hww7}MknnAg{HO&jaD`X~@) z%)l3bM&_y@0bG&8p*|*eLOvDH0@s0ab8|nEY2ZJFH)^tme_6{;J**&W*Z^0C-&Il) z4GQ}kUV(OZaP_Wht4z?)(6|g+Q%-N5XlrX*!2%_jx<=w@1gE=+V_ub(vV}@pswz15 z0c%c$0<}bruh&CQhA$TX#3w#C1b*RJdK_Hsn`?U8kZ#*?{GjHV zgz9cVfgKhzxXC~AP+CD53|+J3KNv;i6;Hwdn`8zr20sg@{Mdz8C|6JV0p)2+LYq7gU#*zy15yt=)ombaZt8 z;g5rJ9ew@iS?6os8l_ep6s!DJ+F*Jp%mg(!{}DWyDfP&wCu8I~p6qH^MT`<7Eufd( zFJ$1DLXDg^0=jA8GTq&4eYOiBYvt6uW4k{VnV4Q=afr`gHYTVI%edo@d_p_o**$pu zlY{R!facjnE=foE?Dn7r_t$4sY&fv2q=$=^?eEgQ**qEF{u7( zU=t6Yp=oA&BlYvW+l-{G>~H)6@(72czx%Bs!4!i&3Td!ebq`Yq+4+0uLnf3gcB4^W zq@OMl&g`V#laVsMYMbyofk!+D4?}xrx~?jk3(!UsxkF7Jv@bze(P9&07Q~tpte)2Ahzw)@}lSQMP z!zp`3qZl#!<1v)(vEl81ubp5+r*^?lDdsn@>NWu}G9*b9) zaDb}T)9BBB9md2WTG)e!=t;CSnJ!Kcant-VD)jJJoWJJK{^5dStjubl<9Crh%3<@M zPkQ~t&!#IC{zkOt&&yLR}GsHZ& zRxjHfHTbdO#}E#Si<3tVHK!VXgkvfp1o&_1fOX1_@RFIifRG;VZwE348!BgfW>wIc zwp@9C{j@Q@t1$3VOhO>;LgcNO>zHi`}v7v-TFq)Xlhe@B3``WO1o=~QC4Q* zb|p06eH#*OnL1#(sGB}Sgs&#pneLPafFvS)NzlE&NI(DsB ztF5%n^Ya|^(!Dh+<;@Y-UpAat*6=hHBkib+Odhmvy&dM935yKiWOskjRAi6Il01C& zOq~}$zpE(*A9(z4uj?Lry#3B8VGO;CC!9cl;xMiSaRR-ew=`%*A9>cP0;>?*+dXPDQsBjdD9rQ2e4br+cb~#plm5 zXt1jK=lZ3T%9EVPIy$+gYh~uSvV)-8-%M72m6Ps9suUkQ)vXYEt*p#<8y-QoQUUx? zsnqlV$=WTn?cJ;9Kktq5Zr?ON5erm5iannf?KJP3f-wt5QX(tn=?Gz}px3}6HmgmW zj8_a5UAE@(aE|f{dc<0zr)Y=HfpGP8q}fhp!_83fDgG+POrg5I+T_w<&G1jB8b%4q zWIVlfPb2r-XW0+UK3R{YrpEw6k?S{TO*0e?(l;TZ5=M7q$*BBgJRF*C<`Gz_WBwm; zK(e~@@Q3Q4%%%={S3!`}xm;lD_J|CFVny|nt~-TEYPq%AmT*|-*iSv+1pR<@rwOn@(#P$rP4nn8afq#f| zxDE(nE#Z!LLFWkPFsi@5mA3WVL_8WF*!j$s^xt71==3hq6I{^s5xr5u3E)hcrvmoc z0DTXp^(slN?X8EZ)Opo1EN}K)`t~wN^Rl%HeRuBSlbJz`T&UbBQ?G z00CMUmsvXLEUv&RXu|bBX#mD7o?ir(9x?KqNWp>N)JXTIEQC8ZpiPU2ZL&=1zwF6a zGp$W{ZUvV+FsJ0aH6w9lK)`ZB_V&Amp}X9*qw97NTEF2kP}h7 zSJ}J5GC}Ops626$aewqYqlq2EA`5IG66{(1-v+=CE+M8fU$s4h57^tN{SLugkgJ}> zUAQGL`i2}@5wMW)R~@aS3ip`IhF;<}yfUdK6S`ql_Pup{f6gu_(;L*-V_EAm6ua4f z79N2*2_>i0!~ITOzg?a;@Kw6q?Pp494Fi9h?$q*V-5Z?-?y#qJ#=#V?6`KCgImG8K zrLU_zcJy+_tF$3EKYc~fnB_TX6n_V!ET@0a(pV5Ozd=0( zmsAeGJ<0i2UwN>wtMPDnCWGRPOIuDZQbR)B7PP#vpzw)yF3{}0jB^gt9b(auZ;g3; zqg_=+6kMNlxNp(B5_GP!4o{WQC10r4RqF}L3X=n$!$X}3@^cOhhXsR3tY(i6oA5^= zGye>sLTY{{9IH$>bk>9qeOwk0?o76aE1Yj~h75m}ycgQ5o?fOUxQ4 z9EkOfob16FKey!KJ(GgK3A-3&K|+d_ctO(fGmEyv>+ybpsF-dM^^u~~8JnZaStw0^K{9&5Ilsh?SVsj68Wy(2TDY(2lOxXHrw$=#vMS zgLk|*N~vXzZbb6c(-Ik)=%=npgh9J4z14nGw{2~%gf7OzI+M2 z2Bw5Z%sm~?_m%$6*AJ9Zp*~w^1t5wihpjE%g-^TQa*<|BOoqW@O5^f5@)+(jnsl-kO2$ zQCJYkZ!q^6%;uF~!iWza66_ot(6s?GmQ326f%Hbwb+J*?kO1Yaw)<}-kKHP*svX3J zbx}&*3qQIZ*>YuyM1cGitf~3FwWh8v`T9EeVXz^_9e?d{-YdUZc%N5TQ9u;CG6TL` zAZ!xB{9Z47H)t3%#RAuj~oU%w#w z=MsG|bxto{Tty;d@GrZakqsQn;KwiHew`5||0Zp&R8q*Xl{S_ z3^6u>*H+?iofA-JTR#t;Iht@^HCJ}2`08V+qJlGkFcfg_6G4A`LD~#ghA8f2@#j3O zInTr5iY8Jwa<(ihHN?D-cNTQZ>{GkBAXQ<&dB4fQfxfoa@D^}Sr6D8&Z_MExCu-j( zG1pI3i64lAyjBeDYOt^V57kYdUN9yMV(P%v4S_Mi5f%+np2Xs&4T>qY7W*3tW{;DE zAM+0?pofNs54~(i)c+DytO3`{ua?exD`$|%pWSX7_f`id29B+|TyP)?kx$OmYJZ1J zoMnPC)}&JVx?OjAjC=c4GDFqb4{f(fJ!w;Q`p{E_;|0{8z=tritm<^Lux@@IG6-9! z0vPSk9)h0u&n*0qOwsQ*Sc&+8h3|hrtX44ZFvQ2QuSy8neqIaOhxh(a$o*^hgC9Ly zcKkKJ17fQ7;|1RukOgls1NSTznrqM|+!k=$^y~!VAA55LuFya=-)-b7YFk<# z@ff528>oXfs|DwZp9U8iK46^@Hm~T*0RmxYQdJn~^4i%K zb93qU4-QlS;Yi9Z$|~dd(;=VI8Y4x}fd7}2i?58Q8!uyozjH6ls{kpdK@$W)f&(ZSG zMoUvwbOA9|{`tA2_j0qLk8XYxz>D?7i%(}sXPVgR0n~4;Ko%<9G&N2`D|~T z$?J2JMrBXeBSp@@t4nvQosTjRy`J5zru+hEF{|35mJGqtd_zD38iET*nWoC6j+^n%a}*+}D(C_-bma383t}Ex{LA{`O(A zIes+}LJca2vyG3}RnS>cI?AuPBFKN`3gfIWBd-zD9IYWNxSFitA9_DO2hW|Cchrwu z`sRD*OkC{!e`mr_xZwneEON1^hCZk-i|J6wKb&&?*9oa{JuU-HUAV>o4lC0T03jw_Jv z{h2tu^~XCS{F3+HP-BD>h?v)ZsMN9$l4tjxYp;l9j4;UzRlBMT(%(C<1abPaO#3x} zk1j)VdyA`sAa%oTJdcTE7VS0%&RBBVc2z`(yCPxpmrCpuPOwTaW^)CuNrljZj*d?3 zl;dJ zCD4`%#JT>u=QFVZ@(_hV9=(YhvTz-_y>Tj*rxBG}2GE;h&NoT&Wd^=p+|-X_T$m0k zY;yjddeMti(}JrbH9?Fyu2R#7Zx+^SkdI-S$V(FxQ+H)av|WEmSi$^iCRi^U{Ew$| z40<~GK)S2VJyqUt!2thrbGi;ZyKl-{cPB&BkCpE9RNn|2%%2+Nc|LwH+tN~gkdbXu z3`xVX9LGNi3lo_v6vn1+s$G_x?Iih|)@e}PdPfm;d(A1Qe7gI)y2TF*$7DH4y!fcF z^(*J$G?(_o4cecN=2!Fo_&^|nSWbbV(-C~jmHD*1gddC*jFvMK*hJr_a$SOmwo7HU z{@d5@@HRhZTkp=1l9gV>sGtAf^S*usTZ6WA2YP-5-ZRwy7RgWx?cb2SF}*$smO*FN zO>=$W5E}o((+>Bt!&2a*p}>9u-+$bsbLC9U7K-zU9HA%+`j*YBi5$fn#JHl=Na>DG z7o&Ay?Fxw%*_08A5sc?Q0iC3WK;O>0<+cD7zxjY+$h|x||Kkf^V23zWLK{XYb-UuSGJ*&KYM%H-6g9V>xDv?(27rQ9EIA*Ik*AII zblnC*v@D;b7ERO0_SIJu8YW-yAMaI(_a~l!?u00A6H^N^&wAMoJ_E?e*D$u;k~;R@ z_N05qq4H$B--XLOV(Z?(s=apgSX>;JP|C9;(>oRVji}!J)J5}RnDh10N~7!C=T)W+ zPTAn#)+A<^gQXyMI684+nJSz{-VQ5?QO8D~`1aXI_H&!Rs}=ihpwu zAH|Jbsax|}cILu%#$!70!6+XXh~4|jB5)`5=PzFzK%oH^%uk;_@ie(FVt4zFOHun# zq>6pqh@IjXL+esBF4!#VE?vJhL=TDFiKtpX3trPseZCet%#rIUjzt||+a0tio(uxl!;( z<}orlY-c=A^yA!F1*r~VT!x6}}_;itbz2ilhU8QLpZwxn2_c$>AjwH2v;IB=Ey(3J=Cjn&cZ z!**>+oOA?ZH@1QTDK(CFZ{OoSxk<^Eq^e^5E_}|KAGe!1{gkLa!24bKGg91cKSPBl zP+(50n=$M~IqJ1yY_o!ic&-?lG|5ONHsDW3cwJCT>!!Ot+eN#0H9TwCw4arg1%j+T z^vb8AvNCy@K1=HeBkF?A+65&4j`jBvfgZ#6fQcooJGW;Yd+6!<(9#yxwV!w?96fGO;~|{(gIp zJi=F2a>!_{t-I1T{umLhJJKZ`Q=+@+ls&0j*{trojzTXXxftN%9vc&~F8fkOvcz72 z3vp(5fUo@Sih!-mVdZ#4PU}H=BYX!6y0E^Y?y+e_@-7h>XT7_^j!+26uc2-Q#$@|L zcU7Yg7$T;4<2jIVs0~Wa^d3LMQHO2)%3Zgs%zDPzug+4BSjz-_O>o9sb;$5I&fqCo zHl7QQRxl zEF6#-oP7V%#dEJzY-r-qXv2)eMjDed<3cx zTIh4t=7*D89(^nG>RQXno}rdJ)Z7+-br!GskdMPx`WAzu{W`Bv=xS|9%ABaR@b|iWl}PFBOY9eDVg9CF6itvJH9YA z&@|@evc%M7D-#gHJnZ=S=+c2tIE2VtieW?5y3SU>vh7>sYCFc1qr3`%8jBYm2m_q3 z^jFqWf{tVK-i^S0qN#;g#ormsq0i{O6y87ZOv(GiBSTOMd5|RS`efKagULfj@|8Kp z*<)6+jEB$*tfzjRpW`OxAP@qkXNq!qDMtn}bF8e|I4{xLUbOxpV|f^^z~)DdNaDj3 z>n1H`op;v4o0yRq%x!tJFM)W}*XLW&6q7>KVW*|``rFS?;AI6tCuTdkT_S5|M5E=a zBTZ^6Eg@kQXEG33ykeNJKPfmyC}#h>~`rUMhzGkG5z#3hfa*4wA;qu88=5!}S> z)rXkDIkiNniYc9ZPY4@PM4pAXtJ>aoxwx{Fs*z`0#*#TtKbO*eUv}$T< zzZ;w>SXo)+0OvOUL)v6Rpz*%DEd7hk`$X0`C1`=yb|kCWr3hS-#vX@MWLS1h3@_JU z{{lUTZ`GzC-LT@Y9|aQplI1`h4I6ItjwgFWBP!C~#1 zE8lMPHAPY*uK1X&jYuvMQ<^JcTQ4&eLMJM>bG$xE!emQ!lyUU-X}F~fV*CaCR2eFi zySZw)w^pGv^f$4&1cT{eIA7MbuhgSQj;HlI^XiS*AiUJ`iFd6P0a#yChkM<>s36qI!}gzV?n zhmis}dX~GTw>9VuU36=zelY?!zQQe*0gFpA41jIu<-w3Qp1)HK#s-r#aj--|2hjrE zLt#9VHYRUcJGbao>NLr>dwdOq&259*JmGfFPx8XQyXSnslrn!nk5V;;EwQCOd#uHo zTY0eNW=>J9Aw~G|vNrga^HPa9mvLR{#Wq_ySHwWvQd10L;tCOe$L_~$jw5i*Act^p z030uBC{3pBpJWL`*opSaEWiw2mu3ugF z9yz?oKuvaaQ}Inq$m?v_!Q-CWlYYQ&kX^2mmcFiyn{vF#60s^fU&Uy+Mu$G0IPs7T z3Rx<#$-yamL%kFrO~@#Nb8?~`KsXkP3piFj{DLty+Z|E^ajrdm4DDA)`nK_*mjvIQ zG&c#?vXfy&qWFIPFAS=(H76yU2VrY%kgYVYf|AIFVxA{jC49H!ZBj++FU6y0Nj;hu zOS{w{MPrm<+lDdW{d<(*sX3My*=KrdS}7DXnD?+#uTTxrGL|^+A|#5=*k8lSa{x>m zTw)@27-E@S^np%fLhquX>;jfVwISwOTsPg?%DobJkPIapW8!MHRSFbP(_T7on^`IH zo4VE5y{BiAN2mZ(y^StJgDxR)Pr3N+QPdY=C--PYi7G$Y+y}EybvSPGUr}*B46uHp zlIZ7kv#MCLmBHOX*=~U-INeL+2Q~yfAuJvb!XIrsv7$;65=(ZyzICI34ts|Zt8Ogq zQxZZ1UoZgoBZSI6&Z6kLZ%;9Q1ca;0Lfq7u1P!yC=b8_BJV< za7s6=?lQY_-CZ;kWmyCul?z3OE^#~|+zXxgS!(Zs5sSG|5I)G!s>K^~`2N+vx<6wk z6rLD5!0|fbha&vDR{sf;YzkXa5R)>Ym36^Dm9g~HD=UJyI?|tMJ+0_q(rlKho4K@( z@XnXVu8np6zeL*S8hmSOGCa*P*w_B%FaL%_Nr0AIMZ1U-qr7FXn1}o%f$wmry#U!; zC!`{jULE%ufe4*R#lpg(Kz0@46A&a0xn~SF`WJ4lhJ?2UBgelrbi+p~b+Az=On^|FPE#JOORPrDJI9IC~&&xcZ z$OBBR-A!jCZQIJmXe0StTTicew#(p8bab?Q0J3MxCyeL0)eywQdN?{J{tJ3?)hGj= zGV?fCKr}x;zyHok9@kGswjti?kxy2q!zitA=kS)!C^e0Jhc_S{G=j# z_61v+85EWrdxsYyeV}|l!!eQ>FwP4T0*gs%=iTh=?GubH#Yh=3n)Kb$bs?EMtvrZ$aI1N6R(kAru z^c0Ot!k!zQ05L3jcQ0jgA|!hsGOk6PvtyS@-efE?{u7s0;dN1Mt+vy+4DC6pKJWIq z@Qfp#E_RYRzWW?A<-+;AN=Qx~8Cd=@c+cGQ+x5_#XN>&OIfDFx2h;x_TB1~Xl$8h zmFG-LY*Q|{L4nuUz1gx&2zz_`)QpUrFF+AYCiv`gFj7fL348!-f59vz1oF+@4cqWN z*+(q6&;IP}5XAIGj_(wKbqn$FgrU-T1uY#GybOskQBmkQV2yxU#z-c=0##@4dVYC1 zUfwwMDbCEhuG-q9nM%VL;iwT&Ns8i9*S=a1haFI&;i-3BttAOnKToU^yw-9P_tQl_ zeVliY@ER*Cb%i-+-^YNcxGDE}_Scb1mQ*49iQa4Sgh@$sh_!vnW}c=1&|mk1Q%WK&fHMoSboE-G=yw3mp*-6pDc*U`Lu}G`$Y$1QMQM!$65;u5V zb6UYu`Tvqw|AuQ?eueKI`mEx{Ie9PLoz%=t-V9%9;bv` zTzEE3KJdzsnkqVz03*qZT^*}X4lP-VNVB3ro@%MVJk(t8WhVyZ8xFhq)-`R8?A!QB z%JDc4?YfJ%UrzmUUdLOFXNh!W*R7p>bshUW{%6@ih>YyV+hwaqR8CGwB~IkzO+=z( zUP3(J&$svL#>P1bOLup7jn=7lX+ejhwor)0!+^xoH|~;&fPjK-iK?}Yx+>VXou2`V zXYl34MJNGM<|r9S-;PVv@$n}ClaC*nQBhGfs!^B|@wFVuGUx7R{m|o{#YJJ(GtFZ` zHPSWB3#Fz|b}ma+H@pj^oA1xYgi*VD`fxu2+Atj#s3yAr!Y4%!1(LOT#Lsd$>FLjF zYikEbMo^?Mg2wm0{rEx1U`uMo;v(QbnxXVnNlCHX110{U8qH z&2Z5ad!va(RIcoyJ!=Z-IT$5O8iDmL?fdmws&Vf%ziZHsa)2LfCq&M7>uK=o)f4bj zRR}>zG_4G5msI{c+w-|RWtVx3kWc}HnW}ro1v7K>*Jn!pFM{?N8K>7iHlIGRaBy(2 z8HsAW)6n1>`H{$A;16H3(!4W67ZODWp?Nv*o>e&;=Lw-uIrKgz8nak6oYIDu4-pML zzX*F*HKa;%|C)o<+V=erRV?A>Ll~eaOPK7ZG&nT0`3c52i}0E%dd9vPdO!c`?7mKR zWC>u8(|}Um=I_Q>LS={Xl8)Ml0}B>SY70NI>*?vy9EvKQwksV}NRJA=^OHqxHsnT3 zNKQs(>%kM9u+&sxxKylXO&G`)c4jJgs~(n{{xR!K27_S^Bi^=-oH-IZR32C`jgLrS zId_*@WKpaMsU}`*%de!Sam}ly_kr?qNHk|vN$%KAOn#&IS%GyG@3nv!^Q1cd3>RS@vT{#;1g9o zPpXP9l^8z1NWP?C)bV$N5OBE?LT!Q;0RuDtEJY*;^@%25CVJbEj}?7e3jhTc16b z{{-HBcd70^2$x_V|8T#dOpL)dW0XO)ic zRk@{CQ60wBrT3mKhD~((UXI70;28lqiqx#lfn*l^-R__D3y@j{`4M42M5->4P3&3wevFK+;Mbn`H3kEeQ-n!PuSY>@<_N&w%JxW z+TidoG2De{rLD}(zjH-ssK*b;1_X4DZh=Dq=*#J16-{I@8ayg$YVe&OBW@8XEa+p@ zP`6+fVfaNq&yr&@zvN3J`R9Hum3!s4!u`JyzhoEr-Q02*~0uf zN8VKHh+aQxA95yNOeI^RtHxNPE5XTI`xID6!sdv{&7<|`+hN>p>^PC?OitPwM zX#LvfJ+mAUunO8W_JHD6i>6)};t<0W!LGM!HZMAD5l*i3R8`}sq*NUbIdstGb0Y_~ z@@s3~jUG7(pL>aWbr{#y)#1h?2ctLWGh5#%ecrvtr%}?f3<$rl4ePS01Z_Kq1Sl#8 z<1em%Apf(OLP--Sogb+e{qUjWLT4VpX&_ILu56-ZW$n4rN^sA7Nti^Gde!K#zaJ7U zw|^9zgBKZt|FoJo19zwbvun0C@o$wdC-C0mM+bH2Vizr4m&fIw{_z#SN*!7-+C`(S z+F}3jeX|^mjg75FKu|C#J3Ds%sHn8`4Q(iVt}i$^CPh_XI}M6Dhh1{t+X145BuD)t zddW6T{h=TzRNP8^pj`RZIM`v zQq!uj?ojtLS{gFg`6#slDFCv@Vc@}~i+|4M^+!8XNwYxz%0wp3Zui$9FF3QMuKZ|m zUxi^9_x+eyb+i3fL<<89Hhb;Q2?EHXz8i+bTG=}K&@1zuvk!YkTgV=eQF%7opl?P_ zt@LpXJ(&&X`Vu7Q43c!M9R&L!!Xf;82C&+OdAcTEXIb?{>%+CHGoZ^7;`|#w-o&r+ z&yF*-v3uN$0K@MgEDD?RF-92q#y<7l7Tz!Y3%%FXAMX+ha3|x_jp*%-^>UQ)t(XjG za3J~Bng_pFth$%zyxLIXu6xv;X6@S&5W3KA@S+SQ8tHu&^P6bp5Z-N(YU19=zUFsp zlIq3>2X+wObdcQ}2LcQC^Dz?o*N%dn#>ZQ47DA0?;3Yc`~O@!su8kug!u+NuF42dpuI*UdQ`<}CHrXQ?9 zTub)B9F?7&OT=;Gtxq4H1<2v|_G6iJ46vK)$n)s4yH!HCB(b`5(P|=XDqsX3ll`b@ zlbx`rl0Q@7!oSghJNnCjz%z+}cd@X#fhxLN2$$M+8F-qGi|Q7l(w3vWHU6i=e|ZZQ zV9-DX`(>3D>kAd)px4?0dcnzH0MzYOf$zw2@wWpO6{E`CBO5MiVq%J@_MIrhA5T*~ zqbaZAV=+I=t=1pe{CLSHKdN(jM)9`-^meICUUdp6Dq?!!^LC&QMS%&ZyO922I?E!k zwy?EQtU>^OKY60bQj0w<}Z8}AjE=1Y#ek055IR|*M#TSgQe2^$o= z3RO_xeGCZ9TrFK6C|7khx*-z;+6{i^FS&$QjtBf*XDgT0pZjy_)ynOKmc*}8Sio$> zb+~sSX3tI{O*K!{Aj&%k_1R0ZrdQI<;z^tH!^|&(NS@q9_;D^3i9?5(Mf4|05-|(U z&vYBcc;o+7YKo(e8$>BPpRX1iV^JaC9w)F;8j{KAK7T}5I>gWi=%3ar@v3samPgZv zSC0qmH_|xxl*ky-KNWkv_zSloO`={!j&TRq8(p`MH$QCWeEvoPWqL;;zX&$0y_s}A zwc8c3n`K&T8FBo3w0K?L%xx78f3(w@MJfF;(g_Opo#v0TqJJCGmd~NaGWLKicS1h= zyq_%wLhaK~k95#u8Ce+D@XyblTHt&AbMjZm@|9{>t7QA9jc57Vcd2mvRPTe^$*T@* z=_g4qws)^miO7+N^GXw#Wx$#2Oj=K}~B4vd2oAU)GFEp^aT3WtlyFM1f_kA-x zSRh8jSZ}QMck%(;w?nu3Ja3le(j44#Egz?#*kNv?3vCVRNOFE}>4mu}-X%bTrL ztKwB(i};9uNavub9`x~RlNUT!5(v$~YxoRSwpTs0)e)7g z)paqCV*(3{67RbQ`b`fpF5)kJFT3|pnwHp&pPnL8QnM8t;perr7xDCNQh6OL&KSDaX7JHL z{s&%{wKM+y4Rp3k_kqK0RLhNzZy4oq&QqVg^{bvA9tMeGbY{HxZ(9d}r08*!)IO9D z_us$jqv>lJ$%+bmkp6$c*p=D983^t3Dn{+B5K)Vyk(x?NZKQ6Yf|J8TsbY=@^@d2u z<00+UgGsN)uU;J>O}YE%x@;w1th4R&jF!bt=go~r+`}HfMZX}@^IL)@h$VvDz=B35 zL(@(!3TN20lCDjcu?i2qIPNo*ngBG8lOF?vIDgES2g4RT@tw!xt27=SN|5Rz4gB~+=({4|3qim^doj!L^TQeA^vB@k zv@R{{WgeoBvOA*x<+PvWe5*LF7xlusr43k0;)ru-H``B^ zZEAYAVv7q6S|u8McZpUP=x}X~J^_IBMQn6lJ0R5sdq|!~uHP?tU!-;+uP?Pe=Eu}H*L^nnYFWEVne%A4g|cRUE9o5NSI_lMrMiZo zP5Eqp9xHI=VIs3M6WhvPgHeH3wrWnR!)SS}xh6Q){x=|hNtd@bFwrIcdxV@{ z@W#xRlWS;uWY`%<{({f>la)9Qjy5l^ZjkPm{`G+~%Eoo)7)MK9^*0wI3-EJI40m5L zzxHIKws(Iz4D@K`(;9eZ@)7FWQ#l+UH*XyT(S}$SsF{5sy z41fKNk_DZ27cWro((9bxL()U7QF&mUxX0}e5l-gxhJcs?>-wOi`(;Bu(1ly!-ezyN z;$Xl={2gr~x~r-x?km4lxIplT=UKY=Lu!~CmM)A(GZ;z`}G#}9nE${_p*qmdCzT|3~ zmj^Hl8#w?<8%rkaR$D6^?A`;AM+~Po@aU)(`!Yi?Sz)`k`N>0Ie5?(KG`_m1OUvU3 zY*ecj2=?gev#$EP$leJ2ayYK%@>{9?@kLpb?3lw?d?fnT@&vyMCI0}*@OYr}Pzhh>W7=kchx8W&6>>npAT*U zZV5L9T_4Z4Ze{%45y*V;!EHC?Y-MDAS>D75E8|)qodM4P6hD z2xX$$?s4Uz2s7P%(?cfL)Nf5-8JauF;;~H7X#&W>;Mwbh%?MNe@0B1!q87wcpoe~G zISkb3Y)(J62O`K<&Ks?!l4{(B;|rx=v%R(T`uRq$wZXm9VC@wvM#QJzv~|UJ)XR-I z!lUR9@%i=#qbdK1Mi;(;(g zU-fr+G$Bp5K*`WuFFuK^V!q}#k>+rvWLbd(5BEeB4{u>aYMoeU015_Iz}_W2M%-~5 z%ctZ}{-CskaioKO$KA22PP=bHL7ej=oC(HI%hTh-HbEca@4!yR7u2bkwUKNi|9Lp7 z>s4up{F~B``8tsu@jMD?7p21z!|AK$QkxM8-j>zAE|ex{a0iZqr$|-mGVcgI2z#WSN>{ zu44w(Z+fq2Iwf<*_dZ7XZ|?;w_g(u zHWmPG`EYx>qG5Ei@-nc0FMOrVGiGNv{q-zL8X~8p4m@$w^VJkyfr%*O&+9QF%7cRg zr1j1In2$Fwd8I7XNnAH%7zPdeuITa*l^0JyQAU~js!QQsFASSy-$(rvNIdr^@2U#{ z5$A>X@@>2sl*gSHC~7n zPZ>)$r!lINM>;5};;4fD9Ibnf3Nsg2j7^>=ivpXTkr1qeoE+}LLD`d~7T4$R-@m8W zX)%lw&Mu(GKv)W54xBz9p+^8vptuRx(8U9i*D@8zt}VhQu2^V6rQP!>^;0KO0Q*q1 z#$_PsIy6U9`1Z3j6!Z|wz=&7%Hpo4`+Y}Z0=)QhOk`_Qq2BZIy9C2Ch8|M0u|9xQX zp+fWOR`!Aga)`?-f|ujf$F7GDt`mX}y2{!*y>AFhf#PQzKt$v`1bKBR7t0#eAEs>O6BmvKM5MUoipZ zH{F_ey6c|q#+I5>_n~zXe#`3AxkWP8lpP$??YxfUMDYg;5){_$7-+dpQ$q(q7KSmt z1;bk9gqvtd++N8}OP}XP!~r3&c06I^%f0TBvmPnFEAt*GD9F_~D;^3kz5uWJjj>1P zxMNl0kIhOeiKWc;tifo+M{5rBA%%!{-8FWxGt5&ic9k>DZpr#QNmwKZbaXg? zK5}|>*~BIhC!9yWFAW?J2_VD-wy?!s1(@QUH)wc7Wpz14*He1zN2HM=Dk5}ZE|(mu zWm=c?Q>%B%@$e#;BSo?OVngc0I9>Vn8Ak4iRl6%?O0esPA4(o=*_#AI{$uJyu(`?L z@EuYpteAmKo}5}=CS(iq}dCu3bZ{EKr9Zu&dDJ#QT7)`v}mSnK* zA}s!e@NW6&tTl#Q(6P9r1btyqiQBl{y1cB62)?gd`4OG{4g4GI0esP#opL{>**m`^ zD;gRiaV!xF&jL&FC8Ogog#%mIY;4_EarVUKY017m6gtp?GLjQr~CTR$GSX>R0*VtucWpJ_!>mDgn(7u*d*hxzK zI)w=esCzTzbBiQik%4|E6I+YmIoD0?D}7aj_TUitJa~`rWw#R3 z(N$f5@y;=7;wGsB^}jR-;@zWLJK}W%-y(haMuu|~eONh_v!$AVz@n3bndLc^$}aL% zl(LB6CH2p|R8*kgPIspp@vEGmGOV4qHP#{k=Xg*(%a`28Zu?&&@*J?VVAa4Qd5e-Q!trqF&+S)wtbjr4_1f zn!0k(+aH7i=&XqBZ0QAxTWjqq6Ken}J$*<;`NpP*FienhJnSG!O6aPox7%Ei3I(8# z#N_>n*Aze=@QB0mJkUBE6AUL@z=4{DMcsj1sgk~A0!0=nbKMv6yfz6%2>rv z|4dOrF$4r`l{a$IS|UB^eTYJ%^;`B=(<=v7KUwlvAM7e2q~Q;D?7tIO>yWZ5J_ zSzSda;c=Uo-P{W=M6nIRGZlK9F8%?fuX?=jrhuLZ&5V^7!{&|0;yWa_8(dy7?xLrPR@K3-mOuUiF_D?-OL`#tG?WLi8hPPc6p!i2d|o-S-)KS$LQRMSoh5f*qiV`g z{skWQ7>(w|!byTVEsGCh3+?3dPu=fvp~vcNm>c-mWDuiCG7 z{H(706KPq4A=v?QNHDus$fo!>?K{s-Z*b7I?l(*V8@lzn(XVx`rO^w=g2Iat4|5&D z-q*POWU)}#$2lMGHgp0&lF^VLG+}KFlV&x_kta(rP6!o_SN(3(Ed73gPGCH=XT9!r$t#0B%;0y{IqoU50h)ee;NS0^vdRD-TnSEJaFa^ zq6>@R56@ui6^BgPNVPz<`&4Ornu+;YH3MIv*}bJm+)-G_ixJpY&VbVWV~&J zv(}Zyf!87rTLHiAnejHajwj3`Fr|>{-B7F#aHP20>T%Z{Bg$fo>K`ov8*hGbh2Bg){>ljm$MZ5@?hI0=(6D?tK7b@=tt&Lm4h~qXh>UO z@-vRKskxcKB-C@c{H2>g;>k9~V)716{(d7vLuELW^!Ee(hp94lRLoVn$bnM{0f%9I zERb?HFUtMHE6wRywXfCL$+)zy1l`mxHIhZwQq~Ukd{vA%53fv~$eXe5k22r9&B6e3 zN^xY~1zCQVSRH;%@8Pm*NUwQ+QV%r*(Slf;U*e3N8r%3RNVCzfq9I?2wW};+H=DK4UJX@ zsQA1%fBriP2LT&-2ny&|=T;+!b+2gnko4S*a3KMF7!ePt-cQ^qnRun$;rS=!3?~KI zY2`@g@}~67P4eskr|~FH2yW042Q{jSc7w0@Ih~3crej23IwptIIXu&ZP}z83|3|@2I89PcB;S4Uks-iV;S>2soz}< zP&fnq)ZLLw5p+?_RJy1vD$3i7lAt9Ns4Y$|a*}Y9DC%RkTgm|aJ>#fN$qo$7sY?(K zoV`XwfUxv#a74pWe-1`SA`!gwxcOxOwsa;eZ$e-AtQVehI_}t|@|wp5LDKhgyAt1~xqCDQ+S00R!xzfqin24Yh%DMyX`h z1aC$K98f8%<1sQ!U!7=esWWkx5g zrX~`lWcu#wucoRbLK=WcP^y03s;LIT88wLT@rPtvSijYqKB1m^j?3_S{DCQ&N!>fI^37XyJ~9GV`1IM_@8~DlOGll zJ~l}DvTX0{U^1czW^yTR!(|fYRwnxXLvV3WaB%Q<7@W=G0pOkOy0lFA$F;(rw?DZ@CLCXTZeIx)4goPlB*T;Wq~Iyd3e;! zt*pv9f-xCq9uX#A2E*C4`wRiQ83=qp0j2uSrYtUBa|AT%pd0n2%K#$cWE&Nn>w{00 zBC87lXr7AYWgSP7ua$gIgo{1Q>K5Qp2vy^8_V5l-{uDny|LiMosCAn>6=R*xwXOZ9 ztIhNZy}EEH)DHn}6z<`FImf#iHwL>8;(B%bDO=+vIfPhPSbgd-^lmxt;2ax;$CC`u z-<(7N?vjhUzCTtNBolxB9KCs_w%lYHuI)R?Ns4(K9V3_1@L)k9ZRDoiH1b-ZtxHZ%TM=)za z;e&Ep;}FI@@FZ7ikq5cM8tn+N zPVSGHJ4VMb;DQ|Un5s%c|DB^IS;pH3KS?<0g%`nW-N;7r4mv6Ii-&{bTSdi43T7c> z0EwR!E(0K_l?URrAMM6X#0=b?nGPYq!Cx9sV5JznKh`%NKD+jT>n?ir>6kxnz7i7J zy7u`!IM}@fhHE`~jN!fP;9I6mO}*>Af`4dN8>>i5|NKj1-Cp6XAJCo{2yo|f?R9(8 z=d1?RuqJT9&BG2CBo!a6?L*^f#fozPGc!gDz`{ajIkh_lvA+DoR%Zh@Y@s|Xr@dVq zZZo)An~!DTI5;Dp><$4f79>4PMAfL7Y$DNF;evUzzY^OUC#hC6DF z&-LM7HY?mRc*d=gVy;5(8+oUhw?0@$pead!PqKm#FY8ugc6sP>+Q1%t>|q9Qvwy0H z0&590mBHz&d^S!_lKe4HRtq*Zw)c7v`lqn4FvfAaLko&A>2MWZ@78+K_iGtAyQK&| z8it#l0e)miW#A0YeJ?&Rnni&Z-td>Zs()w*rJB)(&!kdJGwvakgD{h3>7Al5>k;_<+B*+!b4&ZpAn^`~RoyK!FQe{%SiKuk^3@ zNiNFrgrvW>!?hi4hE)vAflL6j(x9op{-Bp}_%D|=uIAYAUZAPgZ*j(~PAq2?v7uim zgj2~en6R@>CFk!Jj)P$BK2JqOMW0q$N$r)YBei?YugiXSQ0%w zcC47e5r+fAWX72~204@)9G)H;=C<<5M5U^Buun?@&1 zC(X0S-M9XWF|}L8oRyFal{C*X*k^xK@qhDL@WhSKB7TSeoKO#wK0JjpXVnyGFKLHt zIL9Eoc*n*0E0gbzCo$2G{jZGkS6}jLP9~DJMDT%J8}l#%{Pjj&Rjx|LH2D7jQO>qy From 9b874877834af3c0fa3796135ead629bd5752e59 Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Sat, 7 Mar 2015 23:13:00 -0500 Subject: [PATCH 5/5] Minor Fixes --- code/game/objects/structures/tables_racks.dm | 3 ++- code/modules/clothing/spacesuits/space_ninja.dm | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 61dbe8e5e5c..38a08c66b45 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -416,6 +416,7 @@ for(var/mob/O in viewers(user, 4)) O.show_message("\blue The [src] was sliced apart by [user]!", 1, "\red You hear [src] coming apart.", 2) destroy() + return if(!(W.flags & ABSTRACT)) if(user.drop_item()) @@ -427,7 +428,7 @@ //Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) W.pixel_x = Clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2) W.pixel_y = Clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) - + return /obj/structure/table/proc/straight_table_check(var/direction) diff --git a/code/modules/clothing/spacesuits/space_ninja.dm b/code/modules/clothing/spacesuits/space_ninja.dm index 03ffac852a0..acc53c3dc40 100644 --- a/code/modules/clothing/spacesuits/space_ninja.dm +++ b/code/modules/clothing/spacesuits/space_ninja.dm @@ -100,7 +100,7 @@ suitBusy = 1 - if(suitActive && (alert("Confirm suit systems shutdown? This cannot be halted once it has started", "Confirm Shutdown", "Yes", "No") == "Yes")) + if(suitActive && (alert("Confirm suit systems shutdown? This cannot be halted once it has started.", "Confirm Shutdown", "Yes", "No") == "Yes")) usr << "Now de-initializing..." sleep(15) @@ -210,6 +210,7 @@ icon_state = (user.gender == MALE ? "s-ninjan" : "s-ninjanf") suitGloves.icon_state = "s-ninjan" + suitGloves.item_state = "s-ninjan" return 1 @@ -226,6 +227,7 @@ suitShoes.slowdown = -1 icon_state = "s-ninja" suitGloves.icon_state = "s-ninja" + suitGloves.item_state = "s-ninja" suitHood = null suitMask = null