void strafe(Vector3 from, Vector3 to, Strafe direction)
    {
        //this.transform.position = to;
        float step = moveSpeed * Time.deltaTime;

        this.transform.position = Vector3.MoveTowards(from, to, step);
    }
Esempio n. 2
0
 void StrafePlayer(Strafe strafeDirection)
 {
     if (IsInAir())
     {
         player.Extern(strafeDirection.ToString(), true);
     }
     else
     {
         player.Extern(strafeDirection.ToString(), true);
         bInStrafe = true;
     }
 }
Esempio n. 3
0
        protected override SpaceShipControlInput GetControls()
        {
            SpaceShipControlInput input = new SpaceShipControlInput();

            input.Fire1  = Fire.GetButtonState();
            input.Fire2  = FireSecondary.GetButtonState();
            input.LookAt = Cursor.Position;
            input.Strafe = Strafe.GetAxisPosition();
            input.Thrust = Thrust.GetAxisPosition();
            input.Select = Select.GetButtonState();
            for (int i = 0; i < Cycle.Length; ++i)
            {
                if (Cycle[i].GetButtonState())
                {
                    input.CycleWeapon = i;
                }
            }
            input.NextWeapon     = NextWeapon.GetButtonState();
            input.PreviousWeapon = PreviousWeapon.GetButtonState();
            return(input);
        }
