A few more ninja bugs fixed.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1567 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
noisomehollow@lycos.com
2011-05-11 04:22:08 +00:00
parent 1d8dea2337
commit 73e160cf26
3 changed files with 26 additions and 24 deletions
+16 -12
View File
@@ -16,22 +16,26 @@ In the case that they are not, I imagine the game will run-time error like crazy
/mob/proc/ninjacost(var/C = 0,var/X = 0)
var/mob/living/carbon/human/U = src
var/obj/item/clothing/suit/space/space_ninja/S = src:wear_suit
if(U.stat||U.incorporeal_move&&X!=3)//Will not return if user is using an adrenaline booster since you can use them when stat==1.
if( (U.stat||U.incorporeal_move)&&X!=3 )//Will not return if user is using an adrenaline booster since you can use them when stat==1.
U << "\red You must be conscious and solid to do this."//It's not a problem of stat==2 since the ninja will explode anyway if they die.
return 1
else if(C==1&&S.cell.charge<C*10)
else if(C&&S.cell.charge<C*10)
U << "\red Not enough energy."
return 1
else if(X==1&&S.active)
U << "\red You must deactivate the CLOAK-tech device prior to using this ability."
return 1
else if(X==2&&S.sbombs<=0)
U << "\red There are no more smoke bombs remaining."
return 1
if(X==3&&S.aboost<=0)
U << "\red You do not have any more adrenaline boosters."
return 1
else return (S.coold)//Returns the value of the variable which counts down to zero.
switch(X)
if(1)
if(S.active)
U << "\red You must deactivate the CLOAK-tech device prior to using this ability."
return 1
if(2)
if(S.sbombs<=0)
U << "\red There are no more smoke bombs remaining."
return 1
if(3)
if(S.aboost<=0)
U << "\red You do not have any more adrenaline boosters."
return 1
return (S.coold)//Returns the value of the variable which counts down to zero.
//Smoke
//Summons smoke in radius of user.
+4 -4
View File
@@ -73,7 +73,7 @@ ________________________________________________________________________________
U.bruteloss += 1
A = 200
cell.charge-=A
if(U.stat)//If the ninja falls down,
if(U.stat)//If the ninja falls down, they can still try and jaunt away or shift kill their opponent.
active=0
if(cell.charge<0)
if(kamikaze)
@@ -691,7 +691,7 @@ ________________________________________________________________________________
A.control_disabled = 0
spawn(40)
A << "Connection established and secured. Menu updated."
U << "\red <b>WARNING</b>: #%@!!WEL4P54@"
U << "\red <b>WARNING</b>: #%@!!WEL4P54@ \nUnABBBL3 TO LO-o-LOCAT2 ##$!ERNE0"
control = 0
var/obj/proc_holder/ai_return_control/A_C = new(A)
var/obj/proc_holder/ai_hack_ninja/B_C = new(A)
@@ -1212,7 +1212,7 @@ ________________________________________________________________________________
/*
HerpA:
I'm not really sure what you want this to do.
For now it will teleport people to the prison after 30 seconds.
For now it will teleport people to the prison after 30 seconds. (Check the process() proc to change where teleport goes)
It is possible to destroy the net by the occupant or someone else.
The sprite for the net is kind of ugly but I couldn't come up with a better one.
*/
@@ -1352,7 +1352,7 @@ The sprite for the net is kind of ugly but I couldn't come up with a better one.
M.loc = pick(prisonwarp)//Throw mob in prison.
invisibility = 101//Make the net invisible so all the animations can play out.
health = INFINITY//Make the net invincible so that an explosion/something else won't kill it while, while() is running.
health = INFINITY//Make the net invincible so that an explosion/something else won't kill it while, spawn() is running.
spawn(0)
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
+6 -8
View File
@@ -96,7 +96,8 @@ mob/proc/create_ninja()
//AI COUNTER HACKING===================================
//I've tried a lot of stuff but adding verbs to the AI while inside an object, inside another object, did not want to work properly.
//This the best work-around I could come up with. Uses objects to then display to panel, based on the object spell system.
//This is the best work-around I could come up with. Uses objects to then display to panel, based on the object spell system.
//Can be added on to pretty easily.
/obj/proc_holder/ai_hack_ninja//Generic proc holder to make sure the two verbs below work propely.
name = "Hack SpiderOS"
desc = "Hack directly into the Black Widow(tm) neuro-interface."
@@ -122,15 +123,14 @@ mob/proc/create_ninja()
A << browse(null, "window=hack spideros")//Close window
S.control = 1//Return control
A << "You have seized your hacking attempt. [S.affecting] has regained control."
S.affecting << "<b>UPDATE</b>: [A.real_name] has seized hacking attempt. All systems clear."
var/obj/proc_holder/ai_return_control/A_C = locate() in A
S.affecting << "<b>UPDATE</b>: [A.real_name] has ceased hacking attempt. All systems clear."
var/obj/proc_holder/ai_hack_ninja/B_C = locate() in A
A.proc_holder_list -= A_C
A.proc_holder_list -= src
A.proc_holder_list -= B_C
S.verbs += /obj/item/clothing/suit/space/space_ninja/proc/deinit
S.verbs += /obj/item/clothing/suit/space/space_ninja/proc/spideros
del(A_C)//First.
del(B_C)//Second, to keep the proc going.
del(B_C)//First, to keep the proc going.
del(src)
return
/obj/item/clothing/suit/space/space_ninja/proc/hack_spideros()
@@ -238,8 +238,6 @@ mob/proc/create_ninja()
//DEBUG===================================
//Apparently you cannot grant verbs to objects within objects. That is, the verbs won't be recognized.
//That object/mob won't be able to grant/remove verbs either.
/*
/mob/verb/grant_object_panel()
set name = "Grant AI Ninja Verbs Debug"