using Aura.Shared.Network; using Aura.Shared.Util; using Aura.World.Network; using Aura.World.World; using Aura.World.Events; using Aura.Shared.Const; namespace Aura.World.Skills { [SkillAttr(SkillConst.Reload)] public class ReloadHandler : SkillHandler { public override SkillResults Prepare(MabiCreature creature, MabiSkill skill, MabiPacket packet, uint castTime) { float time = skill.RankInfo.Var1; uint CastingTime = (uint)time; Send.SkillPrepare(creature.Client, creature, SkillConst.Reload, CastingTime); return SkillResults.Okay; } public override SkillResults Ready(MabiCreature creature, MabiSkill skill) { if (creature.ActiveSkillStacks < skill.RankInfo.StackMax) SkillHelper.FillStack(creature, skill); creature.RightHand.Tags.SetShort("GVBC", 64); creature.RightHand.Tags.SetShort("GBAMIN", 5); creature.RightHand.Tags.SetShort("GBAMAX", 5); Send.ItemUpdate(creature.Client, creature, creature.RightHand); Send.UseMotion(creature, 131, 14); Send.SkillUse(creature.Client, creature, skill.Id, creature.Id); return SkillResults.Okay; } public override SkillResults Complete(MabiCreature creature, MabiSkill skill, MabiPacket packet) { Send.SkillComplete(creature.Client, creature, skill.Id); SkillHelper.GiveSkillExp(creature, skill, 20); return SkillResults.Okay; } } }