public bool WeaponLoaded(CharacterSkill ski)
{
if (ski != null)
{
switch (Class)
{
default:
return false;
case ClassType.Adventurer:
if (ski.Skill.Type == 1)
{
if (Inventory != null)
{
WearableInstance wearable = Inventory.LoadBySlotAndType<WearableInstance>((byte)EquipmentType.SecondaryWeapon, InventoryType.Wear);
if (wearable != null)
{
if (wearable.Ammo > 0)
{
wearable.Ammo--;
return true;
}
else
{
if (Inventory.CountItem(2081) < 1)
{
Session.SendPacket(GenerateMsg(Language.Instance.GetMessageFromKey("NO_AMMO_ADVENTURER"), 10));
return false;
}
Inventory.RemoveItemAmount(2081);
wearable.Ammo = 100;
Session.SendPacket(GenerateSay(Language.Instance.GetMessageFromKey("AMMO_LOADED_ADVENTURER"), 10));
return true;
}
}
else
{
Session.SendPacket(GenerateMsg(Language.Instance.GetMessageFromKey("NO_WEAPON"), 10));
return false;
}
}
else return true;
}
else return true;
case ClassType.Swordman:
if (ski.Skill.Type == 1)
{
if (Inventory != null)
{
WearableInstance inv = Inventory.LoadBySlotAndType<WearableInstance>((byte)EquipmentType.SecondaryWeapon, InventoryType.Wear);
if (inv != null)
{
if (inv.Ammo > 0)
{
inv.Ammo--;
return true;
}
else
{
if (Inventory.CountItem(2082) < 1)
{
Session.SendPacket(GenerateMsg(Language.Instance.GetMessageFromKey("NO_AMMO_SWORDSMAN"), 10));
return false;
}
Inventory.RemoveItemAmount(2082);
inv.Ammo = 100;
Session.SendPacket(GenerateSay(Language.Instance.GetMessageFromKey("AMMO_LOADED_SWORDSMAN"), 10));
return true;
}
}
else
{
Session.SendPacket(GenerateMsg(Language.Instance.GetMessageFromKey("NO_WEAPON"), 10));
return false;
}
}
else return true;
}
else return true;
case ClassType.Archer:
if (ski.Skill.Type == 1)
{
if (Inventory != null)
{
WearableInstance inv = Inventory.LoadBySlotAndType<WearableInstance>((byte)EquipmentType.MainWeapon, InventoryType.Wear);
if (inv != null)
{
if (inv.Ammo > 0)
{
inv.Ammo--;
return true;
}
else
{
if (Inventory.CountItem(2083) < 1)
{
Session.SendPacket(GenerateMsg(Language.Instance.GetMessageFromKey("NO_AMMO_ARCHER"), 10));
return false;
}
Inventory.RemoveItemAmount(2083);
inv.Ammo = 100;
Session.SendPacket(GenerateSay(Language.Instance.GetMessageFromKey("AMMO_LOADED_ARCHER"), 10));
return true;
}
}
else
{
Session.SendPacket(GenerateMsg(Language.Instance.GetMessageFromKey("NO_WEAPON"), 10));
return false;
}
}
else return true;
}
else return true;
case ClassType.Magician:
return true;
}
}
return false;
}