massis87   
		
			Journeyman 
			  
			
			
 
 
			
	Posts: 82 
	Likes Given: 0
 
Likes Received: 1 in 1 posts 
	Joined: Jan 2017
	
 Reputation: 0
  
			D&W 8thAge
 ![]()  
		
	 | 
	
		
			
RE: @skillstart 
			 
			
				i use skillstar for more skills. 
i have more than 500k of custom combat sys. and try to change trigger is too heavy now. 
this is the block of archery but i have all combats like this, i know there are errors but not importants. 
the question is, how can i convert from skillstart to hitry all this? :|
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//--------------------------------------------------- Blocco : Archery ---------------------------------------------------// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
//--- In questo Blocco viene ModIFicato il Combat System Base per l'utilizzo della Skill Archery con utilizzo dell'Arco, 
//--- non con l'utilizzo della Balestra (Quello � sotto il Combat System Base). 
 
 
//---- Blocco Controlli Preliminari  
//- Items [Blocco Attaccare Oggetti] 
//- Invul 
//- Paralizzato. 
//- Stone. 
 
//---- Blocco di Controllo di Azioni Particolari Vietate: 
//- Controllo Zone Safe Mode [Dove non � permesso Killare]. 
//- Kill di un Animale Legato. 
//- Kill di un Player Recently Ressed. 
 
//---- Blocco Pulizia Flag su WarMode: 
//- Rimozione Hidding. 
//- Rimozione Tag [Recently Ressed] 
//- Rimozione Tag [Fuga] 
 
//----- Blocco del Danno Effettico di un Arco o di una Balestra basati sulle Skill. 
 
//-- In Questo Blocco vengono considerati i seguenti fattori per calibrare il danni: 
//- Skill 		: Archery - Tactics - Anatomy | (<SRC.Archery>/100)+(<SRC.Tactics>/200)+(<SRC.anatomy>/200) 
//- Stat  		: Dex | (<SRC.dex>/20) 
//- D. Arma     : (<SRC.findlayer(2).morey>/70) 
 
//---- Va considerato che le Skill su Sphere vengono Intese come 1000 (se a 100). Con queste Impostazioni il danno � tutto 
//---- Basato sulle Skill + Il danno base dell'Arma che serve per equilibrare il danno a seconda dell'Arma. 
//---- Per il danno "Effettivo" viene considerata l'armatura dell'Avversario |+(<SRC.findlayer(2).armor>) 
 
 
IF (<SRC.ACTION>==SKILL_ARCHERY) 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//-------------------------------------------- Controlli : Azione Vietate ------------------------------------------------// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//---- Blocco di Controllo di Azioni Particolari Vietate 
 
//- Targettare un Items. 
//- Kill di un Animale Legato. 
//- Kill di un Pg/Npg Invulnerabile. 
//- Kill di un Pg/Npg Pietrificato. 
//- Controllo Zone Safe Mode [Dove non � permesso Killare]. 
//- Kill di un Player Recently Ressed. 
 
///////////////////////////////////////////////////////////////////// 
//------- Azione Vietata : Targettare un Items --------------------// 
///////////////////////////////////////////////////////////////////// 
 
IF (<SRC.ACT.isitem>) 
	SRC.SYSMESSAGE You cant attack an item! 
	SRC.ACTION=-1 
	RETURN 1 
ENDIF 
 
///////////////////////////////////////////////////////////////////// 
//------- Azione Vietata : Kill di un Pg/Npg Invulnerabile --------// 
///////////////////////////////////////////////////////////////////// 
 
IF <SRC.flags>&statf_fly) 
	RETURN 0 
ENDIF 
 
IF <SRC.flags>&statf_freeze) 
	RETURN 0 
ENDIF	 
 
IF <SRC.ACT.flags>&statf_invul 
	SRC.SYSMESSAGE You cant hurt Invulnerabile! 
	RETURN 1 
ENDIF 
 
///////////////////////////////////////////////////////////////////// 
//------- Azione Vietata : Kill di un Pg/Npg Pietrificato ---------// 
///////////////////////////////////////////////////////////////////// 
 
IF <SRC.ACT.flags>&statf_stone 
	SRC.SYSMESSAGE You cant hurt him, is stoned!. 
	SRC.ACTION=-1 
	RETURN 1 
ENDIF 
 
///////////////////////////////////////////////////////////////////// 
//------- Azione Vietata : Controllo Zone Safe Mode ---------------// 
///////////////////////////////////////////////////////////////////// 
 
IF <SRC.ACT.region.safe> 
 
	IF !<SRC.findid.I_Memory_Blocca_Action> 
		SRC.newitem I_Memory_Blocca_Action 
		SRC.ACT.equip 
		SRC.ACT.timer=3 
		SRC.SYSMESSAGE At <SRC.ACT.region.name> combat is blocked. 
		SRC.ACTION=-1 
		RETURN 1 
	ELSE 
		SRC.ACTION=-1 
		RETURN 1 
	ENDIF 
 
ENDIF 
 
///////////////////////////////////////////////////////////////////// 
//------- Azione Vietata : Kill di un Animale Legato --------------// 
///////////////////////////////////////////////////////////////////// 
 
IF (<EVAL <SRC.ACT.tag.legato>>>0) 
	SRC.SYSMESSAGE You cant hurt him in that state. 
	SRC.ACTION=-1 
	RETURN 1 
ENDIF 
 
///////////////////////////////////////////////////////////////////// 
//------- Azione Vietata  :Kill di un Player Recently Ressed -------// 
///////////////////////////////////////////////////////////////////// 
 
IF <SRC.ACT.findid.I_Memory_Appena_Ressato> 
		IF <SRC.ACT.ISPLAYER> 
		SRC.SYSMESSAGE You cant hurt Recently Ressed 
		SRC.ACTION=-1 
		RETURN 1 
	ENDIF 
ENDIF 
 
IF <SRC.findid.I_Memory_Appena_Ressato> 
	IF <SRC.ACT.ISPLAYER> 
		SRC.SYSMESSAGE You cant attack in Recently Ressed. 
		SRC.ACTION=-1 
		RETURN 1 
	ENDIF 
ENDIF 
 
///////////////////////////////////////////////////////////////////// 
//------- Azione Vietata : Kill di un Player Niubbo ---------------// 
///////////////////////////////////////////////////////////////////// 
 
IF <SRC.ACT.findid.I_Mem_Tag_Niubbo> && (!<src.act.findid.I_Memory_Abilitazione_PvP>) 
	SRC.SYSMESSAGE You cant attack Newbie. 
	SRC.ACTION=-1 
	RETURN 1 
ENDIF 
 
IF <SRC.findid.I_Mem_Tag_Niubbo> && (!<src.findid.I_Memory_Abilitazione_PvP>) 
	IF <SRC.ACT.ISPLAYER> 
		SRC.SYSMESSAGE You cant attack in Newbie. 
		SRC.SYSMESSAGE You can do in at Stone PvP. 
		SRC.ACTION=-1 
		RETURN 1 
	ENDIF 
ENDIF 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//---------------------------------------- Controlli : Pulizia Flag su WarMode -------------------------------------------// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
////////////////////////////////////////////////// 
//------- Pulizia Flag : Hidding ---------------// 
////////////////////////////////////////////////// 
 
