From 73e160cf26e5b5b23d2971e4caf7aa726540d091 Mon Sep 17 00:00:00 2001 From: "noisomehollow@lycos.com" Date: Wed, 11 May 2011 04:22:08 +0000 Subject: [PATCH] A few more ninja bugs fixed. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1567 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/gamemodes/extra/ninja_abilities.dm | 28 +++++++++++--------- code/game/gamemodes/extra/ninja_equipment.dm | 8 +++--- code/game/gamemodes/extra/space_ninja.dm | 14 +++++----- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/code/game/gamemodes/extra/ninja_abilities.dm b/code/game/gamemodes/extra/ninja_abilities.dm index a401a0d9957..28176c41b8a 100644 --- a/code/game/gamemodes/extra/ninja_abilities.dm +++ b/code/game/gamemodes/extra/ninja_abilities.dm @@ -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.chargeWARNING: #%@!!WEL4P54@" + U << "\red WARNING: #%@!!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() diff --git a/code/game/gamemodes/extra/space_ninja.dm b/code/game/gamemodes/extra/space_ninja.dm index 96cf70f30b6..2ffd3343ed4 100644 --- a/code/game/gamemodes/extra/space_ninja.dm +++ b/code/game/gamemodes/extra/space_ninja.dm @@ -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 << "UPDATE: [A.real_name] has seized hacking attempt. All systems clear." - var/obj/proc_holder/ai_return_control/A_C = locate() in A + S.affecting << "UPDATE: [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"