Версия:Скрипт для Sphere server 56b-56c
Описание:Так уж принято, что на сфере множество навыков не работает или ничего не дает. С добавлением этого скрипта, на один бесполезный навык станет меньше.
(IMG:
http://www.uoguide.com/images/c/cf/Flag_enticement.gif)
Enticement
Успешное применение навыка на монстра, снижает его Str/Dex/Int, а так же здоровье, стамину и ману каждый раз:
Снижение силы/здоровья = Enticement/100
Снижение ловкости/стамины = Enticement/200
Снижение интеллекта/маны = Enticement/200
Снижение параметров монстра не может быть опущено ниже:
Минимальная сила монстра = 300 - Enticement/10
Минимальная ловкость монстра = 200 - Enticement/10
Минимальный интеллект монстра = 200 - Enticement/10
Установка:Откройте sphere skill.scp , найдите там навык
[SKILL 15]
DEFNAME=SKILL_ENTICEMENT
И замените на этот скрипт:
Код
[SKILL 15]
DEFNAME=SKILL_ENTICEMENT
KEY=Enticement
PROMPT_MSG=Whom do you wish to entice?
//TITLE=Bard
DELAY=7.0
ON=@START
FACE <ACT>
IF (<ACT.BRAIN>==BRAIN_MONSTER) || (<ACT.BRAIN>==BRAIN_DRAGON)
ELSE
SYSMESSAGE Навык применяется на монстров.
RETURN 1
ENDIF
ON=@FAIL
SYSMESSAGE Тщетно.
ON=@SUCCESS
LOCAL.ENTICEMENT_STR_MAX_DEBUFF=<EVAL (<ENTICEMENT>/100)>
LOCAL.ENTICEMENT_DEX_MAX_DEBUFF=<EVAL (<ENTICEMENT>/200)>
LOCAL.ENTICEMENT_INT_MAX_DEBUFF=<EVAL (<ENTICEMENT>/200)>
LOCAL.ENTICEMENT_STR_MIN=<EVAL (300 - <EVAL (<ENTICEMENT>/10)>)>
LOCAL.ENTICEMENT_DEX_MIN=<EVAL (200 - <EVAL (<ENTICEMENT>/10)>)>
LOCAL.ENTICEMENT_INT_MIN=<EVAL (200 - <EVAL (<ENTICEMENT>/10)>)>
IF (70 > <R100>)
IF (<ACT.STR> > <DLOCAL.ENTICEMENT_STR_MIN>)
ACT.STR=<EVAL (<ACT.STR> - <DLOCAL.ENTICEMENT_STR_MAX_DEBUFF>)>
ACT.HITS=<EVAL (<ACT.HITS> - <DLOCAL.ENTICEMENT_STR_MAX_DEBUFF>)>
ACT.MESSAGE - <DLOCAL.ENTICEMENT_STR_MAX_DEBUFF> Str/Hits
ENDIF
ELIF (15 > <R100>)
IF (<ACT.DEX> > <DLOCAL.ENTICEMENT_DEX_MIN>)
ACT.DEX=<EVAL (<ACT.DEX> - <DLOCAL.ENTICEMENT_DEX_MAX_DEBUFF>)>
ACT.STAM=<EVAL (<ACT.STAM> - <DLOCAL.ENTICEMENT_DEX_MAX_DEBUFF>)>
ACT.MESSAGE - <DLOCAL.ENTICEMENT_DEX_MAX_DEBUFF> Dex/Stam
ENDIF
ELIF (15 > <R100>)
IF (<ACT.INT> > <DLOCAL.ENTICEMENT_INT_MIN>)
ACT.INT=<EVAL (<ACT.INT> - <DLOCAL.ENTICEMENT_INT_MAX_DEBUFF>)>
ACT.MANA=<EVAL (<ACT.MANA> - <DLOCAL.ENTICEMENT_INT_MAX_DEBUFF>)>
ACT.MESSAGE - <DLOCAL.ENTICEMENT_INT_MAX_DEBUFF> Int/Mana
ENDIF
ENDIF
[EOF]