IF <SRC.flags>&statf_hidden 
	SRC.flags=<SRC.flags>-statf_hidden 
	SRC.SYSMESSAGE You are revealed!. 
	SRC.update 
ENDIF 
 
////////////////////////////////////////////////// 
//------- Pulizia Flag : Invisibile ------------// 
////////////////////////////////////////////////// 
 
IF <SRC.flags>&statf_invisible 
	SRC.flags=<SRC.flags>-statf_invisible 
	SRC.SYSMESSAGE You are revealed!. 
	SRC.update 
ENDIF 
 
////////////////////////////////////////////////// 
//------- Pulizia Flag : Recently Ressed --------// 
////////////////////////////////////////////////// 
 
IF <SRC.findid.I_Memory_Appena_Ressato.timer>>175 
	RETURN 1 
ENDIF 
 
IF <SRC.findid.I_Memory_Appena_Ressato> 
	SRC.CONSUME I_Memory_Appena_Ressato 
ENDIF 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------------- Bloco Danno Effettivo : Archi ------------------------------------------------// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
/////////////////////////////////////////////////////////////////////// 
//--------------- Script : Danno Archi (T_WEAPON_BOW) ---------------// 
/////////////////////////////////////////////////////////////////////// 
 
IF (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_BOW) 
 
IF !<SRC.ACT.canseelos> 
	SRC.ACTION=-1 
	RETURN 0 
ENDIF 
 
IF <SRC.findlayer(2).baseid>=i_bow_poison 
 
	IF !<SRC.restest 1 i_freccia_avvelenata> 
		SRC.SYSMESSAGE You havent poisoned arrows!. 
		SRC.ACTION=-1 
		RETURN 0 
	ENDIF 
	 
ELSEIF <SRC.findlayer(2).baseid>=i_Blowpipe 
 
	IF !<SRC.restest 1 i_Blowpipe_Dartx> 
		SRC.SYSMESSAGE You havent blowpipe darts!. 
		SRC.ACTION=-1 
		RETURN 0 
	ENDIF 
 
ELSE  
 
	IF !<SRC.restest 1 i_arrow> 
		SRC.SYSMESSAGE You havent arrows!. 
		SRC.ACTION=-1 
		RETURN 0 
	ENDIF 
	 
ENDIF 
 
///////////////////////////////////////// 
//---- Rimozione Flag di Invisibility -// 
///////////////////////////////////////// 
 
IF (<SRC.FINDLAYER(39).BASEID>==I_Rune_Invisibility)  
	SRC.CONSUME I_Rune_Invisibility 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//-------------------------------------- Blocco : Gittata Massima e Gittata Minima ----------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//-- In questo Blocco sono specIFicate le Gittate Efficaci a cui � soggetto l'Arciere. 
 
//- Gittata Minima  [Base alla Dex] 
//- Gittata Massima [Base alla Dex] 
 
 
////////////////////////////////////////////////// 
//------------ Blocco : Gittata Minima ---------// 
////////////////////////////////////////////////// 
 
//--- Gittata Minima 3 Tile ---// 
 
IF (<SRC.ACT.DISTANCE><3) && (<SRC.tag.noeffect>=1) 
	SRC.SYSMESSAGE <SRC.ACT.name> is too near to you, your arrows have no effect!! 
	SRC.tag.noeffect=0 
	SRC.findid.I_Mem_Archer_Vic_2.more=3 
	SRC.ACTION=-1 
	RETURN 1 
ENDIF 
 
////////////////////////////////////////////////// 
//------------ Blocco : Gittata Massima --------// 
////////////////////////////////////////////////// 
 
//--- Gittata Massima 14 Tile per Cap da Arciere Puro a 150 Dex. ---// 
//--- Gittata Massima 12 Tile per Cap Minori di 150 Dex. ---// 
 
IF (<SRC.ACT.DISTANCE>>11) && ( <SRC.ACT.DISTANCE><=13) && (<SRC.tag.noeffect>=1) 
 
	IF (<EVAL <SRC.TAG.ID_CLASSE>>!=5) && (<EVAL <SRC.TAG.ID_CLASSE>>!=4) //-- (<EVAL <SRC.TAG.EFFETTDEXCAP>><150) 
		SRC.SYSMESSAGE <SRC.ACT.name> is out from your range , you cant hit him. 
		SRC.ACTION=-1 
		SRC.tag.noeffect=0 
		SRC.ACTION=-1 
		SRC.findid.I_Mem_Archer_Vic_2.more=3 
		RETURN 1 
	ELSEIF (<EVAL <SRC.TAG.ID_CLASSE>>!=5) && (<EVAL <SRC.TAG.ID_CLASSE>>!=4) //--  
		SRC.SYSMESSAGE <SRC.ACT.name> is out from your range , you cant hit him. 
		SRC.ACTION=-1 
		SRC.tag.noeffect=0 
		SRC.ACTION=-1 
		SRC.findid.I_Mem_Archer_Vic_2.more=3 
		RETURN 1	 
	ENDIF 
 
ELSEIF (<SRC.ACT.DISTANCE>>13) && (<SRC.tag.noeffect>=1) 
 
		SRC.SYSMESSAGE <SRC.ACT.name> is out from your range , you cant hit him. 
		SRC.ACTION=-1 
		SRC.tag.noeffect=0 
		SRC.ACTION=-1 
		SRC.findid.I_Mem_Archer_Vic_2.more=3 
		RETURN 1 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------------------------- Fine Blocco Gittate ---------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//---------------------------- Blocco : Visualizzazione  e Calcolo del Danno degli Archi ----------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//---- Inizio del Blocco di Assegnazione del Danno. 
 
//- Controlli sullo Stato dell'Azione dell'Arciere 
 
IF (<SRC.findid.I_Mem_Archer_Vic_2.more1>=3) && (<SRC.tag.noeffect>=1) 
 
////////////////////////////////////////////////////////// 
//------------ Blocco : Miss Random [Fallimento] -------// 
////////////////////////////////////////////////////////// 
 
//--- Miss Random del Bersaglio basata sulla Tactics dell'Arciere (<SRC.Tactics>). 
 
