6401247809Chat channels (join channel, send messages) and house peering capabilities
Emagi
2025-08-30 09:29:46 -04:00
00698d3eb0R_Player, ForceCommonerFarJourney = 1 set to enforce ccommoner for AoM clients on login, set to 0 for KoS+ style
Emagi
2025-08-30 09:26:53 -04:00
b961819115Add GROUP log category to log_config.xml.example since it was missing previously
Emagi
2025-08-30 06:35:52 -04:00
0f66a136bclogging to track what group member helps us decide the zone instance we enter
Emagi
2025-08-30 06:35:38 -04:00
dce6e16ddbclean up former unnecessary logging for vault/broker
Emagi
2025-08-30 06:33:15 -04:00
4286879e08heroic op spells are recognized as such with ProcessSpell (in_heroic_op)
Emagi
2025-08-27 22:04:34 -04:00
00ed1f99a9Don't allow food/drink to be consumed while dead
Emagi
2025-08-27 22:04:14 -04:00
f1c4a91b01Enforce regen refresh after combat, avoid loot method being out of range
Emagi
2025-08-27 07:42:20 -04:00
3045b15f88ZoneServer::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.
Emagi
2025-08-26 09:00:59 -04:00
1bc87d6617LUA RemoveSpell(Spawn, spell_id, ..) added, Illusion is a control effect, Redesign of control effects, immunities, effect flags away from mutex lists
Emagi
2025-08-25 09:18:34 -04:00
765a110732assure we remove the spell from all targets even if the caster is not set/present
Emagi
2025-08-21 08:59:48 -04:00
14a03bf255remove unnecessary logging / old comments unrelated or repetitive
Emagi
2025-08-21 08:59:34 -04:00
9c1b996b47set logging level for player broker to debug level
Emagi
2025-08-20 11:57:41 -04:00
e0356472d6address respawning/zoning with wrong grid id
Emagi
2025-08-20 11:55:15 -04:00
d593ceafffAdded playerscripts lua function on_level_up_complete called at the end of level change
Emagi
2025-08-18 17:44:12 -04:00
eb6da37e3bkeep propertiesMutex only for the initial set attempt, not for Register/SetProperty
Emagi
2025-08-18 15:12:41 -04:00
9162692a9fdon't process combat if player doesn't have a zone set
Emagi
2025-08-18 14:57:50 -04:00
a117d6c3fdLUA Function RemoveCharacterProperty(Player, "somevar") to remove any set into the info struct dynamically
Emagi
2025-08-18 13:57:49 -04:00
fae7cf7773character 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")
Emagi
2025-08-18 13:56:53 -04:00
05f5061c19don't allow zone to shutdown while spawn process takes place, check by using MMasterSpawnLock first
Emagi
2025-08-17 18:18:29 -04:00
2858455d9dIsAggroed is redundant in these areas now since its based on engaged_encounter
Emagi
2025-08-17 14:31:17 -04:00
8f402eb781IsAggroed 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,
Emagi
2025-08-17 14:29:01 -04:00
4e077ed3d8make sure the client GetCurrentZone pointer is valid for SendFriendList and SendChatRelationship
Emagi
2025-08-17 10:44:51 -04:00
c5e9adc069Support 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).
Emagi
2025-08-17 08:46:42 -04:00
9274bc9cedDon't allow the target lists to build up existing entries so as to overload the DB
Emagi
2025-08-16 19:56:19 -04:00
65aa15d70eAdd HP and Power Regen to the /spawn details view below base stats STR, STA, so on.
Emagi
2025-08-16 18:46:47 -04:00
a30996efd1Fix having the item unique id for food/drink set BEFORE consuming item as it could be deleted after due to no more count
Emagi
2025-08-16 18:46:23 -04:00
1817dbe216moved broker db loading to debug level to avoid noise on startup
Emagi
2025-08-16 09:05:43 -04:00
277cdc24bcprotection around use of GetCurrentZone in client packets
Emagi
2025-08-16 08:08:55 -04:00
807b7f254bAvoid 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
Emagi
2025-08-16 07:43:58 -04:00
24f5a566aeAssure HearDispell is not accidentally sent to old clients causing a crash
Emagi
2025-08-15 21:06:36 -04:00
093cba8c37WS_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
Emagi
2025-08-15 21:06:21 -04:00
c38eab8325extend player check logic from groups to raids
Emagi
2025-08-15 19:06:45 -04:00
231ce9e9bbbreak out of the for loop if we successfully find the instance
Emagi
2025-08-15 18:19:28 -04:00
8a4eacdb70Fixed 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
Emagi
2025-08-15 18:17:58 -04:00
653d504c8dadded tracking of spell recast when player zones so we know not to re-add buffs to existing players
Emagi
2025-08-15 18:17:33 -04:00
fa44363a97added aura vision as vision 5
Emagi
2025-08-15 18:16:59 -04:00
69f257303dadded int32 redlight, greenlight, bluelight into info struct for character sheet spell state colors
Emagi
2025-08-14 17:44:28 -04:00
8d8aa020ddsupport ultravision, infravision, sonicvision and fishvision in KoS, DoF and earlier classic clients
Emagi
2025-08-14 17:17:54 -04:00
2dedddabf0don't limit the hate to 1 or higher since we can return negative values for calculating hate amount
Emagi
2025-08-14 09:49:16 -04:00
097ee61ea4item stat 624 (hate gain % mod) now supported
Emagi
2025-08-14 09:06:17 -04:00
a7260e9f72Keep player at same Y position and grid_id (added new column to characters table) to address falling through objects after logging out
Emagi
2025-08-13 09:57:27 -04:00
2f558184b9added 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
Emagi
2025-08-10 17:15:33 -04:00
2515b55e56Disable the zone enter timer until we need it later on in the client process
Emagi
2025-08-09 10:30:05 -04:00
5d1dbf962dZone 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.
Emagi
2025-08-09 08:36:44 -04:00
1c61c95f4aFixed 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)
Emagi
2025-08-08 19:46:36 -04:00
dded41a000protect DeleteCasterSpell since spell->spell may be nullptr
Emagi
2025-08-08 16:36:57 -04:00
a663178bdaAddress issue with spawns getting stuck when using MoveToLocation
Emagi
2025-08-08 16:14:00 -04:00
4d0ef974aeOn zone shutdown purge all spells pending to be deleted so we do not reference dead spell->zone ptr
Emagi
2025-08-08 14:40:30 -04:00
480086d85dFix allowing equipment during engagement based on the engaged_encounter info struct, not the engagedincombat (melee attack enabled flag)
Emagi
2025-08-08 14:39:56 -04:00
25325477abFixed loading player scripts for zones by their zones table name parameter
Emagi
2025-08-02 15:42:36 -04:00
baf74d0bddAdded LUA Function to adjust hate position up or down: AdjustHatePosition(Caster, NPC, Increase) increase is boolean, true to increase, false to decrease
Emagi
2025-08-02 06:35:03 -04:00
6a6573e339Addressing 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)
Emagi
2025-07-31 18:38:39 -04:00
6e25f0062fSegmented queries and query escaped the character name (in case)
Emagi
2025-07-31 18:36:36 -04:00
b7f56e3b73Prevent accessing spawn list outside of read lock, removal of pending spawn removals (redundant)
Emagi
2025-07-31 13:23:42 -04:00
9ef48d3bablimiting spawn list write lock further
Emagi
2025-07-30 19:15:47 -04:00
8f47a27b1dbetter DB inserting of the query to not move around the char array later
Emagi
2025-07-30 08:44:01 -04:00
74fa672e65enforce attempting a DB deleting on broker, even if the item does not exist in the broker memory
Emagi
2025-07-30 08:20:45 -04:00
e1a759a1a2this seems to be better behavior with ASAN due to not constant locking/unlocking the spawn list..
Emagi
2025-07-29 19:25:26 -04:00
8838ca9b2bDon't send message to players when we can't update shop window
Emagi
2025-07-27 17:39:28 -04:00
9f7a0d0e53use the seller_cid not the seller ptr
Emagi
2025-07-26 07:26:02 -04:00
f60d261f00Vault, Broker support for DoF, KoS, AoM. Shop support for DoF, KoS.
Emagi
2025-07-26 07:10:07 -04:00
21052e3289Found the vault_slots setting in character sheet for the house, also fixed the upkeep display for the house in DoF/KoS clients
Emagi
2025-07-10 10:04:29 -04:00
9f129586fbmake sure to memset if the house item info isn't set properly in the database
Emagi
2025-07-08 13:41:49 -04:00
878c422c0fSupport house containers being placed inside house. Need to have an appearance set with equip_type as model type/id
Emagi
2025-07-08 10:32:56 -04:00
b0f24aea5dsmall comments + gnu cleanup
Emagi
2025-07-04 07:48:40 -04:00
cb5371793ereduce MSpawnList writelock from outside the for loop
Emagi
2025-07-02 14:50:01 -04:00
9e1f77e28eHTTP Persistence for world client/server peering
Emagi
2025-07-01 20:24:15 -04:00
93b7620364Need to also track the not deleted to re-add after attempting a DeleteSpawns loop, need to also release the read lock if we continue
Emagi
2025-07-01 07:54:58 -04:00
40e83f5e2dRedesign of ZoneServer::DeleteSpawns to avoid deadlocks
Emagi
2025-07-01 07:39:51 -04:00
398a4ef1f4Fixed target type 9 (AE other groups) like Shout getting implied or proper targets
Emagi
2025-07-01 07:39:16 -04:00
bc925887adFixed missing return for /activequery
Emagi
2025-06-30 11:16:01 -04:00
260a48be1eFix#38 address issues with food/drink cross zone
Emagi
2025-06-26 18:27:35 -04:00
11a6a80647Fixed CheckRemoveTargetFromSpell we should handle RemoveSpawnFromSpell outside MRemoveTargetList lock
Emagi
2025-06-23 13:19:12 -04:00
e54ed5e730make sure spell data exists for the spell to check detrimental
Emagi
2025-06-22 13:41:18 -04:00
a8eb9c9ebcExtensive changes to remove SpellTargets write and read mutex locks to avoi ddeadlocks
Emagi
2025-06-22 13:20:07 -04:00
6b0f551552fix mishandling of the ProcessSpell return, we need to return false if we fail to call the lua function correctly
Emagi
2025-06-22 08:55:11 -04:00
c25ac12cd6Make sure all spell references are removed when a spell is removed from an entity
Emagi
2025-06-21 21:13:45 -04:00
31e8f782ceMoveInZone was causing inconsistencies since client was desyncing, we will do a full zone, fixed CheckTransporters to not send you to safe location
Emagi
2025-06-21 21:13:14 -04:00