28 Commits

Author SHA1 Message Date
Emagi
097ee61ea4 item stat 624 (hate gain % mod) now supported 2025-08-14 09:06:17 -04:00
Emagi
2f558184b9 added proc type 20 (physical attack damage attempt) and type 21 (magical attack damage attempt) -- these will serve as attempts to hit, not requiring a successful hit 2025-08-10 17:15:33 -04:00
Emagi
b7f56e3b73 Prevent accessing spawn list outside of read lock, removal of pending spawn removals (redundant) 2025-07-31 13:23:42 -04:00
Emagi
f4eb56e978 Clean up of RangeAttack a bit more 2025-06-15 19:13:29 -04:00
Emagi
8aae88ca4f Fix #32 do not reference ammo pointer after deleting item 2025-06-14 08:02:49 -04:00
Emagi
9038e3a2ff Fixed a deadlock if a spell ward had redirect damage for self, it kept looping into CheckWards on the victim 2025-06-12 14:46:42 -04:00
Emagi
82a5e96000 Work in progress for 0.9.9 so far (making its own branch for now)
- Fixed a repeated rubberband like behavior that Spawn's would run forward toward their target in combat or on their return run to their starting point.
- WS_HearCastSpell for 546-561 version has an extra byte at the end of the packet we were missing (might be in later clients too have to confirm)
- PlayerScripts support added, new function calls, AddTimer support for Players.
- Static Zones / Special Zones will now silently check to startup zones without reporting the log message, log message only on startup or taking on peer leadership.
- Broadcast and Global Announcement are now supported through peering.
- Fix #22 identified a number of loose spawn pointers and changed to int32 spawn id reference.
- Fix #1 support for all known chat codes for various channels, spell casting and damage.
- In conjunction with Fix #1 spell combat messages are fixed, no longer 'YOU cast' when another spawn casts, added last_tell_name to track the chat code %RT server side.
- size_mod added to InfoStruct Float, supports shrinking and growing Non Player's. InfoStruct also has a UINT ignore_size_mod_calc set to 0 by default, when 1 it will let you set the size_mod and items/spells will not override it from stat calculation.
- XP Table is now static (global) in the Player class so we do not constantly call the database each time the player needs to know a level's XP requirement.
- Removal of duplicate spell cast success and effect messages.
- Fix #21 blue xp bar for KoS and DoF displays properly now.
- GetExpRequiredByLevel(level) added to return the EXP required for to reach the level.
- Fix #25 teleporters cleaned up during /reload spawns to avoid crash
- Fix #16 /reload items supported in peering mode.
2025-06-08 14:53:52 -04:00
Emagi
8cd6008ba6 Fix #20 Pet back off now immediate, attacks despite pet behavior of protection 2025-05-31 10:22:34 -04:00
Emagi
80f56f68c4 Make sure a spawn that is available gets locked into the encounter if the encounter size is 0. 2025-05-30 10:27:34 -04:00
Emagi
83b48e3770 Fix #12 support for public spawns, lockable_encounter int8 in info struct default 1, when set to 0 public spawn all can attack no locked encounter 2025-04-26 08:15:15 -04:00
Emagi
63062737ac PVP rules for bind zone alignment (PVPType = 1) or SetAlignment from lua (PVPType = 2) 2025-03-03 21:36:57 -05:00
Emagi
ae0b6c4b04 proc_ext function in Spells now includes InitialCaster as a fifth argument, eg function proc_ext(Caster, Target, Type, DamageType, InitialCaster) 2025-02-23 13:12:04 -05:00
Emagi
1342bc5af8 Update Combat.cpp 2025-01-22 11:37:50 -05:00
Emagi
e9936f1c80 script protection on spells against reuse of the lua state between proc / other spell processes 2025-01-18 18:54:10 -05:00
Emagi
d775c1ece5 be a bit more generous on the scale factor 2025-01-14 14:56:53 -05:00
Emagi
6f36c96a4a revert + reupload fix resistibility factor for higher tiers, properly clamp the resistibility also 2025-01-14 14:00:37 -05:00
Emagi
cd64a84d40 Revert "fix resistibility factor for higher tiers"
This reverts commit e1a02a3ef73106484c3063910bcc2d9e21645315.
2025-01-14 13:59:30 -05:00
Emagi
ff7753528d Revert "have a slightly lower pivot point to avoid negative values since most resistibility is set to >=.65"
This reverts commit 14b0a118d627a314ecebf3a723b33226a8b14f52.
2025-01-14 13:59:24 -05:00
Emagi
14b0a118d6 have a slightly lower pivot point to avoid negative values since most resistibility is set to >=.65 2025-01-14 13:57:01 -05:00
Emagi
e1a02a3ef7 fix resistibility factor for higher tiers 2025-01-14 13:50:19 -05:00
Emagi
d03c86efef CheckEncounterState behavior added 2024-11-27 17:17:26 -05:00
Emagi
e4fc6aad5a Zone ruleset_id support for most rules 2024-10-20 09:35:41 -04:00
Emagi
591b83a0ac Update Combat.cpp 2024-09-28 09:05:27 -04:00
Emagi
dc1430d52e updates
- runback now primarily uses nav even with line of sight with destination due to falling off bridges
- NPC stop attacking each other - Can't add to encounter when part of spawn group, can't add hate.
- WS_EnterCombat omitted for KoS and earlier clients not a packet
2024-09-28 09:00:42 -04:00
Emagi
48ee02ea90 Fix proc to pop from the stack if isfunction call fails. 2024-09-25 06:52:43 -04:00
Emagi
14003ee3a4 LUA Spell Scripts updated to have a queue much like SpawnScripts, but extended to LuaSpell for tracking procs and lifetime of the lua state
Need to avoid crashes/overrun of the lua stack.
2024-09-04 06:44:04 -04:00
Emagi
56e43288bf function call fixes and resets for procs / call spell process 2024-09-02 19:14:44 -04:00
Emagi
89194da149 EQ2Emu Source Base July 2024 2024-07-22 08:52:28 -04:00