OTServBR-Global datapack was migrated to Canary repository: https://github.com/opentibiabr/canary
Full Changelog: https://github.com/opentibiabr/otservbr-global/compare/v1.4.0...v1.5.0
Full Changelog: https://github.com/opentibiabr/canary/compare/v1.4.0...v1.5.0
Fix cmake warning (wrong boost dir on library) (https://github.com/opentibiabr/canary/pull/362, https://github.com/opentibiabr/canary/commit/d2279bf, @dudantas)
Resolves the issue of killing some monsters giving error on distro (https://github.com/opentibiabr/canary/pull/370, https://github.com/opentibiabr/canary/commit/8686cd9, @dudantas)
Fix typo on daily reward, from addItemId to addU16 (https://github.com/opentibiabr/canary/pull/371, https://github.com/opentibiabr/canary/commit/9da46a7, @dudantas)
Fix item name register from appearances protobuf (https://github.com/opentibiabr/canary/pull/376, https://github.com/opentibiabr/canary/commit/a4073d7, @marcosvf132) It was missing the item name register on the function void Items::loadFromProtobuf() on the Items map. This map is used to identify a item by it's name instead of ID. This is largely used on the SRC and LUA environments.
Fix removing unnecessary warn on item creation when id equal 0 (https://github.com/opentibiabr/canary/pull/368, https://github.com/opentibiabr/canary/commit/48ab545, @marcosvf132) Add a check on the SPDLOG::WARN to prevent when itemID is equal 0. This happens a lot when slain a creature that has no body registered. (Regular creatures/summons/boss)
Fix protobuf error on server loading (https://github.com/opentibiabr/canary/pull/380, https://github.com/opentibiabr/canary/commit/5ad63c1, @beatsdh and @marcosvf132) Change all 'strings' to 'bytes' This wrong behavior on the items name register was affecting only items who had their names on the appearances.dat protobuf file but was not registered on the items.xml file
Fix magic wall and wild growth rune bug (https://github.com/opentibiabr/canary/pull/388, https://github.com/opentibiabr/canary/commit/f5fb255, @dudantas) Created a new function to set the min/max duration of an item, id to decay and whether or not to show the duration Fixed mw being walkable, fixing a small typo in blocking parse Usage of setDuration: item:setDuration(minduration, maxduration = 0, decayid = 0, showDuration = true)
Fixed bug summon not searching player target and icons update (https://github.com/opentibiabr/canary/pull/395, https://github.com/opentibiabr/canary/commit/6b56fbf, @dudantas) Fixed the bug when the player was attacking a creature and summoned, the summon would not attack the creature until the player stopped attacking and attacked again Fixed the icon of creatures that use the "creature:addSummon" function Added Game::reloadCreature functions Rework on function "Creature::setMaster", somes functions were centralized within the setMaster, avoiding repetitions: Creature::setTarget Creature::setFollowCreature Creature::setDropLoot Creature::setSkillLoss
Fix non-unique item name registration (https://github.com/opentibiabr/canary/pull/390, https://github.com/opentibiabr/canary/commit/63b30ca, @marcosvf132) Fix an issue related to items that have a non-unique name on the register. This problem was breaking some monster's loot.
Fix unexpected behavior on connection send and disconnect (https://github.com/opentibiabr/canary/pull/408, https://github.com/opentibiabr/canary/commit/4f1dbaf, @dudantas) Added nullptr check for validate connection Renamed protocol variable from connection to connectionPtr to avoid shadowing with the other connection variable added to check nullptr
Fix magic wall and wild growth on retro-pvp and no-pvp logic (https://github.com/opentibiabr/canary/pull/400, https://github.com/opentibiabr/canary/commit/dc5c868, @dudantas) The magic wall/wild growth rune should only be removed when stepping if it's no-pvp and if it's not blocking
Few prey/task hunting fixes and improvements (https://github.com/opentibiabr/canary/pull/385, https://github.com/opentibiabr/canary/commit/b1786d5, @marcosvf132)
Fix null function on daily reward (https://github.com/opentibiabr/canary/pull/375, https://github.com/opentibiabr/canary/commit/1960d49, @dudantas) Resolves https://github.com/opentibiabr/canary/issues/374
Fix "nil item" on daily reward (https://github.com/opentibiabr/canary/pull/423, https://github.com/opentibiabr/canary/commit/0b65754, @dudantas) Resolves https://github.com/opentibiabr/canary/issues/421
Fix checks on player death, player speed breakpoint and misc enhancements (https://github.com/opentibiabr/canary/pull/378, https://github.com/opentibiabr/canary/commit/e5cc80a, @omeranha) Added tag in config.lua for: Max critical chance of imbuements Adventurers blessing level Inventory glow on five bless Fixes Set default maxSpeed for 70000 Still blessed after dead for work with "no disconnect on death" Player targetting after dead for work with "no disconnect on death" Adventurer blessing logic for work with "no disconnect on death"
Fix some npcs bugs and change behaviour (https://github.com/opentibiabr/canary/pull/396, https://github.com/opentibiabr/canary/commit/5b25b43, @dudantas) Total cost for custom currencys Bank npcs depot, transfer and withdraw logic Changed: MsgContains behaviour, added new function "MsgFind" so that we avoid some bugs in messages that have the same words Added debug log for assistant with debug build
Fix Callback fromPosition of some lua scripts that were registered by position (https://github.com/opentibiabr/canary/pull/441, https://github.com/opentibiabr/canary/commit/723f378, @dudantas) Some scripts registered through position didn't work the fromPosition callback because it was lost between the two functions (with and without the callback item)
Fix build of docker and linux (https://github.com/opentibiabr/canary/pull/440, https://github.com/opentibiabr/canary/commit/90e7561, @beats-dh) Fixed the compilation in the docker environment and the error that occurred with linux when it was going to compile on a new "VM" machine. What happened is that the protobuf was updated and our proto files were generated in an old version, with this change they are ready to work with the latest version of the protobuf made available by vcpkg Note: vcpkg needs to be updated to the most current version for it to work properly
[CMake] fix warning build, add flag /EHsc to target compile options (https://github.com/opentibiabr/canary/pull/442, https://github.com/opentibiabr/canary/commit/afab2af, @beats-dh)
Fix remove summon bug and added new config tag for teleport summon (https://github.com/opentibiabr/canary/pull/428, https://github.com/opentibiabr/canary/commit/5bd86e6, @beats-dh) Added new config.lua tag: teleportSummons = false Usage: if false, the summon will not teleport when the player goes up/down stairs and moves far away, if true, it will teleport the summon Fixed the bug that did not remove the summon when the player leaves the summon range, thus preventing the player from summoning a new monster
[Fix] Bestiary unlocked creature (https://github.com/opentibiabr/canary/pull/438, https://github.com/opentibiabr/canary/commit/e033f83, @beats-dh)
[Fix] convert burst and poison arrow to client id (https://github.com/opentibiabr/canary/pull/405, 647b005, @Aerwix)
sudo apt install libluajit-5.1-dev
https://github.com/opentibiabr/canary/issues/374, https://github.com/opentibiabr/canary/issues/#421
Set workflows branch from "master" to "main" (@dudantas, https://github.com/opentibiabr/canary/commit/46cf35b)
Update GitHub actions (@costallat, https://github.com/opentibiabr/canary/commit/a9cd5c7) Update and improve Github Actions Add new forms Update bug form Fix labels
Add issue auto label (@costallat, https://github.com/opentibiabr/canary/commit/76fd4f6)
Set windows default build as release (@costallat, https://github.com/opentibiabr/canary/commit/657db93) Refactor cmake presets to keep windows release as the default preset to help newcomers
Fix build docker, missing include header
[Remove] Removed benchmark from storage duplication (@andersonfaaria, https://github.com/opentibiabr/canary/commit/0b218582) This was something I have added back then to show the function wasn't heavy and it's already something proven. In one of the commits someone put the processed message inside the condition which removed its purpose and would spam server console with a line that is not relevant as the goal was to show total process time and not individual time for each duplicate found.
https://github.com/opentibiabr/canary/issues/58, https://github.com/opentibiabr/canary/issues/60, https://github.com/opentibiabr/canary/issues/61, https://github.com/opentibiabr/canary/issues/64, https://github.com/opentibiabr/canary/issues/65, https://github.com/opentibiabr/canary/issues/76, https://github.com/opentibiabr/canary/issues/77, https://github.com/opentibiabr/canary/issues/78, https://github.com/opentibiabr/canary/issues/79, https://github.com/opentibiabr/canary/issues/83, https://github.com/opentibiabr/canary/issues/85, https://github.com/opentibiabr/canary/issues/87, https://github.com/opentibiabr/canary/issues/90, https://github.com/opentibiabr/canary/issues/92, https://github.com/opentibiabr/canary/issues/93, https://github.com/opentibiabr/canary/issues/123, https://github.com/opentibiabr/canary/issues/159, https://github.com/opentibiabr/canary/issues/216, https://github.com/opentibiabr/canary/issues/229, https://github.com/opentibiabr/canary/issues/240, https://github.com/opentibiabr/canary/issues/241, https://github.com/opentibiabr/canary/issues/243, https://github.com/opentibiabr/canary/issues/244, https://github.com/opentibiabr/canary/issues/245, https://github.com/opentibiabr/canary/issues/246, https://github.com/opentibiabr/canary/issues/252, https://github.com/opentibiabr/canary/issues/256, https://github.com/opentibiabr/canary/issues/257, https://github.com/opentibiabr/canary/issues/258, https://github.com/opentibiabr/canary/issues/260, https://github.com/opentibiabr/canary/issues/265, https://github.com/opentibiabr/canary/issues/267, https://github.com/opentibiabr/canary/issues/275, https://github.com/opentibiabr/canary/issues/276, https://github.com/opentibiabr/canary/issues/277, https://github.com/opentibiabr/canary/issues/285, https://github.com/opentibiabr/canary/issues/288, https://github.com/opentibiabr/canary/issues/304, https://github.com/opentibiabr/canary/issues/311, https://github.com/opentibiabr/canary/issues/312, https://github.com/opentibiabr/canary/issues/313, https://github.com/opentibiabr/canary/issues/314, https://github.com/opentibiabr/canary/issues/315, https://github.com/opentibiabr/canary/issues/320, https://github.com/opentibiabr/canary/issues/340
#279, #281, #282, #286, #292, #299, #313, #319, #336, #357, #358, #376, #385, #386, #406, #409, #424, #429, #432, #433, #438, #439, #441, #447, #449, #450, #451, #452, #453, #456, #459, #460, #462, #468, #474, #476, #478, #481, #484, #486, #494, #495, #497, #500, #502, #506, #509, #510, #520, #522, #526, #527, #528, #530, #534, #552, #563
Antrum of the Fallen - pos 32603, 31844, 10; Bounacean Lion - pos 32470, 32492, 8; Boss Room Neferi The Spy - 33886, 31477, 6, ; Boss Room Sister Hetai - 33883, 31467, 9,; Cursed Crypt - pos 32601, 31861, 9; Deathling Menace - pos 32366, 32543, 8; Dwelling of the Forgotten - pos 32062, 31461, 11; Forest of Life - pos 32399, 32496, 11; Forge (Thanks for Stewart) - pos 32208, 32281, 7; Gaffir Secret Room - 33302, 31196, 9; Grotto of the Lost - pos 32123, 31442, 14; Ruins of Nuur - pos 33806, 31692, 8; Salt Caves - pos 33970, 31652, 7; Too Hot To Handle - pos 32603, 31844, 10; Task: Lava Fishing - pos 32532, 31086, 15; Task: The Mega Magmaoid - pos 32529, 31154, 15; Room Lesh The Seer - pos 32406, 32470, 6; Stealth Mission - pos 33894, 31311, 15; Supply Mission - pos 33964, 31307, 15; 1st Mate Ratticus - pos 33897, 31391, 15; The Trekkie's Journey - pos 33960, 31375, 15; Haunted House - pos 32690, 32241, 6; Tomb of Scarlet - pos 33101, 32630, 8; Tibia Cults - pos 33039, 31911, 14; Hunt Feaster of Soul - pos 31912, 32355, 8; Boss Room The Brainstealer - pos 32539, 31122, 15; Rascacoon Kraken Boss - pos 33803, 31390, 7, / 33733, 31187, 7; A Pirates Tail - pos 33927, 31364, 7;
Set workflows branch from "master" to "main" (@dudantas, https://github.com/opentibiabr/canary/commit/46cf35b)
Update GitHub actions (@costallat, https://github.com/opentibiabr/canary/commit/a9cd5c7) Update and improve Github Actions Add new forms Update bug form Fix labels
Add issue auto label (@costallat, https://github.com/opentibiabr/canary/commit/76fd4f6)
Set windows default build as release (@costallat, https://github.com/opentibiabr/canary/commit/657db93) Refactor cmake presets to keep windows release as the default preset to help newcomers
Fix build docker, missing include header
[Remove] Removed benchmark from storage duplication (@andersonfaaria, https://github.com/opentibiabr/canary/commit/0b218582) This was something I have added back then to show the function wasn't heavy and it's already something proven. In one of the commits someone put the processed message inside the condition which removed its purpose and would spam server console with a line that is not relevant as the goal was to show total process time and not individual time for each duplicate found.
https://github.com/opentibiabr/canary/issues/58, https://github.com/opentibiabr/canary/issues/60, https://github.com/opentibiabr/canary/issues/61, https://github.com/opentibiabr/canary/issues/64, https://github.com/opentibiabr/canary/issues/65, https://github.com/opentibiabr/canary/issues/76, https://github.com/opentibiabr/canary/issues/77, https://github.com/opentibiabr/canary/issues/78, https://github.com/opentibiabr/canary/issues/79, https://github.com/opentibiabr/canary/issues/83, https://github.com/opentibiabr/canary/issues/85, https://github.com/opentibiabr/canary/issues/87, https://github.com/opentibiabr/canary/issues/90, https://github.com/opentibiabr/canary/issues/92, https://github.com/opentibiabr/canary/issues/93, https://github.com/opentibiabr/canary/issues/123, https://github.com/opentibiabr/canary/issues/159, https://github.com/opentibiabr/canary/issues/216, https://github.com/opentibiabr/canary/issues/229, https://github.com/opentibiabr/canary/issues/240, https://github.com/opentibiabr/canary/issues/241, https://github.com/opentibiabr/canary/issues/243, https://github.com/opentibiabr/canary/issues/244, https://github.com/opentibiabr/canary/issues/245, https://github.com/opentibiabr/canary/issues/246, https://github.com/opentibiabr/canary/issues/252, https://github.com/opentibiabr/canary/issues/256, https://github.com/opentibiabr/canary/issues/257, https://github.com/opentibiabr/canary/issues/258, https://github.com/opentibiabr/canary/issues/260, https://github.com/opentibiabr/canary/issues/265, https://github.com/opentibiabr/canary/issues/267, https://github.com/opentibiabr/canary/issues/275, https://github.com/opentibiabr/canary/issues/276, https://github.com/opentibiabr/canary/issues/277, https://github.com/opentibiabr/canary/issues/285, https://github.com/opentibiabr/canary/issues/288, https://github.com/opentibiabr/canary/issues/304, https://github.com/opentibiabr/canary/issues/311, https://github.com/opentibiabr/canary/issues/312, https://github.com/opentibiabr/canary/issues/313, https://github.com/opentibiabr/canary/issues/314, https://github.com/opentibiabr/canary/issues/315, https://github.com/opentibiabr/canary/issues/320, https://github.com/opentibiabr/canary/issues/340
#279, #281, #282, #286, #292, #299, #313, #319, #336, #357, #358, #376, #385, #386, #406, #409, #424, #429, #432, #433, #438, #439, #441, #447, #449, #450, #451, #452, #453, #456, #459, #460, #462, #468, #474, #476, #478, #481, #484, #486, #494, #495, #497, #500, #502, #506, #509, #510, #520, #522, #526, #527, #528, #530, #534, #552, #563
Antrum of the Fallen - pos 32603, 31844, 10; Bounacean Lion - pos 32470, 32492, 8; Boss Room Neferi The Spy - 33886, 31477, 6, ; Boss Room Sister Hetai - 33883, 31467, 9,; Cursed Crypt - pos 32601, 31861, 9; Deathling Menace - pos 32366, 32543, 8; Dwelling of the Forgotten - pos 32062, 31461, 11; Forest of Life - pos 32399, 32496, 11; Forge (Thanks for Stewart) - pos 32208, 32281, 7; Gaffir Secret Room - 33302, 31196, 9; Grotto of the Lost - pos 32123, 31442, 14; Ruins of Nuur - pos 33806, 31692, 8; Salt Caves - pos 33970, 31652, 7; Too Hot To Handle - pos 32603, 31844, 10; Task: Lava Fishing - pos 32532, 31086, 15; Task: The Mega Magmaoid - pos 32529, 31154, 15; Room Lesh The Seer - pos 32406, 32470, 6; Stealth Mission - pos 33894, 31311, 15; Supply Mission - pos 33964, 31307, 15; 1st Mate Ratticus - pos 33897, 31391, 15; The Trekkie's Journey - pos 33960, 31375, 15; Haunted House - pos 32690, 32241, 6; Tomb of Scarlet - pos 33101, 32630, 8; Tibia Cults - pos 33039, 31911, 14; Hunt Feaster of Soul - pos 31912, 32355, 8; Boss Room The Brainstealer - pos 32539, 31122, 15; Rascacoon Kraken Boss - pos 33803, 31390, 7, / 33733, 31187, 7; A Pirates Tail - pos 33927, 31364, 7;
libzippp
, uses ./vcpkg install libzippp
[Source]: Npc Shop Enhancement - Allow an item of the same id to be added multiple times for the same npc (author: @dudantas, commit: (https://github.com/opentibiabr/canary/commit/9c257da) Set for use name of the item instead of id in the ShopInfoMap vector This will allow adding items with the same item ids and customizing the item name Fixed somes npcs shop bugs
[Source]: ConfigManager - fix (#208) typo from "freeQuests" to "toggleFreeQuest" (author: @dudantas, commit: 0c08898)
[Source]: Added new method ```vocation:getBaseAttackSpeed```` for offline training and exercise training script (author: @Rechdan, commit: (https://github.com/opentibiabr/canary/commit/8315cf5)
[Source]: Added new Lua method configManager.getFloat
(author: @Rechdan, commit: (https://github.com/opentibiabr/canary/commit/2811015)
Fix nil value in the offline training and exercise training script
[Source]: Fix support rates regen, removed multiplication and modified to use getBaseAttackSpeed instead of getAttackSpeed (author: @dudantas, commit: (https://github.com/opentibiabr/canary/commit/29846fa)
[Source]: Set item tier bytes from "0" to "1" from protocol 12.85 (author: @dudantas, commit: (https://github.com/opentibiabr/canary/commit/cc98f40)
Modified item tier byte to be 1 by default.
Added one static_cast<uint8_t>
in the function "item->getImbuementSlot()", for resolve review check from CodeQL.
Global datapack lua code: https://github.com/opentibiabr/otservbr-global/commit/e4524f8fa006b7d14e801413de64c7d09df23423 Canary source code: https://github.com/opentibiabr/canary/commit/6388163d28d54878335e3c9ee33c008ddf587b2f)
Adjusted:
Description: NPCS converted to revscriptsys and removed the npcs xml Changed jiddo lib to work with revscriptsys npcs, also making several improvements to the lib. And several other functions that have been improved or rework. We also removed all the code from the lib that parse/handle the npcs xml.
Module shop has been removed (a big improvement was made where the shop is now in npcType, more easily and is called directly from source).
Added back storage of npcs spawns in the world folder (there was also a reorganization, where npcs and monsters will be in separate files from now on, as it will be possible to see npcs on the map).
Several other modifications and adaptations to make compatibility possible.
NOTE: This commit (1ffd9f109) will work directly with the commit: https://github.com/opentibiabr/canary/commit/0397d0c97e6191d1a64503970d21657eeb2f8886, from Canary repository. After this commit, the OTServBR-Global will use the Canary Engine, there will no longer be source code in global. Thanks for @dudantas, @lgrossi, @gpedro, @Beats-Dh, @omeranha, @dmarszk.
Note: this will be the last release where the global repository will be sourced. The next one, which will be release 1.1.0, will be sourced from Engine Canary.
item->hasAttribute(ITEM_ATTRIBUTE_DURATION)
to check if the item has the duration attribute, making it so that only items that are in the decay stage can enter the if
With the PR #375 a bug with weapons that have skills was introduced, where they started to remove the skill instead of adding it, this PR is to fix that.