SphereCommunity
51a Poison - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Expired/Outdated Versions (/Forum-Expired-Outdated-Versions)
+--- Forum: Sphere 51a Help (/Forum-Sphere-51a-Help)
+--- Thread: 51a Poison (/Thread-51a-Poison)



51a Poison - x77x - 02-15-2014 06:29 AM

we all remember 51a poison never worked worth a damn...


any work around anyone remember to "fix" poison and poison spells?



here the default
Code:
[Spell 20]
NAME=Poison
SOUND=SPELL_POISON
RUNES=IN
CASTTIME=30
REAGENTS=Ns
RUNE_ITEM=RUNE_POISON
SCROLL_ITEM=SCROLL_POISON
FLAGS=SPELLFLAG_TARG_CHAR | SPELLFLAG_DIR_ANIM | SPELLFLAG_HARM | SPELLFLAG_FX_TARG
EFFECT_ID=FX_CURSE_EFFECT
EFFECT_LO=0    // 100
EFFECT_HI=0    // 750

and heres something that "works"

Code:
[Spell 20]
NAME=Poison
SOUND=SPELL_POISON
RUNES=IN
//CAST_TIME=30
//CASTTIME=30
REAGENTS=Ns
RUNE_ITEM=RUNE_POISON
SCROLL_ITEM=SCROLL_POISON
FLAGS=SPELLFLAG_TARG_CHAR | SPELLFLAG_DIR_ANIM | SPELLFLAG_HARM | SPELLFLAG_FX_TARG
EFFECT_ID=FX_CURSE_EFFECT
EFFECT_LO=100    // 100
EFFECT_HI=999    // 750



RE: 51a Poison - x77x - 02-18-2014 07:10 AM

I see what the problem is...
when the spell is casted on someone/something

the timer is 120 BEFORE the poison actually takes effect

any way to decrease this?


HEXEDIT the spheresrv.exe ???



also noticed on the poison item
MOREP=20,999,12

spell#,poison amount,number of charges


RE: 51a Poison - jdchixin - 07-17-2014 04:37 PM

ON=@HIT
if <act.findlayer(29).id>>0
if (<poisoning> > 500) && (<act.findlayer(21).more2>=0) && (<act.skillclass>!=1)
act.flags=<act.flags>|00000080
act.resync
if <poisoning> > 900
act.findlayer(21).more2=1-3
elif <poisoning> > 950
act.findlayer(21).more2=1-4
elif <poisoning> > 999
act.findlayer(21).more2=1-5
else
act.findlayer(21).more2=1-2
endif
act.findlayer(21).timer=1
act.findlayer(21).morez=3-6
return 0
endif
endif

return 0

ITEM
[xxxx]
// BACKPACK
TYPE=1
ID=0E75
DYE=0
MOREZ=15
BUYVALUE=15-22
SELLVALUE=7-11
MATERIAL=120
WEIGHT=1

//ONTRIGGER=DCLICK
//F <TIMER>=-1
//TIMER=3
//RETURN 1
//ENDIF

ONTRIGGER=TIMER
if <more2> > 0
if (<cont.region.flags>&02000)
cont.spelleffect 11 1000
cont.findlayer(21).more2=0
cont.emote poison was selfcured
morez=15
timer=1
return 1
elseif (<cont.skillclass>=1)
cont.spelleffect 11 1000
more2=0
cont.emote poison was selfcured
morez=15
timer=1
return 1
elseif (<morez><1)
cont.spelleffect 11 1000
more2=0
cont.emote poison was selfcured
morez=15
timer=1
return 1
elseif !(<cont.flags>&00000080)
more2=0
morez=15
timer=1
return 1
elseif (<cont.hits>>0)
if (<more2>==1)
if (<cont.plot1>=08)
cont.spelleffect 11 1000
more2=0
timer=1
morez=15
return 1
endif
if (<cont.hits><=7)
cont.hits=0
more2=0
cont.spelleffect 11 1000
morez=15
timer=1
return 1
endif
cont.emote looks ill,hits -6
cont.bark 3
cont.anim 20
cont.damage 1
cont.hits=<cont.hits>+-6
morez=<morez>+-1
timer=6
return 1
elseif (<more2>==2)
if (<cont.plot1>=08)&&(<cont.findid.06159.morez>>1)
cont.spelleffect 11 1000
more2=0
timer=1
morez=15
return 1
endif
if (<cont.hits><=9)
cont.hits=0
more2=0
cont.spelleffect 11 1000
morez=15
timer=1
return 1
endif
cont.emote looks extremely ill,hits -8
cont.bark 3
cont.anim 20
cont.damage 1
cont.hits=<cont.hits>+-8
morez=<morez>+-1
timer=5
return 1
elseif (<more2>==3)
if (<cont.plot1>=08)&&(<cont.findid.06159.morez>>2)
cont.spelleffect 11 1000
more2=0
timer=1
morez=15
return 1
endif
if (<link.hits><=11)
cont.hits=0
more2=0
cont.spelleffect 11 1000
morez=15
timer=1
return 1
endif
cont.emote stumbles around in confusion and pain,hits -10
cont.bark 3
cont.anim 20
cont.damage 1
cont.hits=<cont.hits>+-10
morez=<morez>+-1
timer=4
return 1
elseif (<more2>==4)
if (<cont.plot1>=08)&&(<cont.findid.06159.morez>>3)
cont.spelleffect 11 1000
more2=0
timer=1
morez=15
return 1
endif
if (<cont.hits><=13)
cont.hits=0
more2=0
cont.spelleffect 11 1000
morez=15
timer=1
return 1
endif
cont.emote is wracked with extreme pain,hits -12
cont.bark 3
cont.anim 20
cont.damage 1
cont.hits=<cont.hits>+-12
morez=<morez>+-1
timer=3
return 1
elseif (<more2>==5)
if (<cont.plot1>=08)&&(<cont.findid.06159.morez>>11)
cont.spelleffect 11 1000
more2=0
timer=1
morez=15
return 1
endif
if (<cont.hits><=19)
cont.hits=0
more2=0
cont.spelleffect 11 1000
morez=15
timer=1
return 1
endif
cont.emote begins to spasm uncontrollably,hits -18
cont.bark 3
cont.anim 20
cont.damage 1
cont.hits=<cont.hits>+-18
morez=<morez>+-1
timer=2
return 1
endif
else
more2=0
timer=1
morez=15
endif
timer=1
return 1
endif
timer=-1
return 1