1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-07-17 18:47:46 +00:00
Commit graph

22 commits

Author SHA1 Message Date
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
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
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
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
ae5e168f2d Put new rusqlite usage behind #[cfg]
This should fix the WebAssembly build.
2025-07-12 08:02:02 -04:00
thedax
eb2e7a9987
Refactor large portions of database.rs, and fix the remaining clippy warnings (#111)
* Address warning "warning: very complex type used. Consider factoring parts into `type` definitions"
-But instead of making a new type we just create PlayerData directly

* Address "warning: this expression creates a reference which is immediately dereferenced by the compiler"


* Address "warning: calling .bytes() is very inefficient when data is not in memory"
2025-07-09 22:59:39 -04:00
7b6605b018 Update Icarus, switch to the new Physis Resource system
While there isn't a functional difference in Kawari yet, this is
paving the way to allow loading unpacked game files.
2025-07-08 21:54:42 -04:00
The Dax
9b03e2d7c2 Properly address "warning: method default can be confused for the standard trait method std::default::Default::default" 2025-07-08 21:54:10 -04:00
The Dax
7801398590 Fix a small issue with the !equip command
-It wasn't setting the item's condition, causing the game UI to behave strangely when looking at the item's tooltip
-Added a constant for the maximum item durability
2025-07-04 13:39:48 -04:00
The Dax
fde43a560d Move it to a constant, and remove redundant comment 2025-07-04 13:39:48 -04:00
The Dax
5284801554 Inventory: fix the operation type for item discard, it was incorrect 2025-07-04 13:39:48 -04:00
thedax
877ec335a9
Address four of "warning: variables can be used directly in the format! string" (#92) 2025-07-01 06:55:25 -04:00
0a740198f8 Initial support for item glamours and condition
The only way to glamour items is to import them from Auracite, same
with condition. But these are actually sent to the client now!
2025-06-28 14:57:21 -04:00
554d42a904 Equip the correct starting weapon for your selected classjob
This prevents all sorts of oopsies because the client will refuse
to equip certain items, if you happen to be using a Gladiator
weapon on an Archer or vice-versa.

See #50
2025-06-28 10:44:25 -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
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
ddb67383af Fix more easy Clippy warnings 2025-06-23 21:14:38 -04:00
90a4f4ea0c Switch to new physis sheets name
Nothing changed API-wise apart from that. We also have the ability to
now pin on a game version, which is super helpful.
2025-05-10 09:25:22 -04:00
9787126a1b Replace (most of) the remaining Excel parsing with Physis Sheets
The only one remaining is for Item data, but that can't be ported yet
because the new API only fetches the first page for now.
2025-05-09 18:35:44 -04:00
7f729bfd99 Update dependencies (binrw, physis, bitflags)
This updates three major crates we use to the latest version with all of
their API changes, and the others too. Notably, this removes the Syn v1
dependency thanks to binrw 0.15 switching to Syn v2.
2025-05-09 15:25:57 -04:00
ff33bd446a Update IPC struct names and filenames to match their opcode name 2025-05-02 23:24:31 -04:00
8d384c4bd0 Overhaul how we send inventory packets again
I wanted to add armory chest support but the current state of the
inventory was a little frustrating. Adding new containers was too
difficult, so I made the system *even more* generic and easier to use. I
have also split it up into it's own module with a nicer file layout.

Oh yeah, and armory chest works too now.
2025-05-02 16:15:54 -04:00