Ceci est une ancienne révision du document !
/////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////Lancer d'arme/////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
[function lancerarme]
IF !(<SRC.TAG0.lancerarme»1)
SRC.MESSAGEROUGE Vous ne possédez pas cette habileté. RETURN 1
endif
if (<src.stam><100)
src.messagerouge Vous n'avez pas assez de stamina. return 1
endif
if 1)
if (<SRC.tag0.Assourdissement>==1) SRC.MESSAGErouge Vous ne pouvez utiliser d'habiletés pour l'instant. RETURN 1 endif
IF (<SRC.restest 1 i_lancerarme_memory>) SRC.MESSAGEROUGE Vous devez attendre encore <eval <src.findid.i_lancerarme_memory.timer>> secondes avant d'utiliser cette habileté à nouveau. RETURN 1 endif
targetf f_lancer_arme src.messagevert Sur qui voulez-vous lancer votre arme ? return 1
else
src.messagerouge Vous n'avez pas d'arme d'équipée return 1
endif
if 2)
if (<SRC.tag0.Assourdissement>==1) SRC.MESSAGErouge Vous ne pouvez utiliser d'habiletés pour l'instant. RETURN 1 endif
IF (<SRC.restest 1 i_lancerarme_memory>) SRC.MESSAGEROUGE Vous devez attendre encore <eval <src.findid.i_lancerarme_memory.timer>> secondes avant d'équiper cette arme à nouveau. RETURN 1 endif
targetf f_lancer_arme src.messagevert Sur qui voulez-vous lancer votre arme ? return 1
else
src.messagerouge Vous n'avez pas d'arme d'équipée return 1
endif
[FUNCTION f_lancer_arme]
IF !(<ARGO.ISVALID> && <ARGO.ISCHAR>)
src.messagerouge Vous devez choisir un être vivant. return 1
ENDIF
IF (<argo.TAG0.PVPCHOICE>==2)
SRC.MESSAGErouge Ce joueur est en mode anti-pvp. RETURN 1
ENDIF
IF (<SRC.FINDID.i_lancerarme_memory>)
SRC.MESSAGEROUGE Vous devez attendre <eval <src.findid.i_lancerarme_memory.timer>> secondes avant de réutiliser cette habileté. RETURN 1
ENDIF
IF (<ARGO.DISTANCE»8)
SRC.MESSAGEROUGE Vous êtes trop loin de votre cible RETURN 1
ENDIF
IF (<argo.CANSEELOS>)
src.Sayu Se prépare à lancer son arme... SRC.ANIM 11 serv.newitem i_lancerarme_memory new.TIMER=80-(<SRC.TAG0.LANCERARME>/40)-(<src.int>/50) src.equip <new.uid> SRC.CTAG.UID_TARGET=<argo.UID>
if ((<src.findlayer(1).type>==t_weapon_sword) || (<src.findlayer(1).type>==t_weapon_fence) || (<src.findlayer(1).type>==t_weapon_mace_smith) || (<src.findlayer(1).type>==t_weapon_mace_sharp) || (<src.findlayer(1).type>==t_weapon_mace_staff) || (<src.findlayer(1).type>==t_weapon_mace_crook) || (<src.findlayer(1).type>==t_weapon_mace_pick) || (<src.findlayer(1).type>==t_weapon_axe)) src.ctag.lancerarmeID=<src.findlayer(1).dispid> src.ctag.lancerarmeColor=<src.findlayer(1).color> src.ctag.unequipweapon=<src.findlayer(1).uid> src.ctag.LayerLancer=1 src.ctag.BaseDmgLancer=<src.findlayer(1).dam> src.events +e_lancer_arme timerf 3,lancer_arme_dmg timerf 3, src.events -e_lancer_arme return 1 endif
if ((<src.findlayer(2).type>==t_weapon_sword) || (<src.findlayer(2).type>==t_weapon_fence) || (<src.findlayer(2).type>==t_weapon_mace_smith) || (<src.findlayer(2).type>==t_weapon_mace_sharp) || (<src.findlayer(2).type>==t_weapon_mace_staff) || (<src.findlayer(2).type>==t_weapon_mace_crook) || (<src.findlayer(2).type>==t_weapon_mace_pick) || (<src.findlayer(2).type>==t_weapon_axe)) src.ctag.lancerarmeID=<src.findlayer(2).dispid> src.ctag.lancerarmeColor=<src.findlayer(2).color> src.ctag.unequipweapon=<src.findlayer(2).uid> src.tag.LayerLancer=2 src.events +e_lancer_arme timerf 3,lancer_arme_dmg timerf 3, src.events -e_lancer_arme return 1 endif
ELSE
SRC.MESSAGEROUGE La cible n'est pas visible. RETURN 1
ENDIF
[EVENTS e_lancer_arme] on=@hittry return 1
[FUNCTION lancer_arme_dmg] ref1=<uid.<SRC.CTAG.UID_TARGET»
IF (<ref1.CANSEELOS>)
local.MinDmgLancer=(<src.tag0.Lancerarme>/5)/2 ref1.DMG_FIXED=(<eval <src.ctag0.BaseDmgLancer>> + <R<local.MinDmgLancer> (<src.ctag0.lancerarme>/5)>), <src.uid> ref1.EFFECT=0,<src.ctag0.LancerArmeID>,2,25,0,<src.ctag0.LancerArmeColor>,0, <src.uid>
src.stam=<src.stam>-100 src.sfx=05d2
if (<src.stam><0) src.stam=0 endif
if (<src.ctag0.LayerLancer>==1) src.findlayer(1).unequip elif (<src.ctag0.LayerLancer>==2) src.findlayer(2).unequip endif
SERV.NEWITEM=i_lancer_arme_item new.tag.proprietairearme=<src.uid> new.dispid=<src.ctag0.lancerarmeID> new.color=<src.ctag0.lancerarmeColor> NEW.p=<uid.<SRC.CTAG.UID_TARGET>.p> RETURN 1
ELSE
SRC.MESSAGEROUGE Vous ne pouvez voir votre cible.
IF (<SRC.FINDID.i_lancerarme_memory.timer> >= 11) SRC.FINDID.i_lancerarme_memory.timer -= 10 //Retrait de 10 secs sur le timer ELSE SRC.FINDID.i_lancerarme_memory.timer = 5 ENDIF
RETURN 1
ENDIF
[ITEMDEF i_lancer_arme_item] name=Arme DEFNAME=i_lancer_arme_item ID=i_axe_war TYPE=T_NORMAL on=@create ATTR=ATTR_MOVE_NEVER | ATTR_DECAY color= timer=10
on=@step if (<i.tag0.proprietairearme>==<src.uid>)
src.messagevert Vous ramassez votre arme SRC.FINDID.i_lancerarme_memory.timer -= 5 //Retrait de 5 secs sur le timer
if (<src.findid.i_lancerarme_memory.timer><0) src.findid.i_lancerarme_memory.timer=0 endif
remove
endif
on=@timer remove return 1
[itemdef i_lancerarme_memory] Name=lancer hache unequip ID=i_memory TYPE=t_eq_script LAYER=layer_special
ON=@CREATE ATTR=attr_invis
ON=@TIMER cont.messagevert Vous pouvez utiliser votre habileté de lancer d'arme à nouveau. cont.tag0.unequipweapon= REMOVE RETURN 1