Ninja update, Several nerfs and tweaks

This commit is contained in:
Mordeth221
2013-06-17 15:02:14 +01:00
parent 91bd0d453b
commit a2c2c1fe62
3 changed files with 15 additions and 65 deletions

View File

@@ -65,45 +65,11 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
s_coold = 1 s_coold = 1
return return
//=======//9-8 TILE TELEPORT//=======//
//Click to to teleport 9-10 tiles in direction facing.
/obj/item/clothing/suit/space/space_ninja/proc/ninjajaunt()
set name = "Phase Jaunt (10E)"
set desc = "Utilizes the internal VOID-shift device to rapidly transit in direction facing."
set category = "Ninja Ability"
set popup_menu = 0
var/C = 100
if(!ninjacost(C,1))
var/mob/living/carbon/human/U = affecting
var/turf/destination = get_teleport_loc(U.loc,U,9,1,3,1,0,1)
var/turf/mobloc = get_turf(U.loc)//To make sure that certain things work properly below.
if(destination&&istype(mobloc, /turf))//The turf check prevents unusual behavior. Like teleporting out of cryo pods, cloners, mechs, etc.
spawn(0)
playsound(U.loc, "sparks", 50, 1)
anim(mobloc,src,'icons/mob/mob.dmi',,"phaseout",,U.dir)
handle_teleport_grab(destination, U)
U.loc = destination
spawn(0)
spark_system.start()
playsound(U.loc, 'sound/effects/phasein.ogg', 25, 1)
playsound(U.loc, "sparks", 50, 1)
anim(U.loc,U,'icons/mob/mob.dmi',,"phasein",,U.dir)
spawn(0)
destination.kill_creatures(U)//Any living mobs in teleport area are gibbed. Check turf procs for how it does it.
s_coold = 1
cell.charge-=(C*10)
else
U << "\red The VOID-shift device is malfunctioning, <B>teleportation failed</B>."
return
//=======//RIGHT CLICK TELEPORT//=======// //=======//RIGHT CLICK TELEPORT//=======//
//Right click to teleport somewhere, almost exactly like admin jump to turf. //Right click to teleport somewhere, almost exactly like admin jump to turf.
/obj/item/clothing/suit/space/space_ninja/proc/ninjashift(turf/T in oview()) /obj/item/clothing/suit/space/space_ninja/proc/ninjashift(turf/T in oview())
set name = "Phase Shift (20E)" set name = "Phase Shift (1E)"
set desc = "Utilizes the internal VOID-shift device to rapidly transit to a destination in view." set desc = "Utilizes the internal VOID-shift device to rapidly transit to a destination in view."
set category = null//So it does not show up on the panel but can still be right-clicked. set category = null//So it does not show up on the panel but can still be right-clicked.
set src = usr.contents//Fixes verbs not attaching properly for objects. Praise the DM reference guide! set src = usr.contents//Fixes verbs not attaching properly for objects. Praise the DM reference guide!
@@ -125,11 +91,6 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
playsound(U.loc, 'sound/effects/phasein.ogg', 25, 1) playsound(U.loc, 'sound/effects/phasein.ogg', 25, 1)
playsound(U.loc, 'sound/effects/sparks2.ogg', 50, 1) playsound(U.loc, 'sound/effects/sparks2.ogg', 50, 1)
anim(U.loc,U,'icons/mob/mob.dmi',,"phasein",,U.dir) anim(U.loc,U,'icons/mob/mob.dmi',,"phasein",,U.dir)
spawn(0)//Any living mobs in teleport area are gibbed.
T.kill_creatures(U)
s_coold = 1
cell.charge-=(C*10)
else else
U << "\red You cannot teleport into solid walls or from solid matter" U << "\red You cannot teleport into solid walls or from solid matter"
return return
@@ -137,16 +98,16 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
//=======//EM PULSE//=======// //=======//EM PULSE//=======//
//Disables nearby tech equipment. //Disables nearby tech equipment.
/obj/item/clothing/suit/space/space_ninja/proc/ninjapulse() /obj/item/clothing/suit/space/space_ninja/proc/ninjapulse()
set name = "EM Burst (25E)" set name = "EM Burst (1,000E)"
set desc = "Disable any nearby technology with a electro-magnetic pulse." set desc = "Disable any nearby technology with a electro-magnetic pulse."
set category = "Ninja Ability" set category = "Ninja Ability"
set popup_menu = 0 set popup_menu = 0
var/C = 250 var/C = 250
if(!ninjacost(C,1)) if(!ninjacost(C,100)) // EMP's now cost 1,000Energy about 30%
var/mob/living/carbon/human/U = affecting var/mob/living/carbon/human/U = affecting
playsound(U.loc, 'sound/effects/EMPulse.ogg', 60, 2) playsound(U.loc, 'sound/effects/EMPulse.ogg', 60, 2)
empulse(U, 4, 6) //Procs sure are nice. Slightly weaker than wizard's disable tch. empulse(U, 2, 3) //Procs sure are nice. Slightly weaker than wizard's disable tch.
s_coold = 2 s_coold = 2
cell.charge-=(C*10) cell.charge-=(C*10)
return return
@@ -154,13 +115,13 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
//=======//ENERGY BLADE//=======// //=======//ENERGY BLADE//=======//
//Summons a blade of energy in active hand. //Summons a blade of energy in active hand.
/obj/item/clothing/suit/space/space_ninja/proc/ninjablade() /obj/item/clothing/suit/space/space_ninja/proc/ninjablade()
set name = "Energy Blade (5E)" set name = "Energy Blade (20E)"
set desc = "Create a focused beam of energy in your active hand." set desc = "Create a focused beam of energy in your active hand."
set category = "Ninja Ability" set category = "Ninja Ability"
set popup_menu = 0 set popup_menu = 0
var/C = 50 var/C = 50
if(!ninjacost(C)) if(!ninjacost(C, 800)) //Same spawn cost but higher upkeep cost
var/mob/living/carbon/human/U = affecting var/mob/living/carbon/human/U = affecting
if(!kamikaze) if(!kamikaze)
if(!U.get_active_hand()&&!istype(U.get_inactive_hand(), /obj/item/weapon/melee/energy/blade)) if(!U.get_active_hand()&&!istype(U.get_inactive_hand(), /obj/item/weapon/melee/energy/blade))
@@ -187,13 +148,13 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo
/*Shoots ninja stars at random people. /*Shoots ninja stars at random people.
This could be a lot better but I'm too tired atm.*/ This could be a lot better but I'm too tired atm.*/
/obj/item/clothing/suit/space/space_ninja/proc/ninjastar() /obj/item/clothing/suit/space/space_ninja/proc/ninjastar()
set name = "Energy Star (5E)" set name = "Energy Star (1,000E)"
set desc = "Launches an energy star at a random living target." set desc = "Launches an energy star at a random living target."
set category = "Ninja Ability" set category = "Ninja Ability"
set popup_menu = 0 set popup_menu = 0
var/C = 50 var/C = 50
if(!ninjacost(C)) if(!ninjacost(C,1))
var/mob/living/carbon/human/U = affecting var/mob/living/carbon/human/U = affecting
var/targets[] = list()//So yo can shoot while yo throw dawg var/targets[] = list()//So yo can shoot while yo throw dawg
for(var/mob/living/M in oview(loc)) for(var/mob/living/M in oview(loc))
@@ -212,7 +173,7 @@ This could be a lot better but I'm too tired atm.*/
A.current = curloc A.current = curloc
A.yo = targloc.y - curloc.y A.yo = targloc.y - curloc.y
A.xo = targloc.x - curloc.x A.xo = targloc.x - curloc.x
cell.charge-=(C*10) cell.charge-=(C*100)// Ninja stars now cost 100 energy, stil la fair chunk to avoid spamming, will run out of power quickly if used 3 or more times
A.process() A.process()
else else
U << "\red There are no targets in view." U << "\red There are no targets in view."
@@ -222,13 +183,13 @@ This could be a lot better but I'm too tired atm.*/
/*Allows the ninja to capture people, I guess. /*Allows the ninja to capture people, I guess.
Must right click on a mob to activate.*/ Must right click on a mob to activate.*/
/obj/item/clothing/suit/space/space_ninja/proc/ninjanet(mob/living/carbon/M in oview())//Only living carbon mobs. /obj/item/clothing/suit/space/space_ninja/proc/ninjanet(mob/living/carbon/M in oview())//Only living carbon mobs.
set name = "Energy Net (20E)" set name = "Energy Net (8,000E)"
set desc = "Captures a fallen opponent in a net of energy. Will teleport them to a holding facility after 30 seconds." set desc = "Captures a fallen opponent in a net of energy. Will teleport them to a holding facility after 30 seconds."
set category = null set category = null
set src = usr.contents set src = usr.contents
var/C = 200 var/C = 500
if(!ninjacost(C,1)&&iscarbon(M)) if(!ninjacost(C,80)&&iscarbon(M)) // Nets now cost 8,000
var/mob/living/carbon/human/U = affecting var/mob/living/carbon/human/U = affecting
if(M.client)//Monkeys without a client can still step_to() and bypass the net. Also, netting inactive people is lame. if(M.client)//Monkeys without a client can still step_to() and bypass the net. Also, netting inactive people is lame.
//if(M)//DEBUG //if(M)//DEBUG
@@ -249,7 +210,7 @@ Must right click on a mob to activate.*/
E.master = U E.master = U
spawn(0)//Parallel processing. spawn(0)//Parallel processing.
E.process(M) E.process(M)
cell.charge-=(C*10) cell.charge-=(C*100) // Nets now cost what should be most of a standard battery, since your taking someone out of the round
else else
U << "They are already trapped inside an energy net." U << "They are already trapped inside an energy net."
else else
@@ -270,7 +231,6 @@ Movement impairing would indicate drugs and the like.*/
//Wouldn't need to track adrenaline boosters if there was a miracle injection to get rid of paralysis and the like instantly. //Wouldn't need to track adrenaline boosters if there was a miracle injection to get rid of paralysis and the like instantly.
//For now, adrenaline boosters ARE the miracle injection. Well, radium, really. //For now, adrenaline boosters ARE the miracle injection. Well, radium, really.
U.SetParalysis(0) U.SetParalysis(0)
U.SetStunned(0)
U.SetWeakened(0) U.SetWeakened(0)
/* /*
Due to lag, it was possible to adrenaline boost but remain helpless while life.dm resets player stat. Due to lag, it was possible to adrenaline boost but remain helpless while life.dm resets player stat.

View File

@@ -1333,10 +1333,10 @@ It is possible to destroy the net by the occupant or someone else.
return return
process(var/mob/living/carbon/M as mob) process(var/mob/living/carbon/M as mob)
var/check = 30//30 seconds before teleportation. Could be extended I guess. var/check = 60//30 seconds before teleportation. Could be extended I guess. - Extended to one minute
var/mob_name = affecting.name//Since they will report as null if terminated before teleport. var/mob_name = affecting.name//Since they will report as null if terminated before teleport.
//The person can still try and attack the net when inside. //The person can still try and attack the net when inside.
while(!isnull(M)&&!isnull(src)&&check>0)//While M and net exist, and 30 seconds have not passed. while(!isnull(M)&&!isnull(src)&&check>0)//While M and net exist, and 60 seconds have not passed.
check-- check--
sleep(10) sleep(10)

View File

@@ -656,7 +656,6 @@ As such, it's hard-coded for now. No reason for it not to be, really.
/obj/item/clothing/suit/space/space_ninja/proc/grant_ninja_verbs() /obj/item/clothing/suit/space/space_ninja/proc/grant_ninja_verbs()
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjashift verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjashift
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjajaunt
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjasmoke verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjasmoke
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjaboost verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjaboost
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjapulse verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjapulse
@@ -669,8 +668,6 @@ As such, it's hard-coded for now. No reason for it not to be, really.
/obj/item/clothing/suit/space/space_ninja/proc/remove_ninja_verbs() /obj/item/clothing/suit/space/space_ninja/proc/remove_ninja_verbs()
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjashift verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjashift
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjajaunt
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjasmoke
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjaboost verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjaboost
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjapulse verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjapulse
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjablade verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjablade
@@ -681,11 +678,7 @@ As such, it's hard-coded for now. No reason for it not to be, really.
/obj/item/clothing/suit/space/space_ninja/proc/grant_kamikaze(mob/living/carbon/U) /obj/item/clothing/suit/space/space_ninja/proc/grant_kamikaze(mob/living/carbon/U)
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjashift verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjashift
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjajaunt
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjapulse
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjastar
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjanet verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjanet
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjaslayer verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjaslayer
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjawalk verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjawalk
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjamirage verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjamirage
@@ -710,11 +703,8 @@ As such, it's hard-coded for now. No reason for it not to be, really.
/obj/item/clothing/suit/space/space_ninja/proc/remove_kamikaze(mob/living/carbon/U) /obj/item/clothing/suit/space/space_ninja/proc/remove_kamikaze(mob/living/carbon/U)
if(kamikaze) if(kamikaze)
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjashift verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjashift
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjajaunt
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjapulse verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjapulse
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjastar verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjastar
verbs += /obj/item/clothing/suit/space/space_ninja/proc/ninjanet
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjaslayer verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjaslayer
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjawalk verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjawalk
verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjamirage verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ninjamirage