public void OnAttackPostJet(EffectCast cast) { foreach (EffectCast buff in myBuffActives[BuffActiveType.ACTIVE_ATTACK_POST_JET]) { BuffProcessor.ApplyBuff(buff, cast); } }
public void OnTurnBegin() { foreach (EffectCast buff in myBuffActives[BuffActiveType.ACTIVE_BEGINTURN]) { BuffProcessor.ApplyBuff(buff); } foreach (EffectCast buff in myBuffDecrements[BuffDecrementType.TYPE_BEGINTURN]) { buff.Duration -= 1; if (buff.Duration <= 0) { BuffProcessor.RemoveBuff(buff); foreach (BuffActiveType active in myBuffActives.Keys) { if (myBuffActives[active].Contains(buff)) { myBuffActives[active].Remove(buff); break; } } } } myBuffDecrements[BuffDecrementType.TYPE_BEGINTURN].RemoveAll(x => x.Duration <= 0); }
public void OnAttackedAfterJet(EffectCast cast) { foreach (EffectCast buff in myBuffActives[BuffActiveType.ACTIVE_ATTACKED_AFTER_JET]) { BuffProcessor.ApplyBuff(buff, cast); } }
public void OnMoveEnd() { foreach (EffectCast buff in myBuffActives[BuffActiveType.ACTIVE_ENDMOVE]) { BuffProcessor.ApplyBuff(buff); } foreach (EffectCast buff in myBuffDecrements[BuffDecrementType.TYPE_ENDMOVE]) { buff.Duration -= 1; if (buff.Duration <= 0) { BuffProcessor.RemoveBuff(buff); foreach (BuffActiveType active in myBuffActives.Keys) { if (myBuffActives[active].Contains(buff)) { myBuffActives[active].Remove(buff); return; } } } } myBuffDecrements[BuffDecrementType.TYPE_ENDMOVE].RemoveAll(x => x.Duration <= 0); }
public BuffElement(Msg_CharBuff_Body _body, BuffProcessor _owner, bool _effect) { m_CurId = s_Index++; m_Owner = _owner.Owner; m_Processor = _owner; m_Body = _body; m_BuffType = _body.type_; m_Activated = _effect; int effectIdx = int.MaxValue; if(BuffBaseMgr.s_MonsterSkillIndexRange_Min <= _body.skillTableIdx_ && _body.skillTableIdx_ <= BuffBaseMgr.s_MonsterSkillIndexRange_Max) { #region - set skill name - Tbl_MonsterSkill_Record skillRecord = AsTableManager.Instance.GetTbl_MonsterSkill_Record(_body.skillTableIdx_); SetSkillData(skillRecord); #endregion // Tbl_MonsterSkillLevel_Record skill = AsTableManager.Instance.GetTbl_MonsterSkillLevel_Record(_body.skillLevel_, _body.skillTableIdx_); Tbl_MonsterSkillLevel_Record skill = AsTableManager.Instance.GetTbl_MonsterSkillLevel_Record(_body.skillLevelTableIdx_); try{ effectIdx = skill.listSkillLevelPotency[_body.potencyIdx_].Potency_EffectIndex; m_SkillLevelPotency = skill.listSkillLevelPotency[_body.potencyIdx_]; } catch(System.Exception e) { Debug.LogError(e); } } else { #region - set skill name - Tbl_Skill_Record skillRecord = AsTableManager.Instance.GetTbl_Skill_Record(_body.skillTableIdx_); SetSkillData(skillRecord); #endregion Tbl_SkillLevel_Record skill = null; if(_body.chargeStep_ == int.MaxValue) { skill = AsTableManager.Instance.GetTbl_SkillLevel_Record(_body.skillLevel_, _body.skillTableIdx_); } else { skill = AsTableManager.Instance.GetTbl_SkillLevel_Record(_body.skillLevel_, _body.skillTableIdx_, _body.chargeStep_); } effectIdx = skill.listSkillLevelPotency[_body.potencyIdx_].Potency_EffectIndex; m_SkillLevelPotency = skill.listSkillLevelPotency[_body.potencyIdx_]; } m_SkillIdx = _body.skillTableIdx_; m_PotencyIdx = _body.potencyIdx_; m_Record = AsTableManager.Instance.GetTbl_SkillPotencyEffect_Record(effectIdx); }
public ElementProcessor(AsBaseEntity _entity) { m_Owner = _entity; m_Effect = new EffectProcessor(_entity); m_Sound = new SoundProcessor(_entity); m_Potency = new PotencyProcessor(_entity); m_Buff = new BuffProcessor(_entity); }
public void Debuff() { foreach (BuffDecrementType decrement in myBuffDecrements.Keys) { foreach (EffectCast buff in myBuffDecrements[decrement]) { if (IsDebuffable(buff)) { BuffProcessor.RemoveBuff(buff); } } myBuffDecrements[decrement].RemoveAll(x => IsDebuffable(x)); } foreach (BuffActiveType active in myBuffActives.Keys) { myBuffActives[active].RemoveAll(x => IsDebuffable(x)); } }
public BuffElement(Msg_NpcBuff_Body _body, BuffProcessor _owner, bool _effect) { m_CurId = s_Index++; m_Owner = _owner.Owner; m_Processor = _owner; m_BuffType = _body.type_; m_Activated = _effect; int effectIdx = int.MaxValue; if(BuffBaseMgr.s_MonsterSkillIndexRange_Min <= _body.skillTableIdx_ && _body.skillTableIdx_ <= BuffBaseMgr.s_MonsterSkillIndexRange_Max) { #region - set skill name - Tbl_MonsterSkill_Record skillRecord = AsTableManager.Instance.GetTbl_MonsterSkill_Record(_body.skillTableIdx_); SetSkillData(skillRecord); #endregion // Tbl_MonsterSkillLevel_Record skill = AsTableManager.Instance.GetTbl_MonsterSkillLevel_Record(_body.skillLevel_, _body.skillTableIdx_); Tbl_MonsterSkillLevel_Record skill = AsTableManager.Instance.GetTbl_MonsterSkillLevel_Record(_body.skillLevelTableIdx_); if( null == skill ) { AsUtil.ShutDown ( "BuffProcessor::BuffElement()[ (GetTbl_MonsterSkillLevel_Record) null == skill ] skill id : " + _body.skillTableIdx_ + " skill level : " + _body.skillLevel_ ); return; } effectIdx = skill.listSkillLevelPotency[_body.potencyIdx_].Potency_EffectIndex; m_SkillLevelPotency = skill.listSkillLevelPotency[_body.potencyIdx_]; } else { #region - set skill name - Tbl_Skill_Record skillRecord = AsTableManager.Instance.GetTbl_Skill_Record(_body.skillTableIdx_); SetSkillData(skillRecord); #endregion Tbl_SkillLevel_Record skill = null; if(_body.chargeStep_ == int.MaxValue) { skill = AsTableManager.Instance.GetTbl_SkillLevel_Record(_body.skillLevel_, _body.skillTableIdx_); } else { skill = AsTableManager.Instance.GetTbl_SkillLevel_Record(_body.skillLevel_, _body.skillTableIdx_, _body.chargeStep_); } if( null == skill ) { AsUtil.ShutDown ( "BuffProcessor::BuffElement()[ (GetTbl_SkillLevel_Record) null == skill ] skill id : " + _body.skillTableIdx_ + " skill level : " + _body.skillLevel_ ); return; } effectIdx = skill.listSkillLevelPotency[_body.potencyIdx_].Potency_EffectIndex; m_SkillLevelPotency = skill.listSkillLevelPotency[_body.potencyIdx_]; } m_SkillIdx = _body.skillTableIdx_; m_PotencyIdx = _body.potencyIdx_; m_Record = AsTableManager.Instance.GetTbl_SkillPotencyEffect_Record(effectIdx); }
public BuffElement(body2_SC_CHAR_BUFF _body, BuffProcessor _owner, bool _effect) { m_CurId = s_Index++; m_Owner = _owner.Owner; m_Processor = _owner; m_BuffType = _body.eType; m_Activated = _effect; int effectIdx = int.MaxValue; if(BuffBaseMgr.s_MonsterSkillIndexRange_Min <= _body.nSkillTableIdx && _body.nSkillTableIdx <= BuffBaseMgr.s_MonsterSkillIndexRange_Max) { #region - set skill name - Tbl_MonsterSkill_Record skillRecord = AsTableManager.Instance.GetTbl_MonsterSkill_Record(_body.nSkillTableIdx); SetSkillData(skillRecord); #endregion // Tbl_MonsterSkillLevel_Record skill = AsTableManager.Instance.GetTbl_MonsterSkillLevel_Record(_body.nSkillLevel, _body.nSkillTableIdx); Tbl_MonsterSkillLevel_Record skill = AsTableManager.Instance.GetTbl_MonsterSkillLevel_Record(_body.nSkillLevelTableIdx); effectIdx = skill.listSkillLevelPotency[_body.nPotencyIdx].Potency_EffectIndex; m_SkillLevelPotency = skill.listSkillLevelPotency[_body.nPotencyIdx]; } else { #region - set skill name - Tbl_Skill_Record skillRecord = AsTableManager.Instance.GetTbl_Skill_Record(_body.nSkillTableIdx); SetSkillData(skillRecord); #endregion Tbl_SkillLevel_Record skill = null; if(_body.nChargeStep == int.MaxValue) { skill = AsTableManager.Instance.GetTbl_SkillLevel_Record(_body.nSkillLevel, _body.nSkillTableIdx); } else { skill = AsTableManager.Instance.GetTbl_SkillLevel_Record(_body.nSkillLevel, _body.nSkillTableIdx, _body.nChargeStep); } // Tbl_SkillLevel_Record skill = AsTableManager.Instance.GetTbl_SkillLevel_Record(_body.nSkillLevel, _body.nSkillTableIdx); effectIdx = skill.listSkillLevelPotency[_body.nPotencyIdx].Potency_EffectIndex; m_SkillLevelPotency = skill.listSkillLevelPotency[_body.nPotencyIdx]; } m_SkillIdx = _body.nSkillTableIdx; m_PotencyIdx = _body.nPotencyIdx; m_Record = AsTableManager.Instance.GetTbl_SkillPotencyEffect_Record(effectIdx); }