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

117 commits

Author SHA1 Message Date
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
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
b38b347c15 Add scripting for the Delivery Moogle NPC
See #48
2025-06-22 09:06:09 -04:00
198a8a3e2c Make !reload command always available, add !finishevent
The reload command was previously implemented in Lua, but this
is a little dangerous as it could itself have an error and is
unable to work in the first place. I moved this to Rust to
ensure it's always available. I left the reload_scripts() API
in Lua as someone could still find that useful!

Additionally, I added a !finishevent debug command to forcefully
end the current event you're in. This can be useful if your script
is incomplete or has an error, as your client gets stuck very
easily.
2025-06-22 08:49:06 -04:00
thedax
e1b261c7d8
Implement several actors/entities (#49)
* Implement the following actors/entities:
-Inn Toy Chest actor, which simply says you haven't unlocked mini-games
-Inn Glamour Dresser actor, which simply says you haven't unlocked the GD yet
-Orchestrion, which is fully functional as long as you have songs unlocked

Accompanying the orchestrion is the GM orchestrion command, with a caveat:
-It allows you to learn one song at a time, but id 0 (aka "all) doesn't learn a single
song for some unknown reason, so I've disabled it for now.

* Run cargo fmt

* Update USAGE.md
How many times will I forget...
2025-06-22 08:46:11 -04:00
thedax
12d381e25d
"Implement" generic menders (#47)
...in the sense that they bring up the repair menu, but that menu isn't implemented yet.
2025-06-21 21:14:30 -04:00
fa2158bd22 Oops, reorder Wineport Aetheryte
I misread a 9 as an 8.
2025-06-21 19:06:52 -04:00
fa8e28893e Add missing Wineport Aetheryte
Thanks to @thedax, I merged the last PR so fast it wasn't included.
2025-06-21 19:06:12 -04:00
thedax
a2661ead9e
Hook up ARR aetherytes, with some caveats (see comments in Global.lua) (#45) 2025-06-21 19:02:54 -04:00
The Dax
37cdde3703 Hook up Heavensward and Stormblood aetheryte events 2025-06-21 17:35:53 -04:00
The Dax
77621fbaf7 Remove unused aetheryte events 2025-06-21 17:35:53 -04:00
The Dax
0a7ee8d27e Hook up Shadowbringers aetherytes 2025-06-21 17:35:53 -04:00
thedax
185ea84bd2
Hook up Endwalker aetheryte events (#42) 2025-06-21 16:08:52 -04:00
thedax
5b1023f94f
Hook up Dawntrail aetheryte events (#41) 2025-06-21 15:13:57 -04:00
4146261c40 Script the Mothercrystal exit, stop panicking if warp isn't found
I guess this might be because a planevent fails to load, but I'm not
confident about that.
2025-06-21 14:23:56 -04:00
thedax
61616df842
Reimplement several commands in Lua (#37)
* Reimplement !unlockaction in Lua
Rebased on upstream master

* Unlockaction: display the action id that was unlocked

* Reimplement GM speed in Lua

* Fix warnings and errors

* Run cargo fmt

* Reimplement GM wireframe in Lua

* Reimplement GM invis command, with a caveat
It can't toggle the invis state yet, and I'm not sure where to update it.

* Lua invis: add the gm_invisible toggle, but it still doesn't revert back to false...

* Reimplement GM aetheryte in Lua, with a caveat
It's seemingly not working right now though: it doesn't add any new aetherytes to the teleport menu.
But I can't get the command `//gm aetheryte on X` to do it either, so it's possible Kawari isn't responding correctly?
Either way this needs further testing.

* Lua invis: add the forgotten Lua file

* Reimplement GM teri in Lua
Also add a TODO for UnlockAetheryte

* Make comment in lua.rs more useful

* Run cargo fmt again

* Teri: range check the territory ID

* Update USAGE.md to reflect the new commands
Rebased on upstream master

* Clarify unlockaetheryte USAGE and in-script usage

* Refactor UnlockAetheryte.lua, and make ToggleInvisibility actually work properly.
I opted to create a Task for this, because sticking it in kawari-world.rs felt like a hack to me.

* Run cargo fmt for hopefully the last time today

* Move lua.ra:toggle_invisibility down with the other queued tasks

* Fix spaces in USAGE.md, remove stray rebase message
2025-06-21 13:30:52 -04:00
bb2cc9e0ec Log in-game and in the server when encountering an unknown command
Instead of printing nothing and you're just left scratching your head.
2025-06-21 12:23:25 -04:00
f07d16b949 Allow reloading Global.lua with the new !reload debug command
Scripts are normally loaded when they are needed, with the exception of
Global.lua that's only loaded once at start-up. But now you can reload
it in-game with the !reload command, which should make event and command
scripting way less of a hassle.
2025-06-21 12:16:27 -04:00
0c967f8a56 Add generic Aetheryte event script, document the interesting scenes
This also scripts the Central Meadows Aetheryte.
2025-06-21 12:01:11 -04:00
d04a2cb9c1 Add dummy event script for Central Shroud's Chocobokeep
We send the client scene 0, which displays the menu. I guess some unlock
is checked for actually being able to hire porters, which works for us.

Fixes #29
2025-06-21 11:34:56 -04:00
The Dax
45d67c4b1c Forgot Gridania's inn name 2025-06-21 09:12:28 -04:00
The Dax
db5a81528f Consolidate exit-to-inn scripts into a generic one.
-Also comment what most generic warps are for
-Might move the loose/magic event IDs into their own file in the future...
2025-06-21 09:12:28 -04:00
The Dax
a24e0a5658 Overhaul the Lua permissions:
-Renamed permissions to required_rank
-Don't panic when the script author omits required_rank
-Reset state in the global table after reading it, so scripts can refresh it each time
2025-06-20 14:02:46 -04:00
The Dax
276e183d85 Fix Nudge GM rank requirement 2025-06-20 14:02:46 -04:00
The Dax
be20b0f604 Add a basic permission system to Lua scripts to bring them in line with ingame GM commands. 2025-06-20 14:02:46 -04:00
b488cfb348
Add screenshot to README 2025-06-19 20:19:53 -04:00
thedax
961cb92ab1
New Lua command proposal: !festival (#26)
This command enables the user to set the current zone's festival.
For example, you can toggle the Starlight festival in any of the starting cities.

Thanks, OTCompa!
2025-06-19 12:29:10 -04:00
7d6c8a8c14 Advertise in all retail lobbies instead of just Aether in LauncherTweaks
This should make it somewhat nicer for non-American users.
2025-06-18 20:03:41 -04:00
e175bd072e Fix Unk2 and Disconnected opcodes for 7.25h
Fixes #23
2025-06-18 19:48:22 -04:00
The Dax
74479198e8 Nudge.lua: clarify usage 2025-06-18 12:55:18 -04:00
The Dax
0b6d8d3f8c Refactor Nudge.lua
-Added the comments back from the original
-Make actual use of the new_position table, may as well since it's there.
2025-06-18 12:55:18 -04:00
The Dax
80885f0eeb Port the nudge gm/debug command from Project Meteor Server.
It's a command that moves the user forward, backward, up, or down a specified amount of yalms.
It's quite helpful for exploration convenience, and doesn't replace setpos, rather, it's meant to complement it.
The set_position function was also extended to allow for lua code to specify the rotation/direction facing.
2025-06-18 12:55:18 -04:00
acd11b9122 Call requestResumeInfo when fromAppWaitPlay is called
This fixes the last retail launcher issue I hit when testing locally.

Fixes #19
2025-06-17 17:21:01 -04:00
88e73a1633 Add console.debug logging for the various launcher callback functions
I'm currently working through why it's not working in the retail
launcher anymore, and keeping track of which callbacks are called with
their parameters is super useful.
2025-06-17 17:14:28 -04:00
94e005d4f5 Initial update for 7.25h
Some of the opcodes didn't update properly as per usual with the new
process, but you can log back into the World server.
2025-06-17 16:24:19 -04:00
46dec1b0f0 Add patch-dl.ffxiv.localhost to the default Caddy config
You have to place the patch files under the patches/ directory.
2025-06-08 15:44:22 -04:00
9e1bfe8625 Fix Unk2 and Disconnected opcodes for 7.25 2025-06-07 11:29:21 -04:00
35dbf7a355 Initial opcode update for 7.25
This doesn't cover everything, but allows you to login to the World
server again.
2025-06-07 10:57:13 -04:00
59815df5c1 Add warning message when failing to find poprange 2025-05-12 16:32:55 -04:00
94ed036431 Add script for the Teleport action
This makes the Teleport action functional now, although it looks pretty
rough as it warps you instantly instead of waiting for the action to
actually finish.
2025-05-11 10:12:02 -04:00
fd1fbe7188 Start adding support for propagating actor control state
This begins figuring out how we are going to be propagating actor
control state: e.g. targets, poses, and other misc effects. I ended up
sending client triggers to the global server state, who then creates the
needed actor control packet for the other players.

Now players can see what other players are targeting!
2025-05-08 22:53:36 -04:00
7c96edc9a4 "Implement" the Crystal Bell
Like the Unending Journey, just tell the player they aren't authorized
to summon him.
2025-05-06 22:39:57 -04:00
ed44de8956 "Implement" the Unending Journey
Apparently there's a scene that's super easy to use, that omniously says
"You cannot consult The Unending Journey at this time". That's cool,
though.
2025-05-06 22:37:02 -04:00
515ec59d92 Port classjob debug command to Lua 2025-05-06 22:03:31 -04:00
4c17f28eb0 Add Lua API for commands
This is super simple, you get the player and the args (which you can
choose to split if you so choose.) I reimplemented the !setpos, and will
start doing the rest of the commands.
2025-05-06 21:57:52 -04:00
5b35896365 Show the statusText on login error, not the empty response 2025-05-06 18:28:51 -04:00
ebec139fa3 Don't hardcode login server URL on the launcher page 2025-05-06 18:18:24 -04:00
e455bc10e5 Add links to return home on the login pages 2025-05-06 16:03:16 -04:00
adb1259829 Add some simple instructions to the homepage 2025-05-06 16:01:00 -04:00
ca8d36e48c Fix remaining inn warps, prevent the player from getting stuck
This means the three ARR inns are now "functional" (as in, you can enter
and exit them.) I also added some code to give you control of your
character in case you hit an unimplemented event.
2025-05-05 23:45:22 -04:00