diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index 9024c821..c8d34b82 100644 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -500,9 +500,19 @@ enum SwitchTimesType_e kDisableMoveEffectTimes, kEnableDmgForwardTimes, kImmuneGasTimes, + kAniHideTimes, kSwitchTimeEnd, }; +enum RemoveHideReason_e +{ + kShotReason, + kUseSkillReason, + kMoveReason, + kOnBulletHitReason, + kOnExplosionHitReason, +}; + enum SkillIdx_e { kSkillIdx0 = 0, diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 73f85e63..a0a96511 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -3635,3 +3635,8 @@ void Creature::ActivateTargetValidPos() target_valid_pos_activated = true; } } + +void Creature::RemoveHideEffect(int reason) +{ + +} diff --git a/server/gameserver/creature.h b/server/gameserver/creature.h index 23068829..781bacba 100644 --- a/server/gameserver/creature.h +++ b/server/gameserver/creature.h @@ -381,6 +381,7 @@ class Creature : public MoveableEntity long long GetLastBeAttackFrameNo() { return last_beattack_frameno_; } int GetLastAttackerReviveTimes() { return last_attacker_revive_times_; } void ActivateTargetValidPos(); + void RemoveHideEffect(int reason); protected: virtual void OnBuffRemove(Buff& buff); diff --git a/server/gameserver/shot.cc b/server/gameserver/shot.cc index 01aece19..ae2c7426 100644 --- a/server/gameserver/shot.cc +++ b/server/gameserver/shot.cc @@ -581,7 +581,7 @@ void InternalShot(Creature* c, c->DoRecoilForce(weapon_meta->recoil_force()); } if (c->HasBuffEffect(kBET_Hide)) { - c->RemoveBuffByEffectId(kBET_Hide); + c->RemoveHideEffect(kShotReason); } if (trace_target_uniid) { c->LockAttackDir(1000);