1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-06-30 19:57:46 +00:00
Commit graph

639 commits

Author SHA1 Message Date
The Dax
2c60e4f8fa Fix a typo in Events.lua 2025-06-26 07:47:05 -04:00
The Dax
385672d797 Add support on the Rust side for resetting the command identifier.
-sender was also renamed to command_sender in case we'd like to reserve the word "sender" in the future.
2025-06-26 07:47:05 -04:00
The Dax
0f7e068ba3 Further reduce boilerplate in various scripts
-Introduce a printf helper command which can print the sending command's name for you,
and treats the message as a format string if additional params follow
2025-06-26 07:47:05 -04:00
d292e1d676 Fix signedness of scene yield params
According to the decompiled Lua code, they sometimes can return
negative numbers (like -1, to indicate an error.) I also improved
the debug display of these in the server log a bit.
2025-06-25 23:28:12 -04:00
476958a054 Move crystal bell script
I finally found what client-side script it's calling into, they
call it "BeautySalon" internally.
2025-06-25 23:20:37 -04:00
96aece36cf Implement more back and forth packets for events
I figured out a few of these while figuring out the crystal bell
event, although their purpose is still generally unknown. It doesn't
really affect anything functionally as the event still works as
well as it did before.

I also fixed the crystal bell scenes so they don't finish the event
prematurely, although it looks weird without the hairstyle menu. But
that still isn't figured out yet.
2025-06-25 23:11:49 -04:00
381098b1c5 ClientTrigger Unk2 is actually FinishZoning 2025-06-25 22:12:09 -04:00
b099d0a7f4 Implement the Crystal Bell menu
It will start the second scene if you request a summon now, but
we still need to implement the opcodes for bringing up the menu.
2025-06-25 21:50:57 -04:00
58e4e89765 Support toggling displaying your weapon and other flags
This is now networked and shown both to you and other players. This
still needs to be persisted for other player spawns.
2025-06-25 21:30:14 -04:00
7d203d1de5 Add documentation about the supported client triggers 2025-06-25 20:58:21 -04:00
ec76d3fb31 Don't allow connecting with an older client
I just wasted a few minutes trying to connect, only to realize my
client is too old. I thought we declined in these situations
already, but I guess not?
2025-06-25 20:04:47 -04:00
69e8e4055e Finish implementing currency
I made various mistakes in the initial implementation, which
are now fixed.
2025-06-25 17:02:19 -04:00
thedax
75993bf933
Update to Lua 5.4, adjust scripts accordingly (#64) 2025-06-25 15:21:09 -04:00
thedax
6d99bef66c
Refactor and reorganize numerous Lua systems: (#63)
-Global.lua is no longer a catch-all dumping ground for registering actions and events
Instead, Global.lua will actually contain useful global constants and functions

-Init.lua will take over the role of being the initial script run when doing reloads or booting the servers
-Actions.lua will take over registering all actions
-Items.lua will take over registering all items
-Commands.lua will take over registering all text commands

-Events.lua will take over registering all warps, openings/quests, aetherytes, etc.
To this end, event ids now live in organized tables to reduce error-prone copy paste clutter

If we get enough actions, items or commands, we can move those to tables too.
2025-06-25 13:25:48 -04:00
3c9eeec7b1
Fix another broken GitHub link 2025-06-25 13:06:40 -04:00
thedax
d73ab383e8
Document the previously unknown parameter for the ServerChatMessage opcode (#62)
Document the previously unknown parameter for the ServerChatMessage opcode
Credit goes to Sapphire as usual (see comments)
2025-06-25 10:05:34 -04:00
The Dax
c926ceb17b Implement a generic lift operator in Eulmore 2025-06-24 19:17:18 -04:00
The Dax
feb0ffb869 Implement the aethernet for aetherytes and ensure both aetherytes and aethernet shards
do better about not yeeting you into invalid zones, crashing the client, or softlocking
2025-06-24 19:17:18 -04:00
01697c8f62 Begin implementing currency, add //gm gil command and more
This doesn't work yet though , and I'm not sure why. I also fixed a bug
where new characters doesn't get their inventories initialized properly.
2025-06-24 19:16:32 -04:00
03609fb8c1 Add a comment to rename EventHandlerReturn 2025-06-24 18:31:19 -04:00
cc5d9ae7bc Return both parameters in EventHandlerReturn
This allows scripting things like Aetherytes in the future.
2025-06-24 18:30:22 -04:00
thedax
9d01a5d595
Update opcodes for 7.25h2 (#60)
* Attempt to update opcodes for 7.25h2, but it's possible I missed some

* Disconnect might be 370

* Edit README.md to reflect the new update
2025-06-24 16:21:25 -04:00
thedax
1a5f80482f
Partially implement more actors (#59)
- Summoning bell now tells you you're not authorized
- Armoire shows prompt but "remove items" option softlocks
- Crystal Bell cutscenes work slightly better but still default to not authorized
- Bed now plays cutscenes with proper fade to black, and dreamfitting works when forced in onTalk
2025-06-24 14:38:16 -04:00
d612a95be9 Move restoring character backup to it's own page 2025-06-23 21:42:30 -04:00
ddb67383af Fix more easy Clippy warnings 2025-06-23 21:14:38 -04:00
a76de282c9
Add Matrix channel to README
For quicker/informal discussion outside of GitHub.
2025-06-23 20:53:50 -04:00
The Dax
86310c7c22 Address warnings:
warning: usage of `contains_key` followed by `insert` on a `HashMap`
warning: you seem to want to iterate on the values of a map
2025-06-23 15:28:24 -04:00
The Dax
5b5e998286 Address warning: "deref which would be done by auto-deref" 2025-06-23 15:28:24 -04:00
The Dax
efb7a7e126 Address warning: "empty line after outer attribute" 2025-06-23 15:28:24 -04:00
The Dax
ab3bcfc365 Address warning: "name NPC contains a capitalized acronym" 2025-06-23 15:28:24 -04:00
The Dax
75b34cb959 Address warning: "struct update has no effect, all the fields in the struct have already been specified" 2025-06-23 15:28:24 -04:00
The Dax
32d978d82b Address warning: "unneeded return statement" 2025-06-23 15:28:24 -04:00
The Dax
89aee8e5d8 Address warning: "warning: casting to the same type is unnecessary (u16 -> u16)" 2025-06-23 15:28:24 -04:00
thedax
82e5021979
Implement the //gm teri_info command, and fix a typo (#56)
Implement the `//gm teri_info` command, and fix a typo. Said typo was in gamedata.rs, confusing the FingerL column for the SoulCrystal column.
2025-06-23 13:39:37 -04:00
50530e31e4
Fix another link in CONTRIBUTING 2025-06-23 13:31:11 -04:00
77a3ec64f1
Fix link to some projects that moved to Codeberg 2025-06-23 13:29:53 -04:00
thedax
6ca828bb38
Add a placeholder script for the market board and a couple more gatekeepers (#55) 2025-06-22 18:22:44 -04:00
thedax
4a234e08d1
Add the missing Azim Steppe aetherytes (#54) 2025-06-22 17:32:47 -04:00
The Dax
17823ae30e Fix name of actor 2025-06-22 16:19:29 -04:00
The Dax
063ad78a84 Don't need tonumber for results 2025-06-22 16:19:29 -04:00
The Dax
2abb44b6d9 Bring up the aethernet
-Implemented all aethernet shards
-Implemented more lift/ferry skipper NPCs that don't require special handling
-Commented the mysterious GenericWarps at the beginning of the list
2025-06-22 16:19:29 -04:00
33893ff460 Fix compile error 2025-06-22 11:24:45 -04:00
fd249a2342 Rename !unlockaction to !unlock
When learning how to unlock emotes, apparently FFXIV just has one
kind of ID for all kinds of stuff. So I picked a number, stuck it
as the max (this is unconfirmed) and you can now unlock everything.
2025-06-22 11:18:07 -04:00
a8dd106041 Update Physis to make several zones functional
See #44
2025-06-22 10:29:16 -04:00
4acf0c4fc8 Remove "Registered XYZ" messages from the World server
Now that we have a ton of events registered, this just becomes
log spam. I initially added it while testing the Lua API, but
I don't think it's necessary anymore.
2025-06-22 10:15:58 -04:00
b41cb478e7 Display unsheathed weapon to other players
It doesn't play the animation correctly, yet.
2025-06-22 10:08:29 -04:00
e1b01299c9 Show emotes from other players
If you move it doesn't cancel them yet, but still cool to see them play.
2025-06-22 09:45:24 -04:00
77b6fbad7f Fix the "unknown command" message for real, now
Now it takes into account if the command exists on the Rust side,
and the message should now *only* display if no one truly handles
this command.
2025-06-22 09:28:50 -04:00
fbe6862c7b Begin implementing EXP
This doesn't actually do things like level you up, but if you use the
GM EXP command then it will update the UI.
2025-06-22 09:19:06 -04:00
b38b347c15 Add scripting for the Delivery Moogle NPC
See #48
2025-06-22 09:06:09 -04:00