mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 05:27:01 +01:00
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:
@@ -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.
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user