Esempio n. 1
0
        public void FireGun(FireModes fm)
        {
            //if (isFiring) return;
            isFiring = true;
            Stats.instance.StartFirerateCooldown();

            if (Stats.instance.currentEquippedGun.gunName == WeaponModifierName.SMG)
            {
                StartCoroutine(BurstShot(4));
            }
            else if (Stats.instance.currentEquippedGun.gunName == WeaponModifierName.SHOTGUN)
            {
                StartCoroutine(SpreadShot());
            }
            else if (fm == FireModes.Single)
            {
                StartCoroutine(SingleShot());
            }

            //Gun Boosting Call Method
            float fireDegree = OrientationHandler.finalDegreeDirection;

            if (hc_instance.cState.wallSliding)
            {
                StartCoroutine(KnockbackRecoil(2.5f, 270));
            }
            else if (fireDegree == 270)
            {
                StartCoroutine(KnockbackRecoil(Stats.instance.current_boostMultiplier, 270));
            }
            else if (fireDegree < 350 && fireDegree > 190)
            {
                StartCoroutine(KnockbackRecoil(0.07f, 270));
            }
        }
Esempio n. 2
0
    public void ResetItem()
    {
        Item_Name  = "";
        Tech_Level = 0;
        Weight     = 0;

        Stats_Condition_current = 0;
        Stats_Damage            = 0;
        Stats_Frequency         = 0;
        Stats_Handling          = 0;
        Stats_Range             = 0;

        Details_Item_Type = Types.Melee;

        Details_Fire_Mode = FireModes.Single;

        Details_Damage         = 0;
        Details_Aiming         = 0;
        Details_Shot_Frequency = 0;
        Details_Recoil         = 0;
        Details_Range          = 0;

        Details_Mod_Flashlight = false;

        Details_Mod_Scope = false;

        Details_Mod_Silencer = false;

        Details_Mod_Laserpointer = false;

        Icon_Image = null;
    }
Esempio n. 3
0
    private void ToggleFireModes()
    {
        FireMode = FireMode == FireModes.Auto ? FireModes.Single : ++FireMode;

        if (_fireable)
        {
            UpdateGunText();
        }
    }
Esempio n. 4
0
        public void FireGun(FireModes fm)
        {
            if (isFiring)
            {
                return;
            }
            isFiring = true;

            if (fm == FireModes.Single)
            {
                hc_instance.TakeMPQuick(2);
                //slowWalk = ((PlayerData.instance.equippedCharm_37 && PlayerData.instance.equippedCharm_32) || !PlayerData.instance.equippedCharm_37);
                //HeroController.instance.WALK_SPEED = Stats.walkSpeed;
                StartCoroutine(SingleShot());
            }
            if (fm == FireModes.Burst)
            {
                slowWalk = ((PlayerData.instance.equippedCharm_37 && PlayerData.instance.equippedCharm_32) || !PlayerData.instance.equippedCharm_37);
                HeroController.instance.WALK_SPEED = Stats.walkSpeed;
                StartCoroutine(BurstShot(3));
            }
            if (fm == FireModes.Spread)
            {
                //slowWalk = ((PlayerData.instance.equippedCharm_37 && PlayerData.instance.equippedCharm_32) || !PlayerData.instance.equippedCharm_37);
                HeroController.instance.WALK_SPEED = Stats.walkSpeed;
                StartCoroutine(SpreadShot(5));
                //StartCoroutine(KnockbackRecoil(1f, finalDegreeDirectionLocal));
                return;
            }
            if (fm == FireModes.Concuss)
            {
                slowWalk = ((PlayerData.instance.equippedCharm_37 && PlayerData.instance.equippedCharm_32) || !PlayerData.instance.equippedCharm_37);
                HeroController.instance.WALK_SPEED = Stats.walkSpeed;
                StartCoroutine(ConcussShot());
                return;
            }

            //Firing below will push the player up
            float mult = (PlayerData.instance.equippedCharm_31) ? 2 : 1;

            float fireDegree = OrientationHandler.finalDegreeDirection;

            if (hc_instance.cState.wallSliding)
            {
                StartCoroutine(KnockbackRecoil(3 * mult, 270));
                return;
            }
            else if (fireDegree == 270)
            {
                StartCoroutine(KnockbackRecoil(3 * mult, 270));
            }
            else if (fireDegree < 350 && fireDegree > 190)
            {
                StartCoroutine(KnockbackRecoil(0.07f * mult, 270));
            }
        }
Esempio n. 5
0
        public void FireGun(FireModes fm)
        {
            if (isFiring)
            {
                return;
            }
            isFiring = true;

            HP_Stats.StartBothCooldown();

            float finalDegreeDirectionLocal = HP_DirectionHandler.finalDegreeDirection;

            if (airStrikeActive)
            {
                StartCoroutine(FireFlare());
                return;
            }

            if (fm == FireModes.Single)
            {
                //slowWalk = ((PlayerData.instance.equippedCharm_37 && PlayerData.instance.equippedCharm_32) || !PlayerData.instance.equippedCharm_37);
                HeroController.instance.WALK_SPEED = HP_Stats.walkSpeed;
                StartCoroutine(SingleShot());
            }
            if (fm == FireModes.Spread)
            {
                slowWalk = ((PlayerData.instance.equippedCharm_37 && PlayerData.instance.equippedCharm_32) || !PlayerData.instance.equippedCharm_37);
                HeroController.instance.WALK_SPEED = HP_Stats.walkSpeed;
                StartCoroutine(SpreadShot(5));
                StartCoroutine(KnockbackRecoil(3f, finalDegreeDirectionLocal));
                return;
            }

            //Firing below will push the player up
            float mult = (PlayerData.instance.equippedCharm_31) ? 2 : 1;

            if (finalDegreeDirectionLocal == 270)
            {
                StartCoroutine(KnockbackRecoil(1.75f * mult, 270));
            }
            else if (finalDegreeDirectionLocal < 350 && finalDegreeDirectionLocal > 190)
            {
                StartCoroutine(KnockbackRecoil(0.07f * mult, 270));
            }
        }