IF ((rand(1100)><SRC.Tactics>) && (rand(2)=1) 
	sound 569 
	SRC.ACT.effect 0,<SRC.findlayer(2).TDATA4>,15 
	SRC.SYSMESSAGE You dont hit <SRC.ACT.name> 
 
//--- Visualizzazione dell'Azione di "Miss", con lancio della Freccia verso il Bersaglio. 
 
IF (rand(2)=1) 
	SRC.tag.bps=<SRC.ACT.p> 
	 
	IF <SRC.findlayer(2).baseid>=i_bow_poison 
		SRC.newitem	i_freccia_avvelenata 
	ELSEIF <SRC.findlayer(2).baseid>=i_Blowpipe 
		SRC.newitem i_Blowpipe_Dartx 
	ELSE 
		SRC.newitem i_arrow 
	ENDIF	 
	 
	SRC.ACT.p=<SRC.tag.bps> 
	SRC.ACT.timer=120 
	SRC.ACT.attr=00002 
	SRC.ACT.update 
ENDIF 
 
//--- Elementi di "Fine" azione dell'Arciere sul fallimento "Miss". 
 
	SRC.tag.noeffect=0 
	SRC.ACTION=-1 
	RETURN 1 
ENDIF 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------- Blocco : Consumo Munzioni ----------------------------------------------------------// 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
IF (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_BOW) 
	IF <SRC.findlayer(2).baseid>=i_bow_poison 
		SRC.CONSUME 1 i_freccia_avvelenata 
	ELSEIF <SRC.findlayer(2).baseid>=i_Blowpipe 
		SRC.CONSUME 1 i_Blowpipe_Dartx 
	ELSE 
		SRC.CONSUME i_arrow 
	ENDIF 
		 
ELSEIF (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_XBOW)  
	IF (<SRC.findlayer(2).baseid>=i_crossbow_steel) 
		SRC.CONSUME 1 i_dardo_di_metallo 
	ELSE 
		SRC.CONSUME 1 i_xbolt 
	ENDIF 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//-------------------------------------- Blocco : Calcolo del Danno Base degli Archi --------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo Blocco viene calcolato il Danno basato sulle Skill dell'Arciere e sull'Arma che Impugna. 
 
SRC.ACT.effect 0,<SRC.findlayer(2).TDATA4>,15 
LOCAL.dannoarco=((<SRC.Archery>/100)+(<SRC.Tactics>/200)+(<SRC.anatomy>/200)+(<SRC.dex>/20)+(<SRC.findlayer(2).dam>)+(<SRC.findlayer(2).morey>/71)) 
 
////////////////////////////////////////////// 
//-------- Blocco : Bonus Distanza Rav. ----// 
////////////////////////////////////////////// 
 
//--- Bonus sulla Distanza Ravvicinata. Pi� vicino � il Bersaglio (Nei Tile di Gittata), maggiore � il danno che subisce. 
//--- (14+(<-SRC.ACT.DISTANCE>)) � l'Aumento progressivo del Danno con il diminuire della Distanza del Bersaglio. 
//--- Alla distanza Maggiore di Tiro vi � un Bonus pari +0, alla Minore di +12. 
 
LOCAL.dannorandom={1 6} 
LOCAL.dannoarco=(<EVAL <LOCAL.dannoarco>>)+(16)+(-<SRC.ACT.DISTANCE>)+(<EVAL <LOCAL.dannorandom>>) 
 
////////////////////////////////////////////// 
//-------- Blocco : Bonus Arciere Puro -----// 
////////////////////////////////////////////// 
 
//--- Bonus Aggiuntivo di 15 Punti (Danno) per gli Arcieri con Cap puro [120 Dex - 80 Str - 10 Int] 
 
IF (<EVAL <SRC.TAG.EFFETTDEXCAP>>=150) && (<SRC.DEX>>=150)  
	LOCAL.dannoarco=(<EVAL <LOCAL.dannoarco>>+15) 
ENDIF 
 
////////////////////////////////////////////// 
//-------- Blocco : Danno Magico -----------// 
////////////////////////////////////////////// 
 
IF  (<SRC.findlayer(2).attr>&attr_magic) && (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_BOW) 
	LOCAL.dannoarco=((<EVAL <LOCAL.dannoarco>>)+(<EVAL <SRC.findlayer(2).morey>>/71)) 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------------------- Blocco : Resistenza  ----------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo Blocco sono presenti gli Script per il Calcolo delle Eventuali Resistenze presenti sul Bersaglio. 
 
//--- Blocchi presenti: 
//- Resistenza dell'Armatura del Bersaglio. 
//- Resistenza della Bardatura del Cavallo da Guerra, nel caso sia l'Animale montato dal Bersaglio. 
 
////////////////////////////////////////////// 
//-------- Blocco : Resistenza Armatura-----// 
////////////////////////////////////////////// 
 
//--- Diminuzione del Danno Effettivo (<<EVAL <LOCAL.dannoarco>>) in base all'Armatura del Bersaglio (<SRC.ACT.AR>/3). 
 
IF ((<SRC.ACT.AR>/2)<(<EVAL <LOCAL.dannoarco>>))  
	LOCAL.dannoarco=(<EVAL <LOCAL.dannoarco>>-(<SRC.ACT.AR>/2)) 
	SRC.ACT.SYSMESSAGE You hurt from an arrow of <SRC.name> 
	SRC.SYSMESSAGE You hurt <SRC.ACT.name> 
ELSE 
	LOCAL.dannoarco={3 6} 
	SRC.ACT.SYSMESSAGE An arrow of <SRC.name> hurt you lightly. 
	SRC.SYSMESSAGE You hit <SRC.ACT.name> 
ENDIF 
 
/////////////////////////////////////////////////// 
//-------- Blocco : Resistenza della Bardatura --// 
/////////////////////////////////////////////////// 
 
IF (<SRC.ACT.findid.i_memory_bardatura>) 
	LOCAL.bardatura={1 5}  
	LOCAL.dannoarco=((<EVAL <LOCAL.dannoarco>>)+(-<EVAL <LOCAL.bardatura>>)) 
	SRC.ACT.SYSMESSAGE The Horse Armor has cushioned the Strike. 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//-------------------------------------------- Blocco : Archi Speciali  ---------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo Blocco sono presenti gli Script per l'assegnazione di Eventuali Speciali eventi dovuti a particolari Armi. 
 
//--- Blocchi presenti: 
//- Utilizzo del Poisong Bow. 
 
/////////////////////////////////////////////////// 
//-------- Blocco : Utilizzo del Poison Bow -----// 
/////////////////////////////////////////////////// 
 
//--- Controllo sull'Utilizzo del Poison Bow (<SRC.findlayer(2).baseid>=i_bow_poison) , con successivo avvelentamento. 
 
IF <SRC.findlayer(2).baseid>=i_bow_poison 
	IF (<SRC.ACT.FINDLAYER(42).BASEID>!=I_Rune_Poison) 
 		IF (<SRC.ACT.FINDLAYER(37).BASEID>==I_Rune_Magic_Reflection)  
			SRC.ACT.effect 3,037b9,6,15,1       
       		SRC.ACT.CONSUME i_rune_magic_reflection       		 	 
       		SRC.ACT.Poison 250		 
       		SRC.ACT.SYSMESSAGE You lose magic protection from the poison. 
       	ELSE       			 
       		 SRC.ACT.Poison 250 
  		ENDIF   		    		  
	ENDIF    		     	 
ENDIF 
 
 
/////////////////////////////////////////////////// 
//-------- Blocco : Utilizzo del Elven Bow -----// 
/////////////////////////////////////////////////// 
 
//--- Controllo sull'Utilizzo dell'Elven Bow <SRC.findid.i_affaticamento>) , con successiva perdita di stamina. 
 
IF <SRC.findlayer(2).baseid>=i_bow_elven 
	IF (<SRC.findid.i_affaticamento>) 
		SRC.ACT.EFFECT 3,0e50,6,16,1       
		SRC.ACT.SYSMESSAGE The injury affects your legs and slows your run. 	 
		SRC.ACT.STAM =1	 
		SRC.CONSUME i_affaticamento 
	ENDIF 
ENDIF 
  		 
  			 
 
////////////////////////////////////////////////////////////////// 
//---------- Blocco : Sparring con Arco Scuola -----------------// 
////////////////////////////////////////////////////////////////// 
 
IF <SRC.ACT.ISPLAYER> 
	IF <SRC.findlayer(2).baseid>=I_Arco_Sparring 
		LOCAL.dannoarco={1 4} 
	ENDIF 
ENDIF 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------------- Blocco Classe AR : Calcolo Malus Danno ---------------------------------------// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
IF <SRC.ACT.ISPLAYER> 
	IF (<SRC.ACT.findid.i_rune_protection>) 
		LOCAL.MOD_AC = (<SRC.ACT.AR>+(-<EVAL <SRC.ACT.findid.i_rune_protection.MOREY>/33>)) 
		IF (<EVAL <LOCAL.MOD_AR>><17) && (RAND(2)=1) 
			LOCAL.dannoarco=(<EVAL <LOCAL.dannoarco>>+(<EVAL <LOCAL.dannoarco>>*2)/6) 
			SRC.SYSMESSAGE Your arrow critical hit <SRC.ACT.name>. 
			SRC.ACT.SYSMESSAGE Arrow of <SRC.name> critical hit you. 
		ENDIF 
	ELSEIF (<SRC.ACT.AR><17) 
		LOCAL.dannoarco=(<EVAL <LOCAL.dannoarco>>+(<EVAL <LOCAL.dannoarco>>*2)/6) 
		SRC.SYSMESSAGE Your arrow critical hit <SRC.ACT.name>. 
		SRC.ACT.SYSMESSAGE Arrow of <SRC.name> critical hit you. 
	ENDIF 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------- Blocco : Visualizzazione del Danno Effettivo --------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//------ In questo Blocco viene Assegnazto e Visualizzato il Danno "(<EVAL <LOCAL.dannoarco>>)". 
 
//---- Avvine una distinzione sul Tipo di Bersaglio: 
//- Se il Beraglio utilizza una Magia "(<SRC.ACT.action>=Skill_Magery)" e non sia un Npc "<SRC.ACT.npc>!=0)" avvine  
//- la visualizzazione tramite la funzione "f_visualizzazione_danno_arciere" che interompe l'azione del Bersaglio. 
//- Nel caso contrario , cio� che il Bersaglio non stia utilizzato Magery oppure sia un Npc avviene la visualizzazioe 
//- diretta in modo che non vi sia il blocco dell'azione , Debug del Warrior e della IA degli Npc. 
 
SRC.ACT.HITS=(<SRC.ACT.HITS>+(-<EVAL <LOCAL.dannoarco>>)) 
SRC.ACT.DAMAGE 1 
 
IF (<SRC.ACT.action>=Skill_Magery) && (<SRC.ACT.npc>=0) 
 
	SRC.ACT.SAY @00026 <EVAL <LOCAL.dannoarco>> 
 
	IF (<SRC.ACT.FINDID.I_Memory_Staffe_Leggendarie>) 
		//- No Frizz se il Mago Equipaggia una Staff leggendaria 
	ELSE 
		IF (<SRC.ACT.ISPLAYER>) 
			SRC.ACT.ACTION=-1 
		ENDIF		 
	ENDIF 
	 
	SRC.ACT.CONSUME i_rune_paralyze 
	SRC.ACT.CONSUME i_rune_paralyze_field 
ELSE	 
	SRC.ACT.SAY @00026 <EVAL <LOCAL.dannoarco>> 
	SRC.ACT.CONSUME i_rune_paralyze 
	SRC.ACT.CONSUME i_rune_paralyze_field 
ENDIF 
 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//-------------------------------------------- Blocco : Usura Arco -------------------------------------------------// 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
IF (<SRC.ACT.ISPLAYER>) && (<SRC.findlayer(2).baseid>=i_Golden_Bow)  
	SRC.E_Usura_Archi_gold 
ELSE 
	SRC.E_Usura_Archi 
ENDIF 
 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//--------------------------------------------- Fine Blocco : Usura Arco --------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
	SRC.ACTION=-1 
	sound 564 
	SRC.tag.noeffect=0 
	RETURN 1 
 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//---------------------------------------------------- Fine del Blocco ----------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------------ Blocco : Velocit� di Azione dell'Arco -------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo blocco vi � il Calcolo della velocit� di Azione dell'Arco 
 
//- La velocit� di Azione � basata sulla Dex  dell'Arciere (<SRC.dex>) e su un Valore Fisso di Timer. 
 
IF   (!<SRC.findid.I_Mem_Archer_Vic_2>)  
 
SRC.tag.noeffect=1 
LOCAL.velarco=(((250+(-<SRC.dex>))/70) 
IF (<EVAL <SRC.TAG.EFFETTDEXCAP>><110)  //- Stat del Ranger, Inferiore ad esso � penalizzato molto. 
LOCAL.velarco=(<EVAL <LOCAL.velarco>>+15) 
ENDIF 
SRC.tag.bav=<SRC.ACT.uid> 
SRC.newitem I_Mem_Archer_Vic_2 
SRC.ACT.equip 
SRC.ACT.link=<SRC.tag.bav> 
SRC.ACT.more=1 
SRC.ACT.timer=<EVAL <LOCAL.velarco>> 
SRC.ACTION=-1 
RETURN 1 
ENDIF 
 
SRC.ACTION= -1 
RETURN 1 
ENDIF 
 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------------- Bloco Danno Effettivo : Balestre [Crossbow] ----------------------------------// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
///////////////////////////////////////////////////////////////////////////////////// 
//--------------- Script : Danno Balestre [Crossbow](T_WEAPON_xBOW) ---------------// 
///////////////////////////////////////////////////////////////////////////////////// 
 
IF (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_XBOW) && (<SRC.FINDLAYER(2).DISPID>=i_crossbow) 
 
IF !<SRC.ACT.canseelos> 
	SRC.ACTION=-1 
	RETURN 0 
ENDIF 
 
IF !<SRC.restest 1 i_xbolt> 
	SRC.SYSMESSAGE You havent darts in your backpack!. 
	RETURN 0 
ENDIF 
 
///////////////////////////////////////// 
//---- Rimozione Flag di Invisibility -// 
///////////////////////////////////////// 
 
IF (<SRC.FINDLAYER(39).BASEID>==I_Rune_Invisibility)  
	SRC.CONSUME I_Rune_Invisibility 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//-------------------------------------- Blocco : Gittata Massima e Gittata Minima ----------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//-- In questo Blocco sono specIFicate le Gittate Efficaci a cui � soggetto l'Arciere che utilizza la Balestra Crossbow. 
 
//- Gittata Minima  [Base alla Dex] 
//- Gittata Massima [Base alla Dex] 
 
 
////////////////////////////////////////////////// 
//------------ Blocco : Gittata Minima ---------// 
////////////////////////////////////////////////// 
 
//--- Gittata Minima 1 Tile ---// 
 
IF (<SRC.ACT.distance><1) && (<SRC.tag.noeffect>=1) 
 
	SRC.SYSMESSAGE <SRC.ACT.name> is too near to you, darts dont have effect!! 
	SRC.tag.noeffect=0 
	SRC.findid.I_Mem_Archer_Vic_2.more=3 
	SRC.ACTION=-1 
	RETURN 1	 
ENDIF 
 
////////////////////////////////////////////////// 
//------------ Blocco : Gittata Massima --------// 
////////////////////////////////////////////////// 
 
//--- Gittata Massima 14 Tile per Cap da Arciere Puro a 150 Dex. ---// 
//--- Gittata Massima 12 Tile per Cap Minori di 150 Dex. ---// 
 
IF (<SRC.ACT.DISTANCE>>11) && ( <SRC.ACT.DISTANCE><=13) && (<SRC.tag.noeffect>=1) 
 
	IF (<EVAL <SRC.TAG.ID_CLASSE>>!=5) && (<EVAL <SRC.TAG.ID_CLASSE>>!=4) //-- (<EVAL <SRC.TAG.EFFETTDEXCAP>><150) 
		SRC.SYSMESSAGE <SRC.ACT.name> is out from your range , you cant hit him. 
		SRC.ACTION=-1 
		SRC.tag.noeffect=0 
		SRC.ACTION=-1 
		SRC.findid.I_Mem_Archer_Vic_2.more=3 
		RETURN 1 
	ELSEIF (<EVAL <SRC.TAG.ID_CLASSE>>!=5) && (<EVAL <SRC.TAG.ID_CLASSE>>!=4) //-- (<SRC.DEX><150)  
		SRC.SYSMESSAGE <SRC.ACT.name> is out from your range , you cant hit him. 
		SRC.ACTION=-1 
		SRC.tag.noeffect=0 
		SRC.ACTION=-1 
		SRC.findid.I_Mem_Archer_Vic_2.more=3 
		RETURN 1	 
	ENDIF 
 
ELSEIF (<SRC.ACT.DISTANCE>>13) && (<SRC.tag.noeffect>=1) 
 
		SRC.SYSMESSAGE <SRC.ACT.name> is out from your range , you cant hit him. 
		SRC.ACTION=-1 
		SRC.tag.noeffect=0 
		SRC.ACTION=-1 
		SR.findid.I_Mem_Archer_Vic_2.more=3 
		RETURN 1 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------------------------- Fine Blocco Gittate ---------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------- Blocco : Visualizzazione  e Calcolo del Danno ---------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//---- Inizio del Blocco di Assegnazione del Danno. 
 
//- Controlli sullo Stato dell'Azione dell'Arciere:  
 
IF (<SRC.findid.I_Mem_Archer_Vic_2.more1>=3) && (<SRC.tag.noeffect>=1) 
 
////////////////////////////////////////////////////////// 
//------------ Blocco : Miss Random [Fallimento] -------// 
////////////////////////////////////////////////////////// 
 
//--- Miss Random del Bersaglio basata sulla Tactics dell'Arciere (<SRC.Tactics>). 
 
IF ((rand(1100)><SRC.Tactics>) && (rand(2)=1) 
	sound 569 
	SRC.ACT.effect 0,<SRC.findlayer(2).TDATA4>,15 
	SRC.SYSMESSAGE You dont hit <SRC.ACT.name> 
 
//--- Visualizzazione dell'Azione di "Miss", con lancio della Freccia verso il Bersaglio. 
 
	IF (rand(2)=1) 
		SRC.tag.bps=<SRC.ACT.p> 
		SRC.newitem i_xbolt 
		SRC.ACT.p=<SRC.tag.bps> 
		SRC.ACT.timer=120 
		SRC.ACT.attr=00002 
		SRC.ACT.update 
	ENDIF 
 
//--- Elementi di "Fine" azione dell'Arciere sul fallimento "Miss". 
 
	SRC.tag.noeffect=0 
	SRC.ACTION=-1 
	RETURN 1 
ENDIF 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------- Blocco : Consumo Munzioni ----------------------------------------------------------// 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
IF (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_BOW) 
	IF <SRC.findlayer(2).baseid>=i_bow_poison 
		SRC.CONSUME 1 i_freccia_avvelenata 
	ELSEIF <SRC.findlayer(2).baseid>=i_Blowpipe 
		SRC.CONSUME 1 i_Blowpipe_Dartx 
	ELSE 
		SRC.CONSUME i_arrow 
	ENDIF 
ELSEIF (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_XBOW)  
	IF (<SRC.findlayer(2).baseid>=i_crossbow_steel) 
		SRC.CONSUME 1 i_dardo_di_metallo 
	ELSE 
		SRC.CONSUME 1 i_xbolt 
	ENDIF 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//-------------------------------------------- Blocco : Calcolo del Danno Base --------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo Blocco viene calcolato il Danno basato sulle Skill dell'Arciere e sull'Arma che Impugna. 
 
SRC.ACT.effect 0,<SRC.findlayer(2).TDATA4>,15 
LOCAL.Danno_Balestra_Crossbow=((<SRC.Archery>/40)+(<SRC.Tactics>/200)+(<SRC.anatomy>/200)+(<SRC.dex>/20)+(<SRC.findlayer(2).dam>)+(<SRC.findlayer(2).morey>/70)) 
 
////////////////////////////////////////////// 
//-------- Blocco : Danno Variabili Rand. --// 
////////////////////////////////////////////// 
 
//---- Blocco di Calcolo del Danno Variabile "Random", per una dinamicit� maggiore. 
 
LOCAL.dannorandom={1 6} 
LOCAL.Danno_Balestra_Crossbow=(<EVAL <LOCAL.Danno_Balestra_Crossbow>>)+(-15)+(<EVAL <LOCAL.dannorandom>>) 
 
////////////////////////////////////////////// 
//-------- Blocco : Bonus Distanza Rav. ----// 
////////////////////////////////////////////// 
 
//--- Bonus sulla Distanza Ravvicinata. Pi� vicino � il Bersaglio (Nei Tile di Gittata), maggiore � il danno che subisce. 
//- (14+(<-SRC.ACT.distance>)) � l'Aumento progressivo del Danno con il diminuire della Distanza del Bersaglio. 
 
LOCAL.Danno_Balestra_Crossbow=<EVAL <LOCAL.Danno_Balestra_Crossbow>>+16+(-<SRC.ACT.distance>) 
 
////////////////////////////////////////////// 
//-------- Blocco : Bonus Arciere Puro -----// 
////////////////////////////////////////////// 
 
//--- Bonus Aggiuntivo di 15 Punti (Danno) per gli Arcieri con Cap puro [120 Dex - 80 Str - 10 Int] 
 
IF (<EVAL <SRC.TAG.EFFETTDEXCAP>>=150) && (<SRC.dex>>=150) 
	LOCAL.Danno_Balestra_Crossbow=<EVAL <LOCAL.Danno_Balestra_Crossbow>>+15 
ENDIF 
 
////////////////////////////////////////////// 
//-------- Blocco : Danno Magico -----------// 
////////////////////////////////////////////// 
 
IF  (<SRC.findlayer(2).attr>&attr_magic) && (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_XBOW) && (<SRC.FINDLAYER(2).DISPID>=i_crossbow) 
	LOCAL.Danno_Balestra_Crossbow=((<EVAL <LOCAL.Danno_Balestra_Crossbow>>)+(<EVAL <SRC.findlayer(2).morey>>/71)) 
ENDIF 
 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------------------- Blocco : Resistenza  ----------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo Blocco sono presenti gli Script per il Calcolo delle Eventuali Resistenze presenti sul Bersaglio. 
 
//--- Blocchi presenti: 
//- Resistenza dell'Armatura del Bersaglio. 
//- Resistenza della Bardatura del Cavallo da Guerra, nel caso sia l'Animale montato dal Bersaglio. 
 
////////////////////////////////////////////// 
//-------- Blocco : Resistenza Armatura-----// 
////////////////////////////////////////////// 
 
//--- Diminuzione del Danno Effettivo (<<EVAL <LOCAL.dannoBalestra_>>) in base all'Armatura del Bersaglio (<SRC.ACT.AR>/3). 
 
 
IF ((<SRC.ACT.AR>/2)<<EVAL <LOCAL.Danno_Balestra_Crossbow>>) 
	LOCAL.Danno_Balestra_Crossbow=(<EVAL <LOCAL.Danno_Balestra_Crossbow>>-(<SRC.ACT.AR>/2)) 
	SRC.ACT.SYSMESSAGE You hurt from a dart of <SRC.name> 
	SRC.SYSMESSAGE You hurt <SRC.ACT.name> 
ELSE 
	LOCAL.Danno_Balestra_Crossbow={3 6} 
	SRC.ACT.SYSMESSAGE A dart of <SRC.name> hurt you lightly. 
	SRC.SYSMESSAGE You hit <SRC.ACT.name> 
ENDIF 
 
/////////////////////////////////////////////////// 
//-------- Blocco : Resistenza della Bardatura --// 
/////////////////////////////////////////////////// 
 
IF (<SRC.ACT.findid.i_memory_bardatura>) 
	LOCAL.bardatura={1 5}  
	LOCAL.Danno_Balestra_Crossbow=((<EVAL <LOCAL.Danno_Balestra_Crossbow>>)+(-<EVAL <LOCAL.bardatura>>)) 
	SRC.ACT.SYSMESSAGE The Horse Armor has cushioned the Strike. 
ENDIF 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------------- Blocco Classe AR : Calcolo Malus Danno ---------------------------------------// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
IF <SRC.ACT.ISPLAYER> 
	IF (<SRC.ACT.findid.i_rune_protection>) 
		LOCAL.MOD_AC = (<SRC.ACT.AR>+(-<EVAL <SRC.ACT.findid.i_rune_protection.MOREY>/33>)) 
		IF (<EVAL <LOCAL.MOD_AR>><17) && (RAND(2)=1) 
			LOCAL.Danno_Balestra_Crossbow=(<EVAL <LOCAL.Danno_Balestra_Crossbow>>+(<EVAL <LOCAL.Danno_Balestra_Crossbow>>*2)/6) 
			SRC.SYSMESSAGE The dart critical hit <SRC.ACT.name>. 
			SRC.ACT.SYSMESSAGE The dart of <SRC.name> critical hit you. 
		ENDIF 
	ELSEIF (<SRC.ACT.AR><17) 
		LOCAL.Danno_Balestra_Crossbow=(<EVAL <LOCAL.Danno_Balestra_Crossbow>>+(<EVAL <LOCAL.Danno_Balestra_Crossbow>>*2)/6) 
		SRC.SYSMESSAGE The dart critical hit <SRC.ACT.name>. 
		SRC.ACT.SYSMESSAGE The dart of <SRC.name> critical hit you. 
	ENDIF 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------- Blocco : Visualizzazione del Danno Effettivo --------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo Blocco viene Assegnazto e Visualizzato il Danno (<EVAL <LOCAL.Danno_Balestra_Crossbow>>). 
 
//- Avvine una distinzione sul Tipo di Bersaglio. Se il Beraglio utilizza una Magia "(<SRC.ACT.action>=Skill_Magery)" 
//- avvine la visualizzazione tramite la funzione "f_visualizzazione_danno_arciere" che fa frizzare. 
//- Nel caso contrario (cio� ogni altra Skill combattiva) avviene la visualizzazioen diretta in modo che non vi sia il 
//- il blocco dell'azione (Debug del Warrior). 
 
 
SRC.ACT.hits=(<SRC.ACT.hits>-<EVAL <LOCAL.Danno_Balestra_Crossbow>>) 
SRC.ACT.DAMAGE 1 
 
IF (<SRC.ACT.action>=Skill_Magery) && (<SRC.ACT.npc>=0) 
 
	SRC.ACT.say @00026 <EVAL <LOCAL.Danno_Balestra_Crossbow>> 
	IF (<SRC.ACT.FINDID.I_Memory_Staffe_Leggendarie>) 
		//- No Frizz se il Mago Equipaggia una Staff leggendaria 
	ELSE 
		IF (<SRC.ACT.ISPLAYER>) 
			SRC.ACT.ACTION=-1 
		ENDIF		 
	ENDIF 
	SRC.ACT.CONSUME i_rune_paralyze 
	SRC.ACT.CONSUME i_rune_paralyze_field 
ELSE	 
	SRC.ACT.say @00026 <EVAL <LOCAL.Danno_Balestra_Crossbow>> 
	SRC.ACT.CONSUME i_rune_paralyze 
	SRC.ACT.CONSUME i_rune_paralyze_field 
 
ENDIF 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------- Blocco : Usura Arco ---------------------------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
SRC.E_Usura_Archi 
 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------- Fine Blocco : Usura Arco ----------------------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
	SRC.ACTION=-1 
	sound 564 
	SRC.tag.noeffect=0 
	RETURN 1 
 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//--------------------------- Blocco : Velocit� di Azione della Balestra  CrossBow ------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo blocco vi � il Calcolo della velocit� di Azione della Balestra  CrossBow 
 
//- La velocit� di Azione � basata sulla Dex dell'Arciere (<SRC.dex>) e su un Valore Fisso di Timer. 
 
IF   (!<SRC.findid.I_Mem_Archer_Vic_2>)  
	SRC.tag.noeffect=1 
	LOCAL.velocita_Balestra_Crossbow=(((250+(-<SRC.dex>))/70) 
IF (<EVAL <SRC.TAG.EFFETTDEXCAP>><110)  //- Stat del Ranger, Inferiore ad esso � penalizzato molto. 
	LOCAL.velocita_Balestra_Crossbow=(<EVAL <LOCAL.velocita_Balestra_Crossbow>>+15) 
ENDIF 
	SRC.tag.bav=<SRC.ACT.uid> 
	SRC.newitem I_Mem_Archer_Vic_2 
	SRC.ACT.equip 
	SRC.ACT.link=<SRC.tag.bav> 
	SRC.ACT.more=1 
	SRC.ACT.timer=<EVAL <LOCAL.velocita_Balestra_Crossbow>> 
	SRC.ACTION=-1 
	RETURN 1 
ENDIF 
	SRC.ACTION= -1 
	RETURN 1 
ENDIF 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------------- Bloco Danno Effettivo : Balestre [Heavy Crossbow] ------------------------------------------------// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
/////////////////////////////////////////////////////////////////////////////////////////// 
//--------------- Script : Danno Balestre [Heavy Crossbow](T_WEAPON_xBOW) ---------------// 
/////////////////////////////////////////////////////////////////////////////////////////// 
 
IF (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_XBOW) && (<SRC.FINDLAYER(2).DISPID>=i_crossbow_heavy) 
 
IF !<SRC.ACT.canseelos> 
	SRC.ACTION=-1 
	RETURN 0 
ENDIF 
 
IF (<SRC.findlayer(2).baseid>=i_crossbow_steel) 
 
	IF !<SRC.restest 1 i_dardo_di_metallo> 
		SRC.SYSMESSAGE You havent metal darts in your backpack! 
		SRC.ACTION=-1 
		RETURN 0 
	ENDIF 
ELSE 
	IF !<SRC.restest 1 i_xbolt> 
		SRC.SYSMESSAGE You havent darts in your backpack!. 
		SRC.ACTION=-1 
		RETURN 0 
	ENDIF 
ENDIF 
 
///////////////////////////////////////// 
//---- Rimozione Flag di Invisibility -// 
///////////////////////////////////////// 
 
IF (<SRC.FINDLAYER(39).BASEID>==I_Rune_Invisibility)  
	SRC.CONSUME I_Rune_Invisibility 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//-------------------------------------- Blocco : Gittata Massima e Gittata Minima ----------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//-- In questo Blocco sono specIFicate le Gittate Efficaci a cui � soggetto l'Arciere che utilizza la Balestra Heavy Crossbow. 
 
 
//- Gittata Massima [Base alla Dex] 
 
 
////////////////////////////////////////////////// 
//------------ Blocco : Gittata Massima --------// 
////////////////////////////////////////////////// 
 
//--- Gittata Massima 14 Tile per Cap da Arciere Puro a 150 Dex. ---// 
//--- Gittata Massima 12 Tile per Cap Minori di 150 Dex. ---// 
 
IF (<SRC.ACT.DISTANCE>>11) && ( <SRC.ACT.DISTANCE><=13) && (<SRC.tag.noeffect>=1) 
 
	IF (<EVAL <SRC.TAG.ID_CLASSE>>!=5) && (<EVAL <SRC.TAG.ID_CLASSE>>!=4) //-- (<EVAL <SRC.TAG.EFFETTDEXCAP>><150) 
		SRC.SYSMESSAGE <SRC.ACT.name> is out from your range , you cant hit him. 
		SRC.ACTION=-1 
		SRC.tag.noeffect=0 
		SRC.ACTION=-1 
		SRC.findid.I_Mem_Archer_Vic_2.more=3 
		RETURN 1 
	ELSEIF (<EVAL <SRC.TAG.ID_CLASSE>>!=5) && (<EVAL <SRC.TAG.ID_CLASSE>>!=4) //-- (<SRC.DEX><150)  
		SRC.SYSMESSAGE <SRC.ACT.name> is out from your range , you cant hit him. 
		SRC.ACTION=-1 
		SRC.tag.noeffect=0 
		SRC.ACTION=-1 
		SRC.findid.I_Mem_Archer_Vic_2.more=3 
		RETURN 1	 
	ENDIF 
 
ELSEIF (<SRC.ACT.DISTANCE>>13) && (<SRC.tag.noeffect>=1) 
 
		SRC.SYSMESSAGE <SRC.ACT.name> is out from your range , you cant hit him. 
		SRC.ACTION=-1 
		SRC.tag.noeffect=0 
		SRC.ACTION=-1 
		SRC.findid.I_Mem_Archer_Vic_2.more=3 
		RETURN 1 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------------------------- Fine Blocco Gittate ---------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------- Blocco : Visualizzazione  e Calcolo del Danno ---------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//---- Inizio del Blocco di Assegnazione del Danno. 
 
//- Controlli sullo Stato dell'Azione dell'Arciere:  
 
IF (<SRC.findid.I_Mem_Archer_Vic_2.more1>=3) && (<SRC.tag.noeffect>=1) 
 
////////////////////////////////////////////////////////// 
//------------ Blocco : Miss Random [Fallimento] -------// 
////////////////////////////////////////////////////////// 
 
//--- Miss Random del Bersaglio basata sulla Tactics dell'Arciere (<SRC.Tactics>). 
 
IF ((rand(1100)><SRC.Tactics>) && (rand(2)=1) 
	sound 569 
	SRC.ACT.effect 0,<SRC.findlayer(2).TDATA4>,15 
	SRC.SYSMESSAGE You dont hit <SRC.ACT.name> 
 
//--- Visualizzazione dell'Azione di "Miss", con lancio della Freccia verso il Bersaglio. 
 
IF (rand(2)=1) 
	SRC.tag.bps=<SRC.ACT.p> 
 
	IF (<SRC.findlayer(2).baseid>=i_crossbow_steel) 
		SRC.newitem i_dardo_di_metallo 
	ELSE 
		SRC.newitem i_xbolt 
	ENDIF 
	 
	SRC.ACT.p=<SRC.tag.bps> 
	SRC.ACT.timer=120 
	SRC.ACT.attr=00002 
	SRC.ACT.update 
ENDIF 
 
//--- Elementi di "Fine" azione dell'Arciere sul fallimento "Miss". 
 
SRC.tag.noeffect=0 
SRC.ACTION=-1 
RETURN 1 
ENDIF 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------- Blocco : Consumo Munzioni ----------------------------------------------------------// 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
IF (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_BOW) 
	IF <SRC.findlayer(2).baseid>=i_bow_poison 
		SRC.CONSUME 1 i_freccia_avvelenata 
	ELSEIF <SRC.findlayer(2).baseid>=i_Blowpipe 
		SRC.CONSUME 1 i_Blowpipe_Dartx 
	ELSE 
		SRC.CONSUME i_arrow 
	ENDIF 
ELSEIF (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_XBOW)  
	IF (<SRC.findlayer(2).baseid>=i_crossbow_steel) 
		SRC.CONSUME 1 i_dardo_di_metallo 
	ELSE 
		SRC.CONSUME 1 i_xbolt 
	ENDIF 
ENDIF 
 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//-------------------------------------------- Blocco : Calcolo del Danno Base --------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo Blocco viene calcolato il Danno basato sulle Skill dell'Arciere e sull'Arma che Impugna. 
 
SRC.ACT.effect 0,<SRC.findlayer(2).TDATA4>,15 
LOCAL.Danno_Balestra_Heavy_Crossbow=((<SRC.Archery>/40)+(<SRC.Tactics>/100)+(<SRC.anatomy>/100)+(<SRC.dex>/20)+(<SRC.findlayer(2).dam>)+(<SRC.findlayer(2).morey>/70)) 
 
////////////////////////////////////////////// 
//-------- Blocco : Danno Variabili Rand. --// 
////////////////////////////////////////////// 
 
//---- Blocco di Calcolo del Danno Variabile "Random", per una dinamicit� maggiore. 
 
LOCAL.dannorandom={1 6} 
LOCAL.Danno_Balestra_Heavy_Crossbow=(<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>)+(-15)+(<EVAL <LOCAL.dannorandom>>) 
 
////////////////////////////////////////////// 
//-------- Blocco : Bonus Distanza Rav. ----// 
////////////////////////////////////////////// 
 
//--- Bonus sulla Distanza Ravvicinata. Pi� vicino � il Bersaglio (Nei Tile di Gittata), maggiore � il danno che subisce. 
//- (14+(<-SRC.ACT.distance>)) � l'Aumento progressivo del Danno con il diminuire della Distanza del Bersaglio. 
 
LOCAL.Danno_Balestra_Heavy_Crossbow=(<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>)+(16)+(-<SRC.ACT.distance>) 
 
////////////////////////////////////////////// 
//-------- Blocco : Bonus Arciere Puro -----// 
////////////////////////////////////////////// 
 
//--- Bonus Aggiuntivo di 15 Punti (Danno) per gli Arcieri con Cap puro [120 Dex - 80 Str - 10 Int] 
 
IF (<EVAL <SRC.TAG.EFFETTDEXCAP>>=150) && (<SRC.dex>>=150) 
	LOCAL.Danno_Balestra_Heavy_Crossbow=(<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>)+(15) 
ENDIF 
 
////////////////////////////////////////////// 
//-------- Blocco : Danno Magico -----------// 
////////////////////////////////////////////// 
 
IF  (<SRC.findlayer(2).attr>&attr_magic) (<SRC.FINDLAYER(2).TYPE>=T_WEAPON_XBOW) && (<SRC.FINDLAYER(2).DISPID>=i_crossbow_heavy) 
	LOCAL.Danno_Balestra_Heavy_Crossbow=((<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>)+(<EVAL <SRC.findlayer(2).morey>>/71)) 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------------------- Blocco : Resistenza  ----------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo Blocco sono presenti gli Script per il Calcolo delle Eventuali Resistenze presenti sul Bersaglio. 
 
//--- Blocchi presenti: 
//- Resistenza dell'Armatura del Bersaglio. 
//- Resistenza della Bardatura del Cavallo da Guerra, nel caso sia l'Animale montato dal Bersaglio. 
 
////////////////////////////////////////////// 
//-------- Blocco : Resistenza Armatura-----// 
////////////////////////////////////////////// 
 
//--- Diminuzione del Danno Effettivo (<<EVAL <LOCAL.dannoBalestra_Heavy>>) in base all'Armatura del Bersaglio (<SRC.ACT.AR>/5). 
 
 
IF ((<SRC.ACT.AR>/2)<<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>) 
	LOCAL.Danno_Balestra_Heavy_Crossbow=(<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>-(<SRC.ACT.AR>/2)) 
	SRC.ACT.SYSMESSAGE You hurt from a dart of <SRC.name> 
	SRC.SYSMESSAGE You hurt <SRC.ACT.name> 
ELSE 
	LOCAL.Danno_Balestra_Heavy_Crossbow={3 6} 
	SRC.ACT.SYSMESSAGE A dart of <SRC.name> hurt you lightly. 
	SRC.SYSMESSAGE You hit <SRC.ACT.name> 
ENDIF 
 
/////////////////////////////////////////////////// 
//-------- Blocco : Resistenza della Bardatura --// 
/////////////////////////////////////////////////// 
 
IF (<SRC.ACT.findid.i_memory_bardatura>) 
	LOCAL.bardatura={1 5}  
	LOCAL.Danno_Balestra_Heavy_Crossbow=((<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>)+(-<EVAL <LOCAL.bardatura>>)) 
	SRC.ACT.SYSMESSAGE The Horse Armor has cushioned the Strike. 
ENDIF 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//----------------------------------------- Blocco Classe AR : Calcolo Malus Danno ---------------------------------------// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
IF <SRC.ACT.ISPLAYER> 
	IF (<SRC.ACT.findid.i_rune_protection>) 
		LOCAL.MOD_AC = (<SRC.ACT.AR>+(-<EVAL <SRC.ACT.findid.i_rune_protection.MOREY>/33>)) 
		IF (<EVAL <LOCAL.MOD_AR>><17) && (RAND(2)=1) 
			LOCAL.Danno_Balestra_Heavy_Crossbow=(<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>+(<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>*2)/6) 
			SRC.SYSMESSAGE The dart critical hit <SRC.ACT.name>. 
			SRC.ACT.SYSMESSAGE The dart of <SRC.name> critical hit you. 
		ENDIF 
	ELSEIF (<SRC.ACT.AR><17) 
		LOCAL.dannoarco=(<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>+(<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>*2)/6) 
		SRC.SYSMESSAGE The dart critical hit <SRC.ACT.name>. 
		SRC.ACT.SYSMESSAGE The dart of <SRC.name> critical hit you. 
	ENDIF 
ENDIF 
 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------- Blocco : Visualizzazione del Danno Effettivo --------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo Blocco viene Assegnazto e Visualizzato il Danno (<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>). 
 
//- Avvine una distinzione sul Tipo di Bersaglio. Se il Beraglio utilizza una Magia "(<SRC.ACT.action>=Skill_Magery)" 
//- avvine la visualizzazione tramite la funzione "f_visualizzazione_danno_arciere" che fa frizzare. 
//- Nel caso contrario (cio� ogni altra Skill combattiva) avviene la visualizzazioen diretta in modo che non vi sia il 
//- il blocco dell'azione (Debug del Warrior). 
 
 
SRC.ACT.hits=(<SRC.ACT.hits>-<EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>>) 
SRC.ACT.DAMAGE 1 
 
IF (<SRC.ACT.action>=Skill_Magery) && (<SRC.ACT.npc>=0) 
 
SRC.ACT.say @00026 <EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>> 
	IF (<SRC.ACT.FINDID.I_Memory_Staffe_Leggendarie>) 
		//- No Frizz se il Mago Equipaggia una Staff leggendaria 
	ELSE 
		IF (<SRC.ACT.ISPLAYER>) 
			SRC.ACT.ACTION=-1 
		ENDIF		 
	ENDIF 
	SRC.ACT.CONSUME i_rune_paralyze 
	SRC.ACT.CONSUME i_rune_paralyze_field 
ELSE	 
	SRC.ACT.say @00026 <EVAL <LOCAL.Danno_Balestra_Heavy_Crossbow>> 
	SRC.ACT.CONSUME i_rune_paralyze 
	SRC.ACT.CONSUME i_rune_paralyze_field 
ENDIF 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------- Blocco : Usura Arco ---------------------------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
IF (<SRC.ACT.ISPLAYER>) && (<SRC.findlayer(2).baseid>=i_Golden_Heavy_CrossBow)  
	SRC.E_Usura_Archi_gold 
ELSE 
	SRC.E_Usura_Archi 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------- Fine Blocco : Usura Arco ----------------------------------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
	SRC.ACTION=-1 
	sound 564 
	SRC.tag.noeffect=0 
	RETURN 1 
ENDIF 
 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//--------------------------- Blocco : Velocit� di Azione della Balestra Heavy CrossBow ------------------------------// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
//--- In questo blocco vi � il Calcolo della velocit� di Azione della Balestra Heavy CrossBow 
 
//- La velocit� di Azione � basata sulla Dex dell'Arciere (<SRC.dex>) e su un Valore Fisso di Timer. 
 
IF   (!<SRC.findid.I_Mem_Archer_Vic_2>) 	 
	SRC.tag.noeffect=1 
	LOCAL.velocita_Balestra_Heavy_Crossbow=(((370+(-<SRC.dex>))/70) 
IF (<EVAL <SRC.TAG.EFFETTDEXCAP>><110) //- Stat del Ranger, Inferiore ad esso � penalizzato molto. 
	LOCAL.velocita_Balestra_Heavy_Crossbow=(<EVAL <LOCAL.velocita_Balestra_Heavy_Crossbow>>+15) 
ENDIF 
	SRC.tag.bav=<SRC.ACT.uid> 
	SRC.newitem I_Mem_Archer_Vic_2 
	SRC.ACT.equip 
	SRC.ACT.link=<SRC.tag.bav> 
	SRC.ACT.more=1 
	SRC.ACT.timer=<EVAL <LOCAL.velocita_Balestra_Heavy_Crossbow>> 
	SRC.ACTION=-1 
	RETURN 1 
ENDIF 
	SRC.ACTION= -1 
	RETURN 1 
ENDIF 
 
ENDIF 
 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//------------------------------------------------- Fine Blocco : Archery ------------------------------------------------// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
  
			 
			
			
 
There are worse ways to understand the sense of the word: no.  
			
				
(This post was last modified: 01-31-2017 01:54 AM by massis87.)
 
				
			 
		 |  
	 
 |