public void MakeMoney() { if (WaveManager.ActiveTeam == GetTeam()) { UpdateMapPosition(); int ProdBase = MyRock.ProductionAmount.get(); if (IsUpdgraded) { ProdBase += 100; } if (WaveManager.CurrentWave > 15) { ProdBase *= 2; } if (BonusProduction) { ProdBase *= WaveManager.GameSpeed; } else { BonusProduction = true; } int Production = ProdBase; if (Production > 0) { FactionManager.AddCells(FactionNumber, Production); TextParticleSystem.AddParticle(new Vector3(Position.X(), Y, Position.Y()), Production.ToString(), (byte)GetTeam(), TextParticleSystemIcons.CellsTexture); } } }
public void MakeMoney() { if (WaveManager.ActiveTeam == GetTeam()) { FactionManager.AddEnergy(FactionNumber, Production); FactionManager.AddCells(FactionNumber, Production); TextParticleSystem.AddParticle(new Vector3(Position.X(), Y, Position.Y()), Production.ToString(), (byte)GetTeam(), TextParticleSystemIcons.CellsTexture); } }
public override void Interact(PlayerShip p) { IsUpdgraded = true; FactionManager.AddCells(p.FactionNumber, -UpgradeCost); HullDamage = 0; ShieldDamage = 0; Upgrade(); base.Interact(p); }
public override void Interact(PlayerShip p) { if (miningPlatform == null && FactionManager.CanBuildMiningPlatform(p.FactionNumber)) { Vector3 P3 = new Vector3(Position.X(), 0, Position.Y()); for (int i = 0; i < 40; i++) { LineParticleSystem.AddParticle(P3, P3 + Rand.V3() * 1000, TeamInfo.GetColor(p.GetTeam())); } MiningPlatform m = FactionManager.GetMiningPlatform(p.FactionNumber); ParentLevel.AddObject(m); m.Position.set(Position.get()); setPlatform(m); SoundManager.Play3DSound("PlayerBuildMiningRing", new Vector3(m.Position.X(), Y, m.Position.Y()), 0.25f, 500, 1); if (p.PlacedStartingMineralRock) { FactionManager.AddCells(p.FactionNumber, -FactionManager.GetMiningPlatformCost(p.FactionNumber)); FactionManager.SetBuildingPlatform(p.FactionNumber, m); } else { FactionManager.GetFaction(p.FactionNumber).MiningPlatformCounter = 0; m.HullToughness *= 2; m.SetAsStarting(); p.PlacedStartingMineralRock = true; p.StartingMineralRock = this; } p.LastPlacedPlatform.AddFirst(m); PathFindingManager.AddMineralRock(m); } base.Interact(p); }
public override bool APress(PlayerShip Ship, bool APrevious) { if (!APrevious) { { int CardCost = CardCellsCost; if (FactionCostIncreases.ContainsKey(Ship.FactionNumber)) { CardCost += CardCellsCostIncrease * FactionCostIncreases[Ship.FactionNumber]; } if (FactionManager.CanAfford(Ship.FactionNumber, CardCost) && Ship.CanPlaceTurret(TurretSize)) { if (FactionCostIncreases.ContainsKey(Ship.FactionNumber)) { FactionCostIncreases[Ship.FactionNumber]++; } else { FactionCostIncreases.Add(Ship.FactionNumber, 1); } FactionManager.AddCells(Ship.FactionNumber, -CardCost); UnitTurret u = (UnitTurret)GetUnit(Ship.FactionNumber); u.MyCard = this; Ship.PlaceTurret(u); return(true); } else { RedFlashAlpha = 1; } } } return(false); }
public override bool TriggerAsCurrent(BasicMarker m) { if (BasicMarker.SelectSound != null) { BasicMarker.SelectSound.Play(BasicMarker.SelectVolume, 0, 0); } Faction f = FactionManager.Factions[ParentShip.FactionNumber]; FlashAlpha = 1; if (FactionManager.GetFaction(ParentShip.FactionNumber).PickingCards) { if (Selected) { for (int i = 0; i < f.Cards.Count; i++) { if (f.Cards[i] == MyCard) { f.Cards[i] = null; Selected = false; return(true); } } } else { for (int i = 0; i < f.Cards.Count; i++) { if (f.Cards[i] == null) { f.Cards[i] = MyCard; Selected = true; break; } } if (!Selected) { f.Cards.Add(MyCard); Selected = true; } if (Faction.MaxCards == f.Cards.Count) { for (int i = 0; i < f.Cards.Count; i++) { if (f.Cards[i] == null) { return(true); } } ParentShip.ReadyMenu(); } } } else { int CardCost = MyCard.CardCellsCost; if (MyCard.FactionCostIncreases.ContainsKey(ParentShip.FactionNumber)) { CardCost += MyCard.CardCellsCostIncrease * MyCard.FactionCostIncreases[ParentShip.FactionNumber]; } if (FactionManager.CanAfford(ParentShip.FactionNumber, CardCost) && ParentShip.CanPlaceTurret(MyCard.TurretSize)) { if (MyCard.FactionCostIncreases.ContainsKey(ParentShip.FactionNumber)) { MyCard.FactionCostIncreases[ParentShip.FactionNumber]++; } else { MyCard.FactionCostIncreases.Add(ParentShip.FactionNumber, 1); } FactionManager.AddCells(ParentShip.FactionNumber, -CardCost); UnitTurret u = (UnitTurret)MyCard.GetUnit(ParentShip.FactionNumber); u.MyCard = MyCard; ParentShip.PlaceTurret(u); //ParentFrame.DeActivate(); } else { ErrorAlpha = 1; } } return(base.TriggerAsCurrent(m)); }