public void SpellReceieved(SpellEffectOnChar effect) { foreach (IExtraSpell exsp in _dic_extraSpells.Values) { exsp.SpellReceieved(effect); } }
public void MakeAndAddSpellEffect(BtlCtrlCharacter target, SpellEffectOnChar effectOnChar, BtlCtrlCharacter.ChangeStatInfo changeStatInfo) { var statChanges = new List <SpellSingleStatChangeInfo>(); if (Mathf.Abs(changeStatInfo.shieldChangeAmount) > 0) { statChanges.Add(new SpellSingleStatChangeInfo( SpellSingleStatChangeType.curShieldValChange, changeStatInfo.shieldChangeAmount)); } if (Mathf.Abs(changeStatInfo.hpChangeAmount) > 0) { statChanges.Add(new SpellSingleStatChangeInfo( SpellSingleStatChangeType.curHPValChange, changeStatInfo.hpChangeAmount)); } var stat = new BattleObjStats(target.hp, target.maxHp, damage, target.shield, target.maxShield); var effectInfo = new SpellEffectInfo( statChanges, target.id, effectOnChar, stat); _spellEffectInfoes.Add(effectInfo); }
//Override Methods public override void Init(SpellEffectOnChar effect, int damage, int actionPoint, string spellParams, bool isMultipleTarget = false) { base.Init(effect, damage, actionPoint, spellParams, isMultipleTarget); BtlCtrlSpellSubset_ChakraTransfer effectMultiPartDmg = new BtlCtrlSpellSubset_ChakraTransfer(); _spellSubsets.Add(effectMultiPartDmg); }
//Base Methods public SpellEffectInfo( List <SpellSingleStatChangeInfo> statChanges, long targetCharacterID, SpellEffectOnChar effectOnChar, BattleObjStats finalCharStats) { _singleStatChanges = statChanges; _targetCharacterID = targetCharacterID; _effectOnCharacter = effectOnChar; _finalCharacterStats = finalCharStats; }
//Override Methods public override void Init(SpellEffectOnChar effect, int damage, int actionPoint, string spellParams, bool isMultipleTarget = false) { base.Init(effect, damage, actionPoint, spellParams, isMultipleTarget); BtlCtrlSpellSubset_MultiPartDamage effectMultiPartDmg = new BtlCtrlSpellSubset_MultiPartDamage(); effectMultiPartDmg.SetPercent(_percents); _spellSubsets.Add(effectMultiPartDmg); }
public override void Init(SpellEffectOnChar effect, int damage, int actionPoint, string spellParams, bool isMultipleTarget = false) { base.Init(effect, damage, actionPoint, spellParams, isMultipleTarget); _isSecret = true; _secretType = Divine.Secret.Revival; BtlCtrlSpellSubset_SecretRev subset = new BtlCtrlSpellSubset_SecretRev(); _spellSubsets.Add(subset); }
public void SpellReceieved(SpellEffectOnChar effect) { if (effect != SpellEffectOnChar.Protect) { return; } _showingHitAnim = true; PlayAnimation(_hit, false); _curAnimTrackEntry.Complete += OnSpellRecievedComplete; }
//Virtual Methods public virtual void Init(SpellEffectOnChar effect, int damage, int actionPoint, string spellParams, bool isMultipleTarget = false) { _effect = effect; _damage = damage; _isMultipleTarget = isMultipleTarget; _actionPointAmount = actionPoint; _spellParams = spellParams; _spellSubsets = new List <BtlCtrlSpellSubset>(); _spellEffectInfoes = new List <SpellEffectInfo>(); }
private void ShowUI_StatChange_DMG(int val, SpellEffectOnChar effectType) { switch (effectType) { case SpellEffectOnChar.Nerf: _charVisual.charUI.newCharHUD.AddBuzz(BuzzType.AttackDec); break; case SpellEffectOnChar.Buff: _charVisual.charUI.newCharHUD.AddBuzz(BuzzType.AttackInc); break; } }
public void SpellReceieved(SpellEffectOnChar effect) { if (effect != SpellEffectOnChar.NormalDamage && effect != SpellEffectOnChar.SeriousDamage) { return; } if (_ignoreFirstDamage) { _ignoreFirstDamage = false; return; } PlayAnimation(_hit, false); _curAnimTrackEntry.Complete += OnAppearComplete; // Goes to idle again }
private List <int> FindIndexesOfDamagedSpells() { List <int> indexs = new List <int>(); for (int i = 0; i < _spellInfo.spellEffectInfos.Count; i++) { SpellEffectOnChar effect = _spellInfo.spellEffectInfos[i].effectOnCharacter; if (effect == SpellEffectOnChar.NormalDamage || effect == SpellEffectOnChar.SeriousDamage || effect == SpellEffectOnChar.Dodge || effect == SpellEffectOnChar.Miss) { indexs.Add(i); } } return(indexs); }
private bool ShouldWait(SpellInfo spellInfo, int effectIndex) { bool result = false; //bool shouldWait = spellInfo.owner == spellInfo.spellEffectInfos[effectIndex].targetCharacter; if (_curState == CharacterState.CastSpell) { result = true; } SpellEffectOnChar type = spellInfo.spellEffectInfos[effectIndex].effectOnCharacter; if (_curState == CharacterState.ReceiveSpell && type != SpellEffectOnChar.NormalDamage && type != SpellEffectOnChar.SeriousDamage) { result = true; } return(result); }
public void SpellReceieved(SpellEffectOnChar effect) { }