private EncounterDetail[] CreateEncounterPool() { EncounterDetail[] tempEncounterPool = new EncounterDetail[46]; tempEncounterPool[(int)Encounter.None] = new EncounterDetail("None", "NON"); tempEncounterPool[(int)Encounter.Ambush1] = new EncounterDetail("Ambush", "AMB"); tempEncounterPool[(int)Encounter.Ambush2] = new EncounterDetail("Ambush", "AMB"); tempEncounterPool[(int)Encounter.Ambush3] = new EncounterDetail("Ambush", "AMB"); tempEncounterPool[(int)Encounter.Assasin] = new EncounterDetail("Assasin", "ASS"); tempEncounterPool[(int)Encounter.Bats1] = new EncounterDetail("Bats", "BAT"); tempEncounterPool[(int)Encounter.Bats2] = new EncounterDetail("Bats", "BAT"); tempEncounterPool[(int)Encounter.Bats3] = new EncounterDetail("Bats", "BAT"); tempEncounterPool[(int)Encounter.DesecratedSoil1] = new EncounterDetail("Desecrated Soil", "DES"); tempEncounterPool[(int)Encounter.DesecratedSoil2] = new EncounterDetail("Desecrated Soil", "DES"); tempEncounterPool[(int)Encounter.DesecratedSoil3] = new EncounterDetail("Desecrated Soil", "DES"); tempEncounterPool[(int)Encounter.Fog1] = new EncounterDetail("Fog", "FOG"); tempEncounterPool[(int)Encounter.Fog2] = new EncounterDetail("Fog", "FOG"); tempEncounterPool[(int)Encounter.Fog3] = new EncounterDetail("Fog", "FOG"); tempEncounterPool[(int)Encounter.Fog4] = new EncounterDetail("Fog", "FOG"); tempEncounterPool[(int)Encounter.MinionwithKnife1] = new EncounterDetail("Minion with Knife", "MIK"); tempEncounterPool[(int)Encounter.MinionwithKnife2] = new EncounterDetail("Minion with Knife", "MIK"); tempEncounterPool[(int)Encounter.MinionwithKnife3] = new EncounterDetail("Minion with Knife", "MIK"); tempEncounterPool[(int)Encounter.MinionwithKnifeandPistol1] = new EncounterDetail("Minion with Knife and Pistol", "MIP"); tempEncounterPool[(int)Encounter.MinionwithKnifeandPistol2] = new EncounterDetail("Minion with Knife and Pistol", "MIP"); tempEncounterPool[(int)Encounter.MinionwithKnifeandRifle1] = new EncounterDetail("Minion with Knife and Rifle", "MIR"); tempEncounterPool[(int)Encounter.MinionwithKnifeandRifle2] = new EncounterDetail("Minion with Knife and Rifle", "MIR"); tempEncounterPool[(int)Encounter.Hoax1] = new EncounterDetail("Hoax", "HOA"); tempEncounterPool[(int)Encounter.Hoax2] = new EncounterDetail("Hoax", "HOA"); tempEncounterPool[(int)Encounter.Lightning1] = new EncounterDetail("Lightning", "LIG"); tempEncounterPool[(int)Encounter.Lightning2] = new EncounterDetail("Lightning", "LIG"); tempEncounterPool[(int)Encounter.Peasants1] = new EncounterDetail("Peasants", "PEA"); tempEncounterPool[(int)Encounter.Peasants2] = new EncounterDetail("Peasants", "PEA"); tempEncounterPool[(int)Encounter.Plague] = new EncounterDetail("Plague", "PLA"); tempEncounterPool[(int)Encounter.Rats1] = new EncounterDetail("Rats", "RAT"); tempEncounterPool[(int)Encounter.Rats2] = new EncounterDetail("Rats", "RAT"); tempEncounterPool[(int)Encounter.Saboteur1] = new EncounterDetail("Saboteur", "SAB"); tempEncounterPool[(int)Encounter.Saboteur2] = new EncounterDetail("Saboteur", "SAB"); tempEncounterPool[(int)Encounter.Spy1] = new EncounterDetail("Spy", "SPY"); tempEncounterPool[(int)Encounter.Spy2] = new EncounterDetail("Spy", "SPY"); tempEncounterPool[(int)Encounter.Thief1] = new EncounterDetail("Thief", "THI"); tempEncounterPool[(int)Encounter.Thief2] = new EncounterDetail("Thief", "THI"); tempEncounterPool[(int)Encounter.NewVampire1] = new EncounterDetail("New Vampire", "VAM"); tempEncounterPool[(int)Encounter.NewVampire2] = new EncounterDetail("New Vampire", "VAM"); tempEncounterPool[(int)Encounter.NewVampire3] = new EncounterDetail("New Vampire", "VAM"); tempEncounterPool[(int)Encounter.NewVampire4] = new EncounterDetail("New Vampire", "VAM"); tempEncounterPool[(int)Encounter.NewVampire5] = new EncounterDetail("New Vampire", "VAM"); tempEncounterPool[(int)Encounter.NewVampire6] = new EncounterDetail("New Vampire", "VAM"); tempEncounterPool[(int)Encounter.Wolves1] = new EncounterDetail("Wolves", "WOL"); tempEncounterPool[(int)Encounter.Wolves2] = new EncounterDetail("Wolves", "WOL"); tempEncounterPool[(int)Encounter.Wolves3] = new EncounterDetail("Wolves", "WOL"); return tempEncounterPool; }
// remove internal void AddEncounterToEncounterPool(EncounterDetail encounterToDiscard) { EncounterPool.Add(encounterToDiscard); }
private bool ResolveEncounter(EncounterDetail enc, Hunter hunter, out bool discard, UserInterface ui) { bool resolveNextEncounter = true; discard = true; List<Hunter> huntersInvolved = new List<Hunter>(); foreach (int ind in hunter.HuntersInGroup) { huntersInvolved.Add(Hunters[ind]); } switch (enc.name) { case "Ambush": resolveNextEncounter = ResolveAmbush(huntersInvolved, ui); break; case "Assasin": resolveNextEncounter = ResolveAssassin(huntersInvolved, ui); break; case "Bats": resolveNextEncounter = ResolveBats(huntersInvolved, ui); discard = false; break; case "Desecrated Soil": resolveNextEncounter = ResolveDesecratedSoil(huntersInvolved, ui); break; case "Fog": resolveNextEncounter = ResolveFog(huntersInvolved, ui); discard = false; break; case "Minion with Knife": resolveNextEncounter = ResolveMinionWithKnife(huntersInvolved, ui); break; case "Minion with Knife and Pistol": resolveNextEncounter = ResolveMinionWithKnifeAndPistol(huntersInvolved, ui); break; case "Minion with Knife and Rifle": resolveNextEncounter = ResolveMinionWithKnifeAndRifle(huntersInvolved, ui); break; case "Hoax": resolveNextEncounter = ResolveHoax(huntersInvolved, ui); break; case "Lightning": resolveNextEncounter = ResolveLightning(huntersInvolved, ui); break; case "Peasants": resolveNextEncounter = ResolvePeasants(huntersInvolved, ui); break; case "Plague": resolveNextEncounter = ResolvePlague(huntersInvolved, ui); break; case "Rats": resolveNextEncounter = ResolveRats(huntersInvolved, ui); break; case "Saboteur": resolveNextEncounter = ResolveSaboteur(huntersInvolved, ui); break; case "Spy": resolveNextEncounter = ResolveSpy(huntersInvolved, ui); break; case "Thief": resolveNextEncounter = ResolveThief(huntersInvolved, ui); break; case "New Vampire": bool discardVampire = true; resolveNextEncounter = ResolveNewVampire(huntersInvolved, out discardVampire, ui); discard = discardVampire; break; case "Wolves": resolveNextEncounter = ResolveWolves(huntersInvolved, ui); break; } return resolveNextEncounter; }
// remove internal void RemoveEncounterFromEncounterPool(EncounterDetail tempEncounter) { EncounterPool.Remove(tempEncounter); }