public override void Notify(DOLEvent e, object sender, EventArgs args) { if (e == AreaEvent.PlayerEnter) { AreaEventArgs kargs = args as AreaEventArgs; if (m_owner is GamePlayer && kargs.GameObject != m_owner) { return; } foreach (AbstractArea area in kargs.GameObject.CurrentAreas) { if (area is KeepArea && (area as KeepArea).Keep == m_keep) { FinishMission(); break; } } } else if (e == KeepEvent.KeepTaken) { KeepEventArgs kargs = args as KeepEventArgs; if (kargs.Keep != m_keep) { return; } ExpireMission(); } }
/// <summary> /// when keep is taken it check if the realm which take gain the control of DF /// </summary> /// <param name="e"></param> /// <param name="sender"></param> /// <param name="arguments"></param> public static void OnKeepTaken(DOLEvent e, object sender, EventArgs arguments) { KeepEventArgs args = arguments as KeepEventArgs; eRealm realm = (eRealm)args.Keep.Realm; if (realm != DarknessFallOwner) { int currentDFOwnerTowerCount = GameServer.KeepManager.GetTowerCountByRealm(DarknessFallOwner); int challengerOwnerTowerCount = GameServer.KeepManager.GetTowerCountByRealm(realm); if (currentDFOwnerTowerCount < challengerOwnerTowerCount) { DarknessFallOwner = realm; } } }
public override void Notify(DOLEvent e, object sender, EventArgs args) { if (e != KeepEvent.TowerRaized) { return; } KeepEventArgs kargs = args as KeepEventArgs; if (kargs.Keep != m_keep) { return; } FinishMission(); }
public override void Notify(DOLEvent e, object sender, EventArgs args) { if (e != KeepEvent.KeepTaken) { return; } KeepEventArgs kargs = args as KeepEventArgs; if (kargs.Keep != m_keep) { return; } GamePlayer testPlayer = null; if (m_owner is GamePlayer) { testPlayer = m_owner as GamePlayer; } else if (m_owner is Group) { testPlayer = (m_owner as Group).Leader; } if (testPlayer != null) { foreach (AbstractArea area in testPlayer.CurrentAreas) { if (area is KeepArea && (area as KeepArea).Keep == m_keep) { FinishMission(); } } } ExpireMission(); }