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 #2953
- fix: sonarcloud check by @dudantas in #2954
- fix: overload when setting item decay when player logs in by @dudantas in #2927
- improve: config manager context from string to source location by @dudantas in #2955
- fix: eventcallback crash (pointer uninitialized) by @dudantas in #2956
- ci/cd: remove qodana by @dudantas in #2957
- improve: remove qodana and fix eventcallback error by @dudantas in #2958
- fix: crash when removing items during iteration with ContainerIterator by @dudantas in #2901
- fix: npc submenu shop window by @dudantas in #2852
- fix: resolve nil method error in battlemart.lua callback by @omarcopires in #2961
- fix: handle nil value for soul war to prevent errors with custom data by @LeoPetryx in #2964
- fix: eventcallback from std::forward to args by @dudantas in #2962
- fix: player wheel string conversion by @kaleohanopahala in #2967
- perf: build cmake by @beats-dh in #2972
- update: gha build by @beats-dh in #2641
- fix: wrong positions on scourge of oblivion boss lever by @FelipePaluco in #2970
- fix: npc zoltan giving free ferumbras hat by @FelipePaluco in #2945
- fix: remove poff effect when killing monsters by @pudimtibia in #2942
- fix: prevent sell items with duration to the npc by @carlospess0a in #2898
- perf: optimize spawn cleanup removing redundant iteration by @kaleohanopahala in #2913
- fix: onLook nil value by @LeoTKBR in #2856
- fix: code error when adding text attribute by @carlospess0a in #2975
- fix: disable ssl/tls verification for newer version of mysql by @pudimtibia in #2978
- perf: optimized account players badge loading by @dudantas in #2977
- fix: bug when player dies with skillLost false by @LeoPetryx in #2979
- refactor: modularize look event callback and improve code readability by @omarcopires in #2858
- improve: some fixes and adjustments by @dudantas in #2980
- improve: change filestream/fileloader to std::ranges::copy by @dudantas in #2984
- refactor: improve readability and optimize toPosition function by @omarcopires in #2928
- refactor: optimize time formatting function for better performance by @omarcopires in #2904
- improve: change from memset/memcpy to modern cpp ranges by @dudantas in #2989
- fix: container check changes so we can still sell all loot from pouch by @aokisama in #2971
- perf: improve dispatcher walk event by @mehah in #2933
- perf: EventCallback optimization by @dudantas in #3004
- fix: forge cores consumption by @phacUFPE in #3001
- perf: optimized logging with profiling and efficient file management by @beats-dh in #2832
- fix: circular inclusion on tools.hpp/remove const ref from string view by @dudantas in #3019
- fix: update forge prices according to latest fusion rates by @murilo09 in #3017
- fix: supreme revelation modifiers initialization by @dudantas in #3009
- fix: party onLeave by forcing exit by @kaleohanopahala in #3018
- fix: erase forgeable monsters and reduce spawn time by @murilo09 in #3014
- enhance: change from to std::ranges::find_if in Chat::getPrivateChannel by @dudantas in #2996
- fix: add toKill count to druid's apparition bestiary by @aphirotx in #2991
- refactor: direction check with std::ranges::find_if by @dudantas in #2992
- fix: iksupan entrance position by @aphirotx in #2981
- improve: fix thread pool shutdown by @dudantas in #3000
- fix: house items order being inverted in the stack by @lamonato29 in #2983
- perf: improve npc interactions by @phacUFPE in #3021
- cleanup: Game::checkCreatures by @mehah in #3020
- feat: fragment workshop by @phacUFPE in #3008
- perf: change shared_ptrs from copy to reference by @beats-dh in #2998
- refactor: remove circular dependencies from header files by @beats-dh in #3025
- fix: quests from version 11 revised by @htc16 in #2938
- feat: crusher and amber crusher actions by @phacUFPE in #3033
- fix: crash when spawn cleanup by @kaleohanopahala in #3034
- feat: new augments and update item description (amber items) by @phacUFPE in #2900
- improve: AreaSpawnEvent::executeEvent remove unused variable by @dudantas in #3036
- improve: account enums direcly instead of raw types by @dudantas in #3038
- docs: add CONTRIBUTING.md Guidelines for Canary Project by @dudantas in #3041
- fix: browseField crash, improve readability, fix shadowing by @dudantas in #3031
- feat: add mystery box item action by @FelipePaluco in #3040
- fix: some conflict errors by @dudantas in #3048
- improve: load player town and fix player badge escape string by @dudantas in #3055
- fix: prevent crash in condition light division by @kaleohanopahala in #3053
- fix: remove mystery box duplicated action by @murilo09 in #3057
- improve: optimize experience gain and loss calculations by @omarcopires in #2905
- fix: character cyclopedia item inspection imbuements by @phacUFPE in #3065
- style: tryAddEvent to safeCall by @mehah in #3045
- improve: safecall by @mehah in #3072
- improve: prevent crash in checkCreatures by @mehah in #3073
- perf: remove unnecessary event callbacks by @dudantas in #3076
- improve: add check to boosted boss name empty by @dudantas in #3081
- improve: lower boss name on boss lever system by @dudantas in #3070
- fix: review quests version 11 by @Glatharth in #3049
- fix: object variable renamed by @Glatharth in #3082
- fix: creature teleport with dispatcher walk event by @dudantas in #3066
- feat: add new "soul cores" market category by @dudantas in #3092
- improve: fix circular dependencies on iologindata.hpp by @dudantas in #3093
- improve: fix circular dependencies on weapons.hpp by @dudantas in #3094
- fix: speed and conditions by @phacUFPE in #3063
- fix: typo and missing lookfeet by @kaleohanopahala in #3054
- improve: spectators and map sector by @phacUFPE in #3062
- fix: house mailboxes by @phacUFPE in #3096
- cleanup: remove unnecessary inheritance from lua interface classes by @dudantas in #3046
- fix: remove empty if block and prevent use of pointer after erase by @dudantas in #3098
- improve: removed cache map dead code by @mehah in #3086
- feat: add soul core items by @FelipePaluco in #3099
- fix: freequests storages by @htc16 in #3044
- fix: safe call add creatures on tile get/creation by @dudantas in #3090
- fix: combat type out of index in ashes item by @FelipePaluco in #3106
- fix: remove bit_functions from vcxproj by @MUN1Z in #3108
- fix: add source location to combatTypeToIndex by @dudantas in #3095
- fix: wheel bonuses by @phacUFPE in #3058
- fix: sending items to stash interrupted by items obtained from store by @luanluciano93 in #2886
- fix: crash concurrent modification/casting in tile management by @dudantas in #3107
- refactor: move blessing bytes to cpp by @murilo09 in #3064
- fix: teleport effect from "onUse" actions by @dudantas in #3109
- fix: transfer house crash by @dudantas in #3104
- improvement: enable custom duration and simplify expiration calculation by @omarcopires in #3083
- enhance and refactor: multiple scripts for better functionality by @omarcopires in #3007
- cleanup: simplify some account functions and fix console error by @omarcopires in #3110
- fix: disable ladder effect and add support for all ladders by @omarcopires in #3114
- fix: resolve nil index issue in destroy script callback by @omarcopires in #3117
- fix: wheel spells bonuses by @phacUFPE in #3122
- fix: blessings calculations by @murilo09 in #3126
- fix: wands and rods chain damage by @phacUFPE in #3128
- fix: ebb and flow boat summons teleport by @phacUFPE in #3125
- fix: xp rates display by @phacUFPE in #3123
- fix: forge history by @phacUFPE in #3124
- fix: sharpshooter not applying paralyze icon by @FelipePaluco in #3119
- perf: replace manual function name extraction with std::source_location by @dudantas in #3132
- feat: specific meal purchase option for hireling by @valdzera in #3105
- fix: lua getNumber overflow with "MoveEvent::EquipItem" function by @dudantas in #3136
- fix: remove duplicate "update impact tracker" for elemental damage by @dudantas in #3137
- fix: quiver replacement logic and shield-weapon equip handling by @dudantas in #3138
- fix: initialize totalCost correctly and refactor blessing purchase logic by @omarcopires in #3142
- fix: prevent teleportation by @omarcopires in #3143
- fix: item usage mechanics to obtain Phantasmal Jade by @omarcopires in #3112
- fix: boss lever check god access by @dudantas in #3141
- fix: wrong loot items from bosses by @dudantas in #3148
- fix: crash on try gem grade upgrade greater than 3 by @phacUFPE in #3151
- perf: optimize getInbox usage and shared pointer handling in loops by @dudantas in #3150
- fix: console error related to wrong "monster" to "self" by @dudantas in #3166
- fix: docker gha build workflow by @dudantas in #3167
- fix: check creatures crash by @mehah in #3168
- perf: multithreading in updateTargetList in all events by @mehah in #3074
- refactor: split player death event handler into smaller functions by @omarcopires in #3113
- perf: onRemoveCreature->onCreatureLeave async by @mehah in #3152
- fix: resolve nil value errors in handleGuildWar function by @omarcopires in #3172
- fix: packet interpretation parseSetOutfit for otcv8/old protocol by @kokekanon in #3162
- Compatibility with Basic CPUs by @odisk777 in #3146
- Improve: creature actions by @mehah in #3084
- perf: onThink multithreading by @mehah in #3075
- improve: migration database update by @dudantas in #3071
- fix: remove unsupported compiler flags for MSVC by @omarcopires in #3173
- fix: infinite loop in Zone:randomPosition when no valid tile exist by @dudantas in #3178
- fix: position after try to cross bridge by @pess0a in #3175
- enhance: Monster::getDanceStep code duplication by @dudantas in #2997
- fix: hazard spawn initialization by @dudantas in #3184
- fix: suppress get byte log by @dudantas in #3185
- fix: death call several times by @mehah in #3186
- fix: warning on decode lenght by @dudantas in #3188
- fix: for lava tiles in entrance of The Pits of Inferno Quest by @jeansouzak in #3196
- fix: party shared experience by @phacUFPE in #3133
- feat: cyclopedia house auction by @murilo09 in #3022
- fix: damage console by @murilo09 in #3203
- fix: adjust character limit for player names by @pudimtibia in #3174
- fix: lava lurker heals on fire damage by @pess0a in #3176
- fix: add missing storage breaking the ice quest by @arrudaqs in #3201
- feat: monsters and npcs rotten blood quest by @elsongabriel in #2686
- fix: imbuement shrine and time guardian script errors by @luanluciano93 in #2877
- fix: problem with stack of items on the podium after server save by @luanluciano93 in #2879
- fix: distro rotten blood quest warnings by @murilo09 in #3204
- fix: balancing 13.40 by @murilo09 in #3206
- feat: add missing constants for client OS by @omarcopires in #3179
- fix: thorgrin callbacks by @kaleohanopahala in #3202
- fix: prevent player corpses from being removed during tile cleaning by @jeansouzak in #3205
- fix: preserve decimal precision for skill percentage calculation by @jeansouzak in #3207
- fix: remove unnecessary function for data-canary by @luanluciano93 in #2973
- feat: create database backup on server shutdown by @dudantas in #3069
- improve: boosted boss selection by @dudantas in #3208
- perf: npc/monster storage with vector indexing by @dudantas in #3209
- perf: change zone positions to phmap::flat_hash_set by @dudantas in #3210
- fix: concurrency crash in closeAllShopWindows caused by use-after-free by @dudantas in #3211
- perf: optimize condition creation with ObjectPool by @dudantas in #3212
- fix: add null check for moveFunction to prevent crashes by @dudantas in #3213
- fix: crash on daily reward by @dudantas in #3215
- perf: replace SELECT * with specific columns in SQL queries by @dudantas in #3214
- perf: fixes exhaustion to 'playerEquipItem' by @dudantas in #3165
- fix: shadowing "date", move to the correct place by @dudantas in #3219
- fix: ensure isPodium check works correctly by @omarcopires in #3221
- fix: highscore sql query by @dudantas in #3222
- feat: add morguthis wall action by @kaleohanopahala in #3226
- fix: negative absorb percent by @murilo09 in #3228
- fix: fields without owner by @murilo09 in #3229
- feat: login and disconnect protection by @murilo09 in #3223
- fix: quests from version 12 revised by @htc16 in #3042
- fix: combat type 255 when monster walk on field (none) by @phacUFPE in #3235
- perf: wheel by @phacUFPE in #3157
- fix: getstorage talkaction by @kaleohanopahala in #3240
- fix: do walk back handling by @dudantas in #3189
- fix: Monster::removeTarget crash by @dudantas in #3237
- fix: mount crash by @dudantas in #3236
- fix: revert some onSpawn monstertype callbacks by @dudantas in #3194
- fix: familiars upon death by @mdbeng in #3231
- perf: configmanager cache by @dudantas in #3232
- fix: rotten bosses wrong looktype by @Sorairei in #3234
- fix: npc crash by @dudantas in #3238
- fix: item usage under players and doors by @kaleohanopahala in #3239
- fix: empty fluid containers load by @phacUFPE in #3243
- fix: gha warnings by @dudantas in #3244
- Revert "fix: item usage under players and doors" by @dudantas in #3248
- fix: database backup escape special characters by @dudantas in #3247
- fix: showing cyclopedia houses correctly by @murilo09 in #3245
- fix: correct fee validation logic in market offer creation by @feliphechaves in #3250
- fix: market bitvise colision by @dudantas in #3257
- fix: root desync by @samuelbfg in #3253
- fix: sanguine itens status by @samuelbfg in #3255
- fix: player death corpse description by @dudantas in #3191
- fix: player summon lasthit addUnjustifiedKills by @dudantas in #3256
- fix: ferumbras ascension quest storages by @majestyotbr in #3269
- fix: npc eruaran by @majestyotbr in #3270
- fix: grave danger quest storages on freequests by @majestyotbr in #3271
- fix: faceless bane boss by @majestyotbr in #3276
- fix: inquisition quest storage by @majestyotbr in #3277
- fix: house transfer item to owner by @dudantas in #3258
- fix: add note in toggleCyclopediaHouseAuction on config.lua by @kaleohanopahala in #3282
- fix: add missing houses by @murilo09 in #3278
- fix: necklace/ring slots exhaustion by @samuelbfg in #3272
- fix: magic wall and rush wood onlook description by @samuelbfg in #3273
- feat: add candia doors, ladders and ramps by @majestyotbr in #3283
- fix: crash in last mount on debug compilation by @phacUFPE in #3284
- fix: action golden idol storage function by @majestyotbr in #3285
- fix: ferumbras ascension quest actions and creaturescripts by @majestyotbr in #3286
- fix: action boss timira fight by @majestyotbr in #3290
- fix: add missing houses by @majestyotbr in #3291
- fix: dawnport vocation trial and npc plunderpurse by @majestyotbr in #3292
- feat: soul pit arena/animus mastery/soul core by @FelipePaluco in #3230
- fix: add soulpit includes on visual studio solution by @majestyotbr in #3296
- fix: warning on transformItem by @murilo09 in #3302
- fix: ferumbras ascension quest bosses by @majestyotbr in #3297
- fix: forgotten knowledge quest bosses by @majestyotbr in #3298
- fix: grave danger quest bosses by @majestyotbr in #3299
- fix: heart of destruction quest bosses by @majestyotbr in #3300
- fix: the secret library quest bosses by @majestyotbr in #3301
- fix: move rotten blood quest files to quest folder by @majestyotbr in #3303
- fix: move bosses levers to quests folders by @majestyotbr in #3305
- fix: werecrocodile raceid by @aphirotx in #3308
- fix: grand master oberon immunity and butterfly's raceid by @Jonyrewind in #3307
- fix: imbuement slot validation to prevent duplicate applications by @murilo09 in #3316
- fix: set db version to last migration version by @omarcopires in #3319
- fix: add missing exit action on morguthis tomb by @kaleohanopahala in #3327
- refactor: soulcore removal logic by @omarcopires in #3326
- feat: add mitmah vanguard boss by @majestyotbr in #3332
- feat: update yasir shop offers by @majestyotbr in #3333
- feat: add missing monsters from version 13.30 by @majestyotbr in #3334
- feat: update foods action by @majestyotbr in #3335
- feat: update items by @majestyotbr in #3336
- feat: add missing monsters from version 13.40 by @majestyotbr in #3337
- feat: add magic effects and shoot types by @majestyotbr in #3338
- fix: duplicate player creation on death screen by @dudantas in #3325
- fix: stash bugs and adjustments by @dudantas in #3324
- fix: weight error when adding potions to container by @omarcopires in #3331
- fix: colored loot message on bosses by @omarcopires in #3342
- fix: casks and kegs by @mdbeng in #3344
- fix: client debug by @mehah in #3264
- fix: null dereferencing on onAttackedCreatureDrainHealth function by @kaleohanopahala in #3350
- fix: wrath of the emperor quest reward by @majestyotbr in #3352
- fix: hireling topic handler and adjustments by @mdbeng in #3351
- fix: spells and runes interactions by @kaleohanopahala in #3328
- fix: imbuement check for empty slots by @dudantas in #3370
- fix: set mount bool by @dudantas in #3371
- fix: white pk skull by @dudantas in #3372
- fix: monster loot from raids by @majestyotbr in #3376
- fix: house water by @murilo09 in #3378
- fix: the dream courts quest cracked tile movement by @majestyotbr in #3387
- fix: barbarian arena quest fur backpack reward by @majestyotbr in #3388
- fix: void charm call wrong function by @dudantas in #3389
- feat: add teleport to candia by @majestyotbr in #3390
- fix: unintended depot message and improve code by @omarcopires in #3361
- fix: mass healing area aug II wheel of destiny by @GuiValladao in #3391
- fix: spirit of fire combat damage by @GuiValladao in #3394
- fix: aleta grav behaviour by @dudantas in #3398
- feat: checks if someone is training on the dummy by @dudantas in #3397
- fix: the ape city quest storage by @aphirotx in #3365
- fix: inquisition quest by @GuiValladao in #3395
- fix: MOTA freequest access and npc gareth outfit by @GuiValladao in #3396
- fix: npc tereban by @majestyotbr in #3402
- fix: check quest reward nil value on setStorage by @dudantas in #3403
- fix: encounter set reward by @dudantas in #3404
- fix: koshei the deathless quest itemId and itemPos by @majestyotbr in #3405
- fix: game monster cache on Monster:setType by @dudantas in #3249
- fix: concurrency crash on item attributes by @dudantas in #3304
- feat: magic shield potion excluded from exhaustion system by @dudantas in #3393
- fix: rotten blood quest entrances by @majestyotbr in #3410
- fix: the secret library quest storages by @majestyotbr in #3425
- perf: skip spectator iteration if container has holding player by @dudantas in #3421
- fix: chagorz and vemiath specpos by @Sorairei in #3434
- fix: guild leader channel by @Aerwix in #3433
- fix: corrected mana spent for exercise wand by @bdzicc in #3431
- fix: low blow charm aligned to global behaviour by @dudantas in #3392
- fix: spell range on south walls by @kaleohanopahala in #3412
- fix: remove player from party on death by @bdzicc in #3384
- fix: prevent crashes by validating userdata in Lua bindings by @dudantas in #3435
- fix: crash on map cache by @dudantas in #3440
- fix: remove unnecessary mutex by @dudantas in #3442
- fix: disconnect client message by @dudantas in #3439
- fix: hotkey swaps, house potion use, and loot pouch equip handling by @dudantas in #3436
- fix: lua bind validation from inheritance class names by @dudantas in #3444
- improve: player components to scoped object by @dudantas in #3130
- fix: compilation windows visual studio solution by @kokekanon in #3445
- fix: exori gran con damage bonus by @mdbeng in #3321
- fix: concurrency crash in spectators wheel by @dudantas in #3449
- fix: double kill unjustified by @dudantas in #3446
- fix: update player stats skill bar on boost add/end by @dudantas in #3441
- fix: add quiver category to managed containers by @dudantas in #3454
- fix: wrong calculation from elemental damage for weapons by @dudantas in #3187
- fix: add ui exhausted to imbuement apply/clear by @dudantas in #3455
- feat: features OTCR natively in canary by @kokekanon in #3061
- fix: add taint experience boost for Soul War monsters by @FelipePaluco in #3494
- fix: gamestore exp price by @LeoTKBR in #3496
- fix: suspicious device wrong id by @kiki20072 in #3492
- feat: talkaction playericon by @LeoTKBR in #3488
- fix: the lootmonger remotely trade by @Sorairei in #3482
- fix: check value purchase exp boost by @LeoTKBR in #3501
- build: update to recent vcpkg to fix compilation by @dudantas in #3503
- fix: player bypassing SQM restrictions when pushed by @kaleohanopahala in #3480
- fix: mana drain on analyzer by @dudantas in #3473
- fix: wrap/unwrap owner bug for on use items by @dudantas in #3474
- fix: toolgear lua log error by @samuelbfg in #3465
- fix: kilmaresh ladders by @samuelbfg in #3437
- fix: pvp zone no loss by @mdbeng in #3353
- fix: djinn freequest by @Mirino97 in #3471
- fix: loot factor generate random value by @dudantas in #3181
- fix: incorrect NPC interaction handling in The Djinn War Quest by @ricardokaky in #3508
- fix: remove duplicated buy house command by @gabrielgg98 in #3476
- fix: server startup loop on "Running with x threads" step by @dudantas in #3509
- fix: teleport effect when using rope's and shovel's by @ricardokaky in #3514
- fix: crash when target is null or removed by @kaleohanopahala in #3516
- fix/perf: clone items using inbox and market by @dudantas in #3504
- fix: null target crash in Game::combatChangeHealth by @dudantas in #3522
- fix: crash when player login with wrong vocation by @dudantas in #3523
- fix: no-pvp only first on the stack can use area spell/rune by @dudantas in #3409
- feat: new killer list by @LeoTKBR in #3517
- fix: spawns npc by time by @LeoTKBR in #3484
- feat: new release version and fix threadpool shutdown by @dudantas in #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 #2967
- @pudimtibia made their first contribution in #2942
- @aphirotx made their first contribution in #2991
- @valdzera made their first contribution in #3105
- @jeansouzak made their first contribution in #3196
- @arrudaqs made their first contribution in #3201
- @mdbeng made their first contribution in #3231
- @feliphechaves made their first contribution in #3250
- @samuelbfg made their first contribution in #3253
- @bdzicc made their first contribution in #3431
- @kiki20072 made their first contribution in #3492
- @Mirino97 made their first contribution in #3471
- @ricardokaky made their first contribution in #3508
- @gabrielgg98 made their first contribution in #3476
Full Changelog: v3.1.2...v3.2.0