Example #1
0
        public override void NPCTalk(Player plr)
        {
            var msg = new SKanturuStateInfo
            {
                State         = _state,
                btEnter       = 0,
                btDetailState = 0,
                btUserCount   = (byte)_players.Count,
            };

            switch (_state)
            {
            case KanturuState.BattleStandBy:
                msg.btDetailState = (byte)_standBy.CurrentState;
                msg.iRemainTime   = (int)_standBy.TimeLeft.TotalSeconds;
                break;

            case KanturuState.BattleOfMaya:
                msg.btDetailState = (byte)_battleOfMaya.CurrentState;
                msg.iRemainTime   = (int)_battleOfMaya.TimeLeft.TotalSeconds;
                switch (_battleOfMaya.CurrentState)
                {
                case KanturuBattleOfMayaState.StandBy1:
                case KanturuBattleOfMayaState.StandBy2:
                case KanturuBattleOfMayaState.StandBy3:
                    if (_players.Count(x => x.Eventer == true) < MaxPlayers)
                    {
                        msg.btEnter = 1;
                    }
                    break;
                }
                break;

            case KanturuState.BattleOfNightmare:
                msg.btDetailState = (byte)_battleOfNightmare.CurrentState;
                msg.iRemainTime   = (int)_battleOfNightmare.TimeLeft.TotalSeconds;
                break;

            case KanturuState.TowerOfRefinery:
                msg.btDetailState = (byte)_towerOfRefinement.CurrentState;
                msg.iRemainTime   = (int)_towerOfRefinement.TimeLeft.TotalSeconds;
                switch (_towerOfRefinement.CurrentState)
                {
                case KanturuTowerOfRefinementState.Revitalization:
                case KanturuTowerOfRefinementState.Notify1:
                    msg.btEnter = 1;
                    break;
                }
                break;
            }

            plr.Session.SendAsync(msg)
            .Wait();
        }
Example #2
0
        public override void NPCTalk(Player plr)
        {
            var msg = new SKanturuStateInfo
            {
                State         = KanturuState.None,
                btDetailState = 0,
                btEnter       = 0,
                btUserCount   = 0,
                iRemainTime   = 100,
            };

            plr.Session.SendAsync(msg)
            .Wait();
        }