META
{
Parser = Game;
Engine = G2A;
Mod = NA_SCRIPTS.mod;
};
var int currentBowMunition;
var int currentCrossBowMunition;
func event GameLoop(){
if(hero){
if(currentBowMunition > 2){ currentBowMunition = 0; };
if(currentCrossBowMunition > 1){ currentCrossBowMunition = 0; };
if((Hlp_KeyToggled(KEY_J) && Hlp_KeyPressed(KEY_LSHIFT)) || (Hlp_KeyToggled(MOUSE_XBUTTON2))){
if(NPC_HASEQUIPPEDRANGEDWEAPON(HERO) == TRUE){
var C_Item rangedWeapon;
rangedWeapon = Npc_GetEquippedRangedWeapon(hero);
if(rangedWeapon.flags & ITEM_CROSSBOW){
if(currentCrossBowMunition == 0 && Npc_HasItems(hero,ITRW_BOLT) > 0){
USEITRW_BOLT();
Npc_RemoveInvItems(hero,ITRW_BOLT,1);
};
if(currentCrossBowMunition == 1 && Npc_HasItems(hero,ITRW_ADDON_MAGICBOLT) > 0){
USEITRW_ADDON_MAGICBOLT();
Npc_RemoveInvItems(hero,ITRW_ADDON_MAGICBOLT,1);
};
currentCrossBowMunition = currentCrossBowMunition + 1;
} else if(rangedWeapon.flags & ITEM_BOW) {
if(currentBowMunition == 0 && Npc_HasItems(hero, ITRW_ARROW) > 0){
USEITRW_ARROW();
Npc_RemoveInvItems(hero,ITRW_ARROW,1);
};
if(currentBowMunition == 1 && Npc_HasItems(hero,ITRW_ADDON_FIREARROW) > 0){
USEITRW_FIREARROW();
Npc_RemoveInvItems(hero,ITRW_ADDON_FIREARROW,1);
};
if(currentBowMunition == 2 && Npc_HasItems(hero,ITRW_ADDON_MAGICARROW) > 0){
USEITRW_MAGICARROW();
Npc_RemoveInvItems(hero,ITRW_ADDON_MAGICARROW,1);
};
currentBowMunition = currentBowMunition + 1;
};
};
};
};
};