Esempio n. 4
0
        public override async Task ExecuteAsync(CancellationToken token)
        {
            try
            {
                _target = _targetSelector.Active.GetTargets().FirstOrDefault();



                var unitMaxHp = EntityManager <Unit> .Entities.Where(x =>
                                                                     x.IsValid &&
                                                                     x.IsVisible &&
                                                                     x.IsAlive &&
                                                                     x.IsSpawned &&
                                                                     x.Distance2D(Owner) < 400 &&
                                                                     (x.NetworkName == "CDOTA_BaseNPC_Creep_Neutral" ||
                                                                      x.NetworkName == "CDOTA_BaseNPC_Creep" ||
                                                                      x.NetworkName == "CDOTA_BaseNPC_Creep_Lane" ||
                                                                      x.NetworkName == "CDOTA_BaseNPC_Creep_Siege")).OrderBy(x => x.MaximumHealth).LastOrDefault();

                if (_target == null || _target.IsAttackImmune() || _target.IsInvulnerable())
                {
                    Orbwalker.OrbwalkTo(null);
                    return;
                }


                if (_configuration.AbilityManager.Value.IsEnabled(DeathPact.Ability.Name) && DeathPact.CanBeCasted && !_target.IsEthereal() &&
                    unitMaxHp != null)
                {
                    DeathPact.UseAbility(unitMaxHp);
                    await Await.Delay(DeathPact.GetCastDelay(unitMaxHp), token);
                }


                if (_configuration.AbilityManager.Value.IsEnabled(Strafe.Ability.Name) && Strafe.CanBeCasted && !_target.IsEthereal() &&
                    Owner.IsInAttackRange(_target))
                {
                    Strafe.UseAbility();
                    await Await.Delay(Strafe.GetCastDelay(), token);
                }

                if (_configuration.AbilityManager.Value.IsEnabled(Arrows.Ability.Name) && Arrows.CanBeCasted && !_target.IsEthereal() &&
                    !Arrows.Ability.IsAutoCastEnabled && Owner.IsInAttackRange(_target))
                {
                    Arrows.Ability.ToggleAutocastAbility();
                }


                if (SolarCrest != null && SolarCrest.CanBeCasted && !Owner.IsAttacking() && !_target.IsEthereal() &&
                    _configuration.ItemManager.Value.IsEnabled(SolarCrest.Ability.Name) && !_target.IsMagicImmune() &&
                    Owner.IsInAttackRange(_target))
                {
                    SolarCrest.UseAbility(_target);
                    await Await.Delay(SolarCrest.GetCastDelay(_target), token);
                }

                if (Meddallion != null && Meddallion.CanBeCasted && !Owner.IsAttacking() && !_target.IsEthereal() &&
                    _configuration.ItemManager.Value.IsEnabled(Meddallion.Ability.Name) && !_target.IsMagicImmune() &&
                    Owner.IsInAttackRange(_target))
                {
                    Meddallion.UseAbility(_target);
                    await Await.Delay(Meddallion.GetCastDelay(_target), token);
                }


                if (DiffusalBlade != null && DiffusalBlade.CanBeCasted && !Owner.IsAttacking() && !_target.IsEthereal() &&
                    _configuration.ItemManager.Value.IsEnabled(DiffusalBlade.Ability.Name) && !_target.IsMagicImmune() &&
                    Owner.IsInAttackRange(_target))
                {
                    DiffusalBlade.Ability.UseAbility(_target);
                    await Await.Delay(DiffusalBlade.GetCastDelay(_target), token);
                }

                if (Mjollnir != null && Mjollnir.CanBeCasted && !Owner.IsAttacking() &&
                    Owner.IsInAttackRange(_target) && _configuration.ItemManager.Value.IsEnabled(Mjollnir.Ability.Name))
                {
                    Mjollnir.UseAbility(Owner);
                    await Await.Delay(Mjollnir.GetCastDelay(Owner), token);
                }

                if (Bloodthorn != null && Bloodthorn.CanBeCasted && !Owner.IsAttacking() && !_target.IsMagicImmune() &&
                    _configuration.ItemManager.Value.IsEnabled(Bloodthorn.ToString()) && Owner.IsInAttackRange(_target))
                {
                    Bloodthorn.UseAbility(_target);
                    await Await.Delay(Bloodthorn.GetCastDelay(_target), token);
                }

                if (SheepStick != null && SheepStick.CanBeCasted && !Owner.IsAttacking() && !_target.IsMagicImmune() &&
                    _configuration.ItemManager.Value.IsEnabled(SheepStick.Ability.Name) &&
                    Owner.IsInAttackRange(_target))
                {
                    SheepStick.UseAbility(_target);
                    await Await.Delay(SheepStick.GetCastDelay(_target), token);
                }

                if (Orchid != null && Orchid.CanBeCasted && !Owner.IsAttacking() && !_target.IsMagicImmune() &&
                    _configuration.ItemManager.Value.IsEnabled(Orchid.Ability.Name) && Owner.IsInAttackRange(_target))
                {
                    Orchid.UseAbility(_target);
                    await Await.Delay(Orchid.GetCastDelay(_target), token);
                }


                if (_target != null && (_target.IsInvulnerable() || _target.IsAttackImmune()))
                {
                    Orbwalker.Move(Game.MousePosition);
                }
                else if (_target != null)
                {
                    Orbwalker.OrbwalkTo(_target);
                }
                else
                {
                    Orbwalker.Move(Game.MousePosition);
                }
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
Esempio n. 5
0
 void StrafePlayer(Strafe strafeDirection)
 {
     if (IsInAir())
     {
         player.Extern(strafeDirection.ToString(),true);
     }
     else
     {
         player.Extern(strafeDirection.ToString(),true);
         bInStrafe = true;
     }
 }
Esempio n. 6
0
        protected override void AddAbilities()
        {
            base.AddAbilities();

            CharacterAudioManager audioManager = character.GetComponent <CharacterAudioManager>();

            AudioClip hopHorizontalClip = AssetDatabase.LoadAssetAtPath <AudioClip>("Assets/Dias Games/Climbing System/Audio/male_hop_horizontal.wav");
            AudioClip hopUpClip         = AssetDatabase.LoadAssetAtPath <AudioClip>("Assets/Dias Games/Climbing System/Audio/male_hop_up.wav");
            AudioClip jumpClip          = AssetDatabase.LoadAssetAtPath <AudioClip>("Assets/Dias Games/Third Person System/Audio/male_jump.wav");

            FreeLocomotion m_FreeLocomotion = character.GetComponent <FreeLocomotion>();
            Strafe         m_Strafe         = character.GetComponent <Strafe>();
            JumpAbility    m_Jump           = character.GetComponent <JumpAbility>();
            FallAbility    m_Fall           = character.GetComponent <FallAbility>();
            CrouchAbility  m_Crouch         = character.GetComponent <CrouchAbility>();

            LayerMask m_FootLayers = (1 << 0) | (1 << 14) | (1 << 16) | (1 << 17) | (1 << 18) | (1 << 19) | (1 << 20) | (1 << 25) | (1 << 26);

            // Vault ability
            ClimbingSystem.VaultAbility m_Vault = character.GetComponent <ClimbingSystem.VaultAbility>();
            if (m_Vault == null)
            {
                m_Vault = Undo.AddComponent <ClimbingSystem.VaultAbility>(character);

                if (m_Vault.OnEnterAbilityEvent == null)
                {
                    m_Vault.OnEnterAbilityEvent = new UnityEvent();
                }

                UnityEventTools.AddObjectPersistentListener(m_Vault.OnEnterAbilityEvent, audioManager.PlayVoiceSound, hopHorizontalClip);
            }

            m_Vault.ClimbingMask = (1 << 21);
            ////

            // Step Up ability Setup
            ClimbingSystem.StepUpAbility m_StepUp = character.GetComponent <ClimbingSystem.StepUpAbility>();
            if (m_StepUp == null)
            {
                m_StepUp = Undo.AddComponent <ClimbingSystem.StepUpAbility>(character);
            }

            m_StepUp.ClimbingMask = (1 << 16);
            ////

            // Half Climb ability Setup
            ClimbingSystem.LowerClimbAbility m_LowerClimb = character.GetComponent <ClimbingSystem.LowerClimbAbility>();
            if (m_LowerClimb == null)
            {
                m_LowerClimb = Undo.AddComponent <ClimbingSystem.LowerClimbAbility>(character);

                if (m_LowerClimb.OnEnterAbilityEvent == null)
                {
                    m_LowerClimb.OnEnterAbilityEvent = new UnityEvent();
                }

                UnityEventTools.AddObjectPersistentListener(m_LowerClimb.OnEnterAbilityEvent, audioManager.PlayVoiceSound, hopUpClip);
            }

            m_LowerClimb.ClimbingMask = (1 << 17);
            ////

            // Climbing ability setup
            ClimbingSystem.ClimbingAbility m_Climbing = character.GetComponent <ClimbingSystem.ClimbingAbility>();
            if (m_Climbing == null)
            {
                m_Climbing = Undo.AddComponent <ClimbingSystem.ClimbingAbility>(character);
            }

            SerializedObject climb = new SerializedObject(m_Climbing);

            climb.FindProperty("m_ClimbableMask").intValue = (1 << 18) | (1 << 19);
            climb.FindProperty("m_CharacterOffsetFromLedge").vector3Value = new Vector3(0, CharacterHeight - 0.4f, 0.3f);
            climb.FindProperty("m_CharacterOffsetOnHang").vector3Value    = new Vector3(0, CharacterHeight - 0.45f, 0.3f);
            climb.ApplyModifiedProperties();
            ////
            ///
            // Climb Jump ability setup
            ClimbingSystem.ClimbJump m_ClimbJump = character.GetComponent <ClimbingSystem.ClimbJump>();
            if (m_ClimbJump == null)
            {
                m_ClimbJump = Undo.AddComponent <ClimbingSystem.ClimbJump>(character);

                if (m_ClimbJump.OnEnterAbilityEvent == null)
                {
                    m_ClimbJump.OnEnterAbilityEvent = new UnityEvent();
                }

                UnityEventTools.AddObjectPersistentListener(m_ClimbJump.OnEnterAbilityEvent, audioManager.PlayVoiceSound, jumpClip);
            }

            ////
            ///
            ClimbingSystem.DropToClimbAbility m_DropToClimb = character.GetComponent <ClimbingSystem.DropToClimbAbility>();
            if (m_DropToClimb == null)
            {
                m_DropToClimb = Undo.AddComponent <ClimbingSystem.DropToClimbAbility>(character);
            }

            m_DropToClimb.DroppableLayer = (1 << 19) | (1 << 20);

            ClimbingSystem.LadderAbility m_Ladder = character.GetComponent <ClimbingSystem.LadderAbility>();
            if (m_Ladder == null)
            {
                m_Ladder = Undo.AddComponent <ClimbingSystem.LadderAbility>(character);
            }

            WallRun m_WallRun = character.GetComponent <WallRun>();

            if (m_WallRun == null)
            {
                m_WallRun = Undo.AddComponent <WallRun>(character);
            }

            WallClimb m_WallClimb = character.GetComponent <WallClimb>();

            if (m_WallClimb == null)
            {
                m_WallClimb = Undo.AddComponent <WallClimb>(character);
            }

            // -------------------------- SET IGNORE ABILITIES ---------------------------------- //

            // Climb ladder
            AddIgnoreAbility(m_Ladder, m_FreeLocomotion);
            AddIgnoreAbility(m_Ladder, m_Strafe);
            AddIgnoreAbility(m_Ladder, m_Fall);
            AddIgnoreAbility(m_Ladder, m_Jump);
            AddIgnoreAbility(m_Ladder, m_ClimbJump);

            // Step up
            AddIgnoreAbility(m_StepUp, m_FreeLocomotion);
            AddIgnoreAbility(m_StepUp, m_Strafe);

            // Lower climb
            AddIgnoreAbility(m_LowerClimb, m_FreeLocomotion);
            AddIgnoreAbility(m_LowerClimb, m_Strafe);
            AddIgnoreAbility(m_LowerClimb, m_Fall);
            AddIgnoreAbility(m_LowerClimb, m_ClimbJump);
            AddIgnoreAbility(m_LowerClimb, m_Jump);

            // Climbing
            AddIgnoreAbility(m_Climbing, m_Fall);
            AddIgnoreAbility(m_Climbing, m_Jump);
            AddIgnoreAbility(m_Climbing, m_ClimbJump);

            // Drop to climb
            AddIgnoreAbility(m_DropToClimb, m_FreeLocomotion);
            AddIgnoreAbility(m_DropToClimb, m_Strafe);
            AddIgnoreAbility(m_DropToClimb, m_Crouch);

            // Vault
            AddIgnoreAbility(m_Vault, m_FreeLocomotion);
            AddIgnoreAbility(m_Vault, m_Strafe);
            AddIgnoreAbility(m_Vault, m_Jump);
            AddIgnoreAbility(m_Vault, m_Fall);
            AddIgnoreAbility(m_Vault, m_Crouch);

            // Climb Jump
            AddIgnoreAbility(m_ClimbJump, m_FreeLocomotion);
            AddIgnoreAbility(m_ClimbJump, m_Strafe);
            AddIgnoreAbility(m_ClimbJump, m_Jump);
            AddIgnoreAbility(m_ClimbJump, m_Climbing);
            AddIgnoreAbility(m_ClimbJump, m_Ladder);
            AddIgnoreAbility(m_ClimbJump, m_WallClimb);

            // Wall Run
            AddIgnoreAbility(m_WallRun, m_Jump);
            AddIgnoreAbility(m_WallRun, m_ClimbJump);

            // Wall Climb
            AddIgnoreAbility(m_WallClimb, m_ClimbJump);
            AddIgnoreAbility(m_WallClimb, m_WallRun);
            AddIgnoreAbility(m_WallClimb, m_Jump);
            AddIgnoreAbility(m_WallClimb, m_Fall);
            AddIgnoreAbility(m_WallClimb, m_DropToClimb);

            // -------------------------------------------------------------------------------- //
        }