public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); GuildStats = new Dictionary <Guild, VvVGuildStats>(); ExemptCities = new List <VvVCity>(); bool enabled = false; bool enhanced = false; switch (version) { case 4: int c = reader.ReadInt(); for (int i = 0; i < c; i++) { var pm = reader.ReadMobile() as PlayerMobile; if (pm != null) { if (AutoKicked == null) { AutoKicked = new List <PlayerMobile>(); } AutoKicked.Add(pm); } } enhanced = reader.ReadBool(); goto case 3; case 3: enabled = reader.ReadBool(); goto case 2; case 2: case 1: { int count = reader.ReadInt(); for (int i = 0; i < count; i++) { ExemptCities.Add((VvVCity)reader.ReadInt()); } goto case 0; } case 0: { HasGenerated = reader.ReadBool(); Battle = new VvVBattle(reader, this); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { Item item = reader.ReadItem(); if (item != null) { AddVvVItem(item); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { Guild g = reader.ReadGuild() as Guild; VvVGuildStats stats = new VvVGuildStats(g, reader); if (g != null) { GuildStats[g] = stats; } } } break; } if (version == 1) { Timer.DelayCall(FixVvVItems); } if (Enabled && !enabled) { CreateSilverTraders(); Server.Factions.Generator.RemoveFactions(); } else if (!Enabled && enabled) { DeleteSilverTraders(); } if (EnhancedRules && !enhanced) { OnEnhancedRulesEnabled(); } }