Пример #1
0
        public async Task ForceSkip(SocketGuildUser target)
        {
            ContextIds idList     = new ContextIds(Context);
            var        user       = UserHandler.GetUser(idList.UserId);
            var        targetUser = UserHandler.GetUser(target.Id);

            //Tests each case to make sure all circumstances for the execution of this command are valid (character exists, in correct location)
            try
            {
                await UserHandler.OtherUserHasNoCards(idList, user, targetUser);

                await UserHandler.OtherUserNotInCombat(idList, targetUser);
            }
            catch (InvalidUserStateException)
            {
                return;
            }

            var combat = CombatHandler.GetInstance(targetUser.CombatID);

            foreach (BasicCard card in targetUser.ActiveCards)
            {
                if (card.IsTurn)
                {
                    await CombatHandler.SkipTurn(combat, card);

                    await MessageHandler.SendMessage(combat.Location, $"{card.Signature}'s turn was force-skipped by a Celestial!");
                }
            }
        }
Пример #2
0
        public async Task NewTeam(SocketGuildUser target)
        {
            ContextIds idList = new ContextIds(Context);
            var        user   = UserHandler.GetUser(Context.User.Id);
            var        targ   = UserHandler.GetUser(target.Id);

            //Tests each case to make sure all circumstances for the execution of this command are valid (character exists, in correct location)
            try
            {
                await UserHandler.UserHasNoCards(idList, user);

                await UserHandler.UserInCombat(idList);

                await UserHandler.OtherUserNotInCombat(idList, targ);
            }
            catch (InvalidUserStateException)
            {
                return;
            }

            var combat = CombatHandler.GetInstance(targ.CombatID);

            if (combat.IsDuel)
            {
                await combat.AddPlayerToCombat(user, combat.CreateNewTeam());

                await MessageHandler.SendMessage(idList, $"{user.Mention} has joined combat and created Team {user.TeamNum}!");
            }
        }
Пример #3
0
        public Server()
        {
            wait    = new AutoResetEvent(false);
            Current = this;
            Random  = new Random();

            // Create services
            ConnectionListener = new ConnectionListener(Port);
            ConnectionMonitor  = new ConnectionMonitor();
            SessionMonitor     = new SessionMonitor();
            Database           = new Database(DataDir);
            CommandLookup      = new DynamicCommandLookup();
            Areas         = Database.GetAll <Area>();
            CombatSkills  = Database.GetAll <CombatSkill>();
            RepopHandler  = new RepopHandler(TickTime);
            CombatHandler = new CombatHandler(CombatTickRate);
            RegenHandler  = new RegenHandler(RegenTime);
            AgeHandler    = new AgeHandler(AgeTime);
            OpenTrades    = new Dictionary <Session, string>();

            // Setup services
            ConnectionListener.ConnectionHandler = new StartupConnectionHandler(ConnectionMonitor, SessionMonitor);

            Console.WriteLine("listening on port {0}...", Port);
        }
Пример #4
0
    public override void OnStartServer()
    {
        CombatHandler handler = GameObject.Find("CombatHandler").GetComponent <CombatHandler>();

        handler.StartCoroutine(handler.Timer(3));
        base.OnStartServer();
    }
Пример #5
0
    void initRope()
    {
        CombatHandler       ch   = _weapon.GetOwner();
        PlayerCombatHandler mpch = (PlayerCombatHandler)ch;

        if (mpch.RopeSlotStart == null)
        {
            GameObject go = PhotonNetwork.Instantiate("Rope_05", ch.transform.position, Quaternion.identity, 0);
            _rh             = go.GetComponent <RopeHandler> ();
            ch.MyRope       = _rh;
            _rh.Owner       = ch;
            _rh.StartTarget = mpch.transform;
//			_rh.StartAttachPoint = mpch.RopeTiePoint;
            _rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.START, RopeHandler.ATTACH_TYPE.CHARACTER, mpch.GetComponent <PhotonView> ().viewID);

            _rh.EndTarget = transform;
//			_rh.EndAttachPoint = transform;
            _rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.END, RopeHandler.ATTACH_TYPE.OTHER, GetComponent <PhotonView> ().viewID);
            mpch.RopeSlotStart = _rh;
        }
        else
        {
            _rh             = mpch.RopeSlotStart;
            _rh.StartTarget = transform;
//			_rh.StartAttachPoint = transform;
            _rh.SetAttachPoint(RopeHandler.ATTACH_SIDE.START, RopeHandler.ATTACH_TYPE.OTHER, GetComponent <PhotonView> ().viewID);

            mpch.RopeSlotStart = null;
            _rh.IsSetup        = false;
        }
    }
