Healing:
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
The Owner Prodigy Tarafindan Fixlenmistir ! ....
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Date = 23 / 07 / 2004 ---- Tum Hakları Saklıdır !
VERSION=0.55i
[ITEMDEF 0ee9]
DUPEITEM=0e21
[ITEMDEF 0e22]
DUPEITEM=0e20
[ITEMDEF 0e21]
DEFNAME=i_bandage
RESOURCES=i_cloth
TYPE=T_BANDAGE
WEIGHT=0.2
DUPELIST=0ee9
CATEGORY=Items by Professions
SUBSECTION=Healer
DESCRIPTION=clean bandages
On=@DClick
if !(<topobj.uid> == <src.uid>)
src.sms Bandajlar cantanizda olmali.
return 1
elseif (<src.findid.i_mem_healing.timer> < 0)
src.findid.i_mem_healing.remove
return 0
elseif (<src.findid.i_mem_healing>)
src.sms Bandajlari su an kullanamazsiniz.
return 1
else
return 0
endif
On=@Targon_Char
src.skill fail
if !(<src.restest 1 i_bandage>)
src.sms Bandajiniz yok.
return 1
elseif (<src.targ.distance> > 3)
src.sms Hedefe ulasamiyorsunuz.
return 1
elseif (<src.targ.npc> == 10) ||(<src.targ.npc> == 11) || (<src.targ.npc> == 12) || (<src.targ.npc> == 13)
src.sms Bunu iyilestiremezsiniz.
return 1
elseif (<src.targ.npc> == 1)
if (<src.targ.id> == c_m_golem_tinker1) || (<src.targ.id> == c_m_golem_tinker2) || (<src.targ.id> == c_m_golem)
src.sms Golem'leri bandajla iyilestiremezsiniz.
elseif !((<src.targ.hits> < <src.targ.str>) || (<src.targ.findid.i_rune_poison>))
src.smg <src.targ.name> tedaviye ihtiyac duymuyor.
return 1
elseif (<src.targ.findid.i_rune_poison>)
if ((<src.veterinary> < 60.0) || (<src.animallore> < 60.0))
src.sms Hayvan uzerindeki zehiri tedavi edecek kadar yetenekli degilsiniz.
return 1
endif
else
var.nx1 (<src.veterinary> / {20 50})
var.nx2 (<src.animallore> / 50)
var.nx3 <eval (<var.nx1> + <var.nx2> + {3 10})>
endif
src.sd 1
src.anim 17
src.newitem i_mem_healing
src.act.morey <eval <var.nx3>>
src.act.morex 3
src.act.link <src.targ.uid>
src.act.equip
src.face
return 1
elseif (<src.targ.flags>&statf_dead)
if ((<src.healing> < 80.0) || (<src.anatomy> < 80.0))
src.sysmessage Henuz oluleri diriltecek kudrete sahip degilsiniz.
elseif !(<src.restest 5 i_bandage>)
src.sms Diriltme islemi icin 5 bandaja ihtiyaciniz var.
else
if (<src.targ.kills> > 5)
src.criminal 1
src.sayua 048,6,6,0 * <src.targ.name> isimli katili diriltir *
elseif (<src.targ.flags>&statf_criminal)
src.criminal 1
src.sayua 048,6,6,0 * <src.targ.name> isimli sucluyu diriltir *
elseif (<src.memoryfindtype.memory_town>) && (<src.targ.memoryfindtype.memory_town>) && (<src.memoryfindtype.memory_town.link> != <src.targ.memoryfindtype.memory_town.link>)
src.criminal 1
elseif (<src.memoryfindtype.memory_guild.link.align>) && (<src.targ.memoryfindtype.memory_guild.link.align>) && (<src.memoryfindtype.memory_guild.link.align> != <src.targ.memoryfindtype.memory_guild.link.align>)
src.criminal 1
endif
src.sd 2
src.face
src.anim 17
src.consume 5 i_bandage
src.targ.spelleffect s_resurrection 1000
src.targ.sayua 048,6,6,0 * <src.name> sayesinde hayata doner *
src.checkhealing 2
src.checkanatomy 2
endif
return 1
elseif (<src.targ.memoryfindtype.memory_town>) && !(<src.memoryfindtype.memory_town>)
src.sms Faction uyelerini iyilestiremezsiniz.
return 1
elseif (<src.targ.memoryfindtype.memory_guild.link.align> > 0) && !(<src.memoryfindtype.memory_guild.link.align>)
src.sms Order/Chaos uyelerini iyilestiremezsiniz.
return 1
elseif !((<src.targ.hits> < <src.targ.str>) || (<src.targ.findid.i_rune_poison>))
if !(<src.targ.uid> == <src.uid>)
src.sms <src.targ.name> tedaviye ihtiyac duymuyor.
else
src.sms Tedaviye ihtiyaciniz yok.
endif
return 1
elseif (<src.targ.findid.i_rune_poison>)
if ((<src.healing> < 60.0) || (<src.anatomy> < 60.0))
src.sms Zehiri tedavi edecek kadar yetenekli degilsiniz.
return 1
endif
elseif (<src.targ.findid.i_bleeding>) ///Bleeding
if ((<src.healing> < 70.0) || (<src.anatomy> < 70.0))
src.sms Yarayi tedavi edecek kadar yetenekli degilsiniz.
return 1
endif
else
var.nx1 (<src.healing> / {20 50})
var.nx2 (<src.anatomy> / 50)
var.nx3 <eval (<var.nx1> + <var.nx2> + {3 10})>
endif
src.sd 1
src.anim 17
src.newitem i_mem_healing
src.act.morey <eval <var.nx3>>
if !(<src.targ.uid> == <src.uid>) // heal other
src.act.morex 1
src.act.link <src.targ.uid>
src.face
endif
src.act.equip
return 1
[itemdef i_mem_healing]
ID=i_memory
TYPE=t_eq_script
NAME=healing mem
On=@Create
attr attr_decay|attr_newbie
On=@Equip
src.events +e_healing
timer 3
On=@UnEquip
cont.events -e_healing
On=@Timer
if (<morey>)
if (<morex> == 3) // veterinary
if !(<link.hits> < <link.str>) && !(<link.findid.i_rune_poison>)
cont.smg <link.name> tedaviye ihtiyac duymuyor.
remove
return 1
elseif (<link.findid.i_rune_poison>)
if (<cont.veterinary> < 60.0) || (<cont.animallore> < 60.0)
cont.sms Zehiri tedavi edecek kadar yetenekli degilsiniz.
remove
return 1
endif
elseif (<link.findid.i_bleeding>) ///////Hayvanlarda bleeding
if (<cont.veterinary> < 70.0) || (<cont.animallore> < 70.0)
cont.sms Yarayi tedavi edecek kadar yetenekli degilsiniz.
remove
return 1
endif
elseif !(<cont.restest 1 i_bandage>)
cont.sms Bandajiniz yok.
remove
return 1
endif
cont.consume 1 i_bandage
if (<link.findid.i_rune_poison>) // cure animal
if !(rand(5) == 1)
link.findid.i_rune_poison.remove
link.effect 3,0376a,2,10,1
link.sayu * iyilestirilir *
else
cont.sayua 020,6,6,0 * <link.name> uzerindeki zehiri iyilestiremez *
endif
elseif (<link.findid.i_bleeding>) //hayvanlarda yara iyilestirme poff
if !(rand(5) == 1)
link.findid.i_bleeding.remove
link.effect 3,0376a,2,10,1
link.sayu * yarasi iyilestirilir *
else
cont.sayua 020,6,6,0 * <link.name> uzerindeki yarayi iyilestiremez *
endif
else // heal animal
link.hits <eval (<link.hits> + <morey>)>
link.effect 3,0376a,2,10,1
if (<link.hits> > <link.str>)
link.hits <link.str>
endif
link.sayu * tedavi gorur *
link.update
endif
cont.checkveterinary
cont.checkanimallore
if (<cont.dex> < 35)
timer 6
else
timer 4
endif
elseif (<morex>) // others
if !(<link.hits> < <link.str>) && !(<link.findid.i_rune_poison>)
cont.smg <link.name> tedaviye ihtiyac duymuyor.
remove
return 1
elseif (<link.hits> < 1)
cont.sms <link.name> tedavi esnasinda hayatini kaybetti.
remove
return 1
elseif (<link.findid.i_rune_poison>)
if (<cont.healing> < 60.0) || (<cont.anatomy> < 60.0)
cont.sms Zehiri tedavi edecek kadar yetenekli degilsiniz.
remove
return 1
endif
elseif !(<cont.restest 1 i_bandage>)
cont.sms Bandajiniz yok.
remove
return 1
endif
cont.consume 1 i_bandage
if (<link.findid.i_rune_poison>) // cure other
if !(rand(5) == 1)
link.findid.i_rune_poison.remove
link.effect 3,0376a,2,10,1
if (<link.kills> > 5)
cont.criminal 1
cont.sayua 048,6,6,0 * <link.name> isimli katili iyilestirir *
elseif (<link.flags>&statf_criminal)
cont.criminal 1
cont.sayua 048,6,6,0 * <link.name> isimli sucluyu iyilestirir *
else
link.sayua 048,6,6,0 * <cont.name> tarafindan iyilestirilir *
if (<link.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town.link> != <link.memoryfindtype.memory_town.link>)
cont.criminal 1
elseif (<link.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align> != <link.memoryfindtype.memory_guild.link.align>)
cont.criminal 1
endif
endif
else
cont.sayua 020,6,6,0 * <link.name> uzerindeki zehiri iyilestiremez *
endif
elseif (<link.findid.i_bleeding>)///////////////////////////Bleeding
if !(rand(5) == 1)
link.findid.i_bleeding.remove
link.effect 3,0376a,2,10,1
if (<link.kills> > 5)
cont.criminal 1
cont.sayua 048,6,6,0 * <link.name> yarasini iyilestirir.*
elseif (<link.flags>&statf_criminal)
cont.criminal 1
cont.sayua 048,6,6,0 * <link.name> isimli suclunun yarasini iyilestirir. *
else
link.sayua 048,6,6,0 * <cont.name> tarafindan yarasi iyilestirilir. *
if (<link.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town.link> != <link.memoryfindtype.memory_town.link>)
cont.criminal 1
elseif (<link.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align> != <link.memoryfindtype.memory_guild.link.align>)
cont.criminal 1
endif
endif
else
cont.sayua 020,6,6,0 * <link.name> uzerindeki yarayi tedavi edemez *
endif ////////////////////////////////////////////////////////////
else // heal other
link.hits (<link.hits> + <morey>)
link.effect 3,0376a,2,10,1
if (<link.hits> > <link.str>)
link.hits <link.str>
endif
if (<link.kills> > 5)
cont.criminal 1
cont.sayua 048,6,6,0 * <link.name> isimli katili tedavi eder *
elseif (<link.flags>&statf_criminal)
cont.criminal 1
cont.sayua 048,6,6,0 * <link.name> isimli sucluyu tedavi eder *
else
link.sayua 048,6,6,0 * <cont.name> tarafindan tedavi edilir *
if (<link.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town>) && (<cont.memoryfindtype.memory_town.link> != <link.memoryfindtype.memory_town.link>)
cont.criminal 1
elseif (<link.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align>) && (<cont.memoryfindtype.memory_guild.link.align> != <link.memoryfindtype.memory_guild.link.align>)
cont.criminal 1
endif
endif
endif
cont.checkhealing 1
cont.checkanatomy 1
if (<cont.dex> < 35)
timer 6
else
timer 4
endif
else
if !(<cont.hits> < <cont.str>) && !(<cont.findid.i_rune_poison>)
cont.smg Tedaviye ihtiyac duymuyorsunuz.
remove
return 1
elseif (<cont.hits> < 1)
remove
return 1
elseif (<cont.findid.i_rune_poison>)
if (<cont.healing> < 60.0) || (<cont.anatomy> < 60.0)
cont.sms Zehiri tedavi edecek kadar yetenekli degilsiniz.
remove
return 1
endif
elseif !(<cont.restest 1 i_bandage>)
cont.sms Bandajiniz yok.
remove
return 1
endif
cont.consume 1 i_bandage
if (<cont.findid.i_rune_poison>) // cure self
if !(rand(5) == 1)
cont.findid.i_rune_poison.remove
cont.effect 3,0376a,2,10,1
cont.sayua 048,6,6,0 * zehir etkisini iyilestirir *
else
cont.sayua 020,6,6,0 * zehiri iyilestiremez *
endif
elseif (<cont.findid.i_bleeding>)/////////Bleeding bana bleed
if !(rand(5) == 1)
cont.findid.i_bleeding.remove
cont.effect 3,0376a,2,10,1
cont.sayua 048,6,6,0 *yarayi tedavi eder*
else
cont.sayua 020,6,6,0 *yarayi tedavi edemez*
endif
else // heal self
cont.hits (<cont.hits> + <morey>)
cont.effect 3,0376a,2,10,1
cont.sayua 048,6,6,0 * kendini tedavi eder *
if (<cont.hits> > <cont.str>)
cont.hits <cont.str>
endif
endif
cont.checkhealing 1
cont.checkanatomy 1
if (<cont.dex> < 35)
timer 14
else
timer 8
endif
endif
morey 0 // memory'yi etkisiz hale getir
cont.events -e_healing // eventi kaldir artik gerek yok
return 1
endif
remove
return 1
[events e_healing]
On=@GetHit
if (rand(2) == 1)
sayua 020,6,6,0 * bandajlari yirtilir *
findid.i_mem_healing.remove
endif
On=@Death
findid.i_mem_healing.remove
On=@Logout
findid.i_mem_healing.remove
[function checkhealing]
if (<args> == 1) && (<healing> >= 80.0) && (rand(3) == 1)
return 0
endif
if ((<skilllock[17]> == 0) && (<skilltotal> < 700.0))
if (<healing> < 30.0)
if (rand(2) == 1)
healing (<healing> + 1)
endif
elseif (<healing> < 50.0)
if (rand(2) == 1)
healing (<healing> + 1)
endif
elseif (<healing> < 75.0)
if (rand(2) == 1)
healing (<healing> + 1)
endif
elseif (<healing> < 100.0)
if (rand(4) == 1)
healing (<healing> + 1)
endif
endif
endif
[function checkveterinary]
if ((<skilllock[39]> == 0) && (<skilltotal> < 700.0))
if (<veterinary> < 30.0)
if (rand(1) == 1)
veterinary (<veterinary> + 1)
endif
elseif (<veterinary> < 50.0)
if (rand(2) == 1)
veterinary (<veterinary> + 1)
endif
elseif (<veterinary> < 75.0)
if (rand(3) == 1)
veterinary (<veterinary> + 1)
endif
elseif (<veterinary> < 100.0)
if (rand(5) == 1)
veterinary (<veterinary> + 1)
endif
endif
endif
[function checkanatomy]
if (<args> == 1) && (<anatomy> >= 80.0) && (rand(3) == 1)
return 0
endif
if ((<skilllock[1]> == 0) && (<skilltotal> < 700.0))
if (<anatomy> < 30.0)
if (rand(1) == 1)
anatomy (<anatomy> + 1)
endif
elseif (<anatomy> < 50.0)
if (rand(2) == 1)
anatomy (<anatomy> + 1)
endif
elseif (<anatomy> < 75.0)
if (rand(3) == 1)
anatomy (<anatomy> + 1)
endif
elseif (<anatomy> < 100.0)
if (rand(5) == 1)
anatomy (<anatomy> + 1)
endif
endif
endif
[function checkanimallore]
if ((<skilllock[2]> == 0) && (<skilltotal> < 700.0))
if (<animallore> < 30.0)
if (rand(1) == 1)
animallore (<animallore> + 1)
endif
elseif (<animallore> < 50.0)
if (rand(2) == 1)
animallore (<animallore> + 1)
endif
elseif (<animallore> < 75.0)
if (rand(4) == 1)
animallore (<animallore> + 1)
endif
elseif (<animallore> < 100.0)
if (rand(5) == 1)
animallore (<animallore> + 1)
endif
endif
endif
[DIALOG d_rescon]
0,375
nomove
page 0
resizepic 30 10 5054 145 75
text 45 15 600 0
text 60 35 0 1
text 60 55 0 2
button 40 35 210 211 1 0 1
button 40 55 210 211 1 0 0
[DIALOG d_rescon TEXT]
Resurrect?
yeah, sure.
no, thanks.
[DIALOG d_rescon BUTTON]
ONBUTTON=0
ONBUTTON=1
SRC.RESURRECT
[EOF]
Fix:
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
The Owner Prodigy Tarafindan Fixlenmistir ! ....
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Date = 23 / 07 / 2004 ---- Tum Hakları Saklıdır !
VERSION=0.55i
[function spell_say]
sayua 0034,6,6,eng, <args>
[events e_death_announce]
On=@Death
if !(<isevent.e_qchar>)
if (<fame> > 9900) && (<memoryfindtype.memory_harmedby>) && (<act.ischar>) && (<act.uid> != <uid>) && (0<act.npc> == 0)
serv.allclients sysmessage <sex Lord/Lady> <name>, <act.name> tarafindan <region.name> civarlarinda olduruldu.
endif
endif
[events fix]
On=@Profile
if (<src.uid> == <uid>) || (0<src.account.plevel> > 2)
src.smg Kullanici Adi: <account.name>,
src.smg Online Sureniz: <eval (<account.totalconnecttime> / 60)>s
src.smg Kayit Tarihi: <account.firstconnectdate>
if (strmatch('<src.uid.04009a3fa.tag.<account.name>_vet>','01'))
src.sysmessage Veteran: odul verilmis.
endif
src.smg Karakter: <eval (<age> / 86400)> gun once dogmus.
endif
On=@Death
if (<kills> > 99999999999)
f_statloss
endif
On=@GetHit
if (<findtype.t_eq_trade_window>)
findtype.t_eq_trade_window.remove
endif
On=@EnvironChange
if !(<memoryfindtype.memory_guild.link.align>) || (<kills> > 5)
if (<findlayer(2).baseid> == i_shield_chaos) || (<findlayer(2).baseid> == i_shield_order)
findlayer(2).unequip
endif
endif
if !((<findlayer(32)> || <findlayer(44)> || <findlayer(47)>)) // active stat-effecting spell?
stchk
if ((<findlayer(10).baseid> == i_platemail_gorget) && (<findlayer(6).baseid> == i_platemail_helm) && (<findlayer(7).baseid> == i_platemail_gloves) && (<findlayer(13).baseid> == i_platemail_chest) && (<findlayer(19).baseid> == i_platemail_arms) && (<findlayer(24).baseid> == i_platemail_leggings))
if (<dex> > 80)
dex 80
endif
elseif ((<findlayer(6).baseid> == i_bone_helmet) && (<findlayer(13).baseid> == i_bone_chest) && (<findlayer(19).baseid> == i_bone_arms) && (<findlayer(7).baseid> == i_bone_gloves) && (<findlayer(4).baseid> == i_bone_leggings))
if (<dex> > 85)
dex 85
endif
endif
if !((<isevent.e_str>) || (<isevent.e_dex>) || (<isevent.e_int>) || (<isevent.e_spr>))
var.stats <eval (<str> + <int> + <dex>)> // stat cap fix
if (<eval <var.stats>> > 225)
statcapdex
endif
endif
endif
On=@SpellCast
if (<findlayer(1).type> == t_spellbook)
findlayer(2).unequip
elseif !(<findlayer(2).type> == t_weapon_mace_staff)
findlayer(1).unequip
findlayer(2).unequip
endif
if ((<flags>&statf_freeze) || (<flags>&statf_stone) || (<findtype.t_armor.cont.uid> == <uid>)) // dur bakim nolyo
f_fizzle
return 1
endif
if (<kills> < 6) && (strmatch('<targ.region.name>','Calimport'))
smg Calimport'un guclu buyu duvarlari sebebiyle buyunuz engellendi.
go 5249 3918 28
f_fizzle
return 1
endif
if (<act.ischar>)
if !(<act.flags>&statf_insubstantial) && (0<act.account.plevel> > 0<account.plevel>)
f_fizzle
return 1
elseif ((<argn> == 7) || (<argn> == 15)) // no prot. & reac. arm. over armor
if (<act.findtype.t_armor.cont.uid> == <act.uid>)
f_fizzle
return 1
endif
elseif (<argn> == 59) && !(<act.flags>&statf_dead)
f_fizzle
return 1
endif
endif
if (<act.id> == c_pv)
if !((<argn> == 25) || (<argn> == 26) || (<argn> == 46) || (<argn> == 48) || (<argn> == 49) || (<argn> == 54) || (<argn> == 55) || (<argn> == 57))
f_fizzle
return 1
endif
endif
// spell freeze time
if (<argn> == 1) // Clumsy
spell_say Uus Jux
mg1
elseif (<argn> == 2) // Create food
spell_say In Mani Ylem
mg1
elseif (<argn> == 3) // Feeblemind
spell_say Rel Wis
mg1
elseif (<argn> == 4) // Heal
spell_say In Mani
sd 1
mg1
elseif (<argn> == 5) // Magic Arrow
spell_say In Por Ylem
mg1
elseif (<argn> == 6) // Night Sight
spell_say In Lor
mg1
elseif (<argn> == 7) // Reactive Armor
spell_say Flam Sanct
sd 1
mg1
elseif (<argn> == 8) // Weaken
spell_say Des Mani
mg1
elseif (<argn> == 9) // Agility
spell_say Ex Uus
mg2
elseif (<argn> == 10) // Cunning
spell_say Uus Wis
mg2
elseif (<argn> == 11) // Cure
spell_say An Nox
sd 1
if (<act.findid.i_rune_poison>)
if (<act.findid.i_rune_poison.morey> > <eval ((<magery> + 400) / 2)>)
if !(rand(8) == 1)
act.effect 3,0374a,1,15,1
act.sound snd_spell_poison
f_fizzle
return 1
endif
endif
endif
mg2
elseif (<argn> == 12) // Harm
spell_say An Mani
sd 1
mg2
elseif (<argn> == 13) // Trap
spell_say In Jux
f_fizzle
return 1
elseif (<argn> == 14) // Untrap
spell_say An Jux
f_fizzle
return 1
elseif (<argn> == 15) // Protection
spell_say Uus Sanct
sd 1
mg2
elseif (<argn> == 16) // Strength
spell_say Uus Mani
sd 1
mg2
elseif (<argn> == 17) // Bless
spell_say Rel Sanct
sd 1
mg3
elseif (<argn> == 18) // Fireball
spell_say Vas Flam
sd 1
mg3
elseif (<argn> == 19) // Lock
spell_say An Por
f_fizzle
return 1
elseif (<argn> == 20) // Poison
spell_say In Nox
psg
sd 1
elseif (<argn> == 21) // Telekinesis
spell_say Ort Por Ylem
sd 1
if (<act.isitem>)
if (<act.cont.isitem>)
if ((<act.cont.type> == t_corpse) || (<act.topobj.id> == c_pv))
f_fizzle
return 1
endif
endif
else
f_fizzle
return 1
endif
mg3
elseif (<argn> == 22) // Teleport
spell_say Rel Por
mg3
elseif (<argn> == 23) // Unlock
spell_say Ex Por
f_fizzle
return 1
elseif (<argn> == 24) // Wall
spell_say In Sanct Ylem
sd 1
mg3
elseif (<argn> == 25) // Arch Cure
spell_say Vas An Nox
sd 2
mg4
elseif (<argn> == 26) // Arch Protection
spell_say Vas Uus Sanct
sd 2
mg4
elseif (<argn> == 27) // Curse
spell_say Des Sanct
sd 2
mg4
elseif (<argn> == 28) // Fire Field
spell_say In Flam Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
endif
sd 2
mg4
elseif (<argn> == 29) // Greater Heal
spell_say In Vas Mani
sd 2
mg4
elseif (<argn> == 30) // Lightning
spell_say Por Ort Grav
sd 2
mg4
elseif (<argn> == 31) // Mana Drain
spell_say Ort Rel
f_fizzle
return 1
elseif (<argn> == 32) // Recall
spell_say Kal Ort Por
sd 2
mg4
elseif (<argn> == 33) // Blade Spirits
spell_say In Jux Hur Ylem
sd 2
mg5
elseif (<argn> == 34) // Dispel Field
spell_say An Grav
if (<act.ischar>)
f_fizzle
return 1
endif
sd 2
mg5
elseif (<argn> == 35) // Incognito
spell_say Kal In Ex
sd 2
mg5
elseif (<argn> == 36) // Magic Reflect
spell_say In Jux Sanct
sd 2
mg5
elseif (<argn> == 37) // Mind Blast
spell_say Por Corp Wis
sd 2
mg5
elseif (<argn> == 38) // Paralyze
spell_say An Ex Por
sd 2
mg5
elseif (<argn> == 39) // Poison Field
spell_say In Nox Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
endif
sd 2
mg5
elseif (<argn> == 40) // Summon Creature
spell_say Kal Xen
sd 2
mg5
elseif (<argn> == 41) // Dispel
spell_say An Ort
sd 2
mg6
elseif (<argn> == 42) // Energy Bolt
spell_say Corp Por
sd 2
mg6
elseif (<argn> == 43) // Explosion
spell_say Vas Ort Flam
sd 2
mg6
elseif (<argn> == 44) // Invisibility
spell_say An Lor Xen
sd 2
mg6
elseif (<argn> == 45) // Mark
spell_say Kal Por Ylem
sd 2
mg6
elseif (<argn> == 46) // Mass Curse
spell_say Vas Des Sanct
sd 2
mg6
elseif (<argn> == 47) // Paralyze Field
spell_say In Ex Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
endif
sd 3
mg6
elseif (<argn> == 48) // Reveal
spell_say Wis Quas
sd 2
mg6
elseif (<argn> == 49) // Chain Lightning
spell_say Vas Ort Grav
if (<act.uid> == <uid>)
f_fizzle
return 1
endif
sd 3
mg7
elseif (<argn> == 50) // Energy Field
spell_say In Sanct Grav
if (<act.topobj.ischar>)
f_fizzle
return 1
endif
sd 3
mg7
elseif (<argn> == 51) // Flame strike
spell_say Kal Vas Flam
sd 3
mg7
elseif (<argn> == 52) // Gate Travel
spell_say Vas Rel Por
sd 3
mg7
elseif (<argn> == 53) // Mana Vampire
spell_say Ort Sanct
f_fizzle
return 1
elseif (<argn> == 54) // Mass Dispel
spell_say Vas An Ort
sd 3
mg7
elseif (<argn> == 55) // Meteor Swarm
spell_say Flam Kal Des Ylem
if (<act.uid> == <uid>)
f_fizzle
return 1
endif
sd 3
mg7
elseif (<argn> == 56) // Polymorph
spell_say Vas Ylem Rel
sd 3
mg3
elseif (<argn> == 57) // Earthquake
spell_say In Vas Por
sd 3
mg8
elseif (<argn> == 58) // Energy Vortex
spell_say Vas Corp Por
sd 3
mg8
elseif (<argn> == 59) // Resurrect
spell_say An Corp
sd 3
mg8
elseif (<argn> == 60) // Air Elemental
spell_say Kal Vas Xen Hur
sd 3
mg8
elseif (<argn> == 61) // Summon Deamon
spell_say Kal Vas Xen Corp
sd 3
mg8
elseif (<argn> == 62) // Earth Elemental
spell_say Kal Vas Xen Ylem
sd 3
mg8
elseif (<argn> == 63) // Fire Elemental
spell_say Kal Vas Xen Flam
sd 3
mg8
elseif (<argn> == 64) // Water Elemental
spell_say Kal Vas Xen An Flam
sd 3
mg8
endif
On=@SpellEffect
if (<flags>&statf_dead) // oluye dokunulmaz, ayiptir
if (<argn> == 59)
sfx snd_spell_resurrection
findlayer(22).remove
color <oskin>
update
effect 3,0376a,2,20,1
else
return 1
endif
elseif ((<argn> == 9) || (<argn> == 10) || (<argn> == 16) || (<argn> == 17)) // stat fix
findlayer(32).remove // spell
findlayer(44).remove // potion
elseif ((<argn> == 49) || (<argn> == 55)) // eve disardan chain atsalar bile icerdeki yemez
if !(<src.region.type> == <region.type>)
return 1
endif
elseif (<argn> == 37) // mindblast
if (<src.int> > <int>)
var.mb (<src.int> - <int>)
var.mb <eval (<var.mb> / 2)>
if (<eval <var.mb>> > 40)
var.mb 40
endif
damage <eval (<var.mb> + {-5 5)>
else
damage {5 10}
endif
sfx snd_spell_mind_blast
effect 3,0374a,1,15,1
elseif ((<argn> == 41) || (<argn> == 54)) // dispel & mass dispel
if (<findid.i_morpher>)
if !(<findid.i_pre_morph>)
findid.i_morpher.remove
endif
endif
elseif ((<argn> == 20) || (<argn> == 39)) // poison, poison field
if !(<findid.i_rune_poison>) && (<flags>&statf_poisoned)
flags <flags>&~statf_poisoned
endif
if !(<src.uid> == <uid>)
skill fail
endif
if (<eval (<src.poisoning> + 100)> > <eval <findid.i_rune_poison.morey>>)
findid.i_rune_paralyze.remove
findid.i_rune_paralyze_field.remove
findid.i_rune_poison.remove
if (<distance> > 3) && (<eval (<src.poisoning> + 100)> > 700)
poison (600 + {-100 100})
else
poison (<src.poisoning> + {-100 100})
endif
endif
sfx snd_spell_poison
effect 3,0374a,1,15,1
return 1
elseif ((<argn> == 38) || (<argn> == 47)) // paralyze & paralyze field
if (<findid.i_pouch_trapped>)
effect 3,i_fx_explode,3,25,1
sound snd_spell_explosion
damage 20
findid.i_pouch_trapped.remove
return 1
elseif !(<src.uid> == <uid>)
findid.i_rune_poison.remove
endif
elseif (<argn> == 26) // no arch prot. over armor
if (<findtype.t_armor.cont.uid> == <uid>)
return 1
endif
elseif (<argn> == 25) // arch cure
if (<memoryfindtype.memory_town>) && !(<src.memoryfindtype.memory_town>)
return 1
elseif (<memoryfindtype.memory_guild.link.align> > 0) && !(<src.memoryfindtype.memory_guild.link.align>)
return 1
endif
if (<findid.i_rune_poison>)
if (<findid.i_rune_poison.morey> > <eval ((<src.magery> + 400) / 2)>)
if !(rand(8) == 1)
effect 3,0374a,1,15,1
sound snd_spell_poison
return 1
endif
endif
endif
elseif (<argn> == 4) || (<argn> == 29) || (<argn> == 11)
if (<memoryfindtype.memory_town>) && !(<src.memoryfindtype.memory_town>)
src.sms Faction uyelerini iyilestiremezsiniz.
return 1
elseif (<memoryfindtype.memory_guild.link.align> > 0) && !(<src.memoryfindtype.memory_guild.link.align>)
src.sms Order/Chaos uyelerini iyilestiremezsiniz.
return 1
endif
if (<argn> == 4) || (<argn> == 29)
if (<findid.i_rune_poison>)
effect 3,0374a,1,15,1
sound snd_spell_poison
return 1
endif
endif
endif
On=@SkillStart
if (<action> == id(skill_stealth)) || (<action> == skill_stealth)
if (<hiding> < 80.0)
smg Stealth yapabilmek icin 80 hiding skilline ihtiyaciniz var.
skill fail
return 1
elseif (<eval (<ac> * 100)> > <eval (<stealth> + 200)>)
sms Zirhinizin verdigi agirlik gizlenmenizi engelliyor
skill fail
return 1
elseif (<flags>&statf_onhorse)
sms Binek uzerinde gizlenemezsiniz.
skill fail
return 1
endif
elseif (<action> == id(skill_hiding)) || (<action> == skill_hiding)
if (<eval (<ac> * 100)> > <eval (<hiding> + 200)>)
sms Zirhinizin verdigi agirlik gizlenmenizi engelliyor
skill fail
return 1
elseif (<flags>&statf_onhorse)
sms Binek uzerinde gizlenemezsiniz.
skill fail
return 1
endif
elseif ((<action> == id(skill_herding)) || (<action> == skill_herding))
if (<targ.id> == c_pv)
skill fail
return 1
endif
elseif ((<action> == id(skill_stealing)) || (<action> == skill_stealing)) // stealing fiks
if (<targ.topobj.id> == c_pv)
skill fail
return 1
elseif !(<targ.topobj.ischar>)
sms Sadece canli varliklardan calabilirsiniz.
skill fail
return 1
elseif (<targ.isitem>)
if (<targ.cont>)
if (<targ.cont.type> == t_eq_trade_window)
skill fail
return 1
endif
endif
endif
endif
if (strmatch('<tag.ms>','<action>'))
tag.mn <eval (<tag.mn> + 1)>
elseif ((strmatch('<tag.ms>','Skill_Magery')) && (strmatch('Skill_Meditation','<action>')))
tag.mn <eval (<tag.mn> + 1)>
elseif ((strmatch('<tag.ms>','Skill_Meditation')) && (strmatch('Skill_Magery','<action>')))
tag.mn <eval (<tag.mn> + 1)>
else
tag.mn 0
endif
if (<eval <tag.mn>> > 2500) // bu sayi ile oynamayin, sicar.
var.act <act>
newitem i_macro_detect
tag.mt <act.uid>
act.link <uid>
act.name <act.link.name> [<serv.time>]
act.more1 <serv.time>
if (strmatch('<serv.name>','Locus'))
act.cont 040004353
try var.mts <uid.04018c20d.rescount>
elseif (strmatch('<serv.name>','Quann'))
act.cont 040004353
try var.mts <uid.040132e0c.rescount>
endif
var.smsgx 0251
serv.allclients macrodetect <eval <var.mts>>: <name>
act <var.act>
tag.mn 0
else
tag.ms <action>
endif
On=@Click
if !(<isevent.e_faction>) && !(<findid.i_rune_incognito>) && (<memoryfindtype.memory_guild>)
if (strmatch('<tag.gs_title>','')
message [<memoryfindtype.memory_guild.link.name>]
else
message [<tag.gs_title>, <memoryfindtype.memory_guild.link.abbrev>]
endif
endif
On=@ItemSpell
if !((<argn> == 2) || (<argn> == 13) || (<argn> == 14) || (<argn> == 19)|| (<argn> == 21) || (<argn> == 23) || (<argn> == 24) || (<argn> == 28) || (<argn> == 32) || (<argn> == 34) || (<argn> == 39) || (<argn> == 45) || (<argn> == 46) || (<argn> == 47) || (<argn> == 48) || (<argn> == 50) || (<argn> == 54) || (<argn> == 55) || (<argn> == 57)) // no enchant
f_fizzle
return 1
endif
On=@ItemEquip
if (<act.type> == t_weapon_axe)
events +e_axer
endif
if (<act.attr>&attr_magic) && !(<act.type> == t_armor) && !(<act.type> == t_shield) && !(<act.type> == t_armor_leather)
if (<act.color> == 02bc) || (<act.color> == 0373) || (<act.color> == 070d) || (<act.color> == 075f) || (<act.color> == 0454)
act.color 0
act.name
endif
endif
On=@ItemUnEquip
if (<act.type> == t_weapon_axe)
events -e_axer
endif
On=@ItemDClick
if (<targ.topobj.id> == c_pv)
if (<targ.type> == t_container)
targ.open
endif
return 1
endif
On=@ItemClick
if (strmatch('<act.cont.type>','t_eq_trade_window'))
act.message [secure]
endif
if (<act.topobj.id> == c_pv)
if (strmatch('<act.price>',''))
act.message [satilamaz]
elseif (<act.price> <= 0)
act.message [satilik degil]
else
if ((<act.type> == t_armor) || (<act.type> == t_armor_leather) || (<act.type> == t_shield) || (<act.type> == t_clothing) || (<act.type> == t_weapon_sword) || (<act.type> == t_weapon_fence) || (<act.type> == t_weapon_mace_staff) || (<act.type> == t_weapon_mace_smith) || (<act.type> == t_weapon_mace_pick) || (<act.type> == t_weapon_bow) || (<act.type> == t_weapon_xbow))
if !(<eval ((<act.more1l> * 100) / <act.more1h>)> == 100)
act.message [<act.price> gp] [%<eval (100 - ((<act.more1l> * 100) / <act.more1h>))> eski]
else
act.message [<act.price> gp]
endif
else
act.message [<act.price> gp]
endif
endif
endif
if (<act.layer> == 21) && (<act.cont.ischar>)
act.message Inventory
return 1
else
if ((<act.attr>&attr_newbie) && (0<act.topobj.npc> == 0)) // blessed itemlari belirt
act.message [newbified]
endif
if (<act.type> == t_container)
if !(<act.baseid> == i_strong_box)
if (<act.attr>&attr_move_never) && !(strmatch('<act.region.tag.owner>,'')) && (<act.region.type> == <region.type>)
act.message [sabit]
endif
if (<act.baseid> == i_bones)
act.message [loot: <act.rescount> esya]
act.message <act.name>
elseif (<act.rescount> > 0)
act.message <act.typedef.name> [<act.rescount>,<eval ((<act.weight> / 10) - <act.typedef.weight>)>]
else
act.message <act.typedef.name>
endif
return 1
endif
endif
endif
if ((<act.topobj.uid> == <uid>)
if (<act.type> == t_weapon_xbow)
act.message [bolts: <eval <rescount <act.tdata3>>>]
elseif (<act.type> == t_weapon_bow)
act.message [arrows: <eval <rescount <act.tdata3>>>]
endif
endif
On=@ItemPickUp_Pack
if (<act.topobj.id> == c_pv)
if !(<uid> == <act.topobj.tag.owner>)
return 1
endif
elseif !(strmatch('<act.price>',''))
if (<act.price> > 0)
act.price 0
endif
endif
On=@ItemTargOn_Item
if ((<targ.topobj.id> == c_pv) && (<act.cont.uid> != <targ.topobj.uid>))
return 1
elseif (<targ.baseid> == i_corpse) // human cesetleri bicememe
if ((<targ.amount> == 400) || (<targ.amount> == 401))
return 1
endif
endif
On=@ItemDropOn_Ground
if (<act.attr> == 04008)
act.attr 0
endif
if !((<weight> + <act.weight>) > <weightmax>)
if ((<action> == id(skill_fishing)) || (<action> == skill_fishing))
if (<act.type> == t_fish) // tutulan baliklari
act.bounce // at cantaya
endif
elseif ((<action> == id(skill_magery)) || (<action> == skill_magery))
if (<act.type> == t_food) // yapilan yemekleri
act.bounce // at cantaya
endif
endif
endif
// end of main fixes
[events e_qchar]
On=@Death
hits 5
fame 10000
return 1
On=@GetHit
hits (<hits> + 15)
if (<hits> > <str>)
hits <str>
endif
On=@EnvironChange
if (<npc>)
food 999
endif
[events e_fix_anim]
ON=@SpellCast
src.events +e_fix_anim
If (<argn>=s_bless)
If (<argn>=s_protection)
If (<argn>=s_reactive_armor)
If (<argn>=s_magic_reflection)
If (<src.act.npc>=brain_animal)
src.sysmessage Bu büyüyü hayvanlar üzerinde kullanamazsiniz.
endif
endif
endif
endif
endif
[EOF]