void CInstanceBase::NEW_Attack(float fDirRot) { if (IsDead()) return; if (IsStun()) return; if (IsKnockDown()) return; if (IsUsingSkill()) return; if (IsWalking()) EndWalking(); m_isGoing = FALSE; if (IsPoly()) { InputNormalAttack(fDirRot); } else { if (m_kHorse.IsMounting()) { InputComboAttack(fDirRot); } else { InputComboAttack(fDirRot); } } }
bool CActorInstance::__IsSyncing() { if (IsDead()) return TRUE; if (IsStun()) return TRUE; if (IsPushing()) return TRUE; return FALSE; }
void CActorInstance::OnShootDamage() { if (IsStun()) { Die(); } else { __Shake(100); if (!isLock() && !__IsKnockDownMotion() && !__IsStandUpMotion()) { if (InterceptOnceMotion(CRaceMotionData::NAME_DAMAGE)) PushLoopMotion(CRaceMotionData::NAME_WAIT); } } }
bool CActorInstance::CanAct() { if (IsDead()) return false; if (IsStun()) return false; if (IsParalysis()) return false; if (IsFaint()) return false; if (IsSleep()) return false; return true; }
bool CInstanceBase::NEW_UseSkill(UINT uSkill, UINT uMot, UINT uMotLoopCount, bool isMovingSkill) { if (IsDead()) return false; if (IsStun()) return false; if (IsKnockDown()) return false; if (isMovingSkill) { if (!IsWalking()) StartWalking(); m_isGoing = TRUE; } else { if (IsWalking()) EndWalking(); m_isGoing = FALSE; } float fCurRot=m_GraphicThingInstance.GetTargetRotation(); SetAdvancingRotation(fCurRot); m_GraphicThingInstance.InterceptOnceMotion(CRaceMotionData::NAME_SKILL + uMot, 0.1f, uSkill, 1.0f); m_GraphicThingInstance.__OnUseSkill(uMot, uMotLoopCount, isMovingSkill); if (uMotLoopCount > 0) m_GraphicThingInstance.SetMotionLoopCount(uMotLoopCount); return true; }