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; }
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); }
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); }
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); }
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); }
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); }
public void AddTabEffect(EffectValues effect, CharacterValues target) { foreach (GameObject tab in charTabList) { CharacterTab tabby = tab.GetComponent <CharacterTab>(); if (tabby.characterVal == target) { tabby.AddEffectIcon(effect); } } }
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); }
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); }
//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); }
public void UpdateInfo(EffectValues x) { effect = x; }
protected override bool SkillHitEffect(CharacterStats player, Stats self, EffectValues skillEffectValues) { throwKnife(player, self); return(true); }
public override bool OnAttackHit(Stats self, Stats attacker, EffectValues effect) { throwKnife(attacker as CharacterStats, self); return(base.OnAttackHit(self, attacker, effect)); }