ID:142830
 
Code:
obj
Gyuu1
icon='gyuu1.dmi'
icon_state="1"
layer = MOB_LAYER+1
mob/katon
verb
KatonGoukakyuu() // Verb used for firing the beam
set category = "Jutsus"
set name = "Katon Goukakyuu No Jutsu"
usr.Handseals()
if(usr.firing||usr.Kaiten) // If the mob's firing var is one...

return
if(usr.chakra <= 15)
usr<<"You dont have enough chakra!"
return
if(!usr.handseals)

return
else // If the firing var isn't 1...
if(usr.Katon1N >= 40)
usr.chakra -= 15
usr.Chakragain()
usr.firing = 1
var/obj/middle/K = new /obj/gyuu1

usr.Katon1N += 1
usr.handseals=0
view()<<"<font size=1><font face=verdana><b><font color=white>[usr]<font color=green> Says: <FONT COLOR=#ffffff>K</FONT><FONT COLOR=#f6ebeb>a</FONT><FONT COLOR=#edd5d5>t</FONT><FONT COLOR=#e3c0c0>o</FONT><FONT COLOR=#d9abab>n</FONT><FONT COLOR=#cf9595>:</FONT><FONT COLOR=#c68080> </FONT><FONT COLOR=#bc6b6b>G</FONT><FONT COLOR=#b25555>o</FONT><FONT COLOR=#a84040>u</FONT><FONT COLOR=#9f2b2b>k</FONT><FONT COLOR=#951515>a</FONT><FONT COLOR=#8b0000>k</FONT><FONT COLOR=#910205>y</FONT><FONT COLOR=#980309>u</FONT><FONT COLOR=#9e050e>u</FONT><FONT COLOR=#a40613> </FONT><FONT COLOR=#ab0817>N</FONT><FONT COLOR=#b10a1c>o</FONT><FONT COLOR=#b70b21> </FONT><FONT COLOR=#bd0d26>J</FONT><FONT COLOR=#c40f2a>u</FONT><FONT COLOR=#ca102f>t</FONT><FONT COLOR=#d01234>s</FONT><FONT COLOR=#d71338>u</FONT><FONT COLOR=#dc143c>!</FONT></FONT>"
K.Gowner=usr
K.nin=usr.nin
usr.Frozen=1
if(usr.dir==NORTH)
if(K)
K.loc = usr.loc
if(usr.dir==EAST)
if(K)
K.loc = usr.loc
if(usr.dir==WEST)
if(K)
K.loc = usr.loc
if(usr.dir==SOUTH)
if(K)
K.loc = usr.loc


Problem description:

i want the icon to disappear when i stop using it but it stay on screen causing much confusion when you use like 4 or 5 times
You need to delete the /obj/Gyuu1 at some point, either in the KatonGoukakyuu() verb after creating it or make every /obj/Gyuu1 automatically delete itself by overriding its New() proc. Make sure to spawn() the deletion for a few ticks so players have time to see the effect.
In response to Shadowdarke
well i tryed that but the thing is its a shield thats toggled
In response to Bluntmonkey
Well then delete it when you turn it off. You'll likely want to store it in a mob variable instead of a local variable.
In response to Garthor
mind explaining?
In response to Bluntmonkey
mob
var/obj/hat
verb
putonhat()
if(!hat)
hat = new /obj/hat()
overlays += hat
takeoffhat()
overlays -= hat
In response to Garthor
Garthor wrote:
mob
> var/obj/hat
> verb
> putonhat()
> if(!hat)
> hat = new /obj/hat()
> overlays += hat
> takeoffhat()
> overlays -= hat



heres new code changed the spell but it does the same thing and i have the overlay remove thing


