示例#1
0
            public static float GetChargeCost(CannonEffects cef)
            {
                switch (cef)
                {
                case CannonEffects.Base:
                    return(0);

                case CannonEffects.EnergyBomb:
                    return(10);

                case CannonEffects.EnergyBoost:
                    return(0);

                case CannonEffects.Fire:
                    return(2);

                case CannonEffects.HealthBoost:
                    return(0);

                case CannonEffects.Laser:
                    return(0.5f);

                case CannonEffects.RunSpeed:
                    return(0);

                case CannonEffects.StunField:
                    return(15);

                default:
                    return(0);
                }
            }
示例#2
0
 public void ChangeAbility(Player player)
 {
     for (int i = ((int)selectedEffect) + 1; i < 5; i++)
     {
         if (currEffects[(CannonEffects)i] >= 0 && player.GetModPlayer <PlayerFixer>().UnlockedMechEffect((CannonEffects)i))
         {
             selectedEffect = (CannonEffects)i;
             return;
         }
     }
     selectedEffect = CannonEffects.Base;
 }
示例#3
0
 public MechData(Player pl)
 {
     owner           = pl;
     stasis          = false;
     shootCounter    = 0;
     stasisRegenRate = 0f;
     channelLaser    = false;
     charge          = 100f;
     gunRotation     = 0;
     ticksForFrame   = 15;
     lastLegFrame    = 2;
     selectedEffect  = CannonEffects.Base;
     foreach (CannonEffects cef in typeof(CannonEffects).GetEnumValues())
     {
         currEffects[cef] = -1;
     }
 }
示例#4
0
            public static Texture2D GetEffectIconTexture(CannonEffects cef)
            {
                var    sm = ModContent.GetInstance <StarSailorMod>();
                string fname;

                switch (cef)
                {
                case CannonEffects.Base:
                    fname = "BasePowerup";
                    break;

                case CannonEffects.EnergyBomb:
                    fname = "BombPowerup";
                    break;

                case CannonEffects.EnergyBoost:
                    fname = "ChargePowerup";
                    break;

                case CannonEffects.Fire:
                    fname = "FirePowerup";
                    break;

                case CannonEffects.HealthBoost:
                    fname = "HealthPowerup";
                    break;

                case CannonEffects.Laser:
                    fname = "LaserPowerup";
                    break;

                case CannonEffects.RunSpeed:
                    fname = "SpeedPowerup";
                    break;

                case CannonEffects.StunField:
                    fname = "StunFieldPowerup";
                    break;

                default:
                    throw new ArgumentException();
                }
                //mod.Logger.Info("well i made it this far 2");
                return(sm.GetTexture("Items/" + fname));
            }
示例#5
0
            public void SetNewEffect(CannonEffects cef, int ec)
            {
                currEffects[cef] = ec;
                switch (cef)
                {
                case CannonEffects.EnergyBoost:
                    chargeRegenRate = BASE_CHARGE_REGEN_RATE * 100;
                    break;

                case CannonEffects.HealthBoost:
                    owner.GetModPlayer <PlayerFixer>().mechMaxRegen = true;
                    break;

                case CannonEffects.RunSpeed:
                    owner.GetModPlayer <PlayerFixer>().mechRunSpeed = true;
                    break;
                }
            }
示例#6
0
 public void UpdateEffect()
 {
     foreach (CannonEffects efc in typeof(CannonEffects).GetEnumValues())
     {
         if (efc == CannonEffects.Base)
         {
             continue;
         }
         currEffects[efc] = Math.Max(-1, currEffects[efc] - 1);
         if (currEffects[efc] < 0)
         {
             if (selectedEffect == efc)
             {
                 selectedEffect = CannonEffects.Base;
             }
             if (efc == CannonEffects.Laser)
             {
                 channelLaser = false;
             }
             if (efc == CannonEffects.EnergyBoost)
             {
                 chargeRegenRate = BASE_CHARGE_REGEN_RATE;
             }
             if (efc == CannonEffects.HealthBoost)
             {
                 owner.GetModPlayer <PlayerFixer>().mechMaxRegen = false;
             }
             if (efc == CannonEffects.RunSpeed)
             {
                 owner.GetModPlayer <PlayerFixer>().mechRunSpeed = false;
             }
         }
     }
     if (selectedEffect != CannonEffects.Laser)
     {
         channelLaser = false;
     }
     if (selectedEffect != CannonEffects.Base)
     {
         stasis = false;
     }
 }
示例#7
0
 public bool UnlockedMechEffect(CannonEffects cef) => mechEffectUnlocks[cef];
示例#8
0
 public void UnlockMechEffect(CannonEffects cef)
 {
     mechEffectUnlocks[cef] = true;
 }