Commit Graph

  • c3f4cc0e42 clean up mutex test Sky Johnson 2025-09-06 21:43:05 -05:00
  • a2183bf2d0 clean up debug Sky Johnson 2025-09-06 21:20:01 -05:00
  • 101c1217b2 Clean up common_defines Sky Johnson 2025-09-06 21:13:13 -05:00
  • 6ee4389b57 clean up crypto packages Sky Johnson 2025-09-06 21:11:34 -05:00
  • c97592e485 Update rc4.cpp Sky Johnson 2025-09-06 20:20:32 -05:00
  • 9ad949a760 sha512 first pass Sky Johnson 2025-09-06 19:02:03 -05:00
  • 53a84d3ca7 clean crypto and rc4 Sky Johnson 2025-09-06 18:48:40 -05:00
  • 4feb3ef685 move crypto to common/crypto Sky Johnson 2025-09-06 06:37:22 -05:00
  • d4585377af minimize copyright notices Sky Johnson 2025-09-05 21:35:27 -05:00
  • d00e7cce75 clean EQStream Sky Johnson 2025-08-31 22:51:17 -05:00
  • 7e9f7eb061 clean EQStreamFactory Sky Johnson 2025-08-31 22:18:35 -05:00
  • a8c533f012 clean EQPacket Sky Johnson 2025-08-31 22:10:29 -05:00
  • 6401247809 Chat channels (join channel, send messages) and house peering capabilities Emagi 2025-08-30 09:29:46 -04:00
  • 00698d3eb0 R_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
  • b961819115 Add GROUP log category to log_config.xml.example since it was missing previously Emagi 2025-08-30 06:35:52 -04:00
  • 0f66a136bc logging to track what group member helps us decide the zone instance we enter Emagi 2025-08-30 06:35:38 -04:00
  • dce6e16ddb clean up former unnecessary logging for vault/broker Emagi 2025-08-30 06:33:15 -04:00
  • 9871d5cee1 Update client.cpp Emagi 2025-08-27 22:12:50 -04:00
  • 4286879e08 heroic op spells are recognized as such with ProcessSpell (in_heroic_op) Emagi 2025-08-27 22:04:34 -04:00
  • 00ed1f99a9 Don't allow food/drink to be consumed while dead Emagi 2025-08-27 22:04:14 -04:00
  • f1c4a91b01 Enforce regen refresh after combat, avoid loot method being out of range Emagi 2025-08-27 07:42:20 -04:00
  • 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. Emagi 2025-08-26 09:00:59 -04:00
  • 1bc87d6617 LUA 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
  • 765a110732 assure we remove the spell from all targets even if the caster is not set/present Emagi 2025-08-21 08:59:48 -04:00
  • 14a03bf255 remove unnecessary logging / old comments unrelated or repetitive Emagi 2025-08-21 08:59:34 -04:00
  • 9c1b996b47 set logging level for player broker to debug level Emagi 2025-08-20 11:57:41 -04:00
  • e0356472d6 address respawning/zoning with wrong grid id Emagi 2025-08-20 11:55:15 -04:00
  • d593ceafff Added playerscripts lua function on_level_up_complete called at the end of level change Emagi 2025-08-18 17:44:12 -04:00
  • eb6da37e3b keep propertiesMutex only for the initial set attempt, not for Register/SetProperty Emagi 2025-08-18 15:12:41 -04:00
  • 9162692a9f don't process combat if player doesn't have a zone set Emagi 2025-08-18 14:57:50 -04:00
  • a117d6c3fd LUA Function RemoveCharacterProperty(Player, "somevar") to remove any set into the info struct dynamically Emagi 2025-08-18 13:57:49 -04:00
  • 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") Emagi 2025-08-18 13:56:53 -04:00
  • 05f5061c19 don't allow zone to shutdown while spawn process takes place, check by using MMasterSpawnLock first Emagi 2025-08-17 18:18:29 -04:00
  • 2858455d9d IsAggroed is redundant in these areas now since its based on engaged_encounter Emagi 2025-08-17 14:31:17 -04:00
  • 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, Emagi 2025-08-17 14:29:01 -04:00
  • 7869c2abcb PrintPacket cleanup Emagi 2025-08-17 10:50:33 -04:00
  • 4e077ed3d8 make sure the client GetCurrentZone pointer is valid for SendFriendList and SendChatRelationship Emagi 2025-08-17 10:44:51 -04:00
  • 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). Emagi 2025-08-17 08:46:42 -04:00
  • fd2a9566fe Disabled/Removed DumpPacket, Logging, Type-casting cleanup Emagi 2025-08-17 08:46:05 -04:00
  • 879a00676c Avoid CheckWards->DeleteCasterSpell->RemoveWard(LuaSpell) deadlocking Emagi 2025-08-17 06:19:12 -04:00
  • 9274bc9ced Don'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
  • 65aa15d70e Add 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
  • 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 Emagi 2025-08-16 18:46:23 -04:00
  • 1817dbe216 moved broker db loading to debug level to avoid noise on startup Emagi 2025-08-16 09:05:43 -04:00
  • 277cdc24bc protection around use of GetCurrentZone in client packets Emagi 2025-08-16 08:08:55 -04:00
  • 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 Emagi 2025-08-16 07:43:58 -04:00
  • dbbb1d4015 Update ConfigReader.cpp Emagi 2025-08-15 21:47:00 -04:00
  • 24f5a566ae Assure HearDispell is not accidentally sent to old clients causing a crash Emagi 2025-08-15 21:06:36 -04:00
  • 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 Emagi 2025-08-15 21:06:21 -04:00
  • c38eab8325 extend player check logic from groups to raids Emagi 2025-08-15 19:06:45 -04:00
  • 231ce9e9bb break out of the for loop if we successfully find the instance Emagi 2025-08-15 18:19:28 -04:00
  • 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 Emagi 2025-08-15 18:17:58 -04:00
  • 653d504c8d added 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
  • fa44363a97 added aura vision as vision 5 Emagi 2025-08-15 18:16:59 -04:00
  • 69f257303d added int32 redlight, greenlight, bluelight into info struct for character sheet spell state colors Emagi 2025-08-14 17:44:28 -04:00
  • 8d8aa020dd support ultravision, infravision, sonicvision and fishvision in KoS, DoF and earlier classic clients Emagi 2025-08-14 17:17:54 -04:00
  • 2dedddabf0 don'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
  • 097ee61ea4 item stat 624 (hate gain % mod) now supported Emagi 2025-08-14 09:06:17 -04:00
  • a7260e9f72 Keep 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
  • 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 Emagi 2025-08-10 17:15:33 -04:00
  • 2515b55e56 Disable the zone enter timer until we need it later on in the client process Emagi 2025-08-09 10:30:05 -04:00
  • 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. Emagi 2025-08-09 08:36:44 -04:00
  • 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) Emagi 2025-08-08 19:46:36 -04:00
  • dded41a000 protect DeleteCasterSpell since spell->spell may be nullptr Emagi 2025-08-08 16:36:57 -04:00
  • a663178bda Address issue with spawns getting stuck when using MoveToLocation Emagi 2025-08-08 16:14:00 -04:00
  • 4d0ef974ae On 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
  • 480086d85d Fix 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
  • 25325477ab Fixed loading player scripts for zones by their zones table name parameter Emagi 2025-08-02 15:42:36 -04:00
  • baf74d0bdd Added 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
  • 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) Emagi 2025-07-31 18:38:39 -04:00
  • 6e25f0062f Segmented queries and query escaped the character name (in case) Emagi 2025-07-31 18:36:36 -04:00
  • b7f56e3b73 Prevent accessing spawn list outside of read lock, removal of pending spawn removals (redundant) Emagi 2025-07-31 13:23:42 -04:00
  • 9ef48d3bab limiting spawn list write lock further Emagi 2025-07-30 19:15:47 -04:00
  • 8f47a27b1d better DB inserting of the query to not move around the char array later Emagi 2025-07-30 08:44:01 -04:00
  • 74fa672e65 enforce 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
  • e1a759a1a2 this 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
  • 9e255408ce misc cleanup Emagi 2025-07-29 18:44:34 -04:00
  • 020058b395 LUA Functions Added, AttackAllowed, IsInRaid, InSameRaid, GetRaid Emagi 2025-07-27 17:40:05 -04:00
  • 8838ca9b2b Don't send message to players when we can't update shop window Emagi 2025-07-27 17:39:28 -04:00
  • 9f7a0d0e53 use the seller_cid not the seller ptr Emagi 2025-07-26 07:26:02 -04:00
  • f60d261f00 Vault, Broker support for DoF, KoS, AoM. Shop support for DoF, KoS. Emagi 2025-07-26 07:10:07 -04:00
  • 21052e3289 Found 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
  • 9f129586fb make sure to memset if the house item info isn't set properly in the database Emagi 2025-07-08 13:41:49 -04:00
  • 878c422c0f Support 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
  • b0f24aea5d small comments + gnu cleanup Emagi 2025-07-04 07:48:40 -04:00
  • cb5371793e reduce MSpawnList writelock from outside the for loop Emagi 2025-07-02 14:50:01 -04:00
  • 9e1f77e28e HTTP Persistence for world client/server peering Emagi 2025-07-01 20:24:15 -04:00
  • 93b7620364 Need 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
  • 40e83f5e2d Redesign of ZoneServer::DeleteSpawns to avoid deadlocks Emagi 2025-07-01 07:39:51 -04:00
  • 398a4ef1f4 Fixed target type 9 (AE other groups) like Shout getting implied or proper targets Emagi 2025-07-01 07:39:16 -04:00
  • bc925887ad Fixed missing return for /activequery Emagi 2025-06-30 11:16:01 -04:00
  • 1ba65aba78 DB async query synching to peers, code/logging cleanup Emagi 2025-06-29 14:03:23 -04:00
  • 2a133292b0 Deadlock fix for adding pending spawns, zoneserver.cpp cleanup Emagi 2025-06-29 06:48:30 -04:00
  • 260a48be1e Fix #38 address issues with food/drink cross zone Emagi 2025-06-26 18:27:35 -04:00
  • 11a6a80647 Fixed CheckRemoveTargetFromSpell we should handle RemoveSpawnFromSpell outside MRemoveTargetList lock Emagi 2025-06-23 13:19:12 -04:00
  • e54ed5e730 make sure spell data exists for the spell to check detrimental Emagi 2025-06-22 13:41:18 -04:00
  • a8eb9c9ebc Extensive changes to remove SpellTargets write and read mutex locks to avoi ddeadlocks Emagi 2025-06-22 13:20:07 -04:00
  • 6b0f551552 fix 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
  • c25ac12cd6 Make sure all spell references are removed when a spell is removed from an entity Emagi 2025-06-21 21:13:45 -04:00
  • 31e8f782ce MoveInZone 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