Skip to content
This repository has been archived by the owner on May 20, 2023. It is now read-only.

Releases: opentibiabr/otservbr-global

OTServBR - Global 1.5.0

15 Sep 02:36
Compare
Choose a tag to compare

What's Changed (OTServBR-Global datapack)

New Contributors

Full Changelog: v1.4.0...v1.5.0

What's Changed (Canary source)

New Contributors

Full Changelog: opentibiabr/canary@v1.4.0...v1.5.0

OTServBR-Global - Version 1.4.0 (Stable)

19 Jul 07:09
Compare
Choose a tag to compare

Release version: stable v1.4.0 -

Download Tibia Client 12.86.11871

Download OTClient 1.0, thanks for @mehah

Fixes

Features/Enhancements

  • Some small improvements to gha (opentibiabr/canary#363, opentibiabr/canary@44c8e82, @Costallat)
    Improves the GHA overall performance
    Disable ccache for Windows as it doesn't work
    Add sscache for Windows
    Adjust some cmake flags to work with sscache
  • Rework and fix event scheduler (opentibiabr/canary#239, opentibiabr/canary@526ef51, @beats-dh)
  • [CrashFix] fix monster type name overriding and some improvements (opentibiabr/canary#389, opentibiabr/canary@86e4a90 @dudantas)
    The real name of the monster was replaced by the name of the look, generating unexpected behavior and in a very specific scenario a crash (when two different monsters had the same "name")
    Some improvements related to the creation of monsters and the verification of the monster name in getMonsterType, also preventing any unexpected behavior
    New function: Creature::getTypeName(), for get real monster type name
  • Rework in MoveEvent and MoveEvents class for fix memory leak (opentibiabr/canary#398, opentibiabr/canary@4771913, @dudantas)
    Movements completely redone to remove a memory leak related to the registration of movements, in the luaMoveEventRegister function, where the memory was fread and then used. We also added some pointer sanity checks, preventing future crashes and fixing some known ones.
    Removed old XML load
    Passed some objects as a reference, to avoid nullpointer and unecessary pointer checks
    Added nullpointer checks in some places and the code was redone to work better
    Added some logs to help in case of errors
    Fixed crash related to replaceable magic fields
    Notes: MoveEvent::onRemoveItem function from now on it will no longer have the "tileitem" argument
  • [Enhancement] Changed rsa to use gmp lib instead of cryptopp (opentibiabr/canary#391, opentibiabr/canary@b0538c4, @beats-dh and @dudantas)
    Thanks and credits to @SaiyansKing for the original code
    This pull request has modifications from the optimized forgottenserver: https://github.com/opentibiabr/optimized_forgottenserver
    Added function in otserv.cpp to load default RSA key if it fails to load key.pem
    Rework on connection.cpp and improvement of some functions
    Removed some "reinterpret_cast", added in place "static_cast" which avoid overflows or undefined behavior
    Improved connection and protocol code for QT client
  • Change luajit to install b...
Read more

OTServBR-Global - Version Stable 1.3.1 (Patch)

29 Apr 18:58
Compare
Choose a tag to compare

Release version: Stable v1.3.1 (Patch) - e06dd7ff

Download Tibia Client 12.86.11871

Download OTClient 1.0, thanks for @mehah

Fixes

  • Crash related to creature death (@dudantas, opentibiabr/canary@03e8e09e)
    The crash happened in a specific scenario, when the creature was removed (and recreated) and the target reference was not removed, when it tried to target another creature, it crashed.
  • Market issue related to stash items and gold duplication (@marcosvf132, opentibiabr/canary@7082aff3)
    There is an issue on the market that was making the item remove count 0 when accepting buy offer.
    Issue reported by @Sparkz023

Changes from Major Release version: stable 1.3.0

Canary:

Features/Enhancements

  • Complete rework on npcs shop add item functions (@dudantas, opentibiabr/canary@caf0a970)
  • Experience tracker (@marcosvf132, opentibiabr/canary@990da240)
    On the oldest protocols, the client was handling the experience changes by it's own, now on the new protorocol (12.72+), we need to send to the client the right amount of experience that the player has gainned so it can update it's tracker
  • Auto Loot, Quick Looting in stack and Auto Bank function (@omeranha, opentibiabr/canary@5cb9ff7b)
    Auto loot using your manage loot containers quick loot categories and items filter, can be enabled in config.lua!
    Quick loot in stack, up to 30 corpses, enabled using client option.
    Auto Bank function, the dropped coins from monsters will be automatically deposited to your bank account, can be enabled in config.lua.
  • No disconnect on death (@omeranha, opentibiabr/canary@4f8667a6)
    no more disconnection when player dies
  • Solved incompatibility problem with otclient redemption (@marcosvf132, opentibiabr/canary@c46f64d2)
    Readjust protocolgame to follow the right pattern. Changing hardcoded expected bytes on OnRecvFirstMessage to follow the cip client and fix incompatible with otclient protocolgamesend.
  • Decouple g_game in true singleton (@dudantas, @lgrossi, opentibiabr/canary@126e7df)
    Game class decoupled in a true singleton, thus allowing direct calls without needing to instantiate in each file.
    Credits to @lgrossi for made the decouple logic.
  • Fix build to not use asan on relase mode (@Costallat, opentibiabr/canary@87edf62)
    Not use ASAN for release build
    Remove cmake settings(replaced with presets)
    Adjust GitHub Actions triggers
  • Cmake features and update workflows to use gcc 11 (@dudantas, opentibiabr/canary@905f774)
    Update sonarcloud version and sonar/codeql/ubuntu build to use gcc 11
    Added gcc minimum version 8 in cmakelists.txt
    Reorganized find_packages
    Fix possible bug in the spdlog link library
  • Add tag serverSaveTime on config.lua (@beats-dh, opentibiabr/canary@e848604)
    With this modification, the configuration of the global server save can be done directly in config.lua, thus centralizing configurable things in a single place
  • Add missing librarys; daily reward, modal windows and reward boss (@dudantas, opentibiabr/canary@c45f1d2)
    Added somes missing librarys: daily reward, modal window, reward boss
    Added new scripts for: monsters and spells
  • Party hunt analyzer. (@marcosvf132, opentibiabr/canary@c17279a)
    Adding the "new" feature Party Hunt Analyzer. There is one thing that you must know before you start testing it, so please read the entire PR commentary.
  • Added not moveable action function (@dudantas, opentibiabr/canary@9c49c95)
    Not moveable action id = 100
    So that the item cannot be moved, just put this action id in the item
  • Add windows relelease build with address sanitizer (@Costallat, opentibiabr/canary@8552c10)
    Adds new release build with asan enabled to help tracking problems
  • Added missing effects from version 12: soulwar/tentugly/supreme cube (@Aerwix, opentibiabr/canary@371f116)
  • Added a new method to register scripts by the map position and rework on "registerLuaEvent" function (@dudantas, opentibiabr/canary@a7e6426)
    See all description on the commit
    With this modification, we can register action scripts without needing the action id/unique id or the item being on the map, as there is also a second parameter that creates the item (if it doesn't exist).
  • Decouple all global variables from extern in true singleton (@beats-dh, @lgrossi, opentibiabr/canary@b87372f)
    All the global variables * g_* were decoupled to true singletons, reducing the dependencies between the objects and simplifying the amount of calls and instances. They used to be partial singletons mixed with global variables, that way we have one, and only one instance that is accessed via the getInstance methods, that are now the * g_* functions.
  • Prey system rework (CPP) + Hunting task system (@marcosvf132, opentibiabr/canary@42af88d)
    Complete rewrite of old prey system from LUA to CPP and implementation of Hunting Tasks system;
    Do not test with GOD char or with low amount of creatures registered on bestiary. The PR already include the necessary amount of then;
    Addition of hunting task system and entire rework of prey system. All working on CPP with few LUA integration.
  • Check for message type parameter wrong (@dudantas, opentibiabr/canary@ea7fbce)
    How to test: Add a message with a wrong or none parameter, such as:
    player:sendTextMessage(MESSAGE_WRONG, "Message")
  • Rework on fluids colors and new monster race type (INK) (@marcosvf132, opentibiabr/canary@ce36520)
    Description
    Full rework on the way that the server handles the fluids, to use one single ENUM and remove all the garbage functions and maps that used to store the same values for fluids over and over again.
    Add new creature race type named INK. This new race type is used mostly on creatures on the tibia "The Secret Library". Attacking those creatures or slain then will now create the proper type of blood pool/splash.
    Resolves opentibiabr/canary#123
    OTServerBr-Global PR: #544
  • Add script casks and kegs (store item for refill potions) (@lucasgrizante, opentibiabr/canary@256a6ee)
  • Move client version from config.lua to definitions.h (@dudantas, opentibiabr/canary@4580324c)
    It's a tag that works at the compilation level and shouldn't be in config.lua, because the version is always just one and cannot be modified at the configuration level.
  • Rework on items to extinquish OTB file and use client 12 protobuf instead (@marcosvf132, opentibiabr/canary@68d0475c)
    See the commit description for more information

New Lua functions

Fix

Read more

OTServBR-Global - Version Stable 1.3.0

28 Apr 02:22
b85c03c
Compare
Choose a tag to compare

Tibia Client 12.86.11871

OTClient 1.0

Canary:

Features/Enhancements

  • Complete rework on npcs shop add item functions (@dudantas, opentibiabr/canary@caf0a970)
  • Experience tracker (@marcosvf132, opentibiabr/canary@990da240)
    On the oldest protocols, the client was handling the experience changes by it's own, now on the new protorocol (12.72+), we need to send to the client the right amount of experience that the player has gainned so it can update it's tracker
  • Auto Loot, Quick Looting in stack and Auto Bank function (@omeranha, opentibiabr/canary@5cb9ff7b)
    Auto loot using your manage loot containers quick loot categories and items filter, can be enabled in config.lua!
    Quick loot in stack, up to 30 corpses, enabled using client option.
    Auto Bank function, the dropped coins from monsters will be automatically deposited to your bank account, can be enabled in config.lua.
  • No disconnect on death (@omeranha, opentibiabr/canary@4f8667a6)
    no more disconnection when player dies
  • Solved incompatibility problem with otclient redemption (@marcosvf132, opentibiabr/canary@c46f64d2)
    Readjust protocolgame to follow the right pattern. Changing hardcoded expected bytes on OnRecvFirstMessage to follow the cip client and fix incompatible with otclient protocolgamesend.
  • Decouple g_game in true singleton (@dudantas, @lgrossi, opentibiabr/canary@126e7df)
    Game class decoupled in a true singleton, thus allowing direct calls without needing to instantiate in each file.
    Credits to @lgrossi for made the decouple logic.
  • Fix build to not use asan on relase mode (@Costallat, opentibiabr/canary@87edf62)
    Not use ASAN for release build
    Remove cmake settings(replaced with presets)
    Adjust GitHub Actions triggers
  • Cmake features and update workflows to use gcc 11 (@dudantas, opentibiabr/canary@905f774)
    Update sonarcloud version and sonar/codeql/ubuntu build to use gcc 11
    Added gcc minimum version 8 in cmakelists.txt
    Reorganized find_packages
    Fix possible bug in the spdlog link library
  • Add tag serverSaveTime on config.lua (@beats-dh, opentibiabr/canary@e848604)
    With this modification, the configuration of the global server save can be done directly in config.lua, thus centralizing configurable things in a single place
  • Add missing librarys; daily reward, modal windows and reward boss (@dudantas, opentibiabr/canary@c45f1d2)
    Added somes missing librarys: daily reward, modal window, reward boss
    Added new scripts for: monsters and spells
  • Party hunt analyzer. (@marcosvf132, opentibiabr/canary@c17279a)
    Adding the "new" feature Party Hunt Analyzer. There is one thing that you must know before you start testing it, so please read the entire PR commentary.
  • Added not moveable action function (@dudantas, opentibiabr/canary@9c49c95)
    Not moveable action id = 100
    So that the item cannot be moved, just put this action id in the item
  • Add windows relelease build with address sanitizer (@Costallat, opentibiabr/canary@8552c10)
    Adds new release build with asan enabled to help tracking problems
  • Added missing effects from version 12: soulwar/tentugly/supreme cube (@Aerwix, opentibiabr/canary@371f116)
  • Added a new method to register scripts by the map position and rework on "registerLuaEvent" function (@dudantas, opentibiabr/canary@a7e6426)
    See all description on the commit
    With this modification, we can register action scripts without needing the action id/unique id or the item being on the map, as there is also a second parameter that creates the item (if it doesn't exist).
  • Decouple all global variables from extern in true singleton (@beats-dh, @lgrossi, opentibiabr/canary@b87372f)
    All the global variables * g_* were decoupled to true singletons, reducing the dependencies between the objects and simplifying the amount of calls and instances. They used to be partial singletons mixed with global variables, that way we have one, and only one instance that is accessed via the getInstance methods, that are now the * g_* functions.
  • Prey system rework (CPP) + Hunting task system (@marcosvf132, opentibiabr/canary@42af88d)
    Complete rewrite of old prey system from LUA to CPP and implementation of Hunting Tasks system;
    Do not test with GOD char or with low amount of creatures registered on bestiary. The PR already include the necessary amount of then;
    Addition of hunting task system and entire rework of prey system. All working on CPP with few LUA integration.
  • Check for message type parameter wrong (@dudantas, opentibiabr/canary@ea7fbce)
    How to test: Add a message with a wrong or none parameter, such as:
    player:sendTextMessage(MESSAGE_WRONG, "Message")
  • Rework on fluids colors and new monster race type (INK) (@marcosvf132, opentibiabr/canary@ce36520)
    Description
    Full rework on the way that the server handles the fluids, to use one single ENUM and remove all the garbage functions and maps that used to store the same values for fluids over and over again.
    Add new creature race type named INK. This new race type is used mostly on creatures on the tibia "The Secret Library". Attacking those creatures or slain then will now create the proper type of blood pool/splash.
    Resolves opentibiabr/canary#123
    OTServerBr-Global PR: #544
  • Add script casks and kegs (store item for refill potions) (@lucasgrizante, opentibiabr/canary@256a6ee)
  • Move client version from config.lua to definitions.h (@dudantas, opentibiabr/canary@4580324c)
    It's a tag that works at the compilation level and shouldn't be in config.lua, because the version is always just one and cannot be modified at the configuration level.
  • Rework on items to extinquish OTB file and use client 12 protobuf instead (@marcosvf132, opentibiabr/canary@68d0475c)
    See the commit description for more information

New Lua functions

Fix

Read more

OTServBR-Global - Version Stable 1.2.0

17 Feb 01:52
b4e0d82
Compare
Choose a tag to compare

Canary Modifications

Support client 12.85.11525 (author: @marcosvf132, commits: (opentibiabr/canary@e9c85a5, opentibiabr/canary@3144b16, opentibiabr/canary@cc98f40)

Modified (Canary):

  • [Lua/Pack]: Remove lua tests, the files no longer exist (author: @omeranha, commit: (opentibiabr/canary@9a21ad4)
  • [Source]: Enhancement - Automatically unzip world.zip in world folder if otbm file doesn't exist on server start (author: @omeranha, commit: (opentibiabr/canary@6b23e6f)
    This change will allow the server to automatically extract the map from the zip (to the global server) in case the .otbm file is not found.
    In this commit is need new lib libzippp, uses ./vcpkg install libzippp

Fixed problems (Canary):

  • [Source]: Npc Shop Enhancement - Allow an item of the same id to be added multiple times for the same npc (author: @dudantas, commit: (opentibiabr/canary@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: (opentibiabr/canary@8315cf5)

  • [Source]: Added new Lua method configManager.getFloat (author: @Rechdan, commit: (opentibiabr/canary@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: (opentibiabr/canary@29846fa)

  • [Source]: Set item tier bytes from "0" to "1" from protocol 12.85 (author: @dudantas, commit: (opentibiabr/canary@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.

OTServBR-Global Modifications

Modified (Global):

  • [Lua]: NPC's Revscriptsys - Fix lookTypeEx typo and convert to clientId (author: @daanyx, commit: 2cc1a6d)
    Fixed bug in "lookTypeex" variable to "lookTypeEx" and converted ids to clientId.
  • [Lua/Pack]: Protocol 12.85 - Support for client version 12.85 datapack (author: @marcosvf132, commit: a29bc41)
    Protocol 12.85 datapack
    Syncronize datapack with Canary 12.85 commit: opentibiabr/canary@e9c85a5
    Small fix on the "loadLuaMapAction" function that was breaking the map loading by LUA.
    The changes on this commit is following the same changes on the pull request :opentibiabr/canary#203

Fixed problems (Global):

  • [Lua]: NPC's Revscriptsys - Fixed the bug in the shops of npcs that have the same item for sell and buy (author: @dudantas, commit: c1eb738)
    The way the shop was converted doesn't work to have two tables separating the "sell" and the "buy", it needs to be in a single table, thus preventing the same item from appearing in the sell and not appearing in the buy.
    I took advantage of the pull request to move the functions to the correct locations, thus getting more organized.
    Fixed others bugs related to the npcs
  • [Lua]: Fix addEvent from grimvale quest calling nil function (author: @dudantas, commit: c20b800)
  • [Lua]: Change flag from "pet" tag for "familiar", fix the bug where the summon doesn't enter pz (author: @dudantas, commit: 38bbf2d)
  • [Lua]: Fix lower/upper case in the unscripted_equipments and unscripted_weapons (author: @dudantas, commit: 8a7e8e3)
  • [Lua]: Convert id from magic gold converter to client id (author: @painer15999, commit: a4a024d)
  • [Lua]: Fix lion shield on unscripted equipments table (author: @painer15999, commit: 767f9e0)

OTServBR-Global Stable v1.1.1

08 Feb 04:42
e4524f8
Compare
Choose a tag to compare

Support client 12.72.11206 and otclient (pull in progress)

Global datapack lua code: e4524f8
Canary source code: opentibiabr/canary@6388163)

Adjusted:

  • Interval that npcs send messages in the default chat,
  • Speed that npcs walk (baseSpeed),
  • Interval of steps of npcs to 2 seconds (walkInterval),
  • Fixed a small bug in the npc shop that prevented items from appearing in the trade in certain scenarios.

OTServBR-Global Stable v1.1.0

07 Feb 22:23
1ffd9f1
Compare
Choose a tag to compare

Support client 12.72.11206 and otclient (pull in progress)

image

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 (1ffd9f1) will work directly with the commit: opentibiabr/canary@0397d0c, 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.

Modifications

Added:

Npclib:

Callbacks:

  • onCloseChannel (CALLBACK_ON_CLOSE_CHANNEL)
  • onMove (CALLBACK_ON_MOVE)
  • FocusModule.tradeCallback
  • NpcsEvent_t enum: NPCS_EVENT_PLAYER_CLOSE_CHANNEL

Lua functions:

  • NpcHandler:getKeywordHandler()
  • NpcHandler:getEventDelayedSay(playerId)
  • NpcHandler:setEventDelayedSay(playerId, newEventDelayedSay)
  • NpcHandler:getEventSay(playerId)
  • NpcHandler:setEventSay(playerId, newEventSay)
  • NpcHandler:getTalkStart(playerId)
  • NpcHandler:setTalkStart(playerId, newTalkStart)
  • NpcHandler:getTopic(playerId)
  • NpcHandler:setTopic(playerId, newTopic)
  • NpcHandler:checkInteraction(npc, player)
  • NpcHandler:updateInteraction(npc, player)
  • NpcHandler:setInteraction(npc, player)
  • NpcHandler:removeInteraction(npc, player)
  • NpcHandler:tradeRequest(npc, player, message)
  • NpcHandler:onMove(npc, player, fromPosition, toPosition)
  • NpcHandler:sendMessages(message, messageTable, npc, player, useDelay, delay)
  • FocusModule:setTradeCallback(callback)
  • Npc:sayWithDelay(npcId, text, messageType, delay, event, playerId)
  • Npc:sendMessage(player, text)
  • Npc:isMerchant()
  • Npc:closeShopWindow(player)
  • Npc:isInTalkRange(playerPosition)
  • Npc:move(direction)
  • Npc:turn(direction)
  • Npc:follow(player)
  • Npc:getId()
  • Npc:sellItem(player, itemid, amount, subtype, actionid, <optional: default: 1> canDropOnMap)
  • Npc:getDistanceTo(uid)
  • NpcType:getSpeechBubble()
  • NpcType:setSpeechBubble()
  • Player:getItemIdByCid(itemId)
  • Item:getClientId()
  • LuaFunctionsLoader::getErrorDesc(ErrorCode_t code) new callback: LUA_ERROR_NPC_TYPE_NOT_FOUND

Cpp functions:

  • Npc::onPlayerCloseChannel(creature)
  • Game::loadCustomMap(name)
  • Iomap: loadMonstersCustom(map), loadNpcsCustom(map), loadHousesCustom(map)

Cpp definitions:

  • ITEM_FILLED_BATH_TUBE, ITEM_SWORD_RING, ITEM_CLUB_RING, ITEM_DWARVEN_RING, ITEM_RING_HEALING, ITEM_STEALTH_RING, ITEM_TIME_RING, ITEM_PAIR_SOFT_BOOTS, ITEM_PAIR_SOFT_BOOTS_ACTIVATED, ITEM_DEATH_RING, ITEM_DEATH_RING_ACTIVATED, ITEM_PRISMATIC_RING, ITEM_PRISMATIC_RING_ACTIVATED.

Othes:

  • Added bank system lib (bank_system.lua)
  • TalkAction: /addmoney playername, moneycount

Modified

Callbacks:

  • FROM: CALLBACK_CREATURE_APPEAR, TO: CALLBACK_ON_APPEAR
  • FROM: CALLBACK_CREATURE_DISAPPEAR, TO: CALLBACK_ON_DISAPPEAR
  • FROM: CALLBACK_CREATURE_SAY, TO: CALLBACK_ON_SAY
  • FROM: CALLBACK_ONTHINK, TO: CALLBACK_ON_THINK
  • FROM: CALLBACK_PLAYER_ENDTRADE, TO: CALLBACK_PLAYER_END_TRADE
  • FROM: CALLBACK_PLAYER_CLOSECHANNEL, TO: CALLBACK_CLOSE_CHANNEL
  • FROM: CALLBACK_ONADDFOCUS, TO: CALLBACK_SET_INTERACTION
  • FROM: CALLBACK_ONRELEASEFOCUS, TO: CALLBACK_REMOVE_INTERACTION
  • FROM: CALLBACK_ONTRADEREQUEST, TO: CALLBACK_ON_TRADE_REQUEST
  • FROM: SHOP_TRADEREQUEST, TO: FOCUS_TRADE_MESSAGE

Functions:

  • From: player:removeMoneyNpc(), to: player:removeMoneyBank(cost)
  • From: NpcHandler.eventSay[focus] = nil, to: NpcHandler:setEventSay(playerId, nil)
  • From: NpcHandler.eventDelayedSay[focus] = nil, to: NpcHandler:setEventDelayedSay(playerId, nil)
  • From: NpcHandler.talkStart[focus] = nil, to: NpcHandler:setTalkStart(playerId, nil)
  • From: NpcHandler.topic[focus] = nil, to: NpcHandler:setTopic(playerId, nil)
  • From: NpcHandler:onCreatureAppear, to: NpcHandler:onAppear
  • From: NpcHandler:onCreatureDisappear, to: NpcHandler:onDisappear
  • From: NpcHandler:onCreatureAppear, to: NpcHandler:onAppear
  • From: NpcHandler:onCreatureSay, to: NpcHandler:onSay
  • From: NpcHandler:onPlayerCloseChannel, to: NpcHandler:onCloseChannel
  • From: NpcHandler.topic[playerId] = topicId, to: NpcHandler:setTopic(playerId, topicId)
  • From: NpcHandler.topic[playerId] == topicId, to: NpcHandler:getTopic(playerId) == topicId
  • From: Charm:cancelMessage(), to: charm:messageCancel()
  • From: Charm:logMsg(), to: Charm:messageServerLog()
  • msgcontains(message, keyword) = It was refactored so that it identifies the entire string and does not read just one word, generating this issue: https://github.com/opentibiabr/otservbr-global/issues/2736

Removed

Npclib:

Callbacks:

  • NpcHandler: focuses, idleTime, talkRadius, shopItems, MESSAGE_ONBUY, MESSAGE_BOUGHT, MESSAGE_SELL, MESSAGE_ONSELL, MESSAGE_SOLD, MESSAGE_IDLETIMEOUT
  • Voice modules
  • Shop module
  • NpcSystem (It was used to parse XML npcs information)

Lua functions:

  • NpcHandler:isFocused
  • NpcHandler:releaseFocus
  • NpcHandler:onPlayerEndTrade
  • NpcHandler:onSell
  • doNpcSellItem
  • doCreatureSayWithDelay
  • doPlayerSellItem
  • doPlayerBuyItemContainer
  • doPlayerRemoveMoney
  • getPlayerMoney
  • closeShopWindow

Cpp functions:

  • Npc:getCurrencyTrading()

Others modifications:

  • Changed configkey = From: MAP_CUSTOM_ENABLED, to: TOGGLE_MAP_CUSTOM
  • Fixed the load of the custom map, which is now directly in the source and works as a complement to the main map.
  • Removed ConfigKey: MAP_CUSTOM_FILE and MAP_CUSTOM_SPAWN
  • Some functions are capitalized to indicate that they are global functions, for example: MessageContains(), GetCount(), and others.
  • Rework on bestiary_charm script

OTServBR-Global Stable v1.0.6

07 Feb 19:45
d405eae
Compare
Choose a tag to compare

Support client 12.72.11206 and otclient (pull in progress)

Fixed:

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.

OTServBR-Global Stable v1.0.5

26 Jan 23:28
e96951d
Compare
Choose a tag to compare

Support client 12.72.11206 and otclient (pull in progress)

Modified:

  • [Source/Lua] Create familiars lib, rename from "pet" to "familiar" and others fixes (author: @dudantas, commit: e34e401)
    Fixes:
    Rename from "pet/Pet" to "familiar/Familiar"
    Removed "familiar = false" from monsters, this is false by default (this change is optional)
    Renamed from "mtype:isPet" to "mtype:familiar"
    Fixed familiar login with god.
    Co-authored-by: @beats-dh
  • [Lua] Register missing foods "goanna meat" and "candy floss" (author: @travisani, commit: 0cb8387)

Fixed problems:

  • [Source] Fix double remove money on create market offer (author: @dudantas, commit: 3228c9e)
  • [Source] Fix remove item from stash on apply imbuement (author: @dudantas, commit: 962e323)
    The function "getStashItemCount" uses client id instead of id.
  • [Source] Fixed crash after conjure item with duration (author: @dudantas, commit: 73d4d10)
    Fixed crash after casting item with duration
    Fixed "register_spells.lua" indentation
    Added nullpointer on the load backpacks function
  • [Lua] Removed creature events from monsters script interface (author: @dudantas, commit: 5f004ad)
    Scripts cannot be placed inside the monsters folder, as it is the monsters only interface, all other types of scripts need to be in the scripts folder.
  • [Lua/XML] Removed duplication in events and rearranged the xml order (author: @gpedro, commit: 44d75fe)
  • [Lua/XML] Amulet bug fix in enchanted werewolf amulet time and skill (author: @painer15999, commit: 02e6f32)
    Amulet bug fix in enchanted werewolf amulet time result (onDeEquip) and skill bug
  • [Source] Fix wrong increment equipment skills in "onEquip/deEquip" (author: @Rechdan, commit: 02e88a1)
    Added 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.
  • [Lua] Fix freezing freequests.lua (author: beats-dh, commit: d023799)
  • [Lua/Source], Fix issue #380 and #389, fix maxSummons bug (author: @dudantas, commit: 62d7348)
    Variable "monster.summons" renamed to "monster.summon"
    Improved the "registerMonsterType.summon" function. The "monster.maxSummons" was changed to be inside "monster.summon", thus facilitating development
    Added new table "summons" inside of "monster.summon"
    Added the "count" in the "monsterType:addSummon" function
    Fixed somes summons with "Demon2" name to "Demon"
    Removed "monster.summonCost", the correct is "monster.manaCost"
    Fixed a bug in the "registerMonsterType.light" function
    Fixed bug in the familiar behavior
    Modified all monsters for new style of summons
  • [Lua] Fix message "log out more than 10 minutes to start offline training" (author: @travisani, commit: 2a22212)
    Message like tibia global
  • [Lua] Fix message and min level for talk in "advertising" and "english chat" (author: @travisani, commit: c6cc888)
    Same behavior as in global tibia, so the requirement will be at least level 20 or have a premium account. In addition to fixed the message.
  • [Lua] Fix lion's rock quest "holy water fountain" and "fountain rewards" (author: @EeFo17, commit: 762188b)
  • [Source] Fix removing items from stash on apply imbuement (author: @dudantas, commit: bc92e3c)
    Complement of the pr: #373
  • [Source/Lua] Fix issues #312, #399, fix bestiary counter logic and update charm values (author: @marcosvf132, commit: e96951d)

OTServBR-Global Stable v1.0.1

21 Dec 23:07
6f4fddb
Compare
Choose a tag to compare

Support to client 12.72.11206 (author:marcosvf132, commit: 20866ec) and otclient (pull in progress)

Modified:

  • [Source] Fixed imbuement system behavior and a crash related to memory reference (author @hyresu, commit: 6f4fddb)
    • Fixed:
    Item only gets inmediate bonus when imbued on equipment slots
    Clearing the imbuement will make you lose it if the item is equipped
    You should be able to use bank balance for imbuements
    Elemental damage shouldn't be affected
    Critical hit chance should not get higher than 10% if the item already has critical hit chance
    Falcon Coif should be able to get Intricate Epiphany and Dark Whispers only Basic Epiphany
    Item description should show crit chance without positive sign and "critical extra damage"
    Move map deletion to outside the loop to avoid memory reference crash on Game::checkImbuements function
    • Enhancement: Where the "imbuementslot" value is from 1 to 3 and the imbuement name values are also from 1 to 3, which is the imbuement level (basic, intricate or powerful), the name must be placed as above, as it is from the name that the value of each imbuement is called by ItemNode.

Fixed problems:

  • [Lua] Fix issue #287, hirelings sell function don't work (author: @gpedro, commit: 5c16790)
  • [Lua] Fix issue #332, familiars script does not make sure if the player has a vocation (author: @gpedro, commit: 49596a2)
  • [Lua] Fix issue #309, wrong toKill value for star 3 on bestiary (author: @gpedro, commit: 79955d9)