From efd546d1e4635eeeee88e126f21c92fb6902a3bd Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Sat, 7 Mar 2015 19:54:00 -0500 Subject: [PATCH] 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 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