コード例 #1
0
    public void StartAbilityAtIndx(int indx)
    {
        Ability abilityToPass = null;

        foreach (Ability ab in view.curCombatAbilities)
        {
            if (ab == view.curAbilityCluster.abilityButtons[indx].ability)
            {
                abilityToPass = ab;
                break;
            }
        }
        if (abilityToPass == null)
        {
            //Debug.LogError("We just called a null ability from the menu. did the hero get switched or the ability list change?");
            return;
        }
        else if (AbilityManager.abManager.IsCharacterCurrentlyDoingAbility(curHero) == false)
        {
            BaseBattleActor curHeroBattleActor = curHero.GetComponent <BaseBattleActor>();
            Debug.Log("character was not doing other thing");
            curHeroBattleActor.DoAbility(abilityToPass);
        }
        //else just do nothing and continue
    }
コード例 #2
0
 public override void DoStatusEnd(BaseBattleActor bbA)
 {
     if (IsOnlyStatusOfType(bbA))
     {
         SetAbilityUseablility(true, bbA);
         CleanUpStatus(bbA);
     }
 }
コード例 #3
0
 public override void DoStatusEnd(BaseBattleActor bbA)
 {
     Debug.Log("stun status end");
     if (IsOnlyStatusOfType(bbA))
     {
         CleanUpStatus(bbA);
     }
 }
コード例 #4
0
ファイル: Stun.cs プロジェクト: McGake/AlsoTheDarkness
 public override void DoStatusEnd(BaseBattleActor bbA)
 {
     Debug.Log("stun status end");
     if (IsOnlyStatusOfType(bbA))
     {
         SetAbilityUseablility(true, bbA);
         CleanUpStatus(bbA);
     }
 }
コード例 #5
0
 public override void DoStatus(BaseBattleActor bbA)
 {
     if (curKnockBackAmount.sqrMagnitude >= squareKnockBackDistance)
     {
         //TODO: this should End knockback
         return;
     }
     thisKnockBackAmount     = knockBackDirection * knockBackSpeedMod * Time.deltaTime;
     bbA.transform.position += thisKnockBackAmount;
     curKnockBackAmount     += thisKnockBackAmount;
 }
コード例 #6
0
ファイル: PCDown.cs プロジェクト: McGake/AlsoTheDarkness
    public override void DoStatusEnd(BaseBattleActor bbA)
    {
        bbA.OnDeathCallback(bbA.gameObject);
        bbA.gameObject.GetComponent <Collider2D>().enabled = true;

        bbA.battleActorView.StopShowStatus(this);
        if (IsOnlyStatusOfType(bbA))
        {
            CleanUpStatus(bbA);
        }
    }
コード例 #7
0
    public override bool OnStatusAdded(BaseBattleActor bbA, Status statusAdded)
    {
        for (int i = 0; i < statusesToResist.Count; i++)
        {
            if (statusAdded.GetType() == statusesToResist[i].GetType())
            {
                return(false);
            }
        }

        return(true);
    }
コード例 #8
0
    //TODO: this may cause problems if abilities are not properly reset
    public override void DoStatusInitialEffect(BaseBattleActor bbA)
    {
        //bbA.battleActorView.ShowStatus(this);
        bbA.battleActorView.PlayInteruptingCharacterAnimation("victory");
        AbilityManager.abManager.StopAllAbilitiesFromCharacter(bbA.gameObject);
        SetAbilityUseablility(false, bbA);
        bbA.stats.modified.exp += stats.modified.exp;

        if (bbA.stats.modified.exp >= bbA.stats.modified.nextLevel)
        {
            bbA.LevelUp();
        }
    }
コード例 #9
0
 private void SetAbilityUseablility(bool useableValue, BaseBattleActor bbA)
 {
     for (int i = 0; i < bbA.abilities.Count; i++)
     {
         if (useableValue == true)
         {
             bbA.abilities[i].RemoveUsePreventor(this);
         }
         else if (useableValue == false)
         {
             bbA.abilities[i].AddUsePreventor(this);
         }
     }
 }
コード例 #10
0
    public override void DoStatusInitialEffect(BaseBattleActor bbA)
    {
        Debug.Log("magic mult val " + magicMultiplier.val);
        Debug.Log("magic power " + bbA.stats.basic.magicalPower);

        Debug.Log("power x magic " + bbA.stats.basic.magicalPower * magicMultiplier.val);

        Debug.Log("magic mult val again " + magicMultiplier.val);
        Debug.Log("magic power again" + bbA.stats.basic.magicalPower);

        Debug.Log("whole thing " + ((bbA.stats.basic.magicalPower * magicMultiplier.val) - bbA.stats.basic.magicalPower));
        totalModifier = ((bbA.stats.basic.magicalPower * magicMultiplier.val) - bbA.stats.basic.magicalPower);
        Debug.Log("total modifier " + totalModifier);
        bbA.stats.modified.magicalPower += totalModifier;
    }
