Outils pour utilisateurs

Outils du site


talents:lancer_d_armes

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

talents:lancer_d_armes [2023/10/03 22:37] – créée pintou10_live.frtalents:lancer_d_armes [2024/05/14 13:44] (Version actuelle) pintou10_live.fr
Ligne 1: Ligne 1:
-/////////////////////////////////////////////////////////////////////////////////////////// +{{ :playground:29.png  |Lancer d'armes }}
-////////////////////////////////Lancer d'arme///////////////////////////////////////////// +
-//////////////////////////////////////////////////////////////////////////////////////////+
  
 +**Le guerrier lance son arme vers son adversaire. Le guerrier doit garder l'adversaire dans son champ de vision pour réussir à lui lancer son arme dessus.**
  
-[function lancerarme] +  * **Commande : .LancerArme** 
- +  * **Distance : 8 tiles et moins.** 
-IF !(<SRC.TAG0.lancerarme>>1) +  * **Cooldown : Cooldown minimal 15 secondes et Cooldown maximal 70 secondesFormule = (70/(Intelligence/500)) ((% de Lancer d'arme)/5)** 
- SRC.MESSAGEROUGE Vous ne possédez pas cette habileté+  * **Coût : 100 de stamina** 
- RETURN 1 +  * **Délai : Il y a un délai de 3 secondes avant que l'arme soit lancée.** 
-endif +  * **Dommage : Dommage minimal = (((de lancer d'arme)*10)/5)/2. Dommage maximal = ((% de lancer d'arme)*10)/5 ** 
- +  * **Note :  L'arme lancée apparaît au sol sous l'adversaireSi le guerrier marche sur l'arme, il la ramasse, ce qui réduira le cooldown de l'habileté de 5 secondes.**
-if (<src.stam><100) +
- src.messagerouge Vous n'avez pas assez de stamina. +
- return 1 +
-endif +
- +
- +
-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))  +
- +
- 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 ((<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)) +
- +
- 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 = +
- 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 +
talents/lancer_d_armes.1696372644.txt.gz · Dernière modification : de pintou10_live.fr