Код
////////////////////////////////////////////////////////////////////////////////////////
//Luck System v0.5 by Mordaunt
//
// Designed to make use of "existing" luck items scripted by ClouD_BR
// To add new "luck" items set value on them in TAG.LUCK
// and add the event t_luck_item.
//
// Features: Lucky loot drops
// Lucky blow, double damage
// Lucky Dodge, dodge an attack (to balance the lucky blow)
// Luck affected Crafting (add AR/DAM) //Not included
////////////////////////////////////////////////////////////////////////////////////////
//Player event
[EVENTS e_luck]
ON=@KILL
LOCAL.LUCK=1500 +-<luck>
IF (<ARGO.NPC>)
IF !(RAND(<eval <LOCAL.LUCK>>))
f_lucky_draw
NEW.CONT <ARGO.UID>
ENDIF
RETURN 0
ENDIF
ON=@HIT
LOCAL.LUCK=1500 +-<luck>
IF !(RAND(<eval <LOCAL.LUCK>>))
ACT.DAMAGE (<ARGN1>*2) <ARGN2> <UID>
SYSMESSAGE @07a1 Lucky blow!
ENDIF
RETURN 0
ON=@GETHIT
LOCAL.LUCK=1500 +-<luck>
IF !(RAND(<eval <LOCAL.LUCK>>))
SYSMESSAGE @07a1 Wow! Lucky Dodge!
RETURN 1
ENDIF
//Crafting section under construction
ON=@SKILLMAKEITEM
LOCAL.LUCK=1500 +-<luck>
IF !(RAND(<eval <LOCAL.LUCK>>))
IF (<ACT.ISARMOR>)
ACT.MODAR=<eval (<ACT.ARMOR>*10)/100>
ACT.EVENTS +t_modar
ENDIF
IF (<ACT.ISWEAPON>)
DORAND 4
ACT.TAG.MODDAM=10
ACT.TAG.MODDAM=20
ACT.TAG.MODDAM=25
ACT.TAG.MODDAM=50
ENDDO
ACT.EVENTS +t_moddam
ENDIF
IF (<ACT.TYPE>==t_clothing)
ACT.MODAR=<eval <ACT.ARMOR>>
ACT.EVENTS +t_modar
ENDIF
IF (<ACT.TYPE>==t_weapon_bow) || (<ACT.TYPE>==t_weapon_xbow)
DORAND 4
ACT.HITPOINTS += 10
ACT.HITPOINTS += 20
ACT.HITPOINTS += 30
ACT.HITPOINTS += 40
ENDDO
ENDIF
ENDIF
//Item event
[TYPEDEF t_luck_item]
ON=@EQUIP
SRC.LUCK += <TAG.LUCK>
ON=@UNEQUIP
SRC.LUCK -= <TAG.LUCK>
ON=@CLIENTTOOLTIP
SRC.ADDCLILOC 1060436, <EVAL <TAG0.LUCK>>
//Damage increase typedef
[TYPEDEF t_moddam]
ON=@CLIENTTOOLTIP
SRC.ADDCLILOC 1074325, <eval <tag0.moddam>>
ON=@EQUIP
SRC.EVENTS +e_dam_event
ON=@UNEQUIP
SRC.EVENTS +e_dam_event
//Damage Increase event --> Put on an all players & NPC's event
[EVENTS e_dam_event]
ON=@GETHIT
IF (<SRC.FINDLAYER.LAYER_HAND1.tag0.moddam>)
ARGN1=<eval <eval <argn1>*<SRC.FINDLAYER.LAYER_HAND1.tag0.moddam>>/100> + <eval <argn1>>
ENDIF
[FUNCTION f_lucky_draw
DORAND 27 //edit this to match the # of lines
//insert lucky loot here
SERV.NEWITEM={ i_gloves_alchemist 1 i_robe_alchemist 1 i_ring_alchemist 1 i_bracelet_alchemist 1 i_glasses_alchemist 1}
SERV.NEWITEM={ i_enchant_ring_gold 1 i_enchant_bracelet_gold 1 i_enchant_necklace_gold 1 i_enchant_earrings_gold 1 }
ENDDO
[EOF]