Resolved [3.3.5] How to allow hunters to shoot in melee range

Reloac

Active member
Reloac Rep
2
0
0
Rep
2
Reloac Vouches
0
0
0
Vouches
0
Posts
42
Likes
31
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 1 55 XP
Even with modifying SpellRange.dbc and removing flags 2 client still sends CMSG_ATTACKSWING. I'm wondering if there is a clean solution for this. I can just make hunters if they have a bow force ranged autoshoot on that packet but that leads to other problems like client being desynced and the client messing animations up
 
Liked By 1 member :

Deathx

Why is my name not in this color :(
Divine
Deathx Rep
1
0
0
Rep
1
Deathx Vouches
0
0
0
Vouches
0
Posts
247
Likes
40
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 5 195 XP
Even with modifying SpellRange.dbc and removing flags 2 client still sends CMSG_ATTACKSWING. I'm wondering if there is a clean solution for this. I can just make hunters if they have a bow force ranged autoshoot on that packet but that leads to other problems like client being desynced and the client messing animations up
Changing how the server handles the opcode that stops auto spell cast does bug out the client animations, I suppose?
 

Reloac

Active member
Reloac Rep
2
0
0
Rep
2
Reloac Vouches
0
0
0
Vouches
0
Posts
42
Likes
31
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 1 55 XP
Changing how the server handles the opcode that stops auto spell cast does bug out the client animations, I suppose?
Well since the client was patched, that opcode is not sent anymore as that resets the client variable s_autoRepeatingSpell in that function


Code:
void __cdecl Spell_C_CancelAutoRepeat(char p_SendPacket)
{
    WGUID v1; // rax
    _DWORD *v2; // eax
    void *v3; // esi
    WGUID v4; // rax
    void *v5; // eax
    char v6; // [esp+0h] [ebp-24h]
    int v7; // [esp+14h] [ebp-10h]

    if ( s_autoRepeatingSpell )
    {
        if ( p_SendPacket )
        {
            CDataStore::InitPacket2((CDataStore *)&v6);
            CDataStore::PutInt32((CDataStore *)&v6, CMSG_CANCEL_AUTO_REPEAT_SPELL);
            v7 = 0;
            ClientServices::SendPacket_1((CDataStore *)&v6);
            CDataStore::ReleasePacket2(&v6);
        }
        v1 = ClntObjMgrGetActivePlayer();
        v2 = ClntObjMgrObjectPtr(v1, TYPEMASK_PLAYER);
        v3 = v2;
        if ( v2 )
        {
            CGUnit_C::ToggleFieldB70_Flag_0x200(v2, 0);
            CGUnit_C::sub_72AFE0(v3);
        }
        sub_806440(s_autoRepeatingSpell);
        if ( s_autoRepeatingSpell )
        {
            s_autoRepeatingSpell = 0;
            if ( !dword_D397CC )
            {
                FrameScript::SignalEvent(EVENT_STOP_AUTOREPEAT_SPELL, 0);
                if ( s_autoRepeatingSpell )
                {
                    v4 = ClntObjMgrGetActivePlayer();
                    v5 = ClntObjMgrObjectPtr(v4, TYPEMASK_PLAYER);
                    CGUnit_C::sub_6D5F70(v5);
                }
            }
        }
    }
}
 

Deathx

Why is my name not in this color :(
Divine
Deathx Rep
1
0
0
Rep
1
Deathx Vouches
0
0
0
Vouches
0
Posts
247
Likes
40
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 5 195 XP
Hmm sorry no idea ?‍♂️
 

Instadev

MySQL & C++ Developer
banned
Instadev Rep
4
0
0
Rep
4
Instadev Vouches
0
0
0
Vouches
0
Posts
338
Likes
153
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 2 90 XP
I'll be sort of available in a few. Got Discord? If so, add me: Dandi#2828
We'll figure this out together. I'll document here if a solution has been found.
Please get AnyDesk or TeamViewer and forgive me in advance as I'm at work via laptop so I might pop in and out depends on the work I've got.
 

Reloac

Active member
Reloac Rep
2
0
0
Rep
2
Reloac Vouches
0
0
0
Vouches
0
Posts
42
Likes
31
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 1 55 XP
So based on feedback from other devs it does indeed seem this needs a client modification. And funny enough modifying the client allows you to actually melee and use bow at same time on an unmodified trinity, so that's a new exploit I guess. :p
 

Noxbox

PHP/JS developer
contributor
Noxbox Rep
0
0
0
Rep
0
Noxbox Vouches
0
0
0
Vouches
0
Posts
33
Likes
11
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 2 85 XP
Wouldn't it be possible to adjust this without a patch?
1672235520495.png

I'm thinking DBC or spellmask.

try make hunters' Auto Shot ability usable in melee range by modifying the SpellRange data for the Auto Shot spell in the spell_range table in the database. Try set the minRange field to 0 and see if it makes any difference. It's important to note that modifying the range of abilities like this can have unintended consequences and may not be balanced though..
 
Last edited:

RedLine

Divine
Divine
RedLine Rep
0
0
0
Rep
0
RedLine Vouches
0
0
0
Vouches
0
Posts
74
Likes
28
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 4 205 XP
There might be spell flag u might need to check. Not sure about this but this could be a case.
 

3,389

1,271

9,555

428

Top