vmangos / core

Progressive Vanilla Core aimed at all versions from 1.2 to 1.12
GNU General Public License v2.0
669 stars 481 forks source link

šŸ› [Bug] Stealth range not correct for bosses #2692

Open Daribon opened 3 months ago

Daribon commented 3 months ago

šŸ› Bug report

The current stealth alert range is not blizzlike for bosses. As an example on Kazzak, you currently have to be almost inside model for it to be able to alert. Even with Master of Deception maxed out, on classic the range is not even near what it is on vmangos.

Expected behavior

From classic sniff with rank 4 stealth, with talent Master of Deception rank 5. This is the distance between where Kazzak was able to alert me being in stealth: WoW_J778OjFo3D Meanwhile currently on vmangos with rank 4 stealth, no talents: WoW_MGPuFg54m4

I noticed the issue when I was sniffing kazzak last year and accidentally walked too close for Kazzak. Relevant piece of parsed sniff:

ClientToServer: CMSG_MOVE_STOP (0x39E6) Length: 57 ConnIdx: 1 Time: 11/12/2023 06:52:30.021 Number: 25132
MoverGUID: Full: MYGUID Player/0 R5533/S0 Map: 0 Low: 2845638
MovementFlags: 0 (None)
MovementFlags2: 512 (PreventChangePitch)
MovementFlags3: 0 (None)
MoveTime: 584029989
Position: X: -12227.997 Y: -2458.3276 Z: 0.9627841 O: 2.6297514
Pitch: -0.3682660162448883
StepUpStartElevation: 0
RemoveForcesCount: 0
MoveIndex: 0
HasStandingOnGameObjectGUID: False
HasTransportData: False
HasFallData: False
HasSpline: False
HeightChangeFailed: False
RemoteTimeValid: False
HasInertia: False
HasAdvFlying: False

ServerToClient: SMSG_AI_REACTION (0x26B5) Length: 16 ConnIdx: 1 Time: 11/12/2023 06:52:55.310 Number: 25191
UnitGUID: Full: 0x20566000000C1B400000BA0000504F21 Creature/0 R5528/S186 Map: 0 Entry: 12397 Low: 5263137
Reaction: 0 (Alert)

ServerToClient: SMSG_ON_MONSTER_MOVE (0x2DD4) Length: 66 ConnIdx: 1 Time: 11/12/2023 06:52:55.310 Number: 25192
MoverGUID: Full: 0x20566000000C1B400000BA0000504F21 Creature/0 R5528/S186 Map: 0 Entry: 12397 Low: 5263137
Position: X: -12244.576 Y: -2438.6318 Z: 2.2537384
(MovementMonsterSpline) Id: 5719417
(MovementMonsterSpline) CrzTeleport: False
(MovementMonsterSpline) StopDistanceTolerance: 2
(MovementMonsterSpline) (MovementSpline) Flags: 0 (None)
(MovementMonsterSpline) (MovementSpline) Elapsed: 0
(MovementMonsterSpline) (MovementSpline) MoveTime: 0
(MovementMonsterSpline) (MovementSpline) FadeObjectTime: 0
(MovementMonsterSpline) (MovementSpline) Mode: 0
(MovementMonsterSpline) (MovementSpline) TransportGUID: Full: 0x0
(MovementMonsterSpline) (MovementSpline) VehicleSeat: -1
(MovementMonsterSpline) (MovementSpline) Face: 2 (Target)
(MovementMonsterSpline) (MovementSpline) PointsCount: 0
(MovementMonsterSpline) (MovementSpline) VehicleExitVoluntary: False
(MovementMonsterSpline) (MovementSpline) Interpolate: False
(MovementMonsterSpline) (MovementSpline) PackedDeltasCount: 0
(MovementMonsterSpline) (MovementSpline) HasSplineFilter: False
(MovementMonsterSpline) (MovementSpline) HasSpellEffectExtraData: False
(MovementMonsterSpline) (MovementSpline) HasJumpExtraData: False
(MovementMonsterSpline) (MovementSpline) HasAnimTierTransition: False
(MovementMonsterSpline) (MovementSpline) FaceDirection: 5.412078857421875
(MovementMonsterSpline) (MovementSpline) FacingGUID: Full: MYGUID Player/0 R5533/S0 Map: 0 Low: 2845638
(MovementMonsterSpline) (MovementSpline) CalculatedSpeedXY: NaN

ClientToServer: CMSG_MOVE_SET_FACING (0x3A09) Length: 57 ConnIdx: 1 Time: 11/12/2023 06:52:55.584 Number: 25194
MoverGUID: Full: MYGUID Player/0 R5533/S0 Map: 0 Low: 2845638
MovementFlags: 0 (None)
MovementFlags2: 512 (PreventChangePitch)
MovementFlags3: 0 (None)
MoveTime: 584055551
Position: X: -12227.997 Y: -2458.3276 Z: 0.9627841 O: 2.6218975
Pitch: -0.3682660162448883
StepUpStartElevation: 0
RemoveForcesCount: 0
MoveIndex: 0
HasStandingOnGameObjectGUID: False
HasTransportData: False
HasFallData: False
HasSpline: False
HeightChangeFailed: False
RemoteTimeValid: False
HasInertia: False
HasAdvFlying: False

Shows CMSG_MOVE_STOP with my position. Kazzak using SMSG_AI_REACTION and Kazzak using Face: 2 (Target) in SMSG_ON_MONSTER_MOVE to face me. Last part CMSG_MOVE_SET_FACING is just to show that I remained at same position after CMSG_MOVE_STOP, some miliseconds after Kazzak faced me.

My talents:

ServerToClient: SMSG_UPDATE_TALENT_DATA (0x25D7) Length: 43 ConnIdx: 1 Time: 11/12/2023 05:57:46.619 Number: 110
UnspentTalentPoints: 41
ActiveSpecGroup: 0
SpecCount: 1
[0] TalentCount: 2
[0] TalentCount: 2
[0] GlyphCount: 6
[0] GlyphCount: 6
[0] SpecID: 0
[0] (TalentInfo) [0] TalentID: 241
[0] (TalentInfo) [0] Rank: 4
[0] (TalentInfo) [1] TalentID: 244
[0] (TalentInfo) [1] Rank: 4
[0] (GlyphInfo) [0] Glyph: 0
[0] (GlyphInfo) [1] Glyph: 0
[0] (GlyphInfo) [2] Glyph: 0
[0] (GlyphInfo) [3] Glyph: 0
[0] (GlyphInfo) [4] Glyph: 0
[0] (GlyphInfo) [5] Glyph: 0
IsPetTalents: False

241 is Master of Deception. 244 is Camouflage.

Steps to reproduce

  1. .learn 1787
  2. .gm on
  3. .go creature Kazzak
  4. .gm off
  5. Move away from Kazzak
  6. Enter stealth and begin walking towards Kazzak while he faces you.

Version & Environment

Client Version: 1.12.1.5875

Commit Hash: https://github.com/vmangos/core/commit/a1cd3abd4a9200c6f0549a5152c1513af78da9fc

OS Client: Windows 11 Pro N 10.0.22631 Build 22631 OS Server: Windows 11 Pro N 10.0.22631 Build 22631

Crashlog