public void RemoveMerchant(BaseShipCaptain merchant) { SpawnZone zone = merchant.Zone; if (m_ActiveZones[zone].Contains(merchant)) { m_ActiveZones[zone].Remove(merchant); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_MaxFel = reader.ReadInt(); m_MaxTram = reader.ReadInt(); m_MaxTokuno = reader.ReadInt(); m_SpawnTime = reader.ReadTimeSpan(); m_Active = reader.ReadBool(); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { SpawnZone zone = (SpawnZone)reader.ReadInt(); int c = reader.ReadInt(); for (int j = 0; j < c; j++) { BaseShipCaptain capt = reader.ReadMobile() as BaseShipCaptain; if (capt != null && !capt.Deleted && capt.Alive) { m_ActiveZones[zone].Add(capt); } } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile mob = reader.ReadMobile(); int amt = reader.ReadInt(); if (mob != null && !mob.Deleted) { m_Bounties.Add(mob, amt); } } if (version == 0) { m_MaxTram = 1; m_MaxFel = 1; m_MaxTokuno = 1; RemoveSpawns(); } m_Instance = this; if (m_Active) { m_Timer = Timer.DelayCall(m_SpawnTime, m_SpawnTime, new TimerCallback(OnTick)); } }
public void HandleDeath(BaseShipCaptain captain) { if (captain is PirateCaptain) { RemoveBounty(captain); } else if (captain is MerchantCaptain) { RemoveMerchant(captain); } }
public void RemoveBounty(BaseShipCaptain pirate) { SpawnZone zone = pirate.Zone; if (m_ActiveZones[zone].Contains(pirate)) { m_ActiveZones[zone].Remove(pirate); } if (m_Bounties.ContainsKey(pirate)) { m_Bounties.Remove(pirate); } }