Пример #1
0
    public void AddEffectIcon(EffectValues effect)
    {
        GameObject GO = Instantiate(effectBlock.gameObject);

        GO.transform.SetParent(panel.transform);
        GO.GetComponentInChildren <Image>().sprite = effect.effectIcon;
        GO.GetComponent <Tooltip>().effect         = effect;
    }
Пример #2
0
        protected override bool SkillHitEffect(CharacterStats player, Stats self, EffectValues skillEffectValues)
        {
            if (phaseShift())
            {
                Menu.Announce($"{Name} phases out avoiding your skill completely");
                return(false);
            }

            return(true);
        }
Пример #3
0
        protected override bool AttackHitEffect(CharacterStats player, Stats enemy, EffectValues attackValues)
        {
            if (Utility.GetPseudoChance(blockChance, ref pseudoBlockChance))
            {
                Menu.Announce($"Your {Name} blocks {damageBlock} damage.");
                attackValues.Damage -= damageBlock;
            }

            return(true);
        }
Пример #4
0
        public override bool OnSkillUse(CharacterStats player, Stats enemy, EffectValues skillValues)
        {
            int burn = random.Next(minBurn * Stacks, maxBurn * Stacks + 1);

            enemy.Health -= burn;
            Menu.Announce($"Using your skill burns {enemy.OwnerUnit.Name}");
            Battle.WriteEnemyHealth(Name, burn, enemy);

            return(true);
        }
Пример #5
0
        protected override bool AttackHitEffect(CharacterStats player, Stats enemy, EffectValues effect)
        {
            if (Utility.GetPseudoChance(blockChance, ref pseudoBlockChance))
            {
                int block = random.Next(minBlock, maxBlock + 1);
                effect.Damage -= block;
                Menu.Announce($"Your {Name} blocks {block} damage.");
            }

            return(true);
        }
Пример #6
0
        public override bool OnAttackHit(Stats self, Stats attacker, EffectValues attackValues)
        {
            if (phaseShift())
            {
                Menu.Announce($"{Name} phases out and avoids your attack");
                return(false);
            }

            base.OnAttackHit(self, attacker, attackValues);
            return(true);
        }
Пример #7
0
 public void AddTabEffect(EffectValues effect, CharacterValues target)
 {
     foreach (GameObject tab in charTabList)
     {
         CharacterTab tabby = tab.GetComponent <CharacterTab>();
         if (tabby.characterVal == target)
         {
             tabby.AddEffectIcon(effect);
         }
     }
 }
Пример #8
0
        protected override bool SkillHitEffect(CharacterStats player, Stats self, EffectValues skillEffectValues)
        {
            int attack = skillEffectValues.SourceSkill.Cost / 2;

            EnergySurge surge = new EnergySurge(attack);

            Buff.AddBuff(surge, self);
            surge.SetStacks();

            Menu.Announce($"Using your skill gives {Name} {surge.Name} gaining {attack} attack for its next turn");

            return(true);
        }
Пример #9
0
        protected override bool SkillHitEffect(CharacterStats player, Stats self, EffectValues skillEffectValues)
        {
            if (base.SkillHitEffect(player, self, skillEffectValues))
            {
                int cost = skillEffectValues.SourceSkill.Cost;
                int heal = random.Next(cost / 3, (int)(cost / 1.5f));

                self.Health += heal;
                Menu.Announce($"{Name} feeds on the energy used for your skill");
                Battle.WriteEnemyHealth("", heal, self, true);
                return(true);
            }

            return(false);
        }
Пример #10
0
    //Call this when you add another effect
    public void ApplyEffect(CharacterValues caster, EffectValues effect, CharacterValues target)
    {
        bool         inUse = false; //Tarvittiin sittenkin plaah
        EffectValues clone = Object.Instantiate(effect) as EffectValues;

        clone.caster         = caster;
        clone.target         = target;
        clone.remainingTurns = clone.effectDuration;
        //Debug.Log("Applying effect " + effect.effectName);

        foreach (EffectValues eff in effectList)
        {
            if (eff.target == clone.target)
            {
                if (eff.effectName == clone.effectName)
                {
                    inUse = true;
                    if (clone.stacks == false)
                    {
                        eff.remainingTurns = clone.effectDuration;      //New spells are always better!
                    }
                    else
                    {
                        effectList.Add(clone);
                        ////////////////pBehaviour.AddTabEffect(clone, target);
                    }
                }
                else
                {
                    effectList.Add(clone);
                    ////////////////////pBehaviour.AddTabEffect(clone, target);
                }
            }
        }
        if (!inUse)
        {
            effectList.Add(clone);
            //////////////////pBehaviour.AddTabEffect(clone, target);
        }
        CalculateEffects(target);
    }
Пример #11
0
 public void UpdateInfo(EffectValues x)
 {
     effect = x;
 }
Пример #12
0
        protected override bool SkillHitEffect(CharacterStats player, Stats self, EffectValues skillEffectValues)
        {
            throwKnife(player, self);

            return(true);
        }
Пример #13
0
        public override bool OnAttackHit(Stats self, Stats attacker, EffectValues effect)
        {
            throwKnife(attacker as CharacterStats, self);

            return(base.OnAttackHit(self, attacker, effect));
        }