コード例 #11
0
ファイル: Status.cs プロジェクト: McGake/AlsoTheDarkness
    public bool IsOnlyStatusOfType(BaseBattleActor bbA)
    {
        foreach (Status status in bbA.curStatuses) //if there is another status of this type and if it is not actually this status and if the status is not going to end on the same frame as this then don't do anything because one of the statuses is still ongoing
        {
            if (status.GetType() == this.GetType())
            {
                if (status != this)
                {
                    if (status.endTime > Time.time)
                    {
                        return(false);
                    }
                }
            }
        }

        return(true);
    }
コード例 #12
0
 public override void DoStatusEnd(BaseBattleActor bbA)
 {
     //bbA.stats.armor -= armorChange;
 }
コード例 #13
0
 //TODO: this may cause problems if abilities are not properly reset
 public override void DoStatusInitialEffect(BaseBattleActor bbA)
 {
     // armorChange = bbA.stats.armor;
     // bbA.stats.armor += armorChange;
     //Send to view for armor up! message once that system is in place
 }
コード例 #14
0
 public override void DoStatusEnd(BaseBattleActor bbA)
 {
     //make sure character is inside boundaries at this point and move him in if not
 }
コード例 #15
0
ファイル: Stun.cs プロジェクト: McGake/AlsoTheDarkness
 //TODO: this may cause problems if abilities are not properly reset
 public override void DoStatusInitialEffect(BaseBattleActor bbA)
 {
     Debug.Log("stun added to  " + bbA.gameObject.name);
     bbA.battleActorView.ShowStatus(this);
     AbilityManager.abManager.StopAllAbilitiesFromCharacter(bbA.gameObject);
 }
コード例 #16
0
ファイル: Stun.cs プロジェクト: McGake/AlsoTheDarkness
 //Right now the actuall prevention of action is handled by checking if a stun is in the characters statuses on BaseBattleActor.
 public override void DoStatus(BaseBattleActor bbA)
 {
     SetAbilityUseablility(false, bbA);
 }
コード例 #17
0
ファイル: Status.cs プロジェクト: McGake/AlsoTheDarkness
 public virtual void OnAbilityUsed(BaseBattleActor bbA, Ability abilityUsed)
 {
 }
コード例 #18
0
 public override void DoStatusEnd(BaseBattleActor bbA)
 {
     //bbA.stats.physicalPower -= physicalPowerBuff.val;
 }
コード例 #19
0
 public override void DoStatusInitialEffect(BaseBattleActor bbA)
 {
     bbA.ChangeHp(healthBuff.val);
     //bbA.stats.physicalPower += physicalPowerBuff.val;
     bbA.battleActorView.ShowBuff(physicalPowerBuff.val, "PWR", BuffStyle.Positive);
 }
コード例 #20
0
ファイル: Status.cs プロジェクト: McGake/AlsoTheDarkness
 public void CleanUpStatus(BaseBattleActor bbA)
 {
     bbA.battleActorView.StopShowStatus(this);//otherwise stop showing the status. Consider doing all this just after status removeal?
 }
コード例 #21
0
ファイル: Status.cs プロジェクト: McGake/AlsoTheDarkness
 public virtual void DoStatusInitialEffect(BaseBattleActor bbA)
 {
 }
コード例 #22
0
 public override void OnAbilityUsed(BaseBattleActor bbA, Ability abilityUsed)
 {
     FinishStatus(this);
 }
コード例 #23
0
ファイル: Status.cs プロジェクト: McGake/AlsoTheDarkness
 public virtual bool OnStatusAdded(BaseBattleActor bbA, Status statusAdded)
 {
     return(true);
 }
コード例 #24
0
ファイル: Status.cs プロジェクト: McGake/AlsoTheDarkness
 public virtual void DoStatusEnd(BaseBattleActor bbA)
 {
 }
コード例 #25
0
ファイル: PCDown.cs プロジェクト: McGake/AlsoTheDarkness
 //TODO: this may cause problems if abilities are not properly reset
 public override void DoStatusInitialEffect(BaseBattleActor bbA)
 {
     bbA.battleActorView.PlayInteruptingCharacterAnimation("down");
     bbA.gameObject.GetComponent <Collider2D>().enabled = false;
     AbilityManager.abManager.StopAllAbilitiesFromCharacter(bbA.gameObject);
 }
コード例 #26
0
 public override void DoStatusEnd(BaseBattleActor bbA)
 {
     bbA.stats.modified.magicalPower -= totalModifier;
 }
コード例 #27
0
 public override void DoStatusInitialEffect(BaseBattleActor bbA)
 {
     curKnockBackAmount      = Vector3.zero;
     squareKnockBackDistance = Mathf.Pow(knockBackDistance, 2f);
     knockBackDirection      = (bbA.gameObject.transform.position - retainedDeliveryObject.transform.position).normalized;
 }
コード例 #28
0
 public override void DoStatusInitialEffect(BaseBattleActor bbA)
 {
     finalMagicSkillBuff              = Mathf.FloorToInt(magicSkillBuff);
     bbA.stats.modified.magicalSkill += finalMagicSkillBuff;
 }
コード例 #29
0
 public override void DoStatusEnd(BaseBattleActor bbA)
 {
 }
コード例 #30
0
 public override void DoStatusEnd(BaseBattleActor bbA)
 {
     bbA.stats.modified.magicalSkill -= finalMagicSkillBuff;
 }