Canary - Version 3.2.0
Welcome! The OpenTibiaBR team is deeply committed to continuously enriching this project with new features and fixes. Your support, either financial or through code contributions and issue reports, is vital for our ongoing work.
-
To contribute code or report problems, join our Discord community.
-
If you'd like to financially support the project, please consider making a donation.
-
For tutorials and additional resources, visit our documentation.
Download Tibia Client 13.40.93b0a1
Download OTClient Redemption, thanks for @mehah
What's Changed
- fix: set promotion kv by @luanluciano93 in #1961
- feat: training weapons for mage and paladin by @sebbesiren in #1870
- fix: event indexing race in encounter by @luan in #1963
- fix: sell items while wearing an imbued version by @luan in #1965
- feat: add sound for open and close doors by @phacUFPE in #1978
- fix: correctly reflect damage by @un000000 in #1941
- fix: icicle resistances and dragon egg damage. by @Jonyrewind in #1957
- fix: quivers not showing attributes by @phacUFPE in #1971
- fix: door description by @luanluciano93 in #1980
- fix: division by zero in spell cooldown calculation by @dudantas in #1988
- feat: opentelemetry metrics by @luan in #1966
- improve: add context parameter to addString() by @luanluciano93 in #1826
- improve: change for getTownTemplePosition to getTemplePosition by @luanluciano93 in #1958
- improve: keyword multi-shop on many NPCs by @Jonyrewind in #1964
- improve: ajustment unrealized dream by @luanluciano93 in #1967
- fix: remove constraint 'guildwar_kills_unique' from 'guildwar_kills' table by @luanluciano93 in #1968
- fix: adjusts from other pr by @elsongabriel in #1970
- improve: boss mechanics Anomaly by @luanluciano93 in #1983
- improve: connection management and error handling by @beats-dh in #1986
- fix: create item, spell id conflicting with item and others by @luan in #1987
- feat: coryms black market monster and npcs by @luan in #1991
- fix: conditions speed by @beats-dh in #876
- feat: weighted random spawns by @luan in #1848
- feat: kv: remove key and list prefix by @luan in #1994
- fix: monster haste by @luan in #2011
- improve: datapack cleanup/refactor by @luan in #2008
- feat: remember 'mount' state per player by @luan in #1996
- feat: cobra vizier chain attack by @luan in #2012
- fix: waves that should have been beams by @luan in #2013
- fix: manticore loot script by @luan in #2016
- feat: refresh market averages on a clock by @luan in #1995
- fix: correct spread value assignment from 1 to 0 by @luan in #2018
- fix: do not award bosstiary/bestiary points for summons by @luan in #2017
- fix: missing spell effect and file by @luan in #2020
- fix: potions conditions for group ids above senior tutors by @luanluciano93 in #2019
- feat: configurable number of players per account by @luan in #2000
- improve: more reliable quickloot/autoloot by @luan in #1997
- fix: skill food from hireling by @sebbesiren in #2028
- fix: paladin speed on sharpshooter and swift foot by @sebbesiren in #2030
- fix: oberon arguments by @Sorairei in #2021
- feat: the monster fight mechanics by @luan in #2001
- fix: speed change issues by @sebbesiren in #2032
- fix: players healing when attacked by @elsongabriel in #2026
- fix: add missing 'alchemist container' monster by @luan in #2036
- fix: max limit of character name by @elsongabriel in #2035
- fix: adventurer stone by @luancolombo in #2048
- improve: connection management by @beats-dh in #2040
- feat: namelocks by @luan in #2005
- fix: check player nullptr and connection timeout by @dudantas in #2060
- ci: disable sonar in draft prs and main branch by @luan in #2062
- ci: enable merge_group in key builds for merge-queue by @luan in #2063
- feat: flexible monster mitigation settings by @luan in #1998
- feat: defense boost for hazard system by @luan in #1999
- feat: missing creatures and bosses by @luan in #2004
- improve: enhanced IPO for MSVC/GCC/Clang compilers by @beats-dh in #2015
- fix: adventurer's blessing by @elsongabriel in #2043
- improve: count_monsters script cache by @elsongabriel in #2047
- fix: daily reward by @elsongabriel in #2059
- fix: time machine by @elsongabriel in #2061
- feat: item ownership by @luan in #2003
- fix: include CheckIPOSupported by @luan in #2064
- ci/cl: fix to run cancel previous build only on pull request branchs by @dudantas in #2065
- feat: skulled players lose store items config by @elsongabriel in #2046
- feat: move multiple raids to new system by @luan in #2002
- improve: upgrade from storage to kv in data/ by @luanluciano93 in #1979
- improve: migrate part of daily reward to KV by @luan in #2006
- fix: cyclopedia description by @Chapeleiiro in #1923
- mv: moveable -> movable by @luan in #2067
- feat: Timira The Many-Headed Boss fight mechanic by @markiluk in #2044
- fix: fuse or transfer error with no slots in bp by @carlospess0a in #2068
- feat: compact discord webhooks by @luan in #2007
- fix: paralyze logic by @luan in #2078
- fix: canary gitbook link and config.lua comment by @majestyotbr in #2077
- fix: adding the correct value in minutes to green stamina by @carlospess0a in #2081
- fix: removing amulet charges when use bow by @carlospess0a in #2091
- improve: brain head boss teleport from action id to position by @majestyotbr in #2087
- improve: changing exhaust functions to kv by @luanluciano93 in #2055
- fix: check store inbox max capacity by @dudantas in #2109
- feat: 13.32 protocol and features by @luan in #2110
- Fix: blemished spawn and afflicted strider without loot by @luancolombo in #2084
- fix: NPC's Ingol by @GuiValladao in #2097
- feat: disable login music by @luanluciano93 in #2114
- fix: crash server weapon with atk 0 by @luanluciano93 in #2127
- fix: show correct float at items on look description by @dudantas in #2134
- fix: bug mount issue by @GuiValladao in #2119
- fix: remove comments in unscripted_weapons.lua by @enzerah in #2138
- feat: monster return-to-spawn behavior by @dudantas in #2118
- feat: min delay between conditions by @luan in #2079
- fix: crash when inspecting items by @luan in #2143
- fix: plagueroot event by @luancolombo in #2146
- fix: serpent spawn attack outfit clay guardian by @ViniibServer in #2136
- improve: remove unused stages map from game by @luanluciano93 in #2124
- improve: tps feaster of souls by @GuiValladao in #2098
- fix: gem atelier drop loot by @dudantas in #2152
- improve: boss mechanics Eradicator by @luanluciano93 in #2129
- fix: solves the problem when combining zone pvp and no-logout tiles by @luanluciano93 in #2123
- fix: remove spear life leech amount by @dudantas in #2155
- improve: boss mechanics Outburst by @luanluciano93 in #2130
- refactor: organized includes and resolved circular dependencies by @dudantas in #2162
- improve: talkaction.potions.flask storage to kv by @luanluciano93 in #2111
- fix: eradicator storages by @elsongabriel in #2163
- fix: removed duplicated achievement by @elsongabriel in #2164
- improve: boss mechanics Rupture by @luanluciano93 in #2126
- improve: boss mechanics Foreshock by @luanluciano93 in #2125
- feat: talkaction to refill jewelry by @sebbesiren in #2107
- fix: removed duplicated check in item parse by @elsongabriel in #2165
- fix: store related errors by @dudantas in #2154
- fix: disable connection log and wrong close connection by @dudantas in #2171
- fix: npc clone items and buy in shopping bag by @dudantas in #2173
- ci: disable sonar in the main branch by @dudantas in #2176
- fix: bestiary mitigation and move libs to core folder by @dudantas in #2175
- chore: map version to the latest release by @omarcopires in #2179
- fix: disable assert for not debug compilaton and add logs by @dudantas in #2182
- improve: checking for duplicate storage keys by @omarcopires in #2180
- feat: add custom formatter for enum types in FMT by @dudantas in #2184
- fix: premium/vip system by @elsongabriel in #2186
- improve: resolve circular inclusion from Account class by @dudantas in #2183
- improvement: reward bags by @omarcopires in #2187
- fix: map problems in oriental trader by @omarcopires in #2188
- fix: update server compat lib path by @omarcopires in #2185
- chore: organizing libraries and function locations by @omarcopires in #2191
- chore: remove warning logs, keep only debug logs by @omarcopires in #2194
- refactor: enhance and organize the server initialization script by @omarcopires in #2181
- chore: removing deprecated channel by @omarcopires in #2190
- refactor: simplify code and use table for transformations by @omarcopires in #2196
- fix: correct table name in loop iteration by @omarcopires in #2197
- improve: from Spdlog to logger by @luanluciano93 in #2192
- chore: remove deprecated functions by @omarcopires in #2204
- refactor: doors and windows path by @omarcopires in #2230
- refactor: market, stash and reward shirine path by @omarcopires in #2231
- refactor: change coins path and improvements by @omarcopires in #2232
- fix: gamestore buy stackable items by @elsongabriel in #2201
- fix: delay wall mirror storage by @omarcopires in #2202
- feat: achievements system and cyclopedia informations by @dudantas in #2215
- fix: old protocol wrong bytes and opentelemetry-cpp lib by @dudantas in #2233
- improve: vip storage to kv and remove storage premium by @luanluciano93 in #2199
- fix: nightmare isle and fury gates world changes by @omarcopires in #2193
- refactor: duplicate keys checking by @omarcopires in #2198
- improvement: the dream courts world change by @omarcopires in #2205
- feat: send first items to all vocations by @omarcopires in #2206
- chore: moving spellbook into place by @omarcopires in #2214
- refactor: unused local variables/functions in their masters voice by @omarcopires in #2220
- refactor: hireling save on shutdown by @omarcopires in #2229
- feat: implement monster respawn in Grimvale by @omarcopires in #2228
- chore: moving hive gates into place by @omarcopires in #2208
- fix: achievement progress by @dudantas in #2238
- feat: save achievements to kv by @dudantas in #2241
- fix: tired tree looktype by @Mirkaanks in #2245
- fix: King and Queen standard greetings by @omarcopires in #2244
- refactor: server save logic and improve readability by @omarcopires in #2243
- refactor: login improvements and removed special storage by @omarcopires in #2222
- refactor: simplify reload and save code by @omarcopires in #2240
- improve: SaveHirelings function by @omarcopires in #2249
- chore: small organization in core scripts by @omarcopires in #2248
- fix: adjust handling of null variable in Player.addAchievementProgress by @omarcopires in #2253
- chore: mount items to core by @omarcopires in #2252
- fix: gamestore task hunting third slot by @Nyedson in #2250
- fix: brokul lever mechanism by @omarcopires in #2255
- fix: urmahlullu lever mechanism by @omarcopires in #2256
- chore: move addon items to core by @omarcopires in #2254
- refactor: script improvements and remove unused config by @omarcopires in #2242
- feat: enable players to put items in ammo slot by @elsongabriel in #2267
- refactor: improve code structure for Glooth Fairy lever by @omarcopires in #2266
- fix: cobras spawn and removal invalid scripts by @omarcopires in #2264
- improve: allow saving the player entire stash with just one insert by @ramon-bernardo in #2270
- fix: added migration to update storage from old 'IsVip' storage by @elsongabriel in #2268
- chore: change boss levers directory by @omarcopires in #2257
- fix: moving iron servant transformation to realmap by @omarcopires in #2265
- fix: minor console errors by @omarcopires in #2271
- chore: activating new mounts and style adjustments by @omarcopires in #2251
- chore: remove unused custom script by @omarcopires in #2274
- improve: glooth bag by @omarcopires in #2275
- chore: change offline training to core by @omarcopires in #2276
- chore: change name lock to core by @omarcopires in #2277
- fix: set type trashholder on swallow water by @Aerwix in #2262
- chore: improvements in rust remove and add to the core folder by @omarcopires in #2280
- chore: improvements in cup of molten gold and add to the core folder by @omarcopires in #2281
- improvement: change muck remover to core and add missing achievement by @omarcopires in #2282
- fix: bosses quest heart of destruction by @luanluciano93 in #2177
- fix: achievement migration and highscore categories by @dudantas in #2260
- improve: disable save async by default by @dudantas in #2298
- feat: add missing achievement on giant spider wyda by @omarcopires in #2296
- Update copyright year and fix visual solution build by @omarcopires in #2297
- fix: game reload issues and improvements by @omarcopires in #2295
- feat: boss loot event by @sebbesiren in #2293
- improvement: hireling foods and wall mirror by @omarcopires in #2283
- chore: remove messages compatibility constants by @omarcopires in #2279
- refactor: move potions to core and improvement for npc sandra by @omarcopires in #2292
- refactor: move exercise training to core by @omarcopires in #2299
- fix: scripts and achievements by @elsongabriel in #2301
- refactor: centralize storage store coins/wheel scrolls to the core by @omarcopires in #2284
- feature: add new error messages by @elsongabriel in #2304
- fix: remove mount when dies by @Nyedson in #2258
- feature: streak level and checks improvements by @elsongabriel in #2289
- fix: min level and mana on spells by @elsongabriel in #2306
- refactor: move spells to data path by @omarcopires in #2303
- refactor: move runes to data path by @omarcopires in #2307
- fix: remove duplicated runes by @omarcopires in #2308
- feat: added npc altar for rotten blood by @elsongabriel in #2305
- fix: some bosses and npcs by @elsongabriel in #2300
- fix: load the XML folder first by @dudantas in #2313
- fix: transfer items house on server startup by @dudantas in #2316
- ci/cd: run sonarcloud only in the main branch by @beats-dh in #2317
- improve: set exercise function and table to local by @luanluciano93 in #2318
- fix: refactor of claw of the noxious spawn by @omarcopires in #2322
- fix: boolean_random error by @omarcopires in #2323
- fix: change MESSAGE_LOOK to MESSAGE_TRADE by @omarcopires in #2321
- refactor: jean pierre foods by @omarcopires in #2320
- chore: move closing door to core by @omarcopires in #2324
- fix: gold pouch condition by @omarcopires in #2327
- improve: warning about compat file workarounds by @omarcopires in #2326
- fix: readme and visual studio solution by @majestyotbr in #2329
- improve: rework in unscripted weapons and moveevents by @dudantas in #1494
- fix: adjustments when purchasing household items by @LeoTKBR in #1940
- refactor: cask and kegs to core by @omarcopires in #2335
- refactor: scroll of ascencion and swimming to core by @omarcopires in #2334
- refactor: fireworks rocket to core and fix kegs path by @omarcopires in #2337
- refactor: costume bags to core by @omarcopires in #2333
- refactor: movement snow to core and add achievement by @omarcopires in #2340
- chore: update message constant from administrador to administrator by @omarcopires in #2352
- fix: yellow pillow id and change to core by @omarcopires in #2350
- feat: options 'frags' and 'payment' to war system by @luanluciano93 in #1982
- fix: scroll of ascension effect and timer by @omarcopires in #2348
- improve: reload talkaction by @omarcopires in #2351
- refactor: modal window helper to core by @omarcopires in #2347
- refactor: regenerate stamina to core by @omarcopires in #2344
- refactor: white deer scripts to core by @omarcopires in #2343
- improve: anniversary reward boxes to core by @omarcopires in #2356
- refactor: foods to core by @omarcopires in #2353
- improve: online record to core by @omarcopires in #2355
- fix: grand master oberon message by @dudantas in #2358
- fix: block some weapons from chain system by @dudantas in #2361
- fix: hireling say only inside a house and other adjusts by @dudantas in #2360
- fix: garlic bread itemId by @omarcopires in #2359
- fix: player when level up by @omarcopires in #2346
- refactor: player logout to core by @omarcopires in #2345
- refactor: special tiles to core by @omarcopires in #2339
- refactor: carpets to core by @omarcopires in #2338
- fix: modal window event name by @omarcopires in #2364
- fix: change mount correctly in protection zone by @dudantas in #2239
- fix: correct disable chain system and formula to config by @dudantas in #2362
- refactor: present explosive to core by @omarcopires in #2386
- fix: error in foods.lua by @lamonato29 in #2363
- refactor: voodoo doll to core and added achievement by @omarcopires in #2385
- feat: show loots in bestiary by @lamonato29 in #2375
- refactor: die to core and add missing achievement by @omarcopires in #2387
- fix: two-handed weapons being equipped with a shield by @lamonato29 in #2390
- fix: explosive present by @omarcopires in #2389
- fix: change weapon log type by @omarcopires in #2379
- feat: kv: quests by @majestyotbr in #2099
- fix: manage storages talkaction wasn't working properly by @lamonato29 in #2394
- fix loot pouch as quick loot by @matheus-bona in #2411
- fix: distro warnings related to wrong attribute by @dudantas in #2392
- fix: removed typo in items.xml by @cys9211 in #2413
- fix: creatures walking snow console error by @Aerwix in #2399
- fix: null pointers check by @dudantas in #2422
- fix: loop related to decay items with duration by @dudantas in #2419
- fix: move loading of achievements to player login by @dudantas in #2420
- feat: monster balancing from cipsoft by @Aerwix in #2427
- fix: typo in savePlayerStorage function by @luanluciano93 in #2435
- refactor: move tools to data path by @omarcopires in #2434
- fix: two-handed being equipped in right hand on unequip by @sebbesiren in #2436
- fix: added check for type 'two-handed' by @Dvineone in #2410
- fix: skill duplication on equip item by @dudantas in #2439
- fix: hazard mount and achievement by @elsongabriel in #2431
- fix: check if bankable is valid player before emitting metric by @luan in #2453
- fix: global server save and expBoostCount improvements by @elsongabriel in #2449
- fix: sonar bugs related to uninitialized variable by @dudantas in #2462
- fix: two-handed weapons attributes by @dudantas in #2461
- fix: wheel bugs by @dudantas in #2417
- fix: register weapon with chain attribute by @dudantas in #2421
- improve: banking NPC behavior for gold withdraw by @lamonato29 in #2414
- fix: correct configure weapon wand by @dudantas in #2465
- fix: incorrect pricing for enchant/recharge with silver tokens by @CarlosE-Dev in #2463
- fix: set isBlocking to false for area runes by @Aerwix in #2468
- fix: weapons missile for chain and equip hotkey for two-handed by @dudantas in #2476
- fix: removed error message in console by @elsongabriel in #2471
- refactor: move codes from std::bind to lambda expressions by @mehah in #2475
- fix: client update blockable spawn monsters with god by @dudantas in #2482
- fix: missing function loadPlayerInstantSpellList in IOLoginData by @lamonato29 in #2483
- fix: possibility of stashing items that are far away by @lamonato29 in #2489
- fix: guard all depot in stash by @beats-dh in #2491
- fix: auto loot reachable corpses only by @lezinhu0 in #2473
- fix: duplicated daily rewards bug by @lamonato29 in #2503
- improve: remove lib jsoncpp and change WildcardTreeNode to shared_ptr (#2508) by @beats-dh in #2508
- feat: disable metrics at compile-time by @beats-dh in #2509
- fix: transform item logic crash by @dudantas in #2517
- fix: prismatic ring attribute absorb by @jeswilldbm in #2522
- fix: forge convergence show all items with same class by @jeswilldbm in #2521
- fix: problem with casks items in the charge loop and adjustment without code by @luanluciano93 in #2505
- fix: incorrect id of bolt on asnarus and hireling by @carlospess0a in #2541
- fix: remove deprecated conjure diamond/spectral by @carlospess0a in #2551
- fix: check nullptr town (avoid crash if town not exist) by @dudantas in #2549
- feat: configurable party share range by @luan in #2539
- fix: potions add flask to player by @luanluciano93 in #2538
- feat: cupcakes by @omarcopires in #2537
- improve: bank transfer min town id by @omarcopires in #2547
- fix: offline training messages types and speed by @omarcopires in #2548
- fix: block gold pouch using in the obtain method by @carlospess0a in #2559
- fix: two handed weapons by @duuh30 in #2570
- fix: improves on gamestore, fix on gitignore and items by @elsongabriel in #2415
- fix: transcendence applies correct status without unlocked stages by @FelipePaluco in #2566
- fix: alana sio only to "aleta som" users by @carlospess0a in #2564
- fix: destroy field is working inside pz by @carlospess0a in #2558
- fix: stamina not recovering when dead by @carlospess0a in #2557
- fix: kill count of each type of minotaur in 'Turmoil of War' quest log by @pennaor in #2569
- fix: diamond arrow static attack points by @svetrey in #2560
- fix: missing attribute in bone fiddle by @jeswilldbm in #2531
- feat: include day count in getTimeInWords function by @omarcopires in #2525
- feat: playerOnWalk event callback and afk talkaction by @elsongabriel in #2518
- fix: brain head can be killed more than once by @lamonato29 in #2536
- feat: shared_ptr vocation and vocation reload by @beats-dh in #2555
- refactor: "requestLockerItems" for improved safety and clarity by @dudantas in #2565
- feat: not show royal costume or golden outfit if player doesn't has by @elsongabriel in #2527
- feat: The Lost Brother Quest by @CarlosE-Dev in #2454
- fix: use flask on familiar by @duuh30 in #2571
- fix: typo in gamestore function and remove cooldown for item usage while walking by @Mirkaanks in #2485
- fix: exercise error log by @carlospess0a in #2575
- fix: otclient fixes and adjustments by @dudantas in #2573
- fix: brain head can be killed more than once - missing reference to config table by @lamonato29 in #2581
- fix: xp boost time granted by reward daily by @luanluciano93 in #2586
- fix: gem atelier critical extra damage not being applied by @phacUFPE in #2585
- fix: equipping two-handed distance weapons via action bar removes quiver if equipped by @pennaor in #2587
- fix: oldProtocol compatibility in sendTextMessage by @luanluciano93 in #2510
- fix: colored loot on cip client and disable chain system by @dudantas in #2600
- feature: badge system by @elsongabriel in #2533
- fix: quiver bugs by @phacUFPE in #2609
- fix: convert 16 to 32 int mana shield by @carlospess0a in #2603
- fix: imbuement elemental damage only to physical damage by @carlospess0a in #2614
- fix: sanguine range wand/rod by @carlospess0a in #2606
- fix: beds by @phacUFPE in #2611
- feat: cyclopedia item summary by @phacUFPE in #2601
- feat: title system by @elsongabriel in #2576
- fix: stats after transcendence effect by @luanluciano93 in #2599
- fix: possible crash in creatureevents by @luanluciano93 in #2622
- fix: avatar cooldown reduction by @phacUFPE in #2607
- fix: players can't claim rewards after killing bosses by @lamonato29 in #2620
- feat: augments by @phacUFPE in #2602
- fix: warning build ubuntu by @beats-dh in #2490
- fix: missing achievements by @elsongabriel in #2590
- fix: sonar bugs and gha checks by @dudantas in #2633
- fix: log error 'primal pack beast not exist' and health display by @pennaor in #2598
- fix: doctor marrow's spell null reference by @lamonato29 in #2624
- fix: check nil storage key from setStorageValue by @dudantas in #2636
- fix: items on npcs shop, update monsters spawn and items by @GuiValladao in #2616
- feat: Galthen's Satchel and Artefact Box by @GuiValladao in #2149
- fix: update market average price and configurable refresh interval by @dudantas in #2642
- enhance: MapSector system for improved performance and flexibility by @mehah in #2496
- improve: move wheel scrolls to kv by @dudantas in #2637
- fix: prevent lag stacking items on npc with shopping bags by @carlospess0a in #2640
- feat: vip groups by @phacUFPE in #2635
- fix: onDeEquip properly handled at logout/death by @luanluciano93 in #2625
- fix: vip groups schema by @phacUFPE in #2651
- perf: change ThreadPool by ASIO to barak shoshany by @mehah in #2660
- fix: clean map in pz by @mehah in #2661
- fix: crash on move creature by @mehah in #2662
- Add GitHub Workflow: MySQL Schema Checker by @slawkens in #2659
- fix: wrong exit position fear feaster by @carlospess0a in #2654
- fix: adding the correct range by @carlospess0a in #2663
- fix: schema query by @elsongabriel in #2664
- fix: checking if the item is container in playerBuyItem by @carlospess0a in #2672
- refactor: experience calculation efficiency and increase level cap by @omarcopires in #2631
- fix: place monster spawn with default time if not set correctly by @lezinhu0 in #2671
- fix: possible memory leak in connection by @mehah in #2668
- feat: equipments winter update 2023 by @phacUFPE in #2608
- fix: opentelemetry linker error by @miah-sebastian in #2678
- fix: small adjustments and corrections to the core by @omarcopires in #2524
- fix: docker ubuntu package and start.sh permission by @Glatharth in #2681
- feat: rebalancing monsters by @FelipePaluco in #2683
- fix: sam sellable missing items by @FelipePaluco in #2685
- fix: mispelled storages in freequests.lua and add some quests by @lamonato29 in #2658
- fix: prevent guests to rotate dummy by @carlospess0a in #2684
- feat: shared_ptr: familiar, groups and reload: familiars, outfits by @beats-dh in #2556
- feat: monster rename functionality by @luanluciano93 in #2621
- fix: crash on shutdown by @mehah in #2676
- improver: mini-refactor inventory update by @luanluciano93 in #2652
- improve: async batch dispatcher by @mehah in #2666
- perf: optimized moveCreature and spectators by @mehah in #2667
- perf: remove browseField on container destruction by @mehah in #2677
- fix: autoloot default value by @elsongabriel in #2690
- fix: prevent client debug when purchase/sale statistics are missing by @lamonato29 in #2693
- fix: store UI exhaustion and improve bosslever messages by @dudantas in #2694
- Fix: send timeMessage when using boss lever by @attack787 in #2701
- fix: prevent requesting a new trade window with each "trade" by @dudantas in #2700
- improve: small adjustment to 'hasTraceableContext()' by @luanluciano93 in #2374
- feat: auto switch hotkey presets by @luanluciano93 in #2115
- fix: lord azaram health by @odisk777 in #2687
- feat: faceless bane mechanics by @luanluciano93 in #2619
- fix: vip groups by @phacUFPE in #2703
- fix: eventcallbacks which returns a ReturnValue by @lamonato29 in #2532
- fix: hireling shop by @dudantas in #2707
- fix: correction in checking inbox:getMaxCapacity() by @luanluciano93 in #2679
- fix: clang format by @beats-dh in #2710
- fix: offline training by @sebbesiren in #2341
- fix: gamestore nil player by @dudantas in #2715
- feat: possibility to persist NPC on map with /n talkaction by @lamonato29 in #2682
- feat: cyclopedia improvements by @elsongabriel in #2629
- fix: uptime in protocolstatus by @htc16 in #2459
- feat: take screenshot by @luanluciano93 in #2116
- docs: update and simplify readme infos by @majestyotbr in #2743
- fix: duplicate code in the combat and onPrepareDeath event by @luanluciano93 in #2749
- fix: prevent crash in pathfinder async by @mehah in #2742
- feat: new global event OnSave by @luanluciano93 in #2025
- fix: register event AdvancedLevel and FamiliarAdvance by @luanluciano93 in #2734
- perf: std::forward_list to std::vector by @mehah in #2731
- perf: optimized isSightClear and checkSightLine by @mehah in #2732
- fix: spawn monster by @mehah in #2750
- Fix: change class name "Iks" to "Undead" by @AlphaRage in #2751
- fix: NPCs purchase items without capacity check by @carlospess0a in #2753
- fix: support outfit crashes on login by @elsongabriel in #2526
- fix: prey oldprotocol by @luanluciano93 in #2757
- fix: quest trigger "symbol" for Children of the Revolution Mission 4 to the stairs by @AlphaRage in #2756
- feat: missing configuration warning by @lamonato29 in #2698
- improve: refactor sendSaleItemList by @luanluciano93 in #2665
- fix: revised some quests by @GuiValladao in #2675
- fix: the paradox quest by @htc16 in #2719
- fix: quests from version 7.24 revised by @htc16 in #2724
- fix: quests from version 7.26 to 7.92 revised by @htc16 in #2725
- refactor: duplicated check of condition rooted by @AndreFaramir in #2752
- fix: offer for life crystal and white pearls in npcs by @AlphaRage in #2761
- fix: looktype and setkv talkactions by @ImConsKrypt in #2708
- fix: hirelings save by @pedrohfk in #2723
- fix: setHouseOwner in server initialization and Husky occurrence by @luanluciano93 in #2762
- fix: incorrect price in NPC Khanna by @lamonato29 in #2773
- fix: bestiary occurrence by @luanluciano93 in #2763
- feat: talkactions description by @DaviRJ in #2766
- refactor: concoctions to core by @omarcopires in #2769
- perf: pathfinder refactor by @mehah in #2729
- fix: crash when monster pulls items from a tile by @mehah in #2770
- fix: login after death and prey window oldprotocol by @kokekanon in #2776
- fix: crash in addZone when creating tile by @mehah in #2771
- improve: canThrowObjectTo by @mehah in #2768
- add: qodana static code analysis by @Costallat in #2783
- add: qodana configurations and checks for code analysis by @beats-dh in #2793
- fix: dockerfile by @Kizuno18 in #2797
- fix: magic wall being created on invisible creatures by @FelipePaluco in #2792
- fix: reroll monsters grid prey slot on prey expired by @Maticoz in #2781
- improve: missing content refill cobra flask by @carlospess0a in #2795
- fix: shield puff effect by @Maticoz in #2786
- fix: qodana not scanning any file by @Costallat in #2796
- feat: support to protocol 13.40 by @dudantas in #2802
- improve: remove unnecessary condition in Cyclopedia by @luanluciano93 in #2764
- fix: remove bit set from icons enum and use std::bitset by @dudantas in #2782
- improve: change hardcoded blessings to magic enum by @dudantas in #2804
- fix: add new wheel window bytes by @dudantas in #2811
- fix: segfault on unit test by @Costallat in #2808
- add: lua format workflow by @Costallat in #2815
- Add lua format workflow by @Costallat in #2816
- Add lua format workflow by @Costallat in #2817
- Add lua format workflow by @Costallat in #2818
- Remove lua format workflow by @Costallat in #2820
- imp: use qodana GHA by @Costallat in #2812
- fix: quests from version 8.00 to 8.74 revised by @htc16 in #2765
- feat: add new liquids 13.40 by @phacUFPE in #2814
- feat: added preyable and isPreyExclusive flags to prey monsters by @Maticoz in #2785
- chore: adjusting file locations by @omarcopires in #2798
- fix: only take screenshot when achievement is successfully added by @omarcopires in #2819
- fix: change log level to debug and improve message by @omarcopires in #2803
- feat: appearances, mounts and outfits for version 13.40 by @majestyotbr in #2806
- fix: monsters and npcs spawns by @majestyotbr in #2824
- fix: register actions quests compatibility by @omarcopires in #2799
- fix: wrong params in creatureSetIcon function by @luanluciano93 in #2835
- fix: wrong packet in protocol 11.00 (sendSaleItemList) by @kokekanon in #2837
- fix: quests from version 9 revised by @htc16 in #2827
- fix: quest typo and item id by @htc16 in #2854
- fix: price mismatch between NPCs and typo in the rent house message by @majestyotbr in #2830
- feat: Nimmersatt's monsters by @majestyotbr in #2831
- fix: data-canary errors and warnings by @majestyotbr in #2844
- fix: datapacks tools actions by @majestyotbr in #2851
- fix: remove bakragore icons talkaction by @dudantas in #2828
- fix: container:addItem missing return by @andreoam in #2857
- fix: fix load unique items from map by @carlospess0a in #2881
- fix: wild growth by @Glatharth in #2885
- feat: full soul war quest by @dudantas in #2535
- fix: float precision in config retrieval by @dudantas in #2889
- fix: field doesn`t display the condition by @luanluciano93 in #2882
- fix: login into another accounts by @phacUFPE in #2853
- fix: qodana linter by @dudantas in #2902
- fix: crash in use with creature (add nullptr check) by @carlospess0a in #2899
- fix: nil value on soul war quest and log to debug by @dudantas in #2906
- fix: remove non-existent 'pet' flag from monsters by @omarcopires in #2890
- refactor: removeMoneyBank by @omarcopires in #2887
- feat: transferring money bank from main/main and rookgaard/rookgaard by @luanluciano93 in #2878
- fix: task context is being sent empty by @luanluciano93 in #2871
- fix: disable irrelevant informations by @dudantas in #2910
- fix: CPU overload when loading many nested containers by @dudantas in #2909
- fix: forge correct slots by @dudantas in #2850
- fix: convergence wrong price calculation by @dudantas in #2918
- fix: can't sell containers with items inside by @dudantas in #2911
- refactor: replace C-style array with std::array for buffer management by @dudantas in #2914
- fix: player lose items with wrong loading offline informations by @dudantas in #2919
- fix: circular inclusion related to network/protocol/connection by @dudantas in #2924
- fix: quests from version 10 revised by @htc16 in #2855
- fix: colored text loot in OTC 13.40 by @kokekanon in #2929
- fix: stamina green delay by @Chapeleiiro in #2884
- fix: remove loading of basic info only by @dudantas in #2937
- fix: debug build from solution and improve NetworkMessage::add function by @dudantas in #2926
- fix: login crash and memory corruption by @dudantas in #2951
- fix: change mana shield limit (wrong uint16 to uint32) by @LeoPetryx in #2952
- fix: sonarcloud by @dudantas in https://github.com/opentibiabr/canary/pull/2953
- fix: sonarcloud check by @dudantas in https://github.com/opentibiabr/canary/pull/2954
- fix: overload when setting item decay when player logs in by @dudantas in https://github.com/opentibiabr/canary/pull/2927
- improve: config manager context from string to source location by @dudantas in https://github.com/opentibiabr/canary/pull/2955
- fix: eventcallback crash (pointer uninitialized) by @dudantas in https://github.com/opentibiabr/canary/pull/2956
- ci/cd: remove qodana by @dudantas in https://github.com/opentibiabr/canary/pull/2957
- improve: remove qodana and fix eventcallback error by @dudantas in https://github.com/opentibiabr/canary/pull/2958
- fix: crash when removing items during iteration with ContainerIterator by @dudantas in https://github.com/opentibiabr/canary/pull/2901
- fix: npc submenu shop window by @dudantas in https://github.com/opentibiabr/canary/pull/2852
- fix: resolve nil method error in battlemart.lua callback by @omarcopires in https://github.com/opentibiabr/canary/pull/2961
- fix: handle nil value for soul war to prevent errors with custom data by @LeoPetryx in https://github.com/opentibiabr/canary/pull/2964
- fix: eventcallback from std::forward to args by @dudantas in https://github.com/opentibiabr/canary/pull/2962
- fix: player wheel string conversion by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/2967
- perf: build cmake by @beats-dh in https://github.com/opentibiabr/canary/pull/2972
- update: gha build by @beats-dh in https://github.com/opentibiabr/canary/pull/2641
- fix: wrong positions on scourge of oblivion boss lever by @FelipePaluco in https://github.com/opentibiabr/canary/pull/2970
- fix: npc zoltan giving free ferumbras hat by @FelipePaluco in https://github.com/opentibiabr/canary/pull/2945
- fix: remove poff effect when killing monsters by @pudimtibia in https://github.com/opentibiabr/canary/pull/2942
- fix: prevent sell items with duration to the npc by @carlospess0a in https://github.com/opentibiabr/canary/pull/2898
- perf: optimize spawn cleanup removing redundant iteration by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/2913
- fix: onLook nil value by @LeoTKBR in https://github.com/opentibiabr/canary/pull/2856
- fix: code error when adding text attribute by @carlospess0a in https://github.com/opentibiabr/canary/pull/2975
- fix: disable ssl/tls verification for newer version of mysql by @pudimtibia in https://github.com/opentibiabr/canary/pull/2978
- perf: optimized account players badge loading by @dudantas in https://github.com/opentibiabr/canary/pull/2977
- fix: bug when player dies with skillLost false by @LeoPetryx in https://github.com/opentibiabr/canary/pull/2979
- refactor: modularize look event callback and improve code readability by @omarcopires in https://github.com/opentibiabr/canary/pull/2858
- improve: some fixes and adjustments by @dudantas in https://github.com/opentibiabr/canary/pull/2980
- improve: change filestream/fileloader to std::ranges::copy by @dudantas in https://github.com/opentibiabr/canary/pull/2984
- refactor: improve readability and optimize toPosition function by @omarcopires in https://github.com/opentibiabr/canary/pull/2928
- refactor: optimize time formatting function for better performance by @omarcopires in https://github.com/opentibiabr/canary/pull/2904
- improve: change from memset/memcpy to modern cpp ranges by @dudantas in https://github.com/opentibiabr/canary/pull/2989
- fix: container check changes so we can still sell all loot from pouch by @aokisama in https://github.com/opentibiabr/canary/pull/2971
- perf: improve dispatcher walk event by @mehah in https://github.com/opentibiabr/canary/pull/2933
- perf: EventCallback optimization by @dudantas in https://github.com/opentibiabr/canary/pull/3004
- fix: forge cores consumption by @phacUFPE in https://github.com/opentibiabr/canary/pull/3001
- perf: optimized logging with profiling and efficient file management by @beats-dh in https://github.com/opentibiabr/canary/pull/2832
- fix: circular inclusion on tools.hpp/remove const ref from string view by @dudantas in https://github.com/opentibiabr/canary/pull/3019
- fix: update forge prices according to latest fusion rates by @murilo09 in https://github.com/opentibiabr/canary/pull/3017
- fix: supreme revelation modifiers initialization by @dudantas in https://github.com/opentibiabr/canary/pull/3009
- fix: party onLeave by forcing exit by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3018
- fix: erase forgeable monsters and reduce spawn time by @murilo09 in https://github.com/opentibiabr/canary/pull/3014
- enhance: change from to std::ranges::find_if in Chat::getPrivateChannel by @dudantas in https://github.com/opentibiabr/canary/pull/2996
- fix: add toKill count to druid's apparition bestiary by @aphirotx in https://github.com/opentibiabr/canary/pull/2991
- refactor: direction check with std::ranges::find_if by @dudantas in https://github.com/opentibiabr/canary/pull/2992
- fix: iksupan entrance position by @aphirotx in https://github.com/opentibiabr/canary/pull/2981
- improve: fix thread pool shutdown by @dudantas in https://github.com/opentibiabr/canary/pull/3000
- fix: house items order being inverted in the stack by @lamonato29 in https://github.com/opentibiabr/canary/pull/2983
- perf: improve npc interactions by @phacUFPE in https://github.com/opentibiabr/canary/pull/3021
- cleanup: Game::checkCreatures by @mehah in https://github.com/opentibiabr/canary/pull/3020
- feat: fragment workshop by @phacUFPE in https://github.com/opentibiabr/canary/pull/3008
- perf: change shared_ptrs from copy to reference by @beats-dh in https://github.com/opentibiabr/canary/pull/2998
- refactor: remove circular dependencies from header files by @beats-dh in https://github.com/opentibiabr/canary/pull/3025
- fix: quests from version 11 revised by @htc16 in https://github.com/opentibiabr/canary/pull/2938
- feat: crusher and amber crusher actions by @phacUFPE in https://github.com/opentibiabr/canary/pull/3033
- fix: crash when spawn cleanup by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3034
- feat: new augments and update item description (amber items) by @phacUFPE in https://github.com/opentibiabr/canary/pull/2900
- improve: AreaSpawnEvent::executeEvent remove unused variable by @dudantas in https://github.com/opentibiabr/canary/pull/3036
- improve: account enums direcly instead of raw types by @dudantas in https://github.com/opentibiabr/canary/pull/3038
- docs: add CONTRIBUTING.md Guidelines for Canary Project by @dudantas in https://github.com/opentibiabr/canary/pull/3041
- fix: browseField crash, improve readability, fix shadowing by @dudantas in https://github.com/opentibiabr/canary/pull/3031
- feat: add mystery box item action by @FelipePaluco in https://github.com/opentibiabr/canary/pull/3040
- fix: some conflict errors by @dudantas in https://github.com/opentibiabr/canary/pull/3048
- improve: load player town and fix player badge escape string by @dudantas in https://github.com/opentibiabr/canary/pull/3055
- fix: prevent crash in condition light division by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3053
- fix: remove mystery box duplicated action by @murilo09 in https://github.com/opentibiabr/canary/pull/3057
- improve: optimize experience gain and loss calculations by @omarcopires in https://github.com/opentibiabr/canary/pull/2905
- fix: character cyclopedia item inspection imbuements by @phacUFPE in https://github.com/opentibiabr/canary/pull/3065
- style: tryAddEvent to safeCall by @mehah in https://github.com/opentibiabr/canary/pull/3045
- improve: safecall by @mehah in https://github.com/opentibiabr/canary/pull/3072
- improve: prevent crash in checkCreatures by @mehah in https://github.com/opentibiabr/canary/pull/3073
- perf: remove unnecessary event callbacks by @dudantas in https://github.com/opentibiabr/canary/pull/3076
- improve: add check to boosted boss name empty by @dudantas in https://github.com/opentibiabr/canary/pull/3081
- improve: lower boss name on boss lever system by @dudantas in https://github.com/opentibiabr/canary/pull/3070
- fix: review quests version 11 by @Glatharth in https://github.com/opentibiabr/canary/pull/3049
- fix: object variable renamed by @Glatharth in https://github.com/opentibiabr/canary/pull/3082
- fix: creature teleport with dispatcher walk event by @dudantas in https://github.com/opentibiabr/canary/pull/3066
- feat: add new "soul cores" market category by @dudantas in https://github.com/opentibiabr/canary/pull/3092
- improve: fix circular dependencies on iologindata.hpp by @dudantas in https://github.com/opentibiabr/canary/pull/3093
- improve: fix circular dependencies on weapons.hpp by @dudantas in https://github.com/opentibiabr/canary/pull/3094
- fix: speed and conditions by @phacUFPE in https://github.com/opentibiabr/canary/pull/3063
- fix: typo and missing lookfeet by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3054
- improve: spectators and map sector by @phacUFPE in https://github.com/opentibiabr/canary/pull/3062
- fix: house mailboxes by @phacUFPE in https://github.com/opentibiabr/canary/pull/3096
- cleanup: remove unnecessary inheritance from lua interface classes by @dudantas in https://github.com/opentibiabr/canary/pull/3046
- fix: remove empty if block and prevent use of pointer after erase by @dudantas in https://github.com/opentibiabr/canary/pull/3098
- improve: removed cache map dead code by @mehah in https://github.com/opentibiabr/canary/pull/3086
- feat: add soul core items by @FelipePaluco in https://github.com/opentibiabr/canary/pull/3099
- fix: freequests storages by @htc16 in https://github.com/opentibiabr/canary/pull/3044
- fix: safe call add creatures on tile get/creation by @dudantas in https://github.com/opentibiabr/canary/pull/3090
- fix: combat type out of index in ashes item by @FelipePaluco in https://github.com/opentibiabr/canary/pull/3106
- fix: remove bit_functions from vcxproj by @MUN1Z in https://github.com/opentibiabr/canary/pull/3108
- fix: add source location to combatTypeToIndex by @dudantas in https://github.com/opentibiabr/canary/pull/3095
- fix: wheel bonuses by @phacUFPE in https://github.com/opentibiabr/canary/pull/3058
- fix: sending items to stash interrupted by items obtained from store by @luanluciano93 in https://github.com/opentibiabr/canary/pull/2886
- fix: crash concurrent modification/casting in tile management by @dudantas in https://github.com/opentibiabr/canary/pull/3107
- refactor: move blessing bytes to cpp by @murilo09 in https://github.com/opentibiabr/canary/pull/3064
- fix: teleport effect from "onUse" actions by @dudantas in https://github.com/opentibiabr/canary/pull/3109
- fix: transfer house crash by @dudantas in https://github.com/opentibiabr/canary/pull/3104
- improvement: enable custom duration and simplify expiration calculation by @omarcopires in https://github.com/opentibiabr/canary/pull/3083
- enhance and refactor: multiple scripts for better functionality by @omarcopires in https://github.com/opentibiabr/canary/pull/3007
- cleanup: simplify some account functions and fix console error by @omarcopires in https://github.com/opentibiabr/canary/pull/3110
- fix: disable ladder effect and add support for all ladders by @omarcopires in https://github.com/opentibiabr/canary/pull/3114
- fix: resolve nil index issue in destroy script callback by @omarcopires in https://github.com/opentibiabr/canary/pull/3117
- fix: wheel spells bonuses by @phacUFPE in https://github.com/opentibiabr/canary/pull/3122
- fix: blessings calculations by @murilo09 in https://github.com/opentibiabr/canary/pull/3126
- fix: wands and rods chain damage by @phacUFPE in https://github.com/opentibiabr/canary/pull/3128
- fix: ebb and flow boat summons teleport by @phacUFPE in https://github.com/opentibiabr/canary/pull/3125
- fix: xp rates display by @phacUFPE in https://github.com/opentibiabr/canary/pull/3123
- fix: forge history by @phacUFPE in https://github.com/opentibiabr/canary/pull/3124
- fix: sharpshooter not applying paralyze icon by @FelipePaluco in https://github.com/opentibiabr/canary/pull/3119
- perf: replace manual function name extraction with std::source_location by @dudantas in https://github.com/opentibiabr/canary/pull/3132
- feat: specific meal purchase option for hireling by @valdzera in https://github.com/opentibiabr/canary/pull/3105
- fix: lua getNumber overflow with "MoveEvent::EquipItem" function by @dudantas in https://github.com/opentibiabr/canary/pull/3136
- fix: remove duplicate "update impact tracker" for elemental damage by @dudantas in https://github.com/opentibiabr/canary/pull/3137
- fix: quiver replacement logic and shield-weapon equip handling by @dudantas in https://github.com/opentibiabr/canary/pull/3138
- fix: initialize totalCost correctly and refactor blessing purchase logic by @omarcopires in https://github.com/opentibiabr/canary/pull/3142
- fix: prevent teleportation by @omarcopires in https://github.com/opentibiabr/canary/pull/3143
- fix: item usage mechanics to obtain Phantasmal Jade by @omarcopires in https://github.com/opentibiabr/canary/pull/3112
- fix: boss lever check god access by @dudantas in https://github.com/opentibiabr/canary/pull/3141
- fix: wrong loot items from bosses by @dudantas in https://github.com/opentibiabr/canary/pull/3148
- fix: crash on try gem grade upgrade greater than 3 by @phacUFPE in https://github.com/opentibiabr/canary/pull/3151
- perf: optimize getInbox usage and shared pointer handling in loops by @dudantas in https://github.com/opentibiabr/canary/pull/3150
- fix: console error related to wrong "monster" to "self" by @dudantas in https://github.com/opentibiabr/canary/pull/3166
- fix: docker gha build workflow by @dudantas in https://github.com/opentibiabr/canary/pull/3167
- fix: check creatures crash by @mehah in https://github.com/opentibiabr/canary/pull/3168
- perf: multithreading in updateTargetList in all events by @mehah in https://github.com/opentibiabr/canary/pull/3074
- refactor: split player death event handler into smaller functions by @omarcopires in https://github.com/opentibiabr/canary/pull/3113
- perf: onRemoveCreature->onCreatureLeave async by @mehah in https://github.com/opentibiabr/canary/pull/3152
- fix: resolve nil value errors in handleGuildWar function by @omarcopires in https://github.com/opentibiabr/canary/pull/3172
- fix: packet interpretation parseSetOutfit for otcv8/old protocol by @kokekanon in https://github.com/opentibiabr/canary/pull/3162
- Compatibility with Basic CPUs by @odisk777 in https://github.com/opentibiabr/canary/pull/3146
- Improve: creature actions by @mehah in https://github.com/opentibiabr/canary/pull/3084
- perf: onThink multithreading by @mehah in https://github.com/opentibiabr/canary/pull/3075
- improve: migration database update by @dudantas in https://github.com/opentibiabr/canary/pull/3071
- fix: remove unsupported compiler flags for MSVC by @omarcopires in https://github.com/opentibiabr/canary/pull/3173
- fix: infinite loop in Zone:randomPosition when no valid tile exist by @dudantas in https://github.com/opentibiabr/canary/pull/3178
- fix: position after try to cross bridge by @pess0a in https://github.com/opentibiabr/canary/pull/3175
- enhance: Monster::getDanceStep code duplication by @dudantas in https://github.com/opentibiabr/canary/pull/2997
- fix: hazard spawn initialization by @dudantas in https://github.com/opentibiabr/canary/pull/3184
- fix: suppress get byte log by @dudantas in https://github.com/opentibiabr/canary/pull/3185
- fix: death call several times by @mehah in https://github.com/opentibiabr/canary/pull/3186
- fix: warning on decode lenght by @dudantas in https://github.com/opentibiabr/canary/pull/3188
- fix: for lava tiles in entrance of The Pits of Inferno Quest by @jeansouzak in https://github.com/opentibiabr/canary/pull/3196
- fix: party shared experience by @phacUFPE in https://github.com/opentibiabr/canary/pull/3133
- feat: cyclopedia house auction by @murilo09 in https://github.com/opentibiabr/canary/pull/3022
- fix: damage console by @murilo09 in https://github.com/opentibiabr/canary/pull/3203
- fix: adjust character limit for player names by @pudimtibia in https://github.com/opentibiabr/canary/pull/3174
- fix: lava lurker heals on fire damage by @pess0a in https://github.com/opentibiabr/canary/pull/3176
- fix: add missing storage breaking the ice quest by @arrudaqs in https://github.com/opentibiabr/canary/pull/3201
- feat: monsters and npcs rotten blood quest by @elsongabriel in https://github.com/opentibiabr/canary/pull/2686
- fix: imbuement shrine and time guardian script errors by @luanluciano93 in https://github.com/opentibiabr/canary/pull/2877
- fix: problem with stack of items on the podium after server save by @luanluciano93 in https://github.com/opentibiabr/canary/pull/2879
- fix: distro rotten blood quest warnings by @murilo09 in https://github.com/opentibiabr/canary/pull/3204
- fix: balancing 13.40 by @murilo09 in https://github.com/opentibiabr/canary/pull/3206
- feat: add missing constants for client OS by @omarcopires in https://github.com/opentibiabr/canary/pull/3179
- fix: thorgrin callbacks by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3202
- fix: prevent player corpses from being removed during tile cleaning by @jeansouzak in https://github.com/opentibiabr/canary/pull/3205
- fix: preserve decimal precision for skill percentage calculation by @jeansouzak in https://github.com/opentibiabr/canary/pull/3207
- fix: remove unnecessary function for data-canary by @luanluciano93 in https://github.com/opentibiabr/canary/pull/2973
- feat: create database backup on server shutdown by @dudantas in https://github.com/opentibiabr/canary/pull/3069
- improve: boosted boss selection by @dudantas in https://github.com/opentibiabr/canary/pull/3208
- perf: npc/monster storage with vector indexing by @dudantas in https://github.com/opentibiabr/canary/pull/3209
- perf: change zone positions to phmap::flat_hash_set by @dudantas in https://github.com/opentibiabr/canary/pull/3210
- fix: concurrency crash in closeAllShopWindows caused by use-after-free by @dudantas in https://github.com/opentibiabr/canary/pull/3211
- perf: optimize condition creation with ObjectPool by @dudantas in https://github.com/opentibiabr/canary/pull/3212
- fix: add null check for moveFunction to prevent crashes by @dudantas in https://github.com/opentibiabr/canary/pull/3213
- fix: crash on daily reward by @dudantas in https://github.com/opentibiabr/canary/pull/3215
- perf: replace SELECT * with specific columns in SQL queries by @dudantas in https://github.com/opentibiabr/canary/pull/3214
- perf: fixes exhaustion to 'playerEquipItem' by @dudantas in https://github.com/opentibiabr/canary/pull/3165
- fix: shadowing "date", move to the correct place by @dudantas in https://github.com/opentibiabr/canary/pull/3219
- fix: ensure isPodium check works correctly by @omarcopires in https://github.com/opentibiabr/canary/pull/3221
- fix: highscore sql query by @dudantas in https://github.com/opentibiabr/canary/pull/3222
- feat: add morguthis wall action by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3226
- fix: negative absorb percent by @murilo09 in https://github.com/opentibiabr/canary/pull/3228
- fix: fields without owner by @murilo09 in https://github.com/opentibiabr/canary/pull/3229
- feat: login and disconnect protection by @murilo09 in https://github.com/opentibiabr/canary/pull/3223
- fix: quests from version 12 revised by @htc16 in https://github.com/opentibiabr/canary/pull/3042
- fix: combat type 255 when monster walk on field (none) by @phacUFPE in https://github.com/opentibiabr/canary/pull/3235
- perf: wheel by @phacUFPE in https://github.com/opentibiabr/canary/pull/3157
- fix: getstorage talkaction by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3240
- fix: do walk back handling by @dudantas in https://github.com/opentibiabr/canary/pull/3189
- fix: Monster::removeTarget crash by @dudantas in https://github.com/opentibiabr/canary/pull/3237
- fix: mount crash by @dudantas in https://github.com/opentibiabr/canary/pull/3236
- fix: revert some onSpawn monstertype callbacks by @dudantas in https://github.com/opentibiabr/canary/pull/3194
- fix: familiars upon death by @mdbeng in https://github.com/opentibiabr/canary/pull/3231
- perf: configmanager cache by @dudantas in https://github.com/opentibiabr/canary/pull/3232
- fix: rotten bosses wrong looktype by @Sorairei in https://github.com/opentibiabr/canary/pull/3234
- fix: npc crash by @dudantas in https://github.com/opentibiabr/canary/pull/3238
- fix: item usage under players and doors by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3239
- fix: empty fluid containers load by @phacUFPE in https://github.com/opentibiabr/canary/pull/3243
- fix: gha warnings by @dudantas in https://github.com/opentibiabr/canary/pull/3244
- Revert "fix: item usage under players and doors" by @dudantas in https://github.com/opentibiabr/canary/pull/3248
- fix: database backup escape special characters by @dudantas in https://github.com/opentibiabr/canary/pull/3247
- fix: showing cyclopedia houses correctly by @murilo09 in https://github.com/opentibiabr/canary/pull/3245
- fix: correct fee validation logic in market offer creation by @feliphechaves in https://github.com/opentibiabr/canary/pull/3250
- fix: market bitvise colision by @dudantas in https://github.com/opentibiabr/canary/pull/3257
- fix: root desync by @samuelbfg in https://github.com/opentibiabr/canary/pull/3253
- fix: sanguine itens status by @samuelbfg in https://github.com/opentibiabr/canary/pull/3255
- fix: player death corpse description by @dudantas in https://github.com/opentibiabr/canary/pull/3191
- fix: player summon lasthit addUnjustifiedKills by @dudantas in https://github.com/opentibiabr/canary/pull/3256
- fix: ferumbras ascension quest storages by @majestyotbr in https://github.com/opentibiabr/canary/pull/3269
- fix: npc eruaran by @majestyotbr in https://github.com/opentibiabr/canary/pull/3270
- fix: grave danger quest storages on freequests by @majestyotbr in https://github.com/opentibiabr/canary/pull/3271
- fix: faceless bane boss by @majestyotbr in https://github.com/opentibiabr/canary/pull/3276
- fix: inquisition quest storage by @majestyotbr in https://github.com/opentibiabr/canary/pull/3277
- fix: house transfer item to owner by @dudantas in https://github.com/opentibiabr/canary/pull/3258
- fix: add note in toggleCyclopediaHouseAuction on config.lua by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3282
- fix: add missing houses by @murilo09 in https://github.com/opentibiabr/canary/pull/3278
- fix: necklace/ring slots exhaustion by @samuelbfg in https://github.com/opentibiabr/canary/pull/3272
- fix: magic wall and rush wood onlook description by @samuelbfg in https://github.com/opentibiabr/canary/pull/3273
- feat: add candia doors, ladders and ramps by @majestyotbr in https://github.com/opentibiabr/canary/pull/3283
- fix: crash in last mount on debug compilation by @phacUFPE in https://github.com/opentibiabr/canary/pull/3284
- fix: action golden idol storage function by @majestyotbr in https://github.com/opentibiabr/canary/pull/3285
- fix: ferumbras ascension quest actions and creaturescripts by @majestyotbr in https://github.com/opentibiabr/canary/pull/3286
- fix: action boss timira fight by @majestyotbr in https://github.com/opentibiabr/canary/pull/3290
- fix: add missing houses by @majestyotbr in https://github.com/opentibiabr/canary/pull/3291
- fix: dawnport vocation trial and npc plunderpurse by @majestyotbr in https://github.com/opentibiabr/canary/pull/3292
- feat: soul pit arena/animus mastery/soul core by @FelipePaluco in https://github.com/opentibiabr/canary/pull/3230
- fix: add soulpit includes on visual studio solution by @majestyotbr in https://github.com/opentibiabr/canary/pull/3296
- fix: warning on transformItem by @murilo09 in https://github.com/opentibiabr/canary/pull/3302
- fix: ferumbras ascension quest bosses by @majestyotbr in https://github.com/opentibiabr/canary/pull/3297
- fix: forgotten knowledge quest bosses by @majestyotbr in https://github.com/opentibiabr/canary/pull/3298
- fix: grave danger quest bosses by @majestyotbr in https://github.com/opentibiabr/canary/pull/3299
- fix: heart of destruction quest bosses by @majestyotbr in https://github.com/opentibiabr/canary/pull/3300
- fix: the secret library quest bosses by @majestyotbr in https://github.com/opentibiabr/canary/pull/3301
- fix: move rotten blood quest files to quest folder by @majestyotbr in https://github.com/opentibiabr/canary/pull/3303
- fix: move bosses levers to quests folders by @majestyotbr in https://github.com/opentibiabr/canary/pull/3305
- fix: werecrocodile raceid by @aphirotx in https://github.com/opentibiabr/canary/pull/3308
- fix: grand master oberon immunity and butterfly's raceid by @Jonyrewind in https://github.com/opentibiabr/canary/pull/3307
- fix: imbuement slot validation to prevent duplicate applications by @murilo09 in https://github.com/opentibiabr/canary/pull/3316
- fix: set db version to last migration version by @omarcopires in https://github.com/opentibiabr/canary/pull/3319
- fix: add missing exit action on morguthis tomb by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3327
- refactor: soulcore removal logic by @omarcopires in https://github.com/opentibiabr/canary/pull/3326
- feat: add mitmah vanguard boss by @majestyotbr in https://github.com/opentibiabr/canary/pull/3332
- feat: update yasir shop offers by @majestyotbr in https://github.com/opentibiabr/canary/pull/3333
- feat: add missing monsters from version 13.30 by @majestyotbr in https://github.com/opentibiabr/canary/pull/3334
- feat: update foods action by @majestyotbr in https://github.com/opentibiabr/canary/pull/3335
- feat: update items by @majestyotbr in https://github.com/opentibiabr/canary/pull/3336
- feat: add missing monsters from version 13.40 by @majestyotbr in https://github.com/opentibiabr/canary/pull/3337
- feat: add magic effects and shoot types by @majestyotbr in https://github.com/opentibiabr/canary/pull/3338
- fix: duplicate player creation on death screen by @dudantas in https://github.com/opentibiabr/canary/pull/3325
- fix: stash bugs and adjustments by @dudantas in https://github.com/opentibiabr/canary/pull/3324
- fix: weight error when adding potions to container by @omarcopires in https://github.com/opentibiabr/canary/pull/3331
- fix: colored loot message on bosses by @omarcopires in https://github.com/opentibiabr/canary/pull/3342
- fix: casks and kegs by @mdbeng in https://github.com/opentibiabr/canary/pull/3344
- fix: client debug by @mehah in https://github.com/opentibiabr/canary/pull/3264
- fix: null dereferencing on onAttackedCreatureDrainHealth function by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3350
- fix: wrath of the emperor quest reward by @majestyotbr in https://github.com/opentibiabr/canary/pull/3352
- fix: hireling topic handler and adjustments by @mdbeng in https://github.com/opentibiabr/canary/pull/3351
- fix: spells and runes interactions by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3328
- fix: imbuement check for empty slots by @dudantas in https://github.com/opentibiabr/canary/pull/3370
- fix: set mount bool by @dudantas in https://github.com/opentibiabr/canary/pull/3371
- fix: white pk skull by @dudantas in https://github.com/opentibiabr/canary/pull/3372
- fix: monster loot from raids by @majestyotbr in https://github.com/opentibiabr/canary/pull/3376
- fix: house water by @murilo09 in https://github.com/opentibiabr/canary/pull/3378
- fix: the dream courts quest cracked tile movement by @majestyotbr in https://github.com/opentibiabr/canary/pull/3387
- fix: barbarian arena quest fur backpack reward by @majestyotbr in https://github.com/opentibiabr/canary/pull/3388
- fix: void charm call wrong function by @dudantas in https://github.com/opentibiabr/canary/pull/3389
- feat: add teleport to candia by @majestyotbr in https://github.com/opentibiabr/canary/pull/3390
- fix: unintended depot message and improve code by @omarcopires in https://github.com/opentibiabr/canary/pull/3361
- fix: mass healing area aug II wheel of destiny by @GuiValladao in https://github.com/opentibiabr/canary/pull/3391
- fix: spirit of fire combat damage by @GuiValladao in https://github.com/opentibiabr/canary/pull/3394
- fix: aleta grav behaviour by @dudantas in https://github.com/opentibiabr/canary/pull/3398
- feat: checks if someone is training on the dummy by @dudantas in https://github.com/opentibiabr/canary/pull/3397
- fix: the ape city quest storage by @aphirotx in https://github.com/opentibiabr/canary/pull/3365
- fix: inquisition quest by @GuiValladao in https://github.com/opentibiabr/canary/pull/3395
- fix: MOTA freequest access and npc gareth outfit by @GuiValladao in https://github.com/opentibiabr/canary/pull/3396
- fix: npc tereban by @majestyotbr in https://github.com/opentibiabr/canary/pull/3402
- fix: check quest reward nil value on setStorage by @dudantas in https://github.com/opentibiabr/canary/pull/3403
- fix: encounter set reward by @dudantas in https://github.com/opentibiabr/canary/pull/3404
- fix: koshei the deathless quest itemId and itemPos by @majestyotbr in https://github.com/opentibiabr/canary/pull/3405
- fix: game monster cache on Monster:setType by @dudantas in https://github.com/opentibiabr/canary/pull/3249
- fix: concurrency crash on item attributes by @dudantas in https://github.com/opentibiabr/canary/pull/3304
- feat: magic shield potion excluded from exhaustion system by @dudantas in https://github.com/opentibiabr/canary/pull/3393
- fix: rotten blood quest entrances by @majestyotbr in https://github.com/opentibiabr/canary/pull/3410
- fix: the secret library quest storages by @majestyotbr in https://github.com/opentibiabr/canary/pull/3425
- perf: skip spectator iteration if container has holding player by @dudantas in https://github.com/opentibiabr/canary/pull/3421
- fix: chagorz and vemiath specpos by @Sorairei in https://github.com/opentibiabr/canary/pull/3434
- fix: guild leader channel by @Aerwix in https://github.com/opentibiabr/canary/pull/3433
- fix: corrected mana spent for exercise wand by @bdzicc in https://github.com/opentibiabr/canary/pull/3431
- fix: low blow charm aligned to global behaviour by @dudantas in https://github.com/opentibiabr/canary/pull/3392
- fix: spell range on south walls by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3412
- fix: remove player from party on death by @bdzicc in https://github.com/opentibiabr/canary/pull/3384
- fix: prevent crashes by validating userdata in Lua bindings by @dudantas in https://github.com/opentibiabr/canary/pull/3435
- fix: crash on map cache by @dudantas in https://github.com/opentibiabr/canary/pull/3440
- fix: remove unnecessary mutex by @dudantas in https://github.com/opentibiabr/canary/pull/3442
- fix: disconnect client message by @dudantas in https://github.com/opentibiabr/canary/pull/3439
- fix: hotkey swaps, house potion use, and loot pouch equip handling by @dudantas in https://github.com/opentibiabr/canary/pull/3436
- fix: lua bind validation from inheritance class names by @dudantas in https://github.com/opentibiabr/canary/pull/3444
- improve: player components to scoped object by @dudantas in https://github.com/opentibiabr/canary/pull/3130
- fix: compilation windows visual studio solution by @kokekanon in https://github.com/opentibiabr/canary/pull/3445
- fix: exori gran con damage bonus by @mdbeng in https://github.com/opentibiabr/canary/pull/3321
- fix: concurrency crash in spectators wheel by @dudantas in https://github.com/opentibiabr/canary/pull/3449
- fix: double kill unjustified by @dudantas in https://github.com/opentibiabr/canary/pull/3446
- fix: update player stats skill bar on boost add/end by @dudantas in https://github.com/opentibiabr/canary/pull/3441
- fix: add quiver category to managed containers by @dudantas in https://github.com/opentibiabr/canary/pull/3454
- fix: wrong calculation from elemental damage for weapons by @dudantas in https://github.com/opentibiabr/canary/pull/3187
- fix: add ui exhausted to imbuement apply/clear by @dudantas in https://github.com/opentibiabr/canary/pull/3455
- feat: features OTCR natively in canary by @kokekanon in https://github.com/opentibiabr/canary/pull/3061
- fix: add taint experience boost for Soul War monsters by @FelipePaluco in https://github.com/opentibiabr/canary/pull/3494
- fix: gamestore exp price by @LeoTKBR in https://github.com/opentibiabr/canary/pull/3496
- fix: suspicious device wrong id by @kiki20072 in https://github.com/opentibiabr/canary/pull/3492
- feat: talkaction playericon by @LeoTKBR in https://github.com/opentibiabr/canary/pull/3488
- fix: the lootmonger remotely trade by @Sorairei in https://github.com/opentibiabr/canary/pull/3482
- fix: check value purchase exp boost by @LeoTKBR in https://github.com/opentibiabr/canary/pull/3501
- build: update to recent vcpkg to fix compilation by @dudantas in https://github.com/opentibiabr/canary/pull/3503
- fix: player bypassing SQM restrictions when pushed by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3480
- fix: mana drain on analyzer by @dudantas in https://github.com/opentibiabr/canary/pull/3473
- fix: wrap/unwrap owner bug for on use items by @dudantas in https://github.com/opentibiabr/canary/pull/3474
- fix: toolgear lua log error by @samuelbfg in https://github.com/opentibiabr/canary/pull/3465
- fix: kilmaresh ladders by @samuelbfg in https://github.com/opentibiabr/canary/pull/3437
- fix: pvp zone no loss by @mdbeng in https://github.com/opentibiabr/canary/pull/3353
- fix: djinn freequest by @Mirino97 in https://github.com/opentibiabr/canary/pull/3471
- fix: loot factor generate random value by @dudantas in https://github.com/opentibiabr/canary/pull/3181
- fix: incorrect NPC interaction handling in The Djinn War Quest by @ricardokaky in https://github.com/opentibiabr/canary/pull/3508
- fix: remove duplicated buy house command by @gabrielgg98 in https://github.com/opentibiabr/canary/pull/3476
- fix: server startup loop on "Running with x threads" step by @dudantas in https://github.com/opentibiabr/canary/pull/3509
- fix: teleport effect when using rope's and shovel's by @ricardokaky in https://github.com/opentibiabr/canary/pull/3514
- fix: crash when target is null or removed by @kaleohanopahala in https://github.com/opentibiabr/canary/pull/3516
- fix/perf: clone items using inbox and market by @dudantas in https://github.com/opentibiabr/canary/pull/3504
- fix: null target crash in Game::combatChangeHealth by @dudantas in https://github.com/opentibiabr/canary/pull/3522
- fix: crash when player login with wrong vocation by @dudantas in https://github.com/opentibiabr/canary/pull/3523
- fix: no-pvp only first on the stack can use area spell/rune by @dudantas in https://github.com/opentibiabr/canary/pull/3409
- feat: new killer list by @LeoTKBR in https://github.com/opentibiabr/canary/pull/3517
- fix: spawns npc by time by @LeoTKBR in https://github.com/opentibiabr/canary/pull/3484
- feat: new release version and fix threadpool shutdown by @dudantas in https://github.com/opentibiabr/canary/pull/3527
New Contributors
- @phacUFPE made their first contribution in #1978
- @Chapeleiiro made their first contribution in #1923
- @markiluk made their first contribution in #2044
- @GuiValladao made their first contribution in #2097
- @enzerah made their first contribution in #2138
- @ViniibServer made their first contribution in #2136
- @Nyedson made their first contribution in #2250
- @ramon-bernardo made their first contribution in #2270
- @matheus-bona made their first contribution in #2411
- @cys9211 made their first contribution in #2413
- @Dvineone made their first contribution in #2410
- @CarlosE-Dev made their first contribution in #2463
- @lezinhu0 made their first contribution in #2473
- @jeswilldbm made their first contribution in #2522
- @FelipePaluco made their first contribution in #2566
- @pennaor made their first contribution in #2569
- @svetrey made their first contribution in #2560
- @slawkens made their first contribution in #2659
- @miah-sebastian made their first contribution in #2678
- @attack787 made their first contribution in #2701
- @odisk777 made their first contribution in #2687
- @htc16 made their first contribution in #2459
- @AlphaRage made their first contribution in #2751
- @AndreFaramir made their first contribution in #2752
- @ImConsKrypt made their first contribution in #2708
- @pedrohfk made their first contribution in #2723
- @DaviRJ made their first contribution in #2766
- @kokekanon made their first contribution in #2776
- @Kizuno18 made their first contribution in #2797
- @Maticoz made their first contribution in #2781
- @andreoam made their first contribution in #2857
- @LeoPetryx made their first contribution in #2952
- @kaleohanopahala made their first contribution in https://github.com/opentibiabr/canary/pull/2967
- @pudimtibia made their first contribution in https://github.com/opentibiabr/canary/pull/2942
- @aphirotx made their first contribution in https://github.com/opentibiabr/canary/pull/2991
- @valdzera made their first contribution in https://github.com/opentibiabr/canary/pull/3105
- @jeansouzak made their first contribution in https://github.com/opentibiabr/canary/pull/3196
- @arrudaqs made their first contribution in https://github.com/opentibiabr/canary/pull/3201
- @mdbeng made their first contribution in https://github.com/opentibiabr/canary/pull/3231
- @feliphechaves made their first contribution in https://github.com/opentibiabr/canary/pull/3250
- @samuelbfg made their first contribution in https://github.com/opentibiabr/canary/pull/3253
- @bdzicc made their first contribution in https://github.com/opentibiabr/canary/pull/3431
- @kiki20072 made their first contribution in https://github.com/opentibiabr/canary/pull/3492
- @Mirino97 made their first contribution in https://github.com/opentibiabr/canary/pull/3471
- @ricardokaky made their first contribution in https://github.com/opentibiabr/canary/pull/3508
- @gabrielgg98 made their first contribution in https://github.com/opentibiabr/canary/pull/3476
Full Changelog: v3.1.2...v3.2.0