////////// Coder: Basic
////////// 13.08.12
[defname healing]
sys_healmintocure 65.0
sys_anatmintocure 65.0
sys_healmintores 90.0
sys_anatmintores 90.0
sys_minreshealth 30
sys_maxreshealth 50
sys_vetmintocure 650
sys_animmintocure 650
[function sys_heal_fix]
ref1 <args>
forcontid i_heal_sys 10
if (<tag0.owner> == <ref1>)
remove
endif
endfor
[typedef t_bandage_sys]
on=@dclick
if (<src.findid.i_heal_sys_wait>)
src.sys_hata <src.findid.i_heal_sys_wait.timer> saniye sonra kullanabilirsiniz.
return 1
endif
if (<src.isevent.e_heal_Sys>)
src.sys_hata Zaten bandaj kullanmaktasınız.
return 1
endif
if (<src.action> == skill_magery)
src.sys_hata Büyü atarken bandaj kullanamazsınız.
return 1
endif
src.sysmessage @0456,1,1 Kime bandaj aticaksiniz?
targetf heal_sys
return 1
[function heal_Sys]
if !(<argo.ischar>)
src.sys_Hata Sadece karakterlere bandaj atabilirsiniz.
return 1
endif
if (<argo.distance> > 2)
src.sys_hata Yetişemiyorsunuz.
return 1
endif
if !(<src.canseelos <argo>>)
src.sys_hata Yetişemiyorsunuz.
return 1
endif
if (<argo.hits> == <argo.str>)
if !(<argo.flags>&statf_poisoned)
src.sys_hata Tedaviye ihtiyaç duymuyor.
return 1
endif
endif
if (<argo.flags>&statf_dead)
if (<argo> == <uid>)
src.sys_hata Kendinizi canlandıramazsınız.
return 1
endif
if !(<src.restest 5 i_bandage>)
src.sys_hata Çantanızda 5 bandage olmadan canlandıramazsınız.
return 1
endif
if (<healing> < <def.sys_healmintores>) || (<anatomy> < <def.sys_anatmintores>)
src.sys_Hata <def.sys_healmintores> heal, <def.sys_anatmintores> anatomy skilline sahip olmadan bandajla canlandırma yapamazsiniz.
return 1
else
local.health <eval rand(<def.sys_minreshealth>,<def.sys_maxreshealth>)>
src.spellfreeze 1
src.consume 5 i_bandage
argo.resurrect
argo.hits <dlocal.health>
argo.say @0456,1,1,trk *<name> tarafından canlandırıldı*
src.sysmessage @0456,1,1,trk <argo.name>'i canlandırdınız.
return 1
endif
endif
if (<argo.isplayer>)
if (<argo.findid.i_memory_poison_New>)
if (<healing> < <def.sys_healmintocure>) || (<anatomy> < <def.sys_anatmintocure>)
src.sys_Hata <def.sys_healmintocure> heal, <def.sys_anatmintocure> anatomy skilline sahip olmadan bandajla cure yapamazsiniz.
return 1
endif
endif
else
if (<argo.findid.i_memory_poison_New>)
if (<veterinary> < <def.sys_vetmintocure>) || (<animallore> < <def.sys_animmintocure>)
src.sys_Hata <def.sys_vetmintocure> heal, <def.sys_animmintocure> anatomy skilline sahip olmadan bandajla cure yapamazsiniz.
return 1
endif
endif
endif
if (<argo.isplayer>)
argo.sys_heal_fix <src>
src.spellfreeze 4
src.events e_heal_sys
src.consume 1 i_bandage
src.anim 17
serv.newitem i_heal_sys,1,<argo>,1
new.timer 5
new.tag.owner <src>
elif (<argo.isanimal>)
src.spellfreeze 4
src.events e_heal_sys
src.consume 1 i_bandage
src.anim 17
serv.newitem i_vet_sys,1,<argo>,1
new.timer 5
new.tag.owner <src>
endif
[itemdef i_vet_sys]
id i_memory
type t_eq_script
name Veterinary System
on=@timer
ref1 <tag0.owner>
if (<cont.findid.i_memory_poison_new>)
local.rand <eval <eval 1200-<ref1.animallore>>/100>
say <dlocal.rand>
if rand(<dlocal.rand>) == 1
cont.findid.i_memory_poison_new.remove
if !(<cont> == <ref1>)
cont.say @0456,1,1,trk *<ref1.name> tarafından zehiri geçirildi.*
ref1.sysmessage @0456,1,1,trk <cont.name>'in zehirini geçirdiniz.
else
cont.say @0456,1,1,trk *Kendi üzerinizdeki zehiri geçirdi.*
ref1.sysmessage @0456,1,1,trk Kendi üzerinizdeki zehiri geçirdiniz.
endif
else
if !(<cont> == <ref1>)
cont.say @08a,1,1,trk *<ref1.name> tarafından zehiri geçiremediniz.*
ref1.sysmessage @08a,1,1,trk <cont.name>'in zehirini geçiremediniz.
else
ref1.say @08a,1,1,trk *Kendi üzerindeki zehiri geçiremediniz.*
ref1.sysmessage @08a,1,1,trk Kendi üzerinizdeki zehiri geçiremediniz.
endif
endif
else
if (<cont.flags>&statf_dead)
ref1.sysmessage @08a,1,1,trk Hedefiniz daha bandajlayamadan öldü.
else
local.degree 700
if (<ref1.animallore> > 50.0)
local.heal <eval <ref1.animallore>-<dlocal.degree>>
else
local.heal 10
endif
if !(<cont> == <ref1>)
ref1.sysmessage @0456,1,1,trk <cont.name>'i tedavi ettiniz.
cont.say @0456,1,1,trk *<ref1.name> tarafından tedavi edildiniz.*
cont.hits +=<dlocal.heal>
else
ref1.sysmessage @0456,1,1,trk Kendinizi tedavi ettiniz.
ref1.say @0456,1,1,trk *Kendini tedavi eder*
ref1.hits +=<dlocal.heal>
if (<ref1.hits> > <ref1.str>)
ref1.hits <ref1.str>
endif
if (<cont.hits> > <cont.str>)
cont.hits <cont.str>
endif
endif
endif
serv.newitem i_heal_sys_wait,1,<ref1>,1
new.timer 10
new.attr attr_decay
serv.newitem i_bandage_bloody,1,<ref1>
ref1.events -e_heal_Sys
attr attr_decay
remove
[itemdef i_heal_sys]
id i_memory
type t_eq_script
name Heal System
on=@timer
ref1 <tag0.owner>
if !(<ref1.isevent.e_heal_Sys>)
remove
endif
if (<cont.findid.i_memory_poison_new>)
local.rand <eval <eval 1200-<ref1.anatomy>>/100>
say <dlocal.rand>
if rand(<dlocal.rand>) == 1
cont.findid.i_memory_poison_new.remove
if !(<cont> == <ref1>)
cont.say @0456,1,1,trk *<ref1.name> tarafından zehir geçirildi.*
ref1.sysmessage @0456,1,1,trk <cont.name>'in zehirini geçirdiniz.
else
cont.say @0456,1,1,trk *Kendi üzerinizdeki zehiri geçirdiniz.*
ref1.sysmessage @0456,1,1,trk Kendi üzerinizdeki zehiri geçirdiniz.
endif
else
if !(<cont> == <ref1>)
cont.say @08a,1,1,trk *<ref1.name> tarafından zehir geçirilemedi.*
ref1.sysmessage @08a,1,1,trk <cont.name>'in zehirini geçiremediniz.
cont.tag0.nomovetill 0
cont.consume i_Heal_sys
cont.events -e_heal_Sys
ref1.events -e_Heal_Sys
return 1
else
ref1.say @08a,1,1,trk *Kendi üzerindeki zehiri geçiremediniz.*
ref1.sysmessage @08a,1,1,trk Kendi üzerinizdeki zehiri geçiremediniz.
ref1.tag0.nomovetill 0
ref1.consume i_Heal_sys
ref1.events -e_heal_Sys
return 1
endif
endif
else
if (<cont.flags>&statf_dead)
ref1.sysmessage @08a,1,1 Hedefiniz daha bandajlayamadan öldü.
else
local.degree 700
if (<ref1.anatomy> > 50.0)
local.heal <eval <eval <ref1.anatomy>-<dlocal.degree>>/10>
else
local.heal 10
endif
if !(<cont> == <ref1>)
ref1.sysmessage @0456,1,1,trk <cont.name>'i tedavi ettiniz.
cont.say @0456,1,1,trk *<ref1.name> tarafından tedavi edildiniz.*
cont.hits +=<dlocal.heal>
if (<cont.hits> > <cont.str>)
cont.hits <cont.str>
endif
else
ref1.sysmessage @0456,1,1,trk Kendinizi tedavi ettiniz.
ref1.say @0456,1,1,trk *Kendini tedavi eder*
ref1.hits +=<dlocal.heal>
if (<ref1.hits> > <ref1.str>)
ref1.hits <ref1.str>
endif
endif
endif
serv.newitem i_heal_sys_wait,1,<ref1>,1
new.timer 15
new.attr attr_decay
serv.newitem i_bandage_bloody,1,<ref1>
ref1.events -e_heal_Sys
attr attr_decay
remove
[itemdef i_heal_Sys_wait]
id i_memory
type t_eq_script
name Heal Delay
[events e_heal_sys]
on=@gethit
local.anatomy <anatomy>
local.degree 995
if rand(<eval <local.anatomy>-<local.degree>>) == 1
say @0456,1,1,trk *Bandajları Yırtılır*
tag0.nomovetill 0
consume i_Heal_sys
consume i_vet_sys
consume i_heal_sys_wait
events -e_heal_Sys
endif
on=@spelleffect
if (<serv.spell.<dargn>.flags>&spellflag_harm)
local.anatomy <anatomy>
local.degree 995
if rand(<eval <local.anatomy>-<local.degree>>) == 1
say @0456,1,1,trk *Bandajları Yırtılır*
tag0.nomovetill 0
findid.i_Heal_sys.remove
findid.i_vet_Sys.remove
findid.i_heal_sys_wait.remove
events -e_heal_Sys
endif
endif
on=@spellcast
say @0456,1,1,trk *Bandajları Yırtılır*
findid.i_Heal_sys.remove
findid.i_vet_Sys.remove
findid.i_heal_sys_wait.remove
events -e_heal_Sys
[ITEMDEF 0e20]
DEFNAME=i_bandage_bloody
TYPE=T_BANDAGE_BLOOD
RESOURCES=1 I_BANDAGE 1 I_BLOOD
WEIGHT=.1
CATEGORY=Items by Professions
SUBSECTION=Healer
DESCRIPTION=BLOODY BANDAGES
DUPELIST=0e22
[ITEMDEF 0e21]
DEFNAME=i_bandage
RESOURCES=i_cloth
TYPE=T_BANDAGE_sys
WEIGHT=.1
DUPELIST=0ee9
CATEGORY=Items by Professions
SUBSECTION=Healer
DESCRIPTION=Clean Bandages