当前位置: 首页>>代码示例>>C#>>正文


C# WoWUnit.IsSafelyFacing方法代码示例

本文整理汇总了C#中WoWUnit.IsSafelyFacing方法的典型用法代码示例。如果您正苦于以下问题:C# WoWUnit.IsSafelyFacing方法的具体用法?C# WoWUnit.IsSafelyFacing怎么用?C# WoWUnit.IsSafelyFacing使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WoWUnit的用法示例。


在下文中一共展示了WoWUnit.IsSafelyFacing方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AvoidFrontal

        public static void AvoidFrontal(WoWUnit npcID, int radius, int range)
        {
            // npcName: NPC ID number, radius: (how wide is the cone in deg) 0 is safely behind, range: Range of the spell
            if (!StyxWoW.Me.IsFacing(npcID)) { npcID.Face(); }

            var rotation = GetPositive(npcID.RotationDegrees);
            var invertRotation = GetInvert(rotation);
            var move = GetPositive(StyxWoW.Me.RotationDegrees) > invertRotation ? WoWMovement.MovementDirection.StrafeRight : WoWMovement.MovementDirection.StrafeLeft;

            while (npcID.Distance2D <= range && npcID.IsCasting && ((radius == 0 && !StyxWoW.Me.IsSafelyBehind(npcID)) ||
                  (radius != 0 && npcID.IsSafelyFacing(StyxWoW.Me, radius)) || npcID.Distance2D <= 2)) {
                WoWMovement.Move(move);
                npcID.Face();
            }
            WoWMovement.MoveStop();
        }
开发者ID:TaiGel,项目名称:akna-hb,代码行数:16,代码来源:AvoidCasts.cs

示例2: GetConeCluster

 private static IEnumerable<WoWUnit> GetConeCluster(WoWUnit target, IEnumerable<WoWUnit> otherUnits, float distance)
 {
     var targetLoc = target.Location;
     // most (if not all) player cone spells are 90 degrees.
     return otherUnits.Where(u => target.IsSafelyFacing(u, 90) && u.Location.Distance(targetLoc) <= distance);
 }
开发者ID:superkhung,项目名称:SingularMod,代码行数:6,代码来源:Clusters.cs

示例3: GetConeClusterCount

 private static int GetConeClusterCount(WoWUnit target, IEnumerable<WoWUnit> otherUnits, float distance)
 {
     var targetLoc = target.Location;
     return otherUnits.Count(u => target.IsSafelyFacing(u, 90f) && u.Location.Distance(targetLoc) <= distance); // most (if not all) cone spells are 90 degrees
 }
开发者ID:killingzor,项目名称:pqrotation-profiles,代码行数:5,代码来源:Clusters.cs

示例4: IsBehindOrSide

 /// <summary>
 /// unit is located behind or along the side of target
 /// </summary>
 /// <param name="unit">units position to check</param>
 /// <param name="target">target to determine position against</param>
 /// <returns>true if on side or behind, otherwise false</returns>
 public static bool IsBehindOrSide( this WoWUnit unit, WoWUnit target)
 {
     return unit != null && target != null && !target.IsSafelyFacing(unit, 160);
 }
开发者ID:aash,项目名称:Singular,代码行数:10,代码来源:Unit.cs