mob/Hyuuga
verb
HakkeshouKaiten3() // Verb used for firing the beam
set category = "Jutsus"
set name = "Hakkeshou Kaiten 3"
if(usr.chakra <= 5)
usr<<"You dont have enough chakra!"
return
if(usr.resting)
return
if(!usr.Kaiten&&!usr.firing)
view()<<"<font size=1><font face=verdana><b><font color=white>[usr]<font color=green> Says: <FONT COLOR=#0000ff>K</FONT><FONT COLOR=#3a48f7>a</FONT><FONT COLOR=#7491ef>i</FONT><FONT COLOR=#add8e6>t</FONT><FONT COLOR=#83c3cd>e</FONT><FONT COLOR=#57adb4>n</FONT><FONT COLOR=#2c969a>!</FONT><FONT COLOR=#008080>!</FONT>"
usr.Frozen=1
usr.firing = 1
usr.overlays += 'hakkeshou3.dmi'
usr.Kaiten =1
var/obj/hakkeshoutl/TLL = new /obj/hakkeshoutl
var/obj/hakkeshoutm/TMM = new /obj/hakkeshoutm
var/obj/hakkeshoutr/TRR = new /obj/hakkeshoutr
var/obj/hakkeshouml/MLL = new /obj/hakkeshouml
var/obj/hakkeshoumm/MMM = new /obj/hakkeshoumm
var/obj/hakkeshoumr/MRR = new /obj/hakkeshoumr
var/obj/hakkeshoubl/BLL = new /obj/hakkeshoubl
var/obj/hakkeshoubm/BMM = new /obj/hakkeshoubm
var/obj/hakkeshoubr/BRR = new /obj/hakkeshoubr
if(usr.dir==NORTH)
if(TLL)
TLL.loc = usr.loc
TLL.x-=1
TLL.y+=2
if(TMM)
TMM.loc = usr.loc
TMM.y+=2
if(TRR)
TRR.loc = usr.loc
TRR.y+=2
TRR.x+=1
if(MLL)
MLL.loc = usr.loc
MLL.y+=1
MLL.x-=1
if(MMM)
MMM.loc = usr.loc
MMM.y+=1
// MMM.x+=1
if(MRR)
MRR.loc = usr.loc
MRR.y+=1
MRR.x+=1
if(BLL)
BLL.loc = usr.loc
// BLL.y-=1
BLL.x-=1
if(BMM)
BMM.loc = usr.loc
// BMM.y+=2
// BMM.x+=1
if(BRR)
BRR.loc = usr.loc
// BRR.y+=2
BRR.x+=1
if(usr.dir==WEST)
if(TLL)
TLL.loc = usr.loc
TLL.x-=1
TLL.y+=2
if(TMM)
TMM.loc = usr.loc
TMM.y+=2
if(TRR)
TRR.loc = usr.loc
TRR.y+=2
TRR.x+=1
if(MLL)
MLL.loc = usr.loc
MLL.y+=1
MLL.x-=1
if(MMM)
MMM.loc = usr.loc
MMM.y+=1
// MMM.x+=1
if(MRR)
MRR.loc = usr.loc
MRR.y+=1
MRR.x+=1
if(BLL)
BLL.loc = usr.loc
// BLL.y-=1
BLL.x-=1
if(BMM)
BMM.loc = usr.loc
// BMM.y+=2
// BMM.x+=1
if(BRR)
BRR.loc = usr.loc
// BRR.y+=2
BRR.x+=1
if(usr.dir==EAST)
if(TLL)
TLL.loc = usr.loc
TLL.x-=1
TLL.y+=2
if(TMM)
TMM.loc = usr.loc
TMM.y+=2
if(TRR)
TRR.loc = usr.loc
TRR.y+=2
TRR.x+=1
if(MLL)
MLL.loc = usr.loc
MLL.y+=1
MLL.x-=1
if(MMM)
MMM.loc = usr.loc
MMM.y+=1
// MMM.x+=1
if(MRR)
MRR.loc = usr.loc
MRR.y+=1
MRR.x+=1
if(BLL)
BLL.loc = usr.loc
// BLL.y-=1
BLL.x-=1
if(BMM)
BMM.loc = usr.loc
// BMM.y+=2
// BMM.x+=1
if(BRR)
BRR.loc = usr.loc
// BRR.y+=2
BRR.x+=1
if(usr.dir==SOUTH)
if(TLL)
TLL.loc = usr.loc
TLL.x-=1
TLL.y+=2
if(TMM)
TMM.loc = usr.loc
TMM.y+=2
if(TRR)
TRR.loc = usr.loc
TRR.y+=2
TRR.x+=1
if(MLL)
MLL.loc = usr.loc
MLL.y+=1
MLL.x-=1
if(MMM)
MMM.loc = usr.loc
MMM.y+=1
// MMM.x+=1
if(MRR)
MRR.loc = usr.loc
MRR.y+=1
MRR.x+=1
if(BLL)
BLL.loc = usr.loc
// BLL.y-=1
BLL.x-=1
if(BMM)
BMM.loc = usr.loc
// BMM.y+=2
// BMM.x+=1
if(BRR)
BRR.loc = usr.loc
// BRR.y+=2
BRR.x+=1

OMG
if(usr.Kaiten)
usr.chakra -=2
if(usr.chakra <= 2)
usr.move = 1
usr.firing = 0
usr.overlays -= 'hakkeshou3.dmi'
usr.Kaiten = 0
else
sleep(4)
goto OMG
else if(usr.Kaiten)
usr.Frozen=0
usr.firing = 0
usr.overlays -= 'hakkeshou1.dmi'
usr.Kaiten =0
usr<<"You release Hakkeshou Kaiten."



but they still stay there