diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index 9ebdc851f73..48b47a12c33 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -1743,7 +1743,7 @@ "HA" = (/obj/machinery/door/window/southleft{name = "Cell B"; req_access_txt = "101"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) "HB" = (/obj/structure/rack,/obj/item/clothing/suit/space/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) "HC" = (/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"HD" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/space_ninja,/obj/item/clothing/glasses/hud/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) +"HD" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) "HE" = (/turf/unsimulated/wall,/area/tdome) "HF" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/Doorhatchele.dmi'; icon_state = "door_closed"; name = "Locked Door"},/area/tdome) "HG" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index dfa8b819166..61269d6b85a 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -1,5 +1,3 @@ - - /obj/item/weapon/katana/energy name = "energy katana" desc = "A katana infused with a strong energy" @@ -9,6 +7,8 @@ force = 40 throwforce = 20 var/cooldown = 0 // Because spam aint cool, yo. + var/datum/effect/effect/system/spark_spread/spark_system + /obj/item/weapon/katana/energy/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) playsound(user, 'sound/weapons/blade1.ogg', 50, 1, -1) @@ -18,8 +18,9 @@ if(!user || !target) return - if(proximity_flag && user.mind.special_role == "Ninja" && !cooldown) + if(proximity_flag && user.mind.special_role == "Ninja" && !cooldown && isobj(target)) cooldown = 1 + spark_system.start() playsound(user, "sparks", 50, 1) playsound(user, 'sound/weapons/blade1.ogg', 50, 1) user.visible_message("[user] masterfully slices [target]!", "You masterfully slice [target]!") @@ -27,3 +28,58 @@ sleep(15) cooldown = 0 +/*/obj/item/weapon/katana/energy/throw_impact(atom/hit_atom) + if(ishuman(hit_atom)) + var/mob/living/carbon/human/H = hit_atom + if(istype(H.wear_suit, /obj/item/clothing/suit/space/space_ninja)) + var/obj/item/clothing/suit/space/space_ninja/SN = H.wear_suit + if(SN.energyKatana && SN.energyKatana == src) + returnToOwner(H, 0, 1) + return + ..()*/ + + +/obj/item/weapon/katana/energy/proc/returnToOwner(var/mob/living/carbon/human/user, var/doSpark = 1, var/caught = 0) + if(!istype(user)) + return + loc = get_turf(src) + + if(doSpark) + spark_system.start() + playsound(get_turf(src), "sparks", 50, 1) + + var/msg = "" + + if(user.put_in_hands(src)) + msg = "Your Energy Katana teleports into your hand!" + else if(user.equip_to_slot_if_possible(src, slot_belt, 0, 1, 1)) + msg = "Your Energy Katana teleports back to you, sheathing itself as it does so!" + else + loc = get_turf(user) + msg = "Your Energy Katana teleports to your location!" + + if(caught) + if(loc == user) + msg = "You catch your Energy Katana!" + else + msg = "Your Energy Katana lands at your feet!" + + if(msg) + user << "[msg]" + +/obj/item/weapon/katana/energy/New() + ..() + spark_system = new /datum/effect/effect/system/spark_spread() + spark_system.set_up(5, 0, src) + spark_system.attach(src) + + +/obj/item/weapon/katana/energy/Del() + qdel(spark_system) + spark_system = null + ..() + +/obj/item/weapon/katana/energy/Destroy() + qdel(spark_system) + spark_system = null + return ..() \ No newline at end of file diff --git a/code/modules/ninja/suit/eye.dm b/code/modules/ninja/suit/eye.dm deleted file mode 100644 index 427a50a7497..00000000000 --- a/code/modules/ninja/suit/eye.dm +++ /dev/null @@ -1,107 +0,0 @@ -/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/verb/modifyHUD(mob/user as mob) - set category = "Space Ninja - Equiptment" - set name = "Modify Vision" - - if(usr.mind.special_role != "Ninja") - usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked." - return - - 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) - if(usr.stat != 0 || !enabled) - return 1 - - 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")]." - - 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 - diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 2550ce13eb0..be2ffc21e9f 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -26,7 +26,6 @@ Contents: 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/suit/space/space_ninja/proc/toggle_suit_lock(mob/living/carbon/human/user) @@ -46,12 +45,6 @@ Contents: 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 @@ -77,9 +70,6 @@ Contents: 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 @@ -90,7 +80,6 @@ Contents: suitHood = null suitMask = null - suitGlasses = null suitGloves = null suitShoes = null suitOccupant = null diff --git a/icons/mob/in-hand/swords.dmi b/icons/mob/in-hand/swords.dmi index b4a7a6724d5..041632b0d06 100644 Binary files a/icons/mob/in-hand/swords.dmi and b/icons/mob/in-hand/swords.dmi differ diff --git a/paradise.dme b/paradise.dme index 11215a52a2a..9e79c090bc7 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1459,7 +1459,6 @@ #include "code\modules\nano\nanoui.dm" #include "code\modules\nano\modules\crew_monitor.dm" #include "code\modules\ninja\energy_katana.dm" -#include "code\modules\ninja\suit\eye.dm" #include "code\modules\ninja\suit\gloves.dm" #include "code\modules\ninja\suit\head.dm" #include "code\modules\ninja\suit\mask.dm"