Commit graph

  • 3b96d0f2b2 TurretBrain: Fix incorrect aggro range for PBAoE turrets TurretBrain: Fix incorrect aggro range for PBAoE turrets Temporary fix. I don't think they're supposed to use an aggro table, and should just spam their PBAoE instead. master 2026.08.29 Baptiste Marie 2026-08-11 23:28:14 +02:00
  • dee9ee086e Rebalance NPC defense penetration An unintended consequence of ecaf945d0c increased NPC's defense penetration by 40%. This is caused by them having an extremely high damage table compared to players. 2026.08.28 Baptiste Marie 2026-08-11 20:07:09 +02:00
  • ecaf945d0c Redesign defense penetration to break linearity with damage table Expected defense penetration change based on damage table: 14: -46% 18: -3% 19: +5% 20: +13% 21: +19% 22: +25% 23: +30% 25 (NPC): +40% Baptiste Marie 2026-08-11 19:49:56 +02:00
  • efc6ecb95f
    Merge 3fde76747f into 040386541c Josh L 2026-08-11 18:06:32 +01:00
  • 6adfbbcade
    Merge 0a396dc40d into 040386541c Josh L 2026-08-11 18:06:32 +01:00
  • 040386541c Amend previous commit 2026.08.27 Baptiste Marie 2026-08-09 22:18:00 +02:00
  • fa6710b0d2 NpcCastingComponnet.QueuedCastLosCheckListener: Refactor to eliminate SpellHandler retention 2026.08.26 Baptiste Marie 2026-08-09 22:02:19 +02:00
  • ea97d01893 CastingComponnet.DuringCastLosCheckListener: Refactor to eliminate SpellHandler retention Baptiste Marie 2026-08-09 21:56:02 +02:00
  • 87be7afe1a GameObject: Remove objects-in-radius caching mechanism It's the source of a memory leak, and I don't have a good solution for a better cache expiration that doesn't rely on GetObjectInRadius() to be called. The benefits were also fairly minimal (3~4% faster), and the memory footprint was non-negligible. Baptiste Marie 2026-08-09 21:35:17 +02:00
  • 7b38e3dbda EffectService: Remove effects belonging to deleted owners from ServiceObjectStore 2026.08.25 Baptiste Marie 2026-08-09 18:59:04 +02:00
  • c928369c47 EffectListComponent: Snapshot IsBeingReplaced into PendingEffect at enqueue time; fixes charms when queued 3+ times per server tick PendingEffect.Process() always reset IsBeingReplaced to false after running, so a start/stop chained from several ProcessEffect() calls in the same tick could read a sibling entry's IsBeingReplaced value instead of its own. This caused charm effects (which rely on IsBeingReplaced to distinguish a real start/stop from a silent replace) to behave incorrectly and could leave the NPC permanently charmed. 2026.08.24 Baptiste Marie 2026-08-09 13:27:31 +02:00
  • 7d6aad147d PacketProcessor.Send(Udp|Tcp)AndResetContext: Replace local functions 2026.08.23 Baptiste Marie 2026-08-08 14:47:51 +02:00
  • aaa787934c Zone.Relocate: Replace local function Baptiste Marie 2026-08-08 14:46:07 +02:00
  • e982a66660 DayNightCycleTimer: Replace local functions Baptiste Marie 2026-08-08 14:45:26 +02:00
  • 009456e409 NecromancerPetBrain.TetherTimer: Replace local function Baptiste Marie 2026-08-08 14:42:43 +02:00
  • f2457c83cc AbstractServerRules: Reduce allocations caused by AwardPlayerOnPlayerKill Added PlayerKillRewardProcessor ref struct 2026.08.22 Baptiste Marie 2026-08-08 14:20:42 +02:00
  • 424e471bdd PacketLib168.SendObjectUpdate: Replace local function 2026.08.21 Baptiste Marie 2026-08-08 13:33:06 +02:00
  • 95e394d35e DetailDisplayHandler: Fix more issues with tooltips showing level 1 2026.08.20 Baptiste Marie 2026-08-08 02:29:33 +02:00
  • 99c97fbd9e GuardBrain: Fix proximity aggro to ignore stealth Also mounted players. 2026.08.19 Baptiste Marie 2026-08-08 00:56:10 +02:00
  • ffd202c75b NpcAttackAction.CheckLosTimer: Refactor to hold target as GameLiving 2026.08.18 Baptiste Marie 2026-08-07 22:53:17 +02:00
  • f26e4bab76 WeaponAction: Remove unnecessary cast Baptiste Marie 2026-08-07 22:51:29 +02:00
  • dba5aa61a3 AttackAction.MakeAttack: Refactor use pooled lists for multi hit styles Follow-up to previous commit: now also takes target as GameLiving, 2026.08.17 Baptiste Marie 2026-08-07 22:49:58 +02:00
  • 0a3fbe3a68 AttackAction, WeaponAction, RangeAttackComponent: Refactor to hold attack target as GameLiving Baptiste Marie 2026-08-07 22:44:32 +02:00
  • 66dbe42209 lot more variable cleanup 2026.08.16 Fenyn 2026-08-07 11:44:41 -07:00
  • 403d084dc8 clean up more encounter add stuff Fenyn 2026-08-07 10:34:08 -07:00
  • 6f8b6cf49b fix encounter gating stuff Fenyn 2026-08-07 09:16:46 -07:00
  • fca5900d79 first pass Fenyn 2026-08-04 16:20:13 -07:00
  • 16c13365f6 lot more variable cleanup fen/shared-variable-safety Fenyn 2026-08-07 11:44:41 -07:00
  • 5f28f10c4b clean up more encounter add stuff Fenyn 2026-08-07 10:34:08 -07:00
  • 136adec894 fix encounter gating stuff Fenyn 2026-08-07 09:16:46 -07:00
  • db933c25f4 Merge branch 'master' into fen/shared-variable-safety Fenyn 2026-08-07 08:26:37 -07:00
  • 5372dff9c1 DbCoreCharacter: Remove leftover m_respecAmountDOL 2026.08.15 Baptiste Marie 2026-08-07 10:13:16 +02:00
  • 8ec75a01b8 GamePlayer: Update GainRealmPoints to handle RR drop on RP loss Baptiste Marie 2026-08-07 10:10:41 +02:00
  • fb88fa1c8e GamePlayer: Remove RespectAmountDOL and related code Baptiste Marie 2026-08-07 10:02:53 +02:00
  • a17b43c6a5 GamePlayer: Update Reset to call RespecRealm Baptiste Marie 2026-08-07 09:57:51 +02:00
  • 905ad857cf Fix issue where dragging an equipped weapon into your inventory on another weapon and then swapping places would not make your weapon slot active 2026.08.14 Telchar 2026-08-06 23:16:02 -04:00
  • 5a6858f9fa DataObject: Fix memory leak caused by MemberwiseClone copying snapshot reference onto the next snapshot 2026.08.13 Baptiste Marie 2026-08-06 12:12:42 +02:00
  • c707d057fb AttackComponent: Fix memory leak caused by GameObject references being held longer than necessary * weaponAction is currently a non-pooled transcient object and should be set to null (holds a reference to the target) * _startAttackTarget was never cleared. * _broadcastExcludes was never cleared. Replaced with a pooled list. 2026.08.12 Baptiste Marie 2026-08-06 10:16:57 +02:00
  • 08c896ac00 Fix GameLiving.LastAttacker memory leak GameLiving.LastAttacker was never cleared and kept references of players until attacked again. To solve this, AttackerTracker now holds interrupt expire times and last attacker reference, and clears it via its internal timer. 2026.08.11 Baptiste Marie 2026-08-05 17:09:07 +02:00
  • ad17f2ba98 Revert f10712cf23 Causes issue with released charmed NPCs if multiple zone borders need to be crossed the linear interpolation tries to put an exit point into void space. I don't remember why this teleport was needed in the first place, since ABrain.Stop will already teleport the NPC if needed. 2026.08.10 Baptiste Marie 2026-08-05 06:49:57 +02:00
  • 09d642e795 Merge branch 'master' into fen/raid-encounters fen/raid-encounters Fenyn 2026-08-04 16:24:36 -07:00
  • 9af1a50adf first pass Fenyn 2026-08-04 16:20:13 -07:00
  • ac841e9f1c fix the weird patrol bosses 2026.08.9 Fenyn 2026-08-03 21:18:06 -07:00
  • a9061baa68 delete dead walktos Fenyn 2026-08-03 18:20:17 -07:00
  • 12872751a2 changed WalkTo to PathTo Fenyn 2026-08-03 18:06:46 -07:00
  • 0b581e3fb9 move many scripted mob's Die() to ProcessDeath(), and add despawn safety Fenyn 2026-08-03 15:33:25 -07:00
  • dfad601d29 clean up Xaga and related adds Fenyn 2026-08-03 12:07:32 -07:00
  • f13f176674 path cleanup torst and hurika Fenyn 2026-08-03 11:16:56 -07:00
  • abb420a996 path cleanup orey-eyed oghamist Fenyn 2026-08-03 11:16:48 -07:00
  • 0fbdbcb1a0 path cleanup spectral provisioner Fenyn 2026-08-03 11:16:38 -07:00
  • 9b86b74016 path cleanup skeletal sacristan Fenyn 2026-08-03 11:16:31 -07:00
  • cadc7b8c0a path cleanup host Fenyn 2026-08-03 11:16:23 -07:00
  • c2a55c5b98 path cleanup crypt lord Fenyn 2026-08-03 11:16:19 -07:00
  • 39cded9c2c path cleanup njessi Fenyn 2026-08-03 11:16:12 -07:00
  • b40a652c70 path cleanup eques Fenyn 2026-08-03 11:16:08 -07:00
  • cadc874a4a Add path creation helper Fenyn 2026-08-03 11:15:56 -07:00
  • f1327630dd Simplify how pets resume their "walk state" It was done in AttackMostWanted when no target could be found, but this was causing issues on Blackthorn where pets are meant to forget about their target if they stealth, because AttackMostWanted wasn't even called. 2026.08.8 Baptiste Marie 2026-08-04 17:08:03 +02:00
  • f09d3f499a filter IsAllowedToHelp prevention message to non pulse spells Fenyn 2026-08-03 21:21:30 -07:00
  • 3ed36581f3 readd respawn interval Fenyn 2026-08-03 21:21:03 -07:00
  • ab21033713 fix size scaling on removal Fenyn 2026-08-03 21:20:44 -07:00
  • 66dce16e96 fix encounter scaling w/ gm commands Fenyn 2026-08-03 21:20:07 -07:00
  • 1ec9f5d5c8 fix null reference Fenyn 2026-08-03 21:18:20 -07:00
  • cc62ec13ac add spawns tracked in encounters Fenyn 2026-08-03 19:05:54 -07:00
  • e56b5dbb9a track player login/logout for encounters Fenyn 2026-08-03 16:34:05 -07:00
  • e10da16750 scale NPCs on encounter size Fenyn 2026-08-03 16:33:52 -07:00
  • f87209523b remove shared code from realm dragons Fenyn 2026-08-03 16:32:53 -07:00
  • 0107e20a50 add shared Dragon classes Fenyn 2026-08-03 16:32:31 -07:00
  • a5aa99c42d add GM encounter command Fenyn 2026-08-03 16:31:56 -07:00
  • 429017572c track encounter activity and gate IsAllowedToHelp Fenyn 2026-08-03 16:31:42 -07:00
  • 24e2a4f142 add raidencounter and serverprops Fenyn 2026-08-03 16:30:49 -07:00
  • 2f4d26f708 add IsAllowedToHelp rule Fenyn 2026-08-03 16:30:11 -07:00
  • 787cf3a687 ignore build directory Fenyn 2026-08-03 21:30:39 -07:00
  • 742d313c8e fix the weird patrol bosses Fenyn 2026-08-03 21:18:06 -07:00
  • 30205227fd delete dead walktos Fenyn 2026-08-03 18:20:17 -07:00
  • 2f66f5a0c6 changed WalkTo to PathTo Fenyn 2026-08-03 18:06:46 -07:00
  • 3b5b67ab57 move many scripted mob's Die() to ProcessDeath(), and add despawn safety Fenyn 2026-08-03 15:33:25 -07:00
  • 38a87873a5 clean up Xaga and related adds Fenyn 2026-08-03 12:07:32 -07:00
  • 5da7d1e5ad path cleanup torst and hurika Fenyn 2026-08-03 11:16:56 -07:00
  • 22c8b2d55a path cleanup orey-eyed oghamist Fenyn 2026-08-03 11:16:48 -07:00
  • 86e05821a5 path cleanup spectral provisioner Fenyn 2026-08-03 11:16:38 -07:00
  • 98a0d410c1 path cleanup skeletal sacristan Fenyn 2026-08-03 11:16:31 -07:00
  • 5dc1e258ea path cleanup host Fenyn 2026-08-03 11:16:23 -07:00
  • 11f7ebd30e path cleanup crypt lord Fenyn 2026-08-03 11:16:19 -07:00
  • 92b8186859 path cleanup njessi Fenyn 2026-08-03 11:16:12 -07:00
  • 24b19751ae path cleanup eques Fenyn 2026-08-03 11:16:08 -07:00
  • 4fa6e2d2ed Add path creation helper Fenyn 2026-08-03 11:15:56 -07:00
  • f5b7769390 filter IsAllowedToHelp prevention message to non pulse spells fen/scripted-mob-cleanup2 Fenyn 2026-08-03 21:21:30 -07:00
  • e2e6c7317c readd respawn interval Fenyn 2026-08-03 21:21:03 -07:00
  • 62b32415ea fix size scaling on removal Fenyn 2026-08-03 21:20:44 -07:00
  • 0555954135 fix encounter scaling w/ gm commands Fenyn 2026-08-03 21:20:07 -07:00
  • b0da8e5166 fix null reference Fenyn 2026-08-03 21:18:20 -07:00
  • 9e65778fab fix the weird patrol bosses Fenyn 2026-08-03 21:18:06 -07:00
  • 9271bf57bb add spawns tracked in encounters Fenyn 2026-08-03 19:05:54 -07:00
  • dbdc2c7eb9 delete dead walktos Fenyn 2026-08-03 18:20:17 -07:00
  • 96d423e0c8 changed WalkTo to PathTo Fenyn 2026-08-03 18:06:46 -07:00
  • 978c9dd32b track player login/logout for encounters Fenyn 2026-08-03 16:34:05 -07:00
  • 853322237f scale NPCs on encounter size Fenyn 2026-08-03 16:33:52 -07:00
  • a7a0dbebc6 remove shared code from realm dragons Fenyn 2026-08-03 16:32:53 -07:00
  • e753451410 add shared Dragon classes Fenyn 2026-08-03 16:32:31 -07:00
  • 081a9be64f add GM encounter command Fenyn 2026-08-03 16:31:56 -07:00