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 |
|
Emagi
|
5d1dbf962d
|
Zone in process for player is now delayed until player is no longer on pending spawn list, assures player_entry is called after and spells bonuses are properly assigned to the player.
|
2025-08-09 08:36:44 -04:00 |
|
Emagi
|
1c61c95f4a
|
Fixed if we do not call obtained (potential of removing item) we skip the item_deleted task because the item could not have been deleted (and there is no lua data to validate it anyway since the runitemscript failed)
|
2025-08-08 19:46:36 -04:00 |
|
Emagi
|
dded41a000
|
protect DeleteCasterSpell since spell->spell may be nullptr
|
2025-08-08 16:36:57 -04:00 |
|
Emagi
|
a663178bda
|
Address issue with spawns getting stuck when using MoveToLocation
|
2025-08-08 16:14:00 -04:00 |
|
Emagi
|
4d0ef974ae
|
On zone shutdown purge all spells pending to be deleted so we do not reference dead spell->zone ptr
|
2025-08-08 14:40:30 -04:00 |
|
Emagi
|
480086d85d
|
Fix allowing equipment during engagement based on the engaged_encounter info struct, not the engagedincombat (melee attack enabled flag)
|
2025-08-08 14:39:56 -04:00 |
|
Emagi
|
25325477ab
|
Fixed loading player scripts for zones by their zones table name parameter
|
2025-08-02 15:42:36 -04:00 |
|
Emagi
|
baf74d0bdd
|
Added LUA Function to adjust hate position up or down: AdjustHatePosition(Caster, NPC, Increase) increase is boolean, true to increase, false to decrease
|
2025-08-02 06:35:03 -04:00 |
|
Emagi
|
6a6573e339
|
Addressing a number of coincidental lock conditions with removing a dead spawn (out of order), clearing hate (deadlock due to early dead spawn removal), saving a player to database (before player loaded)
|
2025-07-31 18:38:39 -04:00 |
|
Emagi
|
6e25f0062f
|
Segmented queries and query escaped the character name (in case)
|
2025-07-31 18:36:36 -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
|
9ef48d3bab
|
limiting spawn list write lock further
|
2025-07-30 19:15:47 -04:00 |
|