public override void CastEffect() { int casterIndex = stage.enemies.IndexOf((Enemy)caster); Crystal crystal = new Crystal(); boss.crystal = crystal; crystal.RegisterDeathObserver(boss); stage.AddEnemyAtIndex(crystal, casterIndex); }
public override void CastEffect() { int casterIndex = stage.enemies.IndexOf((Enemy)caster); Enemy summon = getEnemy(); stage.AddEnemyAtIndex(summon, casterIndex); summon.RegisterDeathObserver(this); summons.Add(summon); summonsAlive += 1; }
public override void CastEffect() { foreach (int level in GetLevels()) { //MonoBehaviour.print("level: " + level); int casterIndex = stage.enemies.IndexOf((Enemy)caster); //Enemy skeleton = new Skeleton(level); Enemy skeleton = new Skeleton(level); stage.AddEnemyAtIndex(skeleton, casterIndex); //MonoBehaviour.print("count "+ skeleton.deathObservers.Count); skeleton.RegisterDeathObserver(this); //MonoBehaviour.print("count " + skeleton.deathObservers.Count); skeletonsAlive += 1; //MonoBehaviour.print(skeletonsAlive); } if (!firstCast) { totalLevel += levelGainPerCast; } else { firstCast = false; } }