Proto commits in opentibiabr/canary

These 10 commits are when the Protocol Buffers files have changed:

Commit:f59ab0c
Author:Eduardo Dantas
Committer:GitHub

feat: protocol 15.11 (weapon proficiency and new imbuement scroll) (#3845) Add the WeaponProficiency component with persistent per-weapon progression, perk selection, experience tracking, and combat bonus handling. Implement serialization and deserialization for proficiency data, perk management, active augments, stat bonuses, critical damage modifiers, bestiary/boss/powerful foe bonuses, skill/spell percentage bonuses, and perfect shot handling. Also add related client support, imbuement scroll/tool flows, new items, mounts, outfits, achievements, NPC shop updates, scheduled-save notifications, and loot table adjustments. Thanks to @phacUFPE and @FelipePaluco for the development base. Client PR: https://github.com/dudantas/tibia-client/pull/17 --------- Co-authored-by: Felipe <87909998+FelipePaluco@users.noreply.github.com> Co-authored-by: Pedro Cruz <pedro.ha.cruz2022@gmail.com> Co-authored-by: Eduardo Dantas<eduardo.dantas@hotmail.com.br>

Commit:2186154
Author:Eduardo Dantas
Committer:GitHub

build: switch protobuf integration to libprotobuf-lite (#3935) Replace full libprotobuf usage with libprotobuf-lite and enable LITE_RUNTIME in generated proto sources to reduce binary size and unneeded runtime dependencies. Add a custom protobuf vcpkg overlay port with patches for static builds, install layout fixes, utf8-range linkage, host protoc resolution, and removal of unused language generators. Update CMake, Visual Studio, Docker, and build scripts to use the custom protobuf toolchain consistently, pass through extra CMake arguments, and improve reproducibility across local and container builds. Also tighten dependency discovery by requiring OpenSSL Crypto explicitly and using modern protobuf-related targets where needed.

Commit:5e357d8
Author:Eduardo Dantas
Committer:GitHub

feat: add Way of the Monk quest and monk-related content (#3794) feat: add Way of the Monk quest, monster updates, and core data improvements This commit introduces the complete implementation of the Way of the Monk quest, along with multiple updates to monsters, bosses, items, and core gameplay data. Quest: • Added full quest definition for Way of the Monk, including mission flow, shrine tracking, and storage handling. • Registered the new quest module in the quest catalog. • Introduced new storage keys related to monk quest progression and items. • Added a sample monk player migration (DB version 55) for testing purposes. • Added Blue Valley to the towns list to support quest locations. Monsters and Bosses: • Added new monster Tame Terror Bird with complete stats, behaviors, and loot. • Reworked Mitmah Vanguard boss with updated events, attributes, attacks, defenses, elemental modifiers, loot, and lifecycle hooks. • Expanded loot tables for bosses such as The Brainstealer and The Monster, including monk-related items and potions. Items and Loot: • Updated frazzlemaw and guzzlemaw loot to drop traditional sai instead of sai. • Added monk-related item IDs to destruction scripts and Dawnport cleanup logic. Gameplay: • Added Monk’s Apparition to the Soul War quest apparition list. • Introduced a new combat formula for fist fighting skill. • Removed legacy fist fighting attack speed configuration from server settings. Workflow: • Improved GitHub Actions workflow to ensure reusable checks run on the correct branch.

Commit:030f3c3
Author:Eduardo Dantas
Committer:GitHub

feat: add new "soul cores" market category (#3092) New category from 13.40 Uses with: https://github.com/Arch-Mina/Assets-Editor/pull/36

The documentation is generated from this commit.

Commit:3ef5307
Author:Luan Santos
Committer:GitHub

fix: scoped KV, save KV to DB, boolean vals (#1661) A previous PR, optimizing saves, ended up canceling out saves here. Also: • Fixed nested scopes (and added a unit test) • Added boolean as a possible type for the KV values • Simplified the logic inside KV by removing a lot of templates and made scopes lighter weight with a simpler hierarchy.

Commit:4275713
Author:Eduardo Dantas
Committer:GitHub

feat: protocol 13.21 (#1523) New features: • StoreInbox pagination • StoreInbox showing items inside wrap container • StoreInbox (containers) filters. Clients for tests: https://github.com/dudantas/tibia-client/releases/tag/13.21.13839 Assets editor: https://github.com/Arch-Mina/Assets-Editor/pull/7 Thanks, @marcosvf132, for providing bytes. Co-authored-by: Luan Santos <github@luan.sh>

Commit:3f17a95
Author:Luan Santos
Committer:GitHub

feat: general purpose key-value store (#1540) Adds a brand new storage system to Canary. See README.md in the `kv` directory for details. Here are the basics: ### Basic Usage C++ ```cpp // Set an integer value kv.set("age", 30); // Get an integer value int age = kv.get<int>("age"); ``` Lua ```lua -- Set and get an integer value kv.set("age", 30) local age = kv.get("age") ```

Commit:dfc5df7
Author:Marcos
Committer:GitHub

[Enhancement] Protocol update to 12.91 (#443) Description: Update tibia protocol to 12.91, including the following features: • Timer on rings/amulets. • Charge number on rings/amulets. • Npc fix. (Sell/Buy more than 100 items at once) • Two new depot boxes Fixes: • #318 • #386 Client 12.91 download link: https://github.com/dudantas/tibia-client/releases/tag/12.91.12329

Commit:5ad63c1
Author:Beats
Committer:GitHub

[Fix] Protobuf error on server loading (#380) * Change all 'strings' to 'bytes' Co-authored-by: Marcos <66353315+marcosvf132@users.noreply.github.com>

Commit:68d0475
Author:Marcos
Committer:GitHub

[Enhancement] Rework on items to extinquish OTB file and use client 12 protobuf instead (#204) Description We are using the OTB system for a really long time on OT community, but since Canary is heading to another path like using one single id (ClientID) for map/server/client, i'm propousing to follow Tibia updates more closely. Just like cip did on the client (Same is happening on OTC), i think we can forget about using the jurassic Tibia.dat, Tibia.spr and items.otb and use Google Protobuf: https://github.com/protocolbuffers/protobuf. To deal with items updates without the need of any third partner tools like item editor and client converter. Using Tibia protobuf files instead of our old .otb file looks like to me the best approach to keep the repository most updated as possible since, with this changes, we can just simple copy the 'appearances-XXXXXXXXX.dat' file from the client's /assets/ folder, rename it to 'appearances.dat' and paste on "/data/items/" on the server and then boom, it's already up-to-date. Also, this commit include some changes on source to clean the unnused/useless tags and functions that was used on the old serverID/clientID system but are now deprecated. This commit changes does not include client protocol messages updates, only items and a few more data. Benefits: - Fast and easy updates. - Auto-insert items without the need to register on XML file and with some basic data like: "name", "description", "slot position", "loot type", "item tier upgrade", "podium" and all data from old "OTB" file. - Opens the possibilities to (finally) insert new features like party hunt analyzer, adquire global position for NPCs on the global map with all item prices included, etc. - Prevent errors and crashes related to wrong "lookType", "const_me" and "const_ani" effects. Tests Tested and working with no problem so far. But keep in mind that the OTBR Datapack is not ready for this PR yet. If the idea is approved (the idea, not the PR), i will open a similar PR on OTBR datapack to make it compatible with the changes here. Map changes The map changes was necessary due to some invalid (garbage) items on the map. Does not affect anything at all since they were invisibly, untouchable and unnecessary. Protofile Protofile was added on "/src/protobuf/" directory. Compiling windows (vcpkg) [x86] ./vcpkg install protobuf:x86-windows protobuf[zlib]:x86-windows --recurse [x64] ./vcpkg install protobuf:x64-windows protobuf[zlib]:x64-windows --recurse Compiling windows Ubuntu/Debian (apt) apt-get install libprotobuf-dev protobuf-compiler Issues and chat Any problem that you have on compiling or have anything you want to change on it you can use the discord: https://github.com/opentibiabr/canary/blob/4580324c18a69289db7ba346f04eec2d30188136/README.md?plain=1#L3