public virtual void Update(sdGameActor _gameActor) { playAudio(_gameActor); playEffect(_gameActor); if (stateData != null) { int ms = (int)stateData["MoveSpeed"]; if (ms != 0) { int begin = (int)stateData["MoveBeginTime"]; int end = (int)stateData["MoveEndTime"]; float speed = _gameActor.GetMoveSpeed() * (float)ms * 0.0001f; if (!bPassive) { speed *= 1.0f + _gameActor["AttSpeedModPer"] * 0.0001f; } fatalStrikeMove(_gameActor, begin, end, speed); } int rotbegin = (int)stateData["RotateBeginTime"]; int rotend = (int)stateData["RotateEndTime"]; if (rotbegin != rotend) { _InternalRotate(_gameActor, rotbegin, rotend); } } if (bMoveState) { _gameActor.motionFunction_todo(); } if (_gameActor.actorType == ActorType.AT_Monster) { checkDeathHitPoint(_gameActor); } checkHitPoint(_gameActor); CheckZoomIn(_gameActor); }