Closed smd111 closed 10 years ago
I have also looked at this and had a similar reaction to the packets. It seems that SE made these when they were in their hardcore bitpacking phase. I'll try to take a look at it I guess, but I promise nothing.
Also, the packet that you indicated is not the conquest packet. It's the campaign map packet. If you block them, you still get conquest info.
Besieged map and Campaign Map are handled by 0x5E, which I haven't looked at in any detail before. So there's hope!
data.outgoing[0x05E] = {name='Request Zone', description='Request from the client to zone.'}
data.incoming[0x05E] = {name='Stop Download', description='Final packet in a DataDld transmission. May be the only packet in a DataDld sequence.'}
data.incoming[0x071] = {name='Campaign Map Info', description='Populates the Campaign map.'}
this is from the libs/packets/data.lua
but yes Campaign Map Info was what i was thinking about i got it wrong(its not conquest map packet)
Yeah, I'm investigating the conquest packet now.
Okay, I pretty much have it figured out minus one pretty important step (mapping zone ID to region ID).
ok let me know if you want me to test it
Well, I've deciphered the packet and pushed the updated fields.lua to -dev. The issue with implementing this is that I don't have any way to map Zone ID to Region ID beyond sitting down and doing it manually, which I don't want to do. It needs to be (ideally) added to the resources or put into a custom table that I include with GearSwap before this will go any further.
Here are the regions corresponding to the ID. 1 Ronfaure 2 Zulkheim 3 Norvallen 4 Gustaberg 5 Derfland 6 Sarutabaruta 7 Kolshushu 8 Aragoneu 9 Fauregandi 10 Valdeaunia 11 Qufim 12 Li'Telor 13 Kuzotz 14 Vollbow 15 Elshimo Lowlands 16 Elshimo Uplands 17 Tu'Lia 18 Movapolos *19 Tavnazian Archipelago
Ideally this would turn into a map of zone ID to region ID, but something like this would also work:
region_to_zone_map = { [1] = S{100,101,139,140,141,142,167,190},
1 would be Ronfaure's zone, and 100,101,139,140,141,142,167,190 are the zone IDs. If you want to make the full table, I'll implement it in gearswap!
ill do that give me until tomorrow tho and it will be done
here you go
*1 Ronfaure
*2 Zulkheim
*3 Norvallen
*4 Gustaberg
*5 Derfland
*6 Sarutabaruta
*7 Kolshushu
*8 Aragoneu
*9 Fauregandi
*10 Valdeaunia
*11 Qufim
*12 Li'Telor
*13 Kuzotz
*14 Vollbow
*15 Elshimo Lowlands
*16 Elshimo Uplands
*17 Tu'Lia
*18 Movapolos
*19 Tavnazian Archipelago
region_to_zone_map = {
[1] = S{100,101,139,140,141,142,167,190},
[2] = S{102,103,108,193,196,248},
[3] = S{1,2,104,105,149,150,195},
[4] = S{106,107,143,144,172,173,191},
[5] = S{109,110,147,148,197},
[6] = S{115,116,145,146,169,170,192,194},
[7] = S{3,4,117,118,198,213,249},
[8] = S{7,8,119,120,151,152,200},
[9] = S{9,10,111,166,203,204,206},
[10] = S{5,6,112,161,162,165},
[11] = S{126,127,157,158,179,184},
[12] = S{121,122,153,154,202,251},
[13] = S{114,125,168,208,209,247},
[14] = S{113,128.174,201,212},
[15] = S{123,176,250,252},
[16] = S{124,159,160,163,205,207,211},
[17] = S{130,177,178,180,181},
[18] = S{11,12,13},
[19] = S{24,25,26,27,28,29,30,31,32},
}
[Lumoria] = S{33,34,35,36} -- sea
[Tavnazian Marquisate] = S{26} --
[Abdhaljs] = S{43,44,183} -- private balista
--- Main city's
[The Republic of Bastok] = S{234,235,236,237}
[The Kingdom of San d'Oria] = S{230,231,232,233}
[The Federation of Windurst] = S{238,239,240,241,242}
[The Grand Duchy of Jeuno] = S{243,244,245,246}
---The Aradjiah Continent
[Arrapago Islands] = S{53,54,55,56,57,60,69,78,79}
[Halvung Territory] = S{61,62,63,64}
[Mamool Ja Savagelands] = S{51,65,66,67,68}
[Ruins of Alzadaal] = S{72,73,74,75,76,77}
[West Aht Urhgan] = S{48,50,52,71}
--- The Shadowreign Era
[The Aragoneu Front] = S{97,98,99,164,}
[The Derfland Front] = S{83,90,91,92,171,}
[The Fauregandi Front] = S{136}
[The Gustaberg Front] = S{87,88,89,93}
[The Norvallen Front] = S{8284,85,175}
[The Ronfaure Front] = S{80,81,86,}
[The Sarutabaruta Front] = S{94,95,96,129}
[The Threshold] = S{182,222}
[The Valdeaunia Front] = S{137,138,155,156}
--- other
[Abyssea] = S{15,45,132,215,216,217,218,253,254,255}
[Dynamis] = S{39,40,41,42,134,135,185,186,187,188}
[Promyvion] = S{14,16,17,18,19,20,21,22,23} -- not sure if region maters
[Limbus] = S{37,38}
[Airships] = S{223,224,225,226}
[Ferries] = S{46,47,58,59,220,221,227,228} -- not sure of the regions used
[Misc] = S{0,70,131,214,285}
wow you guys are amazing. This is way beyond my code writing "skills" but the end product of what you are trying to achieve is great lol. Thank you if you implement this
ps...in the jeuno box since there are 4 numbers i assume theyre referring to the 4 different jeuno zones. so lets say 243 is port jeuno would you just write S{243} ? (im assuming it would need some more text before that as well though)
what i posted was just organizing the zones with there regions nothing more its not hard to do
also this was how Byrth wanted it laid out but if you were checking to see if a zone was in jeuno in gs(right now) its more complicated then this
yeah im basically intersted in the ability of equipping Republic Aketon whenever I enter any bastok zone for example, just used jeuno as an example
Thanks, I will implement this tonight.
It looks like something is a little off from what I mapped out originally, so this is taking longer than expected. Pushing what I have to -dev now, but the individual nation strengths don't seem to be accurate.
Because I've fulfilled your basic quest (world.conquest.nation will tell you who owns a zone in a conquest area), I'm going to close this issue and open one regarding world.conquest.strengths on my own tracker.
can i ask one question should it be like this world.conquest.nation == player.nation or is it world.conquest.nation == world.zone_id or something else i.e. world.conquest.nation[world.zone_id][player.nation] > 2 or world.conquest.nation[3] == "Windurst"
please expose current zone/region conquest info to gearswap
i have tried to decode the conquest map packet(0x071) but the server sends 2 packets(both the same size) with the different data each time you zone or conquest data is updated so it almost impossible for me to see the first packet sent so i can get my bearings to start decoding it
but if this could be decoded it would expose the conquest data so we could switch to the proper gear when using gear like http://wiki.ffxiclopedia.org/wiki/Republican_Gold_Medal