示例#1
0
        public override void Die(GameObject killer)
        {
            base.Die(killer);
            if (this.AbstractKeep is GameKeepTower && ServerProperties.Properties.CLIENT_VERSION_MIN >= (int)GameClient.eClientVersion.Version175)
            {
                if (IsRaized == false)
                {
                    Notify(KeepEvent.TowerRaized, this.AbstractKeep, new KeepEventArgs(this.AbstractKeep, killer.Realm));
                    PlayerMgr.BroadcastRaize(this.AbstractKeep, killer.Realm);
                    IsRaized = true;

                    foreach (GameKeepGuard guard in this.AbstractKeep.Guards.Values)
                    {
                        guard.MoveTo(guard.CurrentRegionID, guard.X, guard.Y, this.AbstractKeep.Z, guard.Heading);
                        guard.SpawnPoint.Z = this.AbstractKeep.Z;
                    }
                }
            }

            foreach (GameClient client in WorldMgr.GetClientsOfRegion(this.CurrentRegionID))
            {
                client.Out.SendKeepComponentDetailUpdate(this);
            }
        }
        public override void Die(GameObject killer)
        {
            base.Die(killer);
            if (AbstractKeep is GameKeepTower)
            {
                if (IsRaized == false)
                {
                    Notify(KeepEvent.TowerRaized, AbstractKeep, new KeepEventArgs(AbstractKeep, killer.Realm));
                    PlayerMgr.BroadcastRaize(AbstractKeep, killer.Realm);
                    IsRaized = true;

                    foreach (GameKeepGuard guard in AbstractKeep.Guards.Values)
                    {
                        guard.MoveTo(guard.CurrentRegionID, guard.X, guard.Y, AbstractKeep.Z, guard.Heading);
                        guard.SpawnPoint.Z = AbstractKeep.Z;
                    }
                }
            }

            foreach (GameClient client in WorldMgr.GetClientsOfRegion(CurrentRegionID))
            {
                client.Out.SendKeepComponentDetailUpdate(this);
            }
        }