Пример #6
0
    public override void SetCombatHandler(CombatHandler ch)
    {
        base.SetCombatHandler(ch);

        _rigidBody = ch.GetComponent <Rigidbody> ();
        _rigidBody.maxAngularVelocity = 15f;
    }
Пример #7
0
        private void ProcessEngagement(EnemyEntity enemyEntity)
        {
            var engagedHeroData = _leadingEntity.EntityData;
            var enemyData       = enemyEntity.EntityData;

            CombatHandler.AttackTarget(engagedHeroData, enemyData);

            if (enemyData.HealthPoint > 0)
            {
                CombatHandler.AttackTarget(enemyData, engagedHeroData);
                if (engagedHeroData.HealthPoint <= 0)
                {
                    RemoveCurrentHero();
                    if (_heroInCaravans.Count <= 0)
                    {
                        TriggerGameOver();
                        PauseCaravan();
                    }
                }
            }
            else
            {
                Signaler.Instance.Broadcast(this, new EnemyKilled {
                    HeroesInCaravan = _heroInCaravans
                });
                _levelGrid.RemoveEnemyFromPosition(_currentPositionOnGrid);
                _enemySpawner.RemoveEnemyEntityFromGridPos(_currentPositionOnGrid);
                Destroy(enemyEntity.gameObject);

                _moveTimerMax -= _increaseSpeedStep;
                _moveTimerMax  = Mathf.Clamp(_moveTimerMax, _minimumTimerMax, float.MaxValue);
            }
        }
Пример #8
0
    public void spawnWave(SpawnDataOrder data)
    {
        if (!this.isActiveAndEnabled)
        {
            return;
        }
        for (int i = 0; i < data.number; i++)
        {
            var spawnPosition = new Vector3(
                Random.Range(-randomRange, randomRange),
                Random.Range(-randomRange, randomRange),
                0.0f);

            GameObject    grunt    = (GameObject)Instantiate(data.unitPrefab, this.transform.position + spawnPosition, Quaternion.identity);
            CombatHandler gruntObj = grunt.GetComponent <CombatHandler>();
            gruntObj.team = this.team;
            grunt.name    = "Grunt " + this.team;



            WaypointMover gruntWaypoint = grunt.GetComponent <WaypointMover>();
            gruntWaypoint.path   = path;
            gruntWaypoint.offset = spawnPosition;
            //
            NetworkServer.Spawn(grunt);
        }
    }
Пример #9
0
    void Awake()
    {
        instance = this;

        deathScreen.gameObject.SetActive(false);

        List <Transform> walls = generateMapBounds();

        HumanTankController = Instantiate(humanTankContPrefab, tankRoot, false);
        HumanTankController.Init(
            new Vector3(300, -800, 0),
            0,
            PlayerManager.Instance.TankSchematic);

        Dictionary <string, object> data = DataPasser.Instance.RetrieveData();
        TankSchematic enemyTankSchem     = ((EnemyInfo)data["Opponent"]).TankSchem;

        AITankController = Instantiate(aiTankContPrefab, tankRoot, false);
        AITankController.Init(
            new Vector3(300, 800, 0),
            180f,
            enemyTankSchem,
            HumanTankController.SelfTank,
            walls);

        MainCamera.GetComponent <ObjectFollower>().SetObjToFollow(HumanTankController.SelfTank.gameObject);

        DisableMovement = false;
    }
Пример #10
0
        public async Task Attack()
        {
            var        user   = UserHandler.GetUser(Context.User.Id);
            ContextIds idList = new ContextIds(Context);

            //Tests each case to make sure all circumstances for the execution of this command are valid (character exists, in correct location)
            try
            {
                await UserHandler.CharacterExists(idList);

                await UserHandler.ValidCharacterLocation(idList);
            }
            catch (InvalidCharacterStateException)
            {
                return;
            }

            if (user.Char.Combat == null)
            {
                await MessageHandler.SendMessage(idList, $"{user.Mention} aren't in combat right now!");
            }
            else
            {
                await CombatHandler.Attack(user.Char.Combat);
            }
        }
