Beispiel #1
0
	public void PotencyProcess(Msg_NpcAttackChar2 _attack)
	{
		Tbl_MonsterSkill_Record skill = _attack.parent_.skill_;
		
		for(int i=0; i<skill.listSkillPotency.Count; ++i)
		{
			Tbl_Skill_Potency potency = skill.listSkillPotency[i];
			Tbl_SkillLevel_Potency lvPotency = _attack.parent_.skillLv_.listSkillLevelPotency[i];
			
			if(potency.Potency_DurationType == ePotency_DurationType.Moment)
			{
				Tbl_MonsterSkillLevel_Record skillLv = _attack.parent_.skillLv_;
				Tbl_Action_Record action = _attack.parent_.action_;
				
				if(m_Owner.FsmType != eFsmType.MONSTER)
				{
					switch(potency.Potency_Target)
					{
					case ePotency_Target.Enemy:
					case ePotency_Target.All:
					default:
						if(PlayPotency(action.HitAnimation.hitInfo, skillLv.listSkillLevelPotency[i].Potency_EffectIndex, _attack.eDamageType_, lvPotency) == false)
						{
							Debug.LogError("PotencyProcessor: delivered message is Msg_OtherCharAttackNpc2(Skill level table record:[index:" + skillLv.Index +
								"][action index:" + skillLv.SkillAction_Index + "][skill index:" + skillLv.Skill_GroupIndex + "]");
						}
						break;
					}
				}
				
				if(_attack.knockBack_ == true && _attack.parent_.attacker_ != null)
				{
					switch(potency.Potency_Type)
					{
					case ePotency_Type.Move:
						ForcedMoveProcess(lvPotency, _attack.parent_.attacker_.transform.position);
						break;
					case ePotency_Type.PointMove:
						ForcedMoveProcess(lvPotency, _attack.parent_.targetPos_);
						break;
					}
				}
			}
		}
		
		BalloonProcess( _attack.parent_.skill_, _attack.parent_.skillLv_);
	}
Beispiel #2
0
	public void PotencyProcess(Msg_NpcAttackChar2 _attack)
	{
		m_Potency.PotencyProcess(_attack);
	}