示例5: GetPropValue

 private double GetPropValue(WoWUnit theunit, string name)
 {
     double value = 0;
     switch (name)
     {
         case "IsHostile": value = theunit != null && theunit.IsHostile ? 1 : 0; break;
         case "AvgHealth": value = FTWProps.avgHealth; break;
         case "AddsCount": value = FTWProps.adds.Count; break;
         case "StunCount": value = theunit != null ? FTWCoreStatus.StunCount(theunit.Location) : 0; break;
         case "Aggro": value = theunit != null ? (int)theunit.ThreatInfo.ThreatStatus : 5; break;
         case "MovementDisabled": value = theunit != null && FTWUtils.MovementDisabled() ? 1 : 0; break;
         case "ClusterSize": value = theunit != null ? theunit.ClusterSize() : 0; break;
         case "CapsLock": value = FTWUtils.CapsLockDown() ? 1 : 0; break;
         case "BearForm": value = theunit != null && theunit.HasAura("Bear Form") ? 1 : 0; break;
         case "CatForm": value = theunit != null && theunit.HasAura("Cat Form") ? 1 : 0; break;
         case "MoonkinForm": value = theunit != null && theunit.HasAura("Moonkin Form") ? 1 : 0; break;
         case "NormalForm": value = theunit != null && (theunit.HasAura("Cat Form") == false && theunit.HasAura("Bear Form") == false && theunit.HasAura("Moonkin Form") == false) ? 1 : 0; break;
         case "FlightForm": value = theunit != null && (theunit.HasAura("Flight Form") || theunit.HasAura("Swift Flight Form")) ? 1 : 0; break;
         case "FeralForm": value = theunit != null && (theunit.HasAura("Bear Form") || theunit.HasAura("Cat Form")) ? 1 : 0; break;
         case "ComboPoints": value = StyxWoW.Me.ComboPoints; break;
         case "AllComboPoints": value = StyxWoW.Me.RawComboPoints; break;
         case "Rage": value = StyxWoW.Me.RageInfo.CurrentI; break;
         case "Focus": value = StyxWoW.Me.FocusInfo.CurrentI; break;
         case "Energy": value = StyxWoW.Me.EnergyInfo.CurrentI; break;
         case "ShadowOrbs": value = StyxWoW.Me.GetPowerInfo(WoWPowerType.ShadowOrbs).CurrentI; break;
         case "SoulShards": value = StyxWoW.Me.SoulShardsInfo.CurrentI; break;
         case "Balance": value = StyxWoW.Me.UnitPower(8); break;
         case "HolyPower": value = StyxWoW.Me.GetPowerInfo(WoWPowerType.HolyPower).CurrentI; break;
         case "Chi": value = StyxWoW.Me.UnitPower(12); break;
         case "BurningEmbers": value = StyxWoW.Me.GetPowerInfo(WoWPowerType.BurningEmbers).CurrentI; break;
         case "DemonicFury": value = StyxWoW.Me.GetPowerInfo(WoWPowerType.DemonicFury).CurrentI; break;
         case "EclipseDirection": value = FTWProps._eclipsedirection; break;
         case "Distance": value = theunit != null ? theunit.Distance2D : 0; break;
         case "MeleeRange": value = 4.95; break;
         case "IsTank": value = StyxWoW.Me.IsTank() ? 1 : 0; break;
         case "IsHealer": value = StyxWoW.Me.IsHealer() ? 1 : 0; break;
         case "IsDPS": value = StyxWoW.Me.IsDPS() ? 1 : 0; break;
         case "IsDemon": value = theunit != null && theunit.CreatureType == WoWCreatureType.Demon ? 1 : 0; break;
         case "IsElemental": value = theunit != null && theunit.CreatureType == WoWCreatureType.Elemental ? 1 : 0; break;
         case "IsBeast": value = theunit != null && theunit.CreatureType == WoWCreatureType.Beast ? 1 : 0; break;
         case "IsCritter": value = theunit != null && theunit.CreatureType == WoWCreatureType.Critter ? 1 : 0; break;
         case "IsDragon": value = theunit != null && theunit.CreatureType == WoWCreatureType.Dragon ? 1 : 0; break;
         case "IsGasCloud": value = theunit != null && theunit.CreatureType == WoWCreatureType.GasCloud ? 1 : 0; break;
         case "IsGiant": value = theunit != null && theunit.CreatureType == WoWCreatureType.Giant ? 1 : 0; break;
         case "IsHumanoid": value = theunit != null && theunit.CreatureType == WoWCreatureType.Humanoid ? 1 : 0; break;
         case "IsMechanical": value = theunit != null && theunit.CreatureType == WoWCreatureType.Mechanical ? 1 : 0; break;
         case "IsNonCombatPet": value = theunit != null && theunit.CreatureType == WoWCreatureType.NonCombatPet ? 1 : 0; break;
         case "IsTotem": value = theunit != null && theunit.CreatureType == WoWCreatureType.Totem ? 1 : 0; break;
         case "IsUndead": value = theunit != null && theunit.CreatureType == WoWCreatureType.Undead ? 1 : 0; break;
         case "Health": value = theunit != null ? (int)theunit.HealthPercent : 100; break;
         case "Mana": value = theunit != null && (theunit.PowerType == WoWPowerType.Mana || theunit.Class == WoWClass.Druid) ? theunit.ManaPercent : 100; break;
         case "Mounted": value = theunit != null && (theunit.Mounted) ? 1 : 0; break;
         case "InBattleground": value = Battlegrounds.IsInsideBattleground ? 1 : 0; break;
         case "InParty": value = StyxWoW.Me.GroupInfo.IsInParty || StyxWoW.Me.GroupInfo.IsInRaid ? 1 : 0; break;
         case "InRaid": value = StyxWoW.Me.GroupInfo.IsInRaid ? 1 : 0; break;
         case "IsDiseased": value = theunit != null && theunit.IsDiseased() ? 1 : 0; break;
         case "Dead": value = theunit != null && theunit.IsDead ? 1 : 0; break;
         case "IsCasting": value = theunit != null && (theunit.IsCasting || theunit.IsChanneling) ? 1 : 0; break;
         case "IsMoving": value = theunit != null && theunit.IsMoving ? 1 : 0; break;
         case "IsFlying": value = theunit != null && theunit.IsFlying ? 1 : 0; break;
         case "LineOfSight": value = theunit != null && theunit.InLineOfSight ? 1 : 0; break;
         case "Interruptable": value = theunit != null && theunit.CanInterruptCurrentSpellCast ? 1 : 0; break;
         case "IsElite": value = theunit != null && (theunit.Elite || theunit.Name.Contains("Training Dummy")) ? 1 : 0; break;
         case "IsBehind": value = theunit != null && theunit.CurrentTarget != null && theunit.CurrentTarget.MeIsSafelyBehind ? 1 : 0; break;
         case "IsFacingTarget": value = theunit != null && theunit.CurrentTarget != null && theunit.IsSafelyFacing(theunit.CurrentTarget) ? 1 : 0; break;
         case "IsFleeing": value = theunit != null && theunit.Fleeing ? 1 : 0; break;
         case "IsIncapacitated": value = theunit != null && (theunit.IsDead || theunit.IsCrowdControlled()) ? 1 : 0; break;
         case "IsRooted": value = theunit != null && theunit.HasAuraWithMechanic(WoWSpellMechanic.Rooted, WoWSpellMechanic.Shackled) ? 1 : 0; break;
         case "IsLooting": value = BotPoi.Current.Type == PoiType.Loot ? 1 : 0; break;
         case "PetIsMissing": value = StyxWoW.Me.PetIsMissing(); break;
         case "TotemCount": value = theunit != null ? FTWCoreStatus.TotemCount() : 0; break;
         case "RuneCount": value = StyxWoW.Me.DeathRuneCount +
             StyxWoW.Me.FrostRuneCount +
             StyxWoW.Me.BloodRuneCount +
             StyxWoW.Me.UnholyRuneCount; break;
         case "DeathRune": value = StyxWoW.Me.DeathRuneCount; break;
         case "FrostRune": value = StyxWoW.Me.FrostRuneCount; break;
         case "BloodRune": value = StyxWoW.Me.BloodRuneCount; break;
         case "UnholyRune": value = StyxWoW.Me.UnholyRuneCount; break;
         case "RunicPower": value = StyxWoW.Me.RunicPowerPercent; break;
         case "LevelDiff": value = theunit != null ? theunit.Level - StyxWoW.Me.Level : 0; break;
         case "Level": value = theunit != null ? theunit.Level : 0; break;
         default: throw new Exception(string.Format("Unknown property {0}!", name));
     }
     return value;
 }
