662e659d8f
Move Caddyfile, scripts out of root directory
2025-04-05 23:01:21 -04:00
822d1f5139
Add GM command to give items, support equipping from inventory
...
Now with this command and support for *one* inventory slot, you can
now freely equip items to your character for testing.
2025-03-31 23:23:29 -04:00
0c76d847d5
Allow unequipping items, add packet for updating equipped model ids
...
The unequipped item currently disappears into the aether, but this
works now!
2025-03-31 21:49:12 -04:00
bc8535cce2
Fix chat message packet size
2025-03-31 21:16:52 -04:00
fbf8212f8f
Fix logout for 7.20h
2025-03-31 21:16:52 -04:00
a5a9e49667
Initial update for 7.20h
...
This updates the set of opcodes and patch version for today's patch. Not
everything is working yet and there's a few missing ones, but overall it
looks good.
2025-03-31 21:16:52 -04:00
1bdacaaede
Add inventory modification packet
...
The size isn't quite right yet, but whatever.
2025-03-31 20:05:37 -04:00
fccd752246
More misc packet size fixes
2025-03-30 22:29:17 -04:00
b01ec22950
Fix and check more packet sizes
2025-03-30 19:50:31 -04:00
767a288e12
Fix Disconnected opcode
2025-03-30 19:34:38 -04:00
e8581cdaba
Add script for Fast Blade action
...
This adds the necessary infrastructure to add actions that deal damage to
enemies, and tests this through the new effects builder exposed through Lua.
2025-03-30 09:31:50 -04:00
d8627c646e
Add a more extensible way to add actions
...
You now reigster actions with registerAction under Global.lua. This should make
it extremely easy to add new actions later.
2025-03-30 09:02:52 -04:00
89db2ce920
Fix crash when entering certain zones, remove stuff doesn't work
...
There's some fadein/fadeout nonsense that isn't really doing anything right now,
and can be killed.
2025-03-29 16:43:06 -04:00
0085b1f4bf
Add missing testdata
2025-03-29 16:42:33 -04:00
88c7d2ee77
Fix sending status effects setting the player HP/MP to 0
...
For some reason we send some of the player's stats in this packet, and
we can't keep them as 0 because the client will just kill the player.
2025-03-29 14:52:27 -04:00
1ef4078ec1
Fixes and workarounds for battling
2025-03-29 14:38:40 -04:00
d54b4c945e
Start informing the player of the consequences of their actions
...
This doesn't work 100% reliably yet, but I do see the action appear in
my battle log.
2025-03-29 14:15:01 -04:00
ff3313a0f9
Add UpdateHpMpTp packet, make sprint take away debug monster health
...
This is just for debugging, I want to make attack actions do this
instead.
2025-03-29 12:25:22 -04:00
6bb6377315
Add stubs for the other two starting City-States
...
Also document how to access and play these scenes in USAGE.
2025-03-28 23:00:32 -04:00
2bf9385079
Load the starting position from the LGB
...
It turns out (amazingly) that this data exists client-side, I guess because the
server and the client share the same planevent LGB file. So instead of
hardcoding the starting location in each city, it's now literally like retail*
* Except for the fact that we don't support rotation yet, and positions in pop
ranges are probably randomized too. But it's close!
2025-03-28 23:00:32 -04:00
c4b9ad060b
Add basic Event scripting capaibilities
...
This implements the first event script, going from the first Ul'dah opening
cutscene to the next.
2025-03-28 23:00:32 -04:00
bcbe62af06
Add packets related to playing events and scenes
2025-03-28 23:00:32 -04:00
13b24e9cfe
Try to fix crash after recieving status list
2025-03-28 23:00:32 -04:00
c5e04ba33f
Begin wiring status effect Lua API
2025-03-28 23:00:32 -04:00
652beadaa4
Send the welcome server message in the onBeginLogin Lua function
...
I finally got a proof-of-concept working, and am somewhat happy with how I can
start building this API now.
2025-03-28 23:00:32 -04:00
a99b0e7c17
Pass PlayerData to onBeginLogin function
2025-03-28 23:00:32 -04:00
bbe9215902
Add mlua for server-side scripting support
...
This isn't hooked up to anything yet, just trying it out.
2025-03-28 23:00:32 -04:00
e7dc83effe
Update testdata for 7.2
2025-03-26 19:23:14 -04:00
4142143bc8
Move Zone IPC over to the new JSON opcodes file
2025-03-26 19:23:14 -04:00
d0bb7f4ba9
Start defining IPC opcodes in JSON
...
This is to make it easier to interpolate with other tools and projects,
and to reduce the mental barrier (of me and other contributors) of
changing these. This only ports the Lobby connection to use JSON so far,
the World connection is next.
2025-03-26 19:23:14 -04:00
d11c6ad090
Restore and add the remaining 7.2 opcodes
...
Now Kawari is back to it's full functionality, save for tests being
broken and out of date and PlayerSetup has the wrong padding. Success!
2025-03-26 19:23:14 -04:00
3a66e4466c
More various 7.2 packet fixes, attempt to check recieved packet size
2025-03-26 19:23:14 -04:00
264fac4b4e
Start writing tests for ItemInfo and ContainerInfo IPC
2025-03-23 16:45:52 -04:00
d10552f653
Rename player_spawn.dat to player_spawn.bin
2025-03-22 21:59:06 -04:00
bd67eb0127
Add support for spawning NPCs, and a debug command to do it
...
Since the structs are so similar, I created a CommonSpawn struct to hold most of
the interesting fields.
2025-03-18 22:13:28 -04:00
a72199e5af
Use the same nameday/deity/etc information everywhere, add tests for PlayerSpawn
...
This doesn't really fix anything functionally, but makes the Character window
look nicer. The same (currently unchangable) data is now reflected in the lobby.
2025-03-16 14:43:30 -04:00
dbe1ef208c
Initialize the weather correctly, add test for InitZone packet
...
This makes the lighting not a horrible dark mess!
2025-03-14 20:47:36 -04:00
2d991e8fe9
Add the player spawn packet test file
2025-03-13 19:54:43 -04:00