Пример #11
0
        public CombatHandlerTests()
        {
            combatHandler = new CombatHandler(makeTestParty("playerParty"), makeTestParty("cpuParty"), "username");

            cpuparty    = combatHandler.CpuParty;
            playerparty = combatHandler.PlayerParty;
        }
Пример #12
0
        public async Task ForceHeal(SocketGuildUser target)
        {
            ContextIds idList     = new ContextIds(Context);
            var        user       = UserHandler.GetUser(idList.UserId);
            var        targetUser = UserHandler.GetUser(target.Id);

            //Tests each case to make sure all circumstances for the execution of this command are valid (character exists, in correct location)
            try
            {
                await UserHandler.OtherUserHasNoCards(idList, user, targetUser);
            }
            catch (InvalidUserStateException)
            {
                return;
            }

            var combat = CombatHandler.GetInstance(targetUser.CombatID);

            foreach (BasicCard card in targetUser.ActiveCards)
            {
                if (card.IsTurn)
                {
                    card.CurrentHP = card.TotalHP;
                    card.Dead      = false;
                }
            }
        }
        public void StartFighting(World world)
        {
            var          playerPos = world.Get <PlayerPosition>();
            var          monsters  = world.Get <MonsterMoveController[]>();
            MonsterStats monster   = null;

            foreach (var monsterMove in monsters)
            {
                if (playerPos.NumberOfArrayPlayerIsIn == monsterMove.MonsterPosition.NumberOfArrayMonsterIsIn)
                {
                    monster = monsterMove.MonsterStats;
                    break;
                }
            }

            if (monster == null)
            {
                MoveMessages message = new MoveMessages(world);
                message.NoMonsterToFightMessage();
                world.WrongDirectionCount++;
            }
            else
            {
                PlayerStats player = world.Get <PlayerStats>();
                player.InCombat  = true;
                monster.InCombat = true;
                CombatHandler handler = world.Get <CombatHandler>();
                handler.ExchangeBlowsTillDeath(monster, player);
            }
        }
Пример #14
0
 public override void DoWork()
 {
     GrindingEngine.Navigator.Stop();
     CombatHandler.StartCombat(_unit);
     GrindingEngine.UpdateStats(0, 1, 0);
     GrindingEngine.Navigation.UseNextNearestWaypoint();
 }
Пример #15
0
 virtual protected void Start()
 {
     _pv   = PhotonView.Get(this);
     _ais  = GetComponent <AIScanner> ();
     _aimh = GetComponent <AIMovementHandler> ();
     _aish = GetComponent <AIStatusHandler> ();
     _ch   = GetComponent <CombatHandler> ();
 }
Пример #16
0
        public async Task DataWipe()
        {
            ContextIds idList = new ContextIds(Context);
            await MessageHandler.SendMessage(idList, "User and combat data cleared. Reboot bot to take effect.");

            CombatHandler.ClearCombatData(idList);
            UserHandler.ClearUserData();
        }
Пример #17
0
        public IActionResult Combat(int level)
        {
            CombatHandler combatHandler = createNewCombatHandler(level);
            string        json          = JsonHandler.ToJson(combatHandler);

            HttpContext.Session.SetString("combatHandler0", json);
            return(View(combatHandler));
        }
Пример #18
0
    // Use this for initialization
    void Start()
    {
        PhotonView pv = PhotonView.Get(this);

        _combatHandler = GetComponent <CombatHandler> ();

        Invoke("initialOrder", 0.1f);
    }
Пример #19
0
 // Use this for initializationv
 protected override void Start()
 {
     base.Start();
     //continuesly update and search for target
     InvokeRepeating("updateTarget", 0.5f, 1.0f);
     _osh = GetComponent <ObjectStatusHandler> ();
     _ch  = GetComponent <CombatHandler> ();
 }
Пример #20
0
 void Start()
 {
     parent        = this.gameObject.transform.parent;
     combatHandler = this.GetComponentInParent <CombatHandler>();
     combatHandler.turretHandler  = this;
     combatHandler.targetChanged += targetChanged;
     animator = this.GetComponent <Animator>();
 }
Пример #21
0
    private void Awake()
    {
        instance = this;

        StartCoroutine(HandleSearch());
        StartCoroutine(ApproachTargets());
        StartCoroutine(HandleAttacking());
    }
