a8c533f012
clean EQPacket
2025-08-31 22:10:29 -05:00
Emagi
6401247809
Chat channels (join channel, send messages) and house peering capabilities
2025-08-30 09:29:46 -04:00
Emagi
00698d3eb0
R_Player, ForceCommonerFarJourney = 1 set to enforce ccommoner for AoM clients on login, set to 0 for KoS+ style
2025-08-30 09:26:53 -04:00
Emagi
b961819115
Add GROUP log category to log_config.xml.example since it was missing previously
2025-08-30 06:35:52 -04:00
Emagi
0f66a136bc
logging to track what group member helps us decide the zone instance we enter
2025-08-30 06:35:38 -04:00
Emagi
dce6e16ddb
clean up former unnecessary logging for vault/broker
2025-08-30 06:33:15 -04:00
Emagi
9871d5cee1
Update client.cpp
2025-08-27 22:12:50 -04:00
Emagi
4286879e08
heroic op spells are recognized as such with ProcessSpell (in_heroic_op)
2025-08-27 22:04:34 -04:00
Emagi
00ed1f99a9
Don't allow food/drink to be consumed while dead
2025-08-27 22:04:14 -04:00
Emagi
f1c4a91b01
Enforce regen refresh after combat, avoid loot method being out of range
2025-08-27 07:42:20 -04:00
Emagi
3045b15f88
ZoneServer::KillSpawnByDistance deadlock fixed by calling outside of grid mutex lock. Killing spawn resulted in dropping loot chest, then Entity::DropChest calls SetLocation which calls AddSpawnToGrid causing deadlock.
2025-08-26 09:00:59 -04:00
Emagi
1bc87d6617
LUA RemoveSpell(Spawn, spell_id, ..) added, Illusion is a control effect, Redesign of control effects, immunities, effect flags away from mutex lists
...
RemoveSpell(Spawn, SpellID, MaintainedSpell, ReasonString) - maintainedspell is a boolean, default false it will remove an effect (per target) otherwise setting to true will remove the entire spell, maintained, if that is the caster. Reason String is "canceled" by default unless overwritten
Illusions made to a control effect so we can enforce an existing illusion
2025-08-25 09:18:34 -04:00
Emagi
765a110732
assure we remove the spell from all targets even if the caster is not set/present
2025-08-21 08:59:48 -04:00
Emagi
14a03bf255
remove unnecessary logging / old comments unrelated or repetitive
2025-08-21 08:59:34 -04:00
Emagi
9c1b996b47
set logging level for player broker to debug level
2025-08-20 11:57:41 -04:00
Emagi
e0356472d6
address respawning/zoning with wrong grid id
2025-08-20 11:55:15 -04:00
Emagi
d593ceafff
Added playerscripts lua function on_level_up_complete called at the end of level change
...
returning -1 in the global.lua for on_level_up_complete will abort the zone script if necessary
2025-08-18 17:44:12 -04:00
Emagi
eb6da37e3b
keep propertiesMutex only for the initial set attempt, not for Register/SetProperty
2025-08-18 15:12:41 -04:00
Emagi
9162692a9f
don't process combat if player doesn't have a zone set
2025-08-18 14:57:50 -04:00
Emagi
a117d6c3fd
LUA Function RemoveCharacterProperty(Player, "somevar") to remove any set into the info struct dynamically
2025-08-18 13:57:49 -04:00
Emagi
fae7cf7773
character properties not hard coded are now dynamically fed into the info struct string, we can now SetInfoStruct(Player, "somevar", "avalue") and it will save to the DB to persist cross zone with GetInfoStruct(Player, "somevar")
2025-08-18 13:56:53 -04:00
Emagi
05f5061c19
don't allow zone to shutdown while spawn process takes place, check by using MMasterSpawnLock first
2025-08-17 18:18:29 -04:00
Emagi
2858455d9d
IsAggroed is redundant in these areas now since its based on engaged_encounter
2025-08-17 14:31:17 -04:00
Emagi
8f402eb781
IsAggroed now defers to info struct for engaged_encounter to assure we are in/out of combat for various game instructions. Add /spawn details hated to show hated by list for players/entities,
2025-08-17 14:29:01 -04:00
Emagi
7869c2abcb
PrintPacket cleanup
2025-08-17 10:50:33 -04:00
Emagi
4e077ed3d8
make sure the client GetCurrentZone pointer is valid for SendFriendList and SendChatRelationship
2025-08-17 10:44:51 -04:00
Emagi
c5e9adc069
Support SLOW item stat (percentage, ideally 1.0 - 100.0%). If enough slow stacks then it will immobilize the entity completely (could not find any classic limit).
2025-08-17 08:46:42 -04:00
Emagi
fd2a9566fe
Disabled/Removed DumpPacket, Logging, Type-casting cleanup
2025-08-17 08:46:05 -04:00
Emagi
879a00676c
Avoid CheckWards->DeleteCasterSpell->RemoveWard(LuaSpell) deadlocking
2025-08-17 06:19:12 -04:00
Emagi
9274bc9ced
Don't allow the target lists to build up existing entries so as to overload the DB
2025-08-16 19:56:19 -04:00
Emagi
65aa15d70e
Add HP and Power Regen to the /spawn details view below base stats STR, STA, so on.
2025-08-16 18:46:47 -04:00
Emagi
a30996efd1
Fix having the item unique id for food/drink set BEFORE consuming item as it could be deleted after due to no more count
2025-08-16 18:46:23 -04:00
Emagi
1817dbe216
moved broker db loading to debug level to avoid noise on startup
2025-08-16 09:05:43 -04:00
Emagi
277cdc24bc
protection around use of GetCurrentZone in client packets
2025-08-16 08:08:55 -04:00
Emagi
807b7f254b
Avoid crashing when HandleHouseEntityCommands is called with no current zone, make sure zone id and instance id are set immediately when zoning in the group member info
2025-08-16 07:43:58 -04:00
Emagi
dbbb1d4015
Update ConfigReader.cpp
2025-08-15 21:47:00 -04:00
Emagi
24f5a566ae
Assure HearDispell is not accidentally sent to old clients causing a crash
2025-08-15 21:06:36 -04:00
Emagi
093cba8c37
WS_HearDispell wasn't added until past KoS, the code isn't properly rejecting the packet based on missing opcode so fixing version on the struct
2025-08-15 21:06:21 -04:00
Emagi
c38eab8325
extend player check logic from groups to raids
2025-08-15 19:06:45 -04:00
Emagi
231ce9e9bb
break out of the for loop if we successfully find the instance
2025-08-15 18:19:28 -04:00
Emagi
8a4eacdb70
Fixed when a client/player was transitioning and we couldn't establish their zone correctly, pull it based on their instance id from the zone list
2025-08-15 18:17:58 -04:00
Emagi
653d504c8d
added tracking of spell recast when player zones so we know not to re-add buffs to existing players
2025-08-15 18:17:33 -04:00
Emagi
fa44363a97
added aura vision as vision 5
2025-08-15 18:16:59 -04:00
Emagi
69f257303d
added int32 redlight, greenlight, bluelight into info struct for character sheet spell state colors
2025-08-14 17:44:28 -04:00
Emagi
8d8aa020dd
support ultravision, infravision, sonicvision and fishvision in KoS, DoF and earlier classic clients
2025-08-14 17:17:54 -04:00
Emagi
2dedddabf0
don't limit the hate to 1 or higher since we can return negative values for calculating hate amount
2025-08-14 09:49:16 -04:00
Emagi
097ee61ea4
item stat 624 (hate gain % mod) now supported
2025-08-14 09:06:17 -04:00
Emagi
a7260e9f72
Keep player at same Y position and grid_id (added new column to characters table) to address falling through objects after logging out
...
DB Update:
alter table characters add column grid_id int(10) unsigned not null default 0;
2025-08-13 09:57:27 -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
2515b55e56
Disable the zone enter timer until we need it later on in the client process
2025-08-09 10:30:05 -04:00