public static void OnLogin(LoginEventArgs e) { if (!Enabled) { return; } PlayerMobile pm = e.Mobile as PlayerMobile; if (pm != null && Instance != null) { Timer.DelayCall(TimeSpan.FromSeconds(1), Instance.CheckResignation, pm); Timer.DelayCall(TimeSpan.FromSeconds(2), Instance.CheckBattleStatus, pm); if (EnhancedRules && AutoKicked != null && AutoKicked.Contains(pm)) { Timer.DelayCall(TimeSpan.FromSeconds(1), player => { player.SendGump(new BasicInfoGump(_EnhancedRulesNotice)); AutoKicked.Remove(player); if (AutoKicked.Count == 0) { AutoKicked = null; } }, pm); } } }
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(); } }