public void GetFreeStarterPuppet() { if (!HasAnyValidPuppets) { AddPuppet(Puppet.GetStarter()); } else { throw new Exception("Can't get another starter "); } }
public void StartEncounter (EncounterType e) { var tempParty = new Puppet[] { Puppet.GetStarter(), Puppet.GetStarter(), Puppet.GetStarter(), Puppet.GetStarter() }; foreach (var p in tempParty) p.Live((_) => { }); current = new Battle(e, tempParty); current.OnPuppetDies += (s, b) => { PuppetDies(b.Puppets); }; current.OnEnemyDies += (s, b) => { EnemyDies(); }; current.OnRelics += (s, b) => { GotRelics(b.Relics); }; current.OnRetreated += (s, b) => { Retreated(); }; current.OnNextRound += (s, b) => { BetweenRounds(); }; current.OnBattleLost += (s, b) => { Lost(); }; BetweenRounds(); }