Repository navigation
What's Changed
- feat Game Protocol 15.25 with Vocation Balancing Charges by @jprzimba in #788
- feat: global storage command by @Paco161315 in #814
- fix: Replace dynamic arrays with vectors in MatrixArea by @jprzimba in #815
- fix: Security vulnerabilities and bugs in Lua code by @jprzimba in #816
- fix: Refactor Emael NPC inbox check and fix getTopic bug by @jprzimba in #820
- fix: action script bugs and extend enchanting by @jprzimba in #823
- fix: Safely iterate shopPlayers when closing shops by @jprzimba in #821
- fix: Delegate Bakragore icon sending to sendIcons by @jprzimba in #817
- fix: Unify spell damage formulas to use basePower by @jprzimba in #824
- fix: Prevent zero light level / division by zero by @jprzimba in #822
- fix: Optimize player GUID lookup with direct index by @jprzimba in #819
- fix: Remove item IDs from enchanting registration by @jprzimba in #827
- fix: cd reduction perk by @GuiValladao in #831
- Fix the bounty task creature list by @gilrer1 in #830
- fix(protocol): prevent bestiary request dispatcher stall by @zeroskyer in #832
- Add missing items.xml entry for primal pod (id 39176) by @servant777servant in #835
- fix: whacking driller of fate by @Paco161315 in #825
- fix: Energuardian of Tales missing Inkborn bestiary class by @servant777servant in #836
- fix: food regen and simplify logic by @jprzimba in #833
- fix: familiar spell names by @jprzimba in #839
- improve: Rottin Wood and the Married Men Quest by @GuiValladao in #838
- fix: Database Connection Pool by @jprzimba in #803
- fix: Paralyze condition ticks/formula applied to combat instead of condition (broken slow) by @jprzimba in #841
- fix: Tile::addThing ground-replacement captures a reference to the
groundmember instead of a copy by @jprzimba in #840 - fix: Grimvale spectator teleport event handling by @jprzimba in #842
- fix: async lion's rock field player context by @jprzimba in #843
- fix: Prevent duplicate raid spawns using executedRaids by @jprzimba in #844
- fix: Prevent nil attacker crash in SoulCage health by @jprzimba in #845
- fix: Guild Deposit by @jprzimba in #846
- fix: Guard against null tile in sendUpdateTileCreature by @jprzimba in #849
- fix: Guard divide-by-zero in player exp rate by @jprzimba in #850
- fix: Agony damage case in DamageToConditionType by @jprzimba in #847
- fix: Add index bounds checks in unserializeProp by @jprzimba in #848
- fix: Stash withdraw removes from stash before placement, shortfall silently destroyed (item loss) by @jprzimba in #851
- improve: hot cuisine quest by @GuiValladao in #853
- fix: Proficiency perk skillPercentageAsExtraDamageForAutoAttack never boosts damage by @jprzimba in #855
- fix: Underflow in wheel points calculation by @jprzimba in #856
- feat: Add configurable Lua debug hook by @jprzimba in #857
- fix: Bounds checks for int8/uint8 parsing by @jprzimba in #858
- fix: Prevent reads on closed sockets; handle XTEA fail by @jprzimba in #859
- fix: Report storeQuery success correctly by @jprzimba in #860
- fix: itemsClassifications memory leak by @jprzimba in #861
- fix: Use atomic operations for task ID generation by @jprzimba in #862
- fix: Resend player map description on map load by @jprzimba in #864
- fix: Add raceId and bosstiary metadata for The Unwelcome by @jprzimba in #865
- fix: docker compose build is broken (exit 126, then exit 1) by @msholl in #867
- fix: Tibia Coins cannot be offered on the market (resource 0x5B never sent) by @msholl in #868
- fix: Dawnport key ID check by @jprzimba in #874
- fix: Some Soul War bugs by @jprzimba in #875
- fix: Andrew Lyze: lets player craft compass without all required items by @jprzimba in #873
- fix: Respect PZ-lock before teleport and fix nil check by @jprzimba in #878
- fix: Apply Wheel damage reduction multiplier to damage by @jprzimba in #869
- fix: Item::transform crash on invalid target id by @jprzimba in #870
- fix: Use unique_ptr for Lua testInterface by @jprzimba in #871
- fix: Invalidate spectator lists on range expand by @jprzimba in #872
- fix(config): let rateLoot accept decimal values by @msholl in #877
- fix: Guard against null tile item list by @jprzimba in #880
- fix: Remove duplicate combat effect for ice crystal bomb by @jprzimba in #876
- fix: Spawn removal and Optimize creature checks by @jprzimba in #866
- fix: Improve manage_monster and use creature reload by @jprzimba in #881
- fix: null dereference in updateSaleShopList by @jprzimba in #883
- fix: reclaimExcessPoints() early-returns when !canOpenWheel by @jprzimba in #884
- fix: Safeguard bank transactions and Lua money validation by @jprzimba in #885
- fix: Bump White Raven Passage storageValue to 2 by @jprzimba in #886
- fix: creature log, item move, and capacity checks by @jprzimba in #888
- fix: Lua returns, base64 errors, and buffer checks by @jprzimba in #889
- perf: Optimize blue shield zone check by @jprzimba in #891
- perf: Rotten Blood checkPlayersInZonePutrefactory by @jprzimba in #892
- fix: Add config keys, optimize setter, and null checks by @jprzimba in #894
- fix: Webhook holds taskLock across blocking synchronous curl HTTP call, stalling the game thread by @jprzimba in #890
- fix: underflow and pointer bugs in Player by @jprzimba in #882
- fix: Guard container depth and stackable/tile bugs by @jprzimba in #887
- feat: A Piece of Cake Quest by @GuiValladao in #895
- fix: Pass targets by const&; call monster.getMonsterType by @jprzimba in #893
- feat: minor bug fixes by @Paco161315 in #898
- perf: Use async queries in player death handler by @jprzimba in #896
- fix: Duplicated rateExerciseTrainingSpeed load call by @jprzimba in #899
- fix: Recompute server save time inside raid onThink by @jprzimba in #897
- feat: new god commands by @Paco161315 in #904
- fix: party protection pzlock by @Paco161315 in #901
- fix: storages, npcs, dialogs, quest stages and more by @Paco161315 in #903
- fix: Chain visual effect to combat chain by @jprzimba in #905
- feat: shadows of yalahar quest by @GuiValladao in #906
- fix: soul cores by @Paco161315 in #910
- fix: register the !time talkaction by @aacruzgon in #913
- fix: vcpkg path setup for MSBuild by @jprzimba in #916
- fix: gold exploit on bow and inkwell NPC prices by @aacruzgon in #914
- update: the new frontier quest by @Paco161315 in #900
- fix: DBResult::getNumber returns 0 for time_t on macOS by @aacruzgon in #911
- feat: macOS build support by @aacruzgon in #912
- feat: multi world system by @jprzimba in #451
- ci: add macOS build workflow by @aacruzgon in #924
- chore: ignore macOS .DS_Store files by @aacruzgon in #923
- fix: playerLeaveParty negates the zone type instead of comparing it by @aacruzgon in #922
- fix: db_version never advances, so migrations re-run on every boot by @aacruzgon in #921
- fix: rookgaard status healing npcs by @Paco161315 in #920
- fix: pugi::cast does not compile with libc++ by @aacruzgon in #926
- fix: load map items with decay by @GuiValladao in #915
- feat: The Isle of Evil Quest by @GuiValladao in #919
- feat: char bazaar auction setup from the game client by @htc16 in #918
- fix: Revert lua format by @jprzimba in #928
- update: doors table by @Paco161315 in #930
- fix: Hirelings load by @jprzimba in #933
- update: dire penguin raids by @Paco161315 in #931
- feat(startup): declare map ids and container contents in the tables by @htc16 in #932
- fix: resolve startup entry and lever conflicts reported by the map id… by @htc16 in #937
- fix: pits of inferno bosses by @Paco161315 in #939
- feat(look): name the script that answers for an item by @htc16 in #938
- fix: Initialize player cooldown timers on login by @jprzimba in #935
- feat(core): add database player concurrency lock to prevent web/game race conditions by @berrytern in #908
- fix: Stop reseeding RNG in DropLoot by @jprzimba in #934
- fix: player corpse names the killing monster instead of the oldest attacker by @servant777servant in #942
- feat(market): add asynchronous web market order queue processor (IOMarket::processWebOrders) by @berrytern in #909
- fix: Add market web order table by @jprzimba in #946
- fix: correct requireSharedExperience typo in Participants() function by @Jah-yee in #956
- fix: wrath of the emperor quest mission 02 by @Paco161315 in #952
- fix: Add setters and mutable combat fields by @jprzimba in #945
- feat: Add Character Bazaar config and bindings by @jprzimba in #944
- fix: Metrics counters, format house SQL by @jprzimba in #958
- fix: summer courts storage by @Paco161315 in #951
- feat: add blessings command by @Paco161315 in #950
- fix: monsters by @Paco161315 in #953
- fix: Allow Store Inbox returns; enlarge OWNER attr by @jprzimba in #957
- fix(analyzers): credit healing, shield absorption and second elements correctly by @Deividy in #960
- fix: the ape city quest by @Paco161315 in #965
- fix: shadows of yalahar quest by @Paco161315 in #966
- fix: children of the revolution quest by @Paco161315 in #967
New Contributors
- @gilrer1 made their first contribution in #830
- @zeroskyer made their first contribution in #832
- @servant777servant made their first contribution in #835
- @msholl made their first contribution in #867
- @aacruzgon made their first contribution in #913
- @berrytern made their first contribution in #908
- @Jah-yee made their first contribution in #956
- @Deividy made their first contribution in #960
Full Changelog: 4.1.8...4.1.9