CrabBattleServer.CrabBehavior.UseCrabAction C# (CSharp) Method

UseCrabAction() public method

public UseCrabAction ( Action crabAction ) : void
crabAction Action
return void
        public void UseCrabAction(Action crabAction)
        {
            ActionLength = crabAction.BaseLength;

            float actionMulti = 1 - 0.5f * (1f - (float)CurrentHealth / (float)MaxHealth);
            if (actionMulti < 0.65f)
                actionMulti = 0.65f;

            if (crabAction.CanAdjustSpeed)
                ActionLength *= actionMulti;

            if (crabAction.Id == (int)CrabActions.Walk)
            {
                int randomWalk = random.Next(0, 2);
                GameServer.CrabAction(MovementActions[randomWalk].Id, ActionLength);
            }
            else
                GameServer.CrabAction(crabAction.Id, 1/actionMulti);

            crabAction.HasBeenUsed = true;
            crabAction.TimeSinceUsage.Restart();
            CurrentAction.Restart();

            IsPerformingAction = true;
        }

Same methods

CrabBehavior::UseCrabAction ( Action crabAction, float time ) : void