Esempio n. 6
0
    void ChangeFireMode()
    {
        if (enabledFireModes.Length == 2)
        {
            switch (currentFireMode)
            {
            case FireModes.Semi:
                currentFireMode = FireModes.Burst;
                break;

            case FireModes.Burst:
                currentFireMode = FireModes.Semi;
                break;

            case FireModes.Auto:
                currentFireMode = FireModes.Semi;
                break;
            }
        }
        else if (enabledFireModes.Length == 3)
        {
            switch (currentFireMode)
            {
            case FireModes.Semi:
                currentFireMode = FireModes.Burst;
                break;

            case FireModes.Burst:
                currentFireMode = FireModes.Auto;
                break;

            case FireModes.Auto:
                currentFireMode = FireModes.Semi;
                break;
            }
        }
    }
Esempio n. 7
0
        public static void CreateCmd(Game game, Entity faction, Entity shipEntity, Guid fireControlGuid, FireModes isFiring)
        {
            var cmd = new SetOpenFireControlOrder()
            {
                RequestingFactionGuid = faction.Guid,
                EntityCommandingGuid  = shipEntity.Guid,
                CreatedDate           = shipEntity.Manager.ManagerSubpulses.StarSysDateTime,
                FireControlGuid       = fireControlGuid,
                IsFiring = isFiring
            };

            game.OrderHandler.HandleOrder(cmd);
        }
Esempio n. 8
0
 // -----------------------------------------------------
 void Start()
 {
     Shooting = false;
     fireSpeed = 0.5f;
     currentMode = FireModes.triple; // DEBUG
 }
Esempio n. 9
0
 // -----------------------------------------------------
 public void SetMode(int id)
 {
     currentMode = (FireModes)id;
 }
Esempio n. 10
0
    public void SetItemFromString(string ItemData)
    {
        string[] ItemDataSplit = ItemData.Split('|');
        if (ItemDataSplit.Length < 19)
        {
            ResetItem();
            //Debug.Log( "ItemDataSplit.Length < 20" );
            return;
        }
        Item_Name  = ItemDataSplit[0];
        Tech_Level = int.Parse(ItemDataSplit[1]);
        Weight     = float.Parse(ItemDataSplit[2]);

        Stats_Condition_current = int.Parse(ItemDataSplit[3]);
        Stats_Damage            = int.Parse(ItemDataSplit[4]);
        Stats_Frequency         = int.Parse(ItemDataSplit[5]);
        Stats_Handling          = int.Parse(ItemDataSplit[6]);
        Stats_Range             = int.Parse(ItemDataSplit[7]);

        string ItemTypeIndex = ItemDataSplit[8].ToLower();

        if (ItemTypeIndex.Contains("melee"))
        {
            Details_Item_Type = Types.Melee;
        }
        if (ItemTypeIndex.Contains("pistol"))
        {
            Details_Item_Type = Types.Pistol;
        }
        if (ItemTypeIndex.Contains("rifle"))
        {
            Details_Item_Type = Types.Rifle;
        }
        if (ItemTypeIndex.Contains("cannon"))
        {
            Details_Item_Type = Types.Cannon;
        }
        if (ItemTypeIndex.Contains("psi"))
        {
            Details_Item_Type = Types.Psi;
        }
        if (ItemTypeIndex.Contains("useable"))
        {
            Details_Item_Type = Types.Useable;
        }
        if (ItemTypeIndex.Contains("armor"))
        {
            Details_Item_Type = Types.Armor;
        }

        string FireModesIndex = ItemDataSplit[9].ToLower();

        if (FireModesIndex.Contains("single"))
        {
            Details_Fire_Mode = FireModes.Single;
        }
        if (FireModesIndex.Contains("burst"))
        {
            Details_Fire_Mode = FireModes.Burst;
        }

        Details_Damage         = int.Parse(ItemDataSplit[10]);
        Details_Aiming         = int.Parse(ItemDataSplit[11]);
        Details_Shot_Frequency = int.Parse(ItemDataSplit[12]);
        Details_Recoil         = int.Parse(ItemDataSplit[13]);
        Details_Range          = int.Parse(ItemDataSplit[14]);

        if (ItemDataSplit[15].ToLower().Contains("true"))
        {
            Details_Mod_Flashlight = true;
        }
        else
        {
            Details_Mod_Flashlight = false;
        }

        if (ItemDataSplit[16].ToLower().Contains("true"))
        {
            Details_Mod_Scope = true;
        }
        else
        {
            Details_Mod_Scope = false;
        }

        if (ItemDataSplit[17].ToLower().Contains("true"))
        {
            Details_Mod_Silencer = true;
        }
        else
        {
            Details_Mod_Silencer = false;
        }

        if (ItemDataSplit[18].ToLower().Contains("true"))
        {
            Details_Mod_Laserpointer = true;
        }
        else
        {
            Details_Mod_Laserpointer = false;
        }

        for (int i = 0; i < Icons.Length; i++)
        {
            if (Icons[i].name.ToLower() == ItemDataSplit[19].ToLower())
            {
                Icon_Image = Icons[i];
                //Debug.Log( ItemDataSplit[19].ToLower() );
                break;
            }
        }
    }