开发者ID:psmyth1,项目名称:code-samples,代码行数:86,代码来源:FTWCore.cs

示例6: AvoidEnemyCast

        /// <summary>
        /// this behavior will move the bot StrafeRight/StrafeLeft only if enemy is casting and we needed to move!
        /// Credits to BarryDurex.
        /// </summary>
        /// <param name="EnemyAttackRadius">EnemyAttackRadius or 0 for move Behind</param>
        public static void AvoidEnemyCast(WoWUnit Unit, float EnemyAttackRadius, float SaveDistance)
        {
            if (!StyxWoW.Me.IsFacing(Unit)) { Unit.Face(); Thread.Sleep(300); }

            float BehemothRotation = getPositive(Unit.RotationDegrees);
            float invertEnemyRotation = getInvert(BehemothRotation);

            WoWMovement.MovementDirection move = WoWMovement.MovementDirection.None;

            if (getPositive(StyxWoW.Me.RotationDegrees) > invertEnemyRotation) { move = WoWMovement.MovementDirection.StrafeRight; } else { move = WoWMovement.MovementDirection.StrafeLeft; }

            while (Unit.Distance2D <= SaveDistance && Unit.IsCasting && ((EnemyAttackRadius == 0 && !StyxWoW.Me.IsSafelyBehind(Unit)) ||
                (EnemyAttackRadius != 0 && Unit.IsSafelyFacing(StyxWoW.Me, EnemyAttackRadius)) || Unit.Distance2D <= 2)) {
                WoWMovement.Move(move);
                Unit.Face();
            }
            WoWMovement.MoveStop();
        }
开发者ID:timglide,项目名称:hb-plugins,代码行数:23,代码来源:WaitForDebuff.cs

示例7: IsSafeToMoveToDestination

 private bool IsSafeToMoveToDestination(WoWUnit avoidNpc)
 {
     // Its safe to move when:
     // * avoidNpc is not around
     // * avoidNpc is not in combat, and its the prescribed distance away, and facing away from us.
     // NB: We use the 'combat' check because if the avoidNpc is in combat, he situation of 'safe to move'
     // can rapidly change.  This usually happens when the NPC is busy killing another player.
     return !IsViable(avoidNpc)
             || (!avoidNpc.Combat
                 && (avoidNpc.Distance > AvoidDistance)
                 && !avoidNpc.IsSafelyFacing(Me));
 }
开发者ID:ynyzyfy,项目名称:schorl-scripts,代码行数:12,代码来源:WaitForPatrol.cs


注:本文中的WoWUnit.IsSafelyFacing方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。