mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 21:48:21 +01:00
Merge pull request #1333 from SamCroswell/NinjaDev
EKatana Changes, Removes Ninja Eye Implant
This commit is contained in:
@@ -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("<span class='danger'>[user] masterfully slices [target]!</span>", "<span class='notice'>You masterfully slice [target]!</span>")
|
||||
@@ -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!</span>"
|
||||
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 << "<span class='notice'>[msg]</span>"
|
||||
|
||||
/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 ..()
|
||||
@@ -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 << "<span style='color: #ff0000;'><b>FĆAL �Rr�R</b>: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked."
|
||||
return
|
||||
|
||||
if(!enabled) // If the Ninja's suit is on and connected.
|
||||
usr << "<span style='color: #ff0000;'><b>ERROR: </b>No power supply detected, cannot activate optical implant.</span>"
|
||||
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 = {"
|
||||
<center>Night Vision (2E) - <a href='?src=\ref[src];night=night'>[darkness_view ? "ENABLED" : "DISABLED"]</a><br>
|
||||
Meson Scanner (2E) - <a href='?src=\ref[src];meson=meson'>[mesonEnabled ? "ENABLED" : "DISABLED"]</a><br>
|
||||
Material Scanner (4E) - <a href='?src=\ref[src];material=material'>[materialEnabled ? "ENABLED" : "DISABLED"]</a><br>
|
||||
Thermal Scanner (4E) - <a href='?src=\ref[src];thermal=thermal'>[thermalEnabled ? "ENABLED" : "DISABLED"]</a><br>
|
||||
Threat Identification HUD (6E) - <a href='?src=\ref[src];antagHUD=antagHUD'>[antagHUDEnabled ? "ENABLED" : "DISABLED"]</a></center>
|
||||
"}
|
||||
|
||||
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 <span style='color: #0000ff;'><b>[(darkness_view ? "ENABLED" : "DISABLED")]</b></span>."
|
||||
|
||||
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 <span style='color: #0000ff;'><b>[(mesonEnabled ? "ENABLED" : "DISABLED")]</b></span>."
|
||||
|
||||
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 <span style='color: #0000ff;'><b>[(materialEnabled ? "ENABLED" : "DISABLED")]</b></span>."
|
||||
|
||||
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 <span style='color: #0000ff;'><b>[(thermalEnabled ? "ENABLED" : "DISABLED")]</b></span>."
|
||||
|
||||
else if(href_list["antagHUD"])
|
||||
antagHUDEnabled = (antagHUDEnabled ? 0 : 1)
|
||||
energyConsumption += (antagHUDEnabled ? 6 : -6)
|
||||
usr << "Threat identification HUD <span style='color: #0000ff;'><b>[(antagHUDEnabled ? "ENABLED" : "DISABLED")]</b></span>."
|
||||
|
||||
modifyHUD(usr) // Re-call the verb to get a fresh version of the window.
|
||||
return
|
||||
|
||||
@@ -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<< "<span style='color: #ff0000;'><b>ERROR:</b> Unable to locate mask.\nABORTING...</span>"
|
||||
return 0
|
||||
if(!istype(user.glasses, /obj/item/clothing/glasses/hud/space_ninja))
|
||||
user<< "<span style='color: #ff0000;'><b>WARNING:</b> Unable to locate eye gear, vision enhancement unavailable.</span><span style='color: #0000ff;'>\nProceeding...</span>"
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user