Open Trinity 3.3.5 Script/C++ Question - Capturing Flag

jmul1212

New member
jmul1212 Rep
0
0
0
Rep
0
jmul1212 Vouches
0
0
0
Vouches
0
Posts
3
Likes
1
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 1 105 XP
Hello, I am in the process of backporting Twin Peaks to 3.3.5. I am nearing completion and I have worked out almost every kink! I am but a simple script kiddie that can look at code and determine what it does or kinda guess what it does.... im sure you understand me.
So what actually is the trigger for capturing the flag. There is a spell "Capture Alliance Flag" in the DBC files and the "Capture Horde Flag" is a passive Spell_DBC script. The Game_Object template has ID's for SIlverwing Flag and Warsong Flag, as well as drop IDs called Horde Flag and Alliance Flag. Those ID's seem to reference the spells in Data2->Data4. I am going to go out on a limb here and say that the flag capture is done by those spells.
Is it done by those spells, or an area trigger or a worldstate?
Are those spells zone specific? The flag pickup spells didn't work in TP and when i self learned them they gave me a error about zone.
Anyone have an idea to make this work. This is basically the last thing i need to do before i move onto Gilneas.

If anyone has any questions for me I will be glad to help them out - in getting to where I am currently at. I won't provide a guide because I have lost track of every step and it was just a lot of banging my head against DBC files and looking at Cata DBC and trying to port it over.
 

jmul1212

New member
jmul1212 Rep
0
0
0
Rep
0
jmul1212 Vouches
0
0
0
Vouches
0
Posts
3
Likes
1
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 1 105 XP
update before i compile and hit the hay. i found this in the WSG bg file. I brought it over the TP one. I am still confused why TP never had a trigger capture point in the cata core at https://github.com/The-Cataclysm-Pr...r/game/Battlegrounds/Zones/BattlegroundTP.cpp

Maybe it will work. If anyone has any advice, lemme know.

void BattlegroundTP::HandleFlagRoomCapturePoint(int32 team)
{
Player* flagCarrier = ObjectAccessor::GetPlayer(GetBgMap(), GetFlagPickerGUID(team));
uint32 areaTrigger = team == TEAM_ALLIANCE ? 3808 : 3807;
if (flagCarrier && flagCarrier->IsInAreaTriggerRadius(sAreaTriggerStore.LookupEntry(areaTrigger)))
EventPlayerCapturedFlag(flagCarrier);
}
 

3,392

1,271

9,555

428

Top