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); } }
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; }
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; } }
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)); }
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; } }
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; } }
public bool UnlockedMechEffect(CannonEffects cef) => mechEffectUnlocks[cef];
public void UnlockMechEffect(CannonEffects cef) { mechEffectUnlocks[cef] = true; }