public Lock ( Locks locks, bool updateClient = false ) : Locks | ||
locks | Locks | Locks to activate. |
updateClient | bool | Sends CharacterLock to client if true. |
return | Locks |
/// <summary> /// Prepares skill. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> /// <returns></returns> public bool Prepare(Creature creature, Skill skill, Packet packet) { Send.SkillFlashEffect(creature); Send.SkillPrepare(creature, skill.Info.Id, skill.GetCastTime()); creature.Lock(Locks.Run); return true; }
/// <summary> /// Prepares skill. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> /// <returns></returns> public bool Prepare(Creature creature, Skill skill, Packet packet) { Send.SkillPrepare(creature, skill.Info.Id, skill.GetCastTime()); // Lock running if not elf if (!creature.CanRunWithRanged) creature.Lock(Locks.Run); return true; }
/// <summary> /// Prepares WM, empty skill init for only the loading sound. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> /// <returns></returns> public bool Prepare(Creature creature, Skill skill, Packet packet) { creature.StopMove(); creature.Lock(Locks.Move); Send.SkillInitEffect(creature, null); Send.SkillPrepare(creature, skill.Info.Id, skill.GetCastTime()); return true; }
/// <summary> /// Prepares skill. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> /// <returns></returns> public bool Prepare(Creature creature, Skill skill, Packet packet) { Send.SkillFlashEffect(creature); Send.SkillPrepare(creature, skill.Info.Id, skill.GetCastTime()); if (creature.RightHand == null || !creature.RightHand.HasTag("/crossbow/")) creature.Lock(Locks.Run); return true; }
/// <summary> /// Handles redying the skill, called when finishing casting it. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> public override bool Ready(Creature creature, Skill skill, Packet packet) { Send.SkillReady(creature, skill.Info.Id); // Default lock is Run, lock Walk if no combat weapon is equipped. if (AuraData.FeaturesDb.IsEnabled("TalentRenovationCloseCombat")) { if (creature.RightHand == null || !creature.RightHand.HasTag("/weapontype_combat/")) creature.Lock(Locks.Walk); } // Tell client to lock any movement if renovation isn't enabled. else creature.Lock(Locks.Move, true); // Training if (skill.Info.Rank == SkillRank.RF) skill.Train(1); // Use Counterattack. return true; }
/// <summary> /// Prepares the skill, called to start casting. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> public override bool Prepare(Creature creature, Skill skill, Packet packet) { Send.SkillFlashEffect(creature); Send.SkillPrepare(creature, skill.Info.Id, skill.GetCastTime()); // Default lock is Walk|Run, since renovation you're not able to // move while loading anymore. if (AuraData.FeaturesDb.IsEnabled("TalentRenovationCloseCombat")) { creature.StopMove(); } // Since the client locks Walk|Run by default we have to tell it // to enable walk but disable run (under any circumstances) if // renovation is disabled. else { creature.Lock(Locks.Run, true); creature.Unlock(Locks.Walk, true); } return true; }
/// <summary> /// Readies skill, activates fire effect. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> /// <returns></returns> public bool Ready(Creature creature, Skill skill, Packet packet) { creature.Temp.FireArrow = creature.Region.GetProps(a => a.Info.Id == 203 && a.GetPosition().InRange(creature.GetPosition(), 500)).Count > 0; if (creature.Temp.FireArrow) Send.Effect(creature, Effect.FireArrow, true); Send.SkillReady(creature, skill.Info.Id); // Lock running if not elf if (!creature.IsElf) creature.Lock(Locks.Run); return true; }
/// <summary> /// Readies skill, activates fire effect. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> /// <returns></returns> public bool Ready(Creature creature, Skill skill, Packet packet) { // Light arrows (!) on fire if there's a campfire nearby if (creature.RightHand != null && creature.RightHand.HasTag("/bow/")) creature.Temp.FireArrow = creature.Region.GetProps(a => a.Info.Id == 203 && a.GetPosition().InRange(creature.GetPosition(), 500)).Count > 0; // Add fire arrow effect to arrow if (creature.Temp.FireArrow) Send.Effect(creature, Effect.FireArrow, true); Send.SkillReady(creature, skill.Info.Id); // Lock running if (!creature.CanRunWithRanged) creature.Lock(Locks.Run); return true; }
/// <summary> /// Readies the skill, called when casting is done. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> public override bool Ready(Creature creature, Skill skill, Packet packet) { Send.SkillReady(creature, skill.Info.Id); // No default locks, set them depending on whether a shield is // equipped or not. if (AuraData.FeaturesDb.IsEnabled("TalentRenovationCloseCombat")) { if (creature.LeftHand == null || !creature.LeftHand.IsShield) creature.Lock(Locks.Run); } // Send lock to client if renovation isn't enabled, // so it doesn't let the creature run, no matter what. else { creature.Lock(Locks.Run, true); } // Training if (skill.Info.Rank == SkillRank.RF) skill.Train(1); // Use the Defense skill. return true; }
/// <summary> /// Readies skill, activates fire effect. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> /// <returns></returns> public bool Ready(Creature creature, Skill skill, Packet packet) { creature.Temp.FireArrow = creature.Region.GetProps(a => a.Info.Id == 203 && a.GetPosition().InRange(creature.GetPosition(), 500)).Count > 0; if (creature.Temp.FireArrow) Send.Effect(creature, Effect.FireArrow, true); Send.SkillReady(creature, skill.Info.Id); if (creature.RightHand == null || !creature.RightHand.HasTag("/crossbow/")) creature.Lock(Locks.Run); return true; }
/// <summary> /// Readies skill, activates fire effect. /// </summary> /// <param name="creature"></param> /// <param name="skill"></param> /// <param name="packet"></param> /// <returns></returns> public bool Ready(Creature creature, Skill skill, Packet packet) { // Light arrows (!) on fire if there's a campfire nearby if (creature.RightHand != null && creature.RightHand.HasTag("/bow/")) creature.Temp.FireArrow = Campfire.GetNearbyCampfire(creature, 500) != null; // Add fire arrow effect to arrow if (creature.Temp.FireArrow) Send.Effect(creature, Effect.FireArrow, true); Send.SkillReady(creature, skill.Info.Id); // Lock running if (!creature.CanRunWithRanged) creature.Lock(Locks.Run); return true; }