c6035f563b
Add missing test files
2025-07-14 22:15:10 -04:00
916f7e30e6
Make sure to send Initialize on zone change
2025-07-14 22:09:26 -04:00
166e8024e0
Fill out more fields in PrepareZoning IPC
...
This fixes the loading screen between zones (as it now displays
text.) How we do things isn't very accurate still.
2025-07-14 21:35:32 -04:00
e4342d04b8
Fix size of the ChatMessage IPC
2025-07-14 20:54:21 -04:00
58af029ae5
Fix tests compilation
2025-07-14 20:52:47 -04:00
d70b559037
Fix Recast build
2025-07-14 20:47:46 -04:00
ac785365d3
Begin implementing pathfinding, all NPCs now converge to you
...
This is incredibly simple behavior, and navimesh generation is
currently manually done. But it's progress!
See #38
2025-07-14 20:31:02 -04:00
099dfbd134
Remove most of the hardcoded effect durations and params
2025-07-14 20:26:13 -04:00
f54fc126b3
Add support for manually removing effects
2025-07-14 19:58:12 -04:00
3d81d1ed01
Implement enough status effect handling to make Sprint work
...
This includes making Sprint degrade into Jog, and now status
effects start to be scripted.
2025-07-14 19:52:50 -04:00
404681f395
Begin laying infrastructure for status effect scripting
2025-07-14 19:19:21 -04:00
e7bda4c5e4
unk3 in GainEffect/LostEffect is the source actor
2025-07-14 19:01:17 -04:00
1c2b757359
Begin adding support for EffectResult IPC opcode
...
And other stuff I saw in my sprint retail capture.
2025-07-14 19:00:26 -04:00
3f55df789e
Add Cooldown ActorControl category
2025-07-14 18:28:37 -04:00
dbfe3d542d
Rename ChatMessage's player_id to actor_id
...
This is a more accurate name for this field.
2025-07-14 18:19:34 -04:00
0399930ec7
Add UpdateRestedExp, LoseEffect and GainEffect ACs
2025-07-14 18:17:57 -04:00
The Dax
4f5f204507
Redundancy nit.
2025-07-14 17:27:45 -04:00
The Dax
9a60faa15d
Hook up an equipment sales NPC for testing non-stackable items
2025-07-14 17:27:45 -04:00
The Dax
421a24aa6f
When adding items to the inventory, prefer existing stacks first before selecting empty slots.
...
-This works for adding items to the inventory in any capacity, including debug and GM commands!
2025-07-14 17:27:45 -04:00
thedax
a5120bb9d6
Fix client-side crashes when discarding items. ( #117 )
...
-Various things were wrong in InventoryTransaction, but they should now be fixed.
2025-07-13 20:11:54 -04:00
bfca1605d5
Document !replay debug command
2025-07-13 20:11:05 -04:00
a4c8466088
Move packet replay to the global server state
...
This makes it way more stable, and can actually work now.
2025-07-13 20:09:50 -04:00
06debd5eb0
Begin implementing packet replay
...
It doesn't work fantastic yet, I need to move it to the global
server state to truly work as intended.
2025-07-13 18:01:59 -04:00
The Dax
ba1a92c9bc
Rename GilShopRelatedUnk to UpdateInventorySlot
...
-This now matches Karashiiro/FFXIVOpcodes.
2025-07-13 15:22:44 -04:00
The Dax
eb9d08866e
Implement better support for buying from gil shops
...
-You can now purchase multiple things in a row
-It shows the proper log messages
-For the moment all items go to the very first inventory slot, and overwrite each other
2025-07-13 15:22:44 -04:00
efa07bb87f
Add new actor control categories
2025-07-13 13:49:27 -04:00
c3291b1e47
Add support for the LevequestCompleteList IPC opcode
...
We also tell the client it completed every levequest in the game,
to showcase this works.
2025-07-13 11:59:56 -04:00
2cc562de38
Add support for the QuestActiveList IPC opcode
2025-07-13 11:24:14 -04:00
8be1fefa53
Add support for sending the title list, when requested
...
This doesn't allow you to set them yet, just show them in the menu.
2025-07-13 10:15:40 -04:00
c339c89c41
Fix various issues with the Lobby packets
...
Everything should be more consistent now, in regards to "tickets"
and actor ids.
2025-07-13 09:52:00 -04:00
822f693f8c
Add XiCharacterInfo IPC opcode
...
I don't know what this is, I got the name from Sapphire.
2025-07-13 09:10:32 -04:00
49003a4d89
Add FreeCompanyInfo IPC opcode
2025-07-13 09:05:22 -04:00
8083be24c7
Add UpdateSearchInfo IPC opcode
2025-07-13 09:03:02 -04:00
46cf7d4200
Add ActorGauge IPC opcode
2025-07-13 08:58:46 -04:00
c04cfdf5da
Add ObjectSpawn IPC opcode
...
The struct itself is all kinds of wrong as I blindly copied it from
Sapphire, so I wouldn't depend on it just yet.
2025-07-13 08:56:15 -04:00
7cfa20052d
Remove appearance updates from ZoneConnection::send_inventory
...
This isn't needed anymore.
2025-07-13 08:47:53 -04:00
b84462fd6f
Send equip item updates again
...
This was lost in the inventory refactoring because it was only
handled by ZoneConnection::send_inventory, but it needs to happen
elsewhere now.
2025-07-13 08:42:56 -04:00
fe4d0d2344
Inform client about some unimplemented inventory containers
...
As seen in a retail capture, we should be sending these I guess.
2025-07-13 08:38:28 -04:00
c0daf7b06b
Skip sending empty UpdateItems on first login
...
There's no reason to do this, the client has no pre-existing
inventory state so we're just wasting bytes.
2025-07-13 08:29:45 -04:00
cca0f8c0e5
Add remaining inventory container types
...
Most of these will remain unimplemented, but we need the enum to
be complete for Packet Analyzer to not trip over unknown ones.
2025-07-13 08:14:35 -04:00
f88d62b80f
Remove comment in lobby to investigate other server's KeepAlive
...
I checked a retail capture, and I think we're doing it correctly
for the chat and zone connection already. They wait until Setup to
send it (so the client is authorized, of course.)
2025-07-13 08:07:25 -04:00
67d01513b1
Begin figuring out various content finder thingies
2025-07-12 20:53:59 -04:00
fac241ce7b
Fix the wrong classjob being set when creating a character
2025-07-12 18:56:00 -04:00
c86a5f70a6
Add command, actor control to unlock instanced content
2025-07-12 18:33:52 -04:00
thedax
45ee95318c
Rename inventory-related opcodes to match Karashiiro/FFXIVOpcodes ( #112 )
...
-Implement keyboard turning packet as a no-op so it'll stop clogging server logs
-Finish implementing inventory actions
2025-07-12 17:40:22 -04:00
779666a10f
Fix off-by-one in ServerChatMessage
2025-07-12 15:01:12 -04:00
f176e4fb8d
Fix wrong binrw attribute in ServerChatMessage
...
This was supposed to be "pad_size_to" not "pad_after"!
2025-07-12 14:55:42 -04:00
3059cda4a4
Add remaining IPC size tests, fix some struct issues
2025-07-12 14:48:21 -04:00
217ed2466c
Fix the API for support desk headlines
2025-07-12 10:11:18 -04:00
eb73af03d6
Match retail headers for frontier server
2025-07-12 09:49:05 -04:00