コード例 #1
0
        public override void SendInteract(Player player, InteractMenu menu)
        {
            if (HeldState == EHeldState.Inactive || HeldState == EHeldState.Carried || (RealmCapturableFor != 0 && player.Realm != RealmCapturableFor))
            {
                return;
            }

            if (player.StealthLevel > 0)
            {
                player.SendClientMessage("You can't interact with objects while in stealth", ChatLogFilters.CHATLOGFILTERS_C_ABILITY_ERROR);
                return;
            }

            if (player.HeldObject != null)
            {
                player.SendClientMessage("You can't carry more than one object", ChatLogFilters.CHATLOGFILTERS_C_ABILITY_ERROR);
                return;
            }

            if (HeldState == EHeldState.Ground)
            {
                _evtInterface.RemoveEvent(ResetFromGround);
            }

            BeginInteraction(player);
        }
コード例 #2
0
        private void EndRegionLock()
        {
            Logger.Info($"Ending Region Lock for Region : {this.Region.RegionId}");
            _EvtInterface.RemoveEvent(EndRegionLock);
            RegionLocked = false;
            var playersToAnnounceTo = Player._Players.Where(x => !x.IsDisposed &&
                                                            x.IsInWorld() &&
                                                            x.ScnInterface.Scenario == null &&
                                                            x.Region.RegionId == this.Region.RegionId);

            //foreach (var player in playersToAnnounceTo)
            //{
            //    player.SendClientMessage($"{Region.RegionName} has recovered and is available for battle!");
            //}
        }