protected override void PerformZAction(int currentTurn)
 {
     BonusThreat.Initialize(SittingDuck, ThreatController, EventMaster);
     ThreatController.AddInternalThreat(BonusThreat, currentTurn);
     while (BonusThreat.Position >= 0)
     {
         BonusThreat.Move(currentTurn);
     }
 }
Esempio n. 2
0
 private void PoisonPlayer(object sender, PlayerMoveEventArgs args)
 {
     if (poisonedPlayers == null)
     {
         poisonedPlayers = new PoisonedPlayers(this);
         poisonedPlayers.Initialize(SittingDuck, ThreatController, EventMaster);
         ThreatController.AddInternalThreat(poisonedPlayers, TimeAppears, Position);
     }
     poisonedPlayers.PoisonPlayer(args.MovingPlayer);
 }
Esempio n. 3
0
        public void SpreadFrom(StationLocation spreadFromStation, int position)
        {
            var spreadToStation = GetStationToSpreadTo(spreadFromStation);

            if (spreadToStation == null ||
                ThreatController.DamageableInternalThreats.Any(threat => threat is BaseSlime && threat.CurrentStation == spreadToStation))
            {
                return;
            }
            var newProgeny = CreateProgeny(spreadToStation.Value);

            Progeny.Add(newProgeny);
            newProgeny.Initialize(SittingDuck, ThreatController, EventMaster);
            ThreatController.AddInternalThreat(newProgeny, TimeAppears, position);
        }
Esempio n. 4
0
        private void InfectPlayers()
        {
            if (infectedPlayers == null)
            {
                infectedPlayers = new InfectedPlayers(this);
                infectedPlayers.Initialize(SittingDuck, ThreatController, EventMaster);
                ThreatController.AddInternalThreat(infectedPlayers, TimeAppears, Position);
            }
            var playersInCurrentStation = SittingDuck.GetPlayersInStation(CurrentStation);

            foreach (var player in playersInCurrentStation)
            {
                infectedPlayers.InfectPlayer(player);
            }
        }
Esempio n. 5
0
 private void CallInInternalThreat(int currentTurn)
 {
     BonusThreat.Initialize(SittingDuck, ThreatController, EventMaster);
     ThreatController.AddInternalThreat(BonusThreat, 1000 + currentTurn);
 }