Code:
[itemdef i_green_thorn]
ID=i_arrow_x
NAME=Green Thorn
TYPE=t_normal
on=@create
color=042
on=@dclick
if (<attr>&attr_move_never)
src.sysmessage You can't touch this.
return 1
endif
if !(<topobj.uid>==<src.uid>)
src.sysmessage It must be in your pack.
return 1
endif
targetg @042 Choose a spot to push the thorn.
return 1
on=@targon_ground
// Dirt
if (<src.targp.terrain>==03ff9) || (<src.targp.terrain>==077) || (<src.targp.terrain>==03ffa) || (<src.targp.terrain>==078) || (<src.targp.terrain>==071) || (<src.targp.terrain>==03ff) || (<src.targp.terrain>==037a) || (<src.targp.terrain>==085) || (<src.targp.terrain>==074) || (<src.targp.terrain>==03ff8) || (<src.targp.terrain>==087) || (<src.targp.terrain>==088) || (<src.targp.terrain>==072) || (<src.targp.terrain>==03ffb) || (<src.targp.terrain>==075) || (<src.targp.terrain>=076)
serv.newitem i_green_thorn
new.cont=<src.uid>
new.dispid=0a13
new.p=<src.targp>
new.attr |= attr_move_never
new.morex=1
new.morez=5
new.morey=1
new.timer=1
new.z += 2
src.consume 1 i_green_thorn
src.emote You push the strange thorn into the ground
return 1
endif
if (<src.targp.terrain>==010c) || (<src.targp.terrain>==010d) || (<src.targp.terrain>==010e) || (<src.targp.terrain>==010f) || (<src.targp.terrain>==011) || (<src.targp.terrain>==011a) || (<src.targp.terrain>==011b) || (<src.targp.terrain>==011c) || (<src.targp.terrain>==011d) || (<src.targp.terrain>==0385) || (<src.targp.terrain>==0386) || (<src.targp.terrain>==0387) || (<src.targp.terrain>==0388) || (<src.targp.terrain>==0745) || (<src.targp.terrain>==0746) || (<src.targp.terrain>==0747) //snow
serv.newitem i_green_thorn
new.cont=<src.uid>
new.dispid=0a13
new.p=<src.targp>
new.attr |= attr_move_never
new.morex=1
new.morez=5
new.morey=2
new.timer=1
new.z += 2
src.consume 1 i_green_thorn
src.emote You push the strange thorn into the ground
return 1
endif
if (<src.targp.terrain>==09) || (<src.targp.terrain>==0d) || (<src.targp.terrain>==0a) || (<src.targp.terrain>==0b) || (<src.targp.terrain>==0c) || (<src.targp.terrain>==0d) //Field
serv.newitem i_green_thorn
new.cont=<src.uid>
new.dispid=0a13
new.p=<src.targp>
new.attr |= attr_move_never
new.morex=1
new.morez=5
new.morey=3
new.timer=1
new.z += 2
src.consume 1 i_green_thorn
src.emote You push the strange thorn into the ground
return 1
endif
if (<src.targp.terrain>==0) || (<src.targp.terrain>==0) // Swamp
src.sysmessage Swamp
return 1
endif
src.sysmessage @color_text_red You fail to push the <name> into this type of land.
return 1
on=@timer
if (<moreX>==1)
if (<morez> > 0)
if (<morey>==1)
serv.newitem random_reagent,{20 30}
new.moveto=<eval <p.x>-(rand(3)-rand(3))>,<eval <p.y>-(rand(3)-rand(3))>,<p.z>
new.updatex
serv.newitem 0914
new.attr attr_decay
new.moveto=<p>
new.move n
new.updatex
new.timer=2
serv.newitem 0914
new.attr attr_decay
new.moveto=<p>
new.move e
new.updatex
new.timer=2
serv.newitem 0914
new.attr attr_decay
new.moveto=<p>
new.move s
new.updatex
new.timer=2
serv.newitem 0914
new.attr attr_decay
new.moveto=<p>
new.move w
new.updatex
new.timer=2
serv.newitem 0914
new.attr attr_decay
new.moveto=<p>
new.move nw
new.updatex
new.timer=2
serv.newitem 0914
new.attr attr_decay
new.moveto=<p>
new.move ne
new.updatex
new.timer=2
serv.newitem 0914
new.attr attr_decay
new.moveto=<p>
new.move se
new.updatex
new.timer=2
serv.newitem 0914
new.attr attr_decay
new.moveto=<p>
new.move sw
new.updatex
new.timer=2
serv.newitem 031f5
new.attr attr_decay
new.moveto=<p>
new.updatex
new.timer=2
sound 319
morez -= 1
timer 2
return 1
elif (<morey>==2)
TRYSRV SERV.NEWNPC c_giant_ice_worm
sound 319
remove
return 1
elif (<morey>==3)
TRYSRV SERV.NEWNPC c_vorpal_bunny
sound 319
remove
return 1
else
remove
return 1
endif
endif
endif
Code:
SERV.NEWNPC c_vorpal_bunny
NEW.FLAGS |= (statf_war|statf_conjured)
NEW.P=<SRC.P>
NEW.f_NPCRemovalTimer 1200
//NEW.ATTACK <SRC> //If I know the source, I use this to make the new creature attack
[FUNCTION f_NPCRemovalTimer]
SERV.NEWITEM i_removetimer_mem
EQUIP <NEW>
NEW.TIMER=<ARGN1>
[ITEMDEF i_removetimer_mem]
ID=i_memory
NAME=remove timer
TYPE=t_eq_script
ON=@Timer
CONT.REMOVE
RETURN 1