Пример #22
0
    //private int speed = 10;
    //private bool up, down, left, right;
    //private CombatHandler combatHandler;



    // Use this for initialization
    new void Start()
    {
        base.Start();
        combatHandler = GameObject.Find("GameRules")
                        .GetComponent <CombatHandler>();
        rb         = GetComponent <Rigidbody2D>();
        anim       = GetComponent <Animator>();
        localScale = transform.localScale;
    }
Пример #23
0
    public override void SetCombatHandler(CombatHandler ch)
    {
        base.SetCombatHandler(ch);

        if (ch.GetRopeCount() > 0)
        {
            SetStatus(ABILITY_STATUS.AVAILABLE);
        }
    }
Пример #24
0
 // Use this for initialization
 new void Start()
 {
     base.Start();
     anim          = GetComponent <Animator>();
     player        = GameObject.Find("Player");
     combatHandler = GameObject.Find("GameRules").GetComponent <CombatHandler>();
     combatHandler.AddEnemy(this);
     localScale = transform.localScale;
 }
Пример #25
0
    void Start()
    {
        _ch   = GetComponent <CombatHandler> ();
        _aimh = GetComponent <AIMovementHandler> ();
        _csh  = GetComponent <CharacterStatusHandler> ();

        //dev
//		InvokeRepeating ("Scan", 1f, _scanInterval);
    }
Пример #26
0
    //	public HangHandler HangHandler;

    protected override void Start()
    {
        base.Start();

//		if (HangHandler)
//			HangHandler = HangHandler;

        //default is walk for players
        _hsc.Walk();

        _photonView = PhotonView.Get(this);

        if (_photonView.isMine || _dev)
        {
            // get the transform of the main camera
            if (Camera.main != null)
            {
                _Cam = Camera.main.transform;
            }
            else
            {
                Debug.LogWarning(
                    "Warning: no main camera found. Third person character needs a Camera tagged \"MainCamera\", for camera-relative controls.");
                // we use self-relative controls in this case, which probably isn't what the user wants, but hey, we warned them!
            }

            _isTurnAllowed    = true;
            _isMovmentAllowed = true;
            _isSprintAllowed  = true;
        }

        IsFlying         = false;
        IsSprinting      = false;
        IsAiming         = false;
        IsOverheadAiming = false;
        _inputJump       = false;
        _inputCrouch     = false;

        _ch = GetComponent <CombatHandler> ();

        //dev
        //Disable apex behavior while player is in control
        //Enable when AI takes over
        SteerableUnitComponent suc = GetComponent <SteerableUnitComponent> ();

        if (suc != null)
        {
            suc.enabled = false;
        }
        else
        {
            Debug.LogWarning("WARNING : Steerable Unit Component not found");
        }
        //		_rigidbody.useGravity = true;
        toggleWalkRun();
    }
Пример #27
0
 public void SendAttack(CombatHandler enemyHandler)
 {
     if (readyToAttack)
     {
         comboCounter++;
         OnHitTarget?.Invoke();
         enemyHandler.ReceiveAttack(combatInfo, transform.position.x);
         readyToAttack = false;
     }
 }
Пример #28
0
 private void StopnAttackTargetDummyClick(object sender, EventArgs e)
 {
     if (_killDummy != null && _killDummy.IsAlive)
     {
         CombatHandler.Stop();
         _killDummy.Abort();
         _killDummy = null;
     }
     BtnAttackTargetDummy.Enabled = true;
 }
Пример #29
0
 public void EndCombatEncounter()
 {
     if (_combatHandler)
     {
         _combatHandler.EndCombatEncounter();
         _combatHandler  = null;
         _playerInCombat = false;
         EndEncounter();
     }
 }
Пример #30
0
        private void Start()
        {
            combatant     = GetComponent <CombatHandler>();
            playerTarget  = GameObject.FindWithTag("Player");
            healthManager = GetComponent <HealthManager>();
            mover         = GetComponent <MovementHandler>();
            pather        = GetComponent <PatrolPath>();

            guardingPosition = transform.position;
        }
Пример #31
0
 public void InitialCombatHandler()
 {
     Combat=new CombatHandler();
 }
Пример #32
0
    private void Start()
    {
        if (EditorApplication.currentScene.Contains("Tutorial"))
        {
            Debug.Log("tutorial");
            _tutorial = true;
        }

        _skillContainer = GetComponent<ServerSkillContainer>();
        _combatHandler = new CombatHandler(networkView);
    }