Beispiel #1
0
 protected override void OnAfflict()
 {
     //On affliction end the entity's turn
     EntityAfflicted.SetMaxTurns(0);
     EntityAfflicted.SetTurnsUsed(EntityAfflicted.MaxTurns);
     Debug.Log($"{StatusType} set MaxTurns to 0 for {EntityAfflicted.Name}");
 }
Beispiel #2
0
        protected override void OnEnd()
        {
            EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns);
            Debug.Log($"{StatusType} set MaxTurns to {EntityAfflicted.BaseTurns} for {EntityAfflicted.Name}");

            base.OnEnd();
        }
Beispiel #3
0
 protected override void OnUnsuppress(Enumerations.StatusSuppressionTypes statusSuppressionType)
 {
     if (statusSuppressionType == Enumerations.StatusSuppressionTypes.Effects)
     {
         EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns + AdditionalTurns);
     }
 }
Beispiel #4
0
 protected override void OnResume()
 {
     if (PreventMovement == true)
     {
         EntityAfflicted.SetMaxTurns(0);
         EntityAfflicted.SetTurnsUsed(EntityAfflicted.MaxTurns);
     }
 }
Beispiel #5
0
 protected override void OnPhaseCycleStart()
 {
     IncrementTurns();
     if (IsFinished == false)
     {
         EntityAfflicted.SetMaxTurns(0);
         Debug.Log($"{StatusType} set MaxTurns to 0 for {EntityAfflicted.Name}");
     }
 }
Beispiel #6
0
        protected override void OnResume()
        {
            EntityAfflicted.SetMaxTurns(0);

            //Re-add the Immobile property
            int immobile = EntityAfflicted.EntityProperties.GetAdditionalProperty <int>(Enumerations.AdditionalProperty.Immobile) + 1;

            EntityAfflicted.EntityProperties.AddAdditionalProperty(Enumerations.AdditionalProperty.Immobile, immobile);
        }
Beispiel #7
0
 protected override void OnPhaseCycleStart()
 {
     if (EntityAfflicted.MaxTurns > 0)
     {
         Debug.Log($"{StatusType} set MaxTurns to {EntityAfflicted.BaseTurns + AdditionalTurns} for {EntityAfflicted.Name}");
         EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns + AdditionalTurns);
     }
     ProgressTurnCount();
 }
        protected override void OnSuppress(Enumerations.StatusSuppressionTypes statusSuppressionType)
        {
            if (statusSuppressionType == Enumerations.StatusSuppressionTypes.Effects)
            {
                EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns);

                //Remove the Immobile property
                EntityAfflicted.SubtractIntAdditionalProperty(Enumerations.AdditionalProperty.Immobile, 1);
            }
        }
Beispiel #9
0
 protected override void OnAfflict()
 {
     //Set this on affliction as well, as the entity could have not used its turn yet if it's in the same phase
     //First check if the max turn count is greater than 0, as a turn count of 0 indicates the entity was not able to move this turn
     if (EntityAfflicted.MaxTurns > 0)
     {
         EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns + AdditionalTurns);
         Debug.Log($"{StatusType} set MaxTurns to {EntityAfflicted.BaseTurns + AdditionalTurns} for {EntityAfflicted.Name}");
     }
 }
        protected override void OnUnsuppress(Enumerations.StatusSuppressionTypes statusSuppressionType)
        {
            if (statusSuppressionType == Enumerations.StatusSuppressionTypes.Effects)
            {
                EntityAfflicted.SetMaxTurns(0);

                //Re-add the Immobile property
                EntityAfflicted.AddIntAdditionalProperty(Enumerations.AdditionalProperty.Immobile, 1);
            }
        }
Beispiel #11
0
 protected override void OnUnsuppress(Enumerations.StatusSuppressionTypes statusSuppressionType)
 {
     if (statusSuppressionType == Enumerations.StatusSuppressionTypes.Effects)
     {
         if (PreventMovement == true)
         {
             EntityAfflicted.SetMaxTurns(0);
             EntityAfflicted.SetTurnsUsed(EntityAfflicted.MaxTurns);
         }
     }
 }
        protected override void OnAfflict()
        {
            //Prevent the entity from moving on affliction and mark it as using up all of its turns
            EntityAfflicted.SetMaxTurns(0);
            EntityAfflicted.SetTurnsUsed(EntityAfflicted.MaxTurns);

            //Specify that this status makes the entity Immobile
            EntityAfflicted.AddIntAdditionalProperty(Enumerations.AdditionalProperty.Immobile, 1);

            Debug.Log($"{StatusType} set MaxTurns to 0 for {EntityAfflicted.Name}");
        }
        protected override void OnEnd()
        {
            if (EntityAfflicted.MaxTurns > 0 && EntityAfflicted.MaxTurns < EntityAfflicted.BaseTurns)
            {
                EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns);
                Debug.Log($"{StatusType} set MaxTurns to {EntityAfflicted.BaseTurns} for {EntityAfflicted.Name}");
            }

            //Remove the Immobile property after getting its count
            EntityAfflicted.SubtractIntAdditionalProperty(Enumerations.AdditionalProperty.Immobile, 1);
        }
 protected override void OnPhaseCycleStart()
 {
     ProgressTurnCount();
     if (IsSuppressed(Enumerations.StatusSuppressionTypes.Effects) == false)
     {
         if (IsFinished == false)
         {
             EntityAfflicted.SetMaxTurns(0);
             Debug.Log($"{StatusType} set MaxTurns to 0 for {EntityAfflicted.Name}");
         }
     }
 }
Beispiel #15
0
        protected override void OnSuspend()
        {
            EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns);

            //Remove the Immobile property
            int immobile = EntityAfflicted.EntityProperties.GetAdditionalProperty <int>(Enumerations.AdditionalProperty.Immobile) - 1;

            EntityAfflicted.EntityProperties.RemoveAdditionalProperty(Enumerations.AdditionalProperty.Immobile);

            if (immobile > 0)
            {
                EntityAfflicted.EntityProperties.AddAdditionalProperty(Enumerations.AdditionalProperty.Immobile, immobile);
            }
        }
Beispiel #16
0
        protected override void OnPhaseCycleStart()
        {
            IncrementTurns();

            if (IsFinished == false)
            {
                //If the entity shouldn't move this turn, set its max turns to 0
                if (PreventMovement == true)
                {
                    EntityAfflicted.SetMaxTurns(0);
                    Debug.Log($"{StatusType} set MaxTurns to 0 for {EntityAfflicted.Name}");
                }

                //Flip the flag telling whether the entity can move next turn or not
                PreventMovement = !PreventMovement;
            }
        }
Beispiel #17
0
        protected override void OnEnd()
        {
            if (EntityAfflicted.MaxTurns > 0 && EntityAfflicted.MaxTurns < EntityAfflicted.BaseTurns)
            {
                EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns);
                Debug.Log($"{StatusType} set MaxTurns to {EntityAfflicted.BaseTurns} for {EntityAfflicted.Name}");
            }

            //Remove the Immobile property after getting its count
            int immobile = EntityAfflicted.EntityProperties.GetAdditionalProperty <int>(Enumerations.AdditionalProperty.Immobile) - 1;

            EntityAfflicted.EntityProperties.RemoveAdditionalProperty(Enumerations.AdditionalProperty.Immobile);

            if (immobile > 0)
            {
                EntityAfflicted.EntityProperties.AddAdditionalProperty(Enumerations.AdditionalProperty.Immobile, immobile);
            }
        }
Beispiel #18
0
        protected override void OnPhaseCycleStart()
        {
            ProgressTurnCount();

            if (IsSuppressed(Enumerations.StatusSuppressionTypes.Effects) == false)
            {
                if (IsFinished == false)
                {
                    //If the entity shouldn't move this turn, set its max turns to 0
                    if (PreventMovement == true)
                    {
                        EntityAfflicted.SetMaxTurns(0);
                        Debug.Log($"{StatusType} set MaxTurns to 0 for {EntityAfflicted.Name}");
                    }

                    //Flip the flag telling whether the entity can move next turn or not
                    PreventMovement = !PreventMovement;
                }
            }
        }
Beispiel #19
0
 protected override void OnPhaseCycleStart()
 {
     EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns + AdditionalTurns);
     Debug.Log($"{StatusType} set MaxTurns to {EntityAfflicted.BaseTurns + AdditionalTurns} for {EntityAfflicted.Name}");
     IncrementTurns();
 }
Beispiel #20
0
 protected override void OnSuspend()
 {
     EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns);
 }
Beispiel #21
0
 protected override void OnResume()
 {
     EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns + AdditionalTurns);
 }