Commit graph

  • 6651d51071 Create wiki.zip main Emagi 2025-09-27 08:02:14 -04:00
  • a42ffb635f Update README.md Emagi 2025-09-27 07:32:21 -04:00
  • 24d44cffb4 don't allow ChangeLevel function to move forward unless we are in zone and have the zone set Emagi 2025-09-12 18:53:30 -04:00
  • ad15d1def4
    Merge pull request #54 from Techwizz-somboo/ld-flag emagi 2025-09-11 08:34:15 -04:00
  • d2c9c7880d
    Merge pull request #55 from Techwizz-somboo/makefile emagi 2025-09-11 08:29:27 -04:00
  • 6180fe7b35 Bad database handling, we don't accept more than 255 rows, we don't use the right functions for a select query Emagi 2025-09-10 20:32:03 -04:00
  • 485c5b25cb Log if we error loading spells Emagi 2025-09-10 20:31:42 -04:00
  • 829a975949 don't send client spawn updates until they are connected to zone and spawn structs are set Emagi 2025-09-10 20:31:33 -04:00
  • b6f2694de1 handle possible condition where the orig packet sizing is larger than the xor Emagi 2025-09-07 19:04:50 -04:00
  • 5139e0cf20 resize original packets for XOR packet encoding to avoid buffer overrun Emagi 2025-09-07 16:35:12 -04:00
  • e3c63fe8e3 Fix missing column being pulled (lua_script) Emagi 2025-09-07 16:34:49 -04:00
  • f2d0f96885 Attempt #2 Char Sheet, Pet Sheet, Raid Sheet XOR Packet Handling Fixes Emagi 2025-09-07 11:08:26 -04:00
  • 273d56003d temporarily reverting (I was testing on the wrong instance and didn't test changes) Emagi 2025-09-07 10:13:13 -04:00
  • 1afc31b4b5 Char Sheet, Pet Sheet, Raid Sheet XOR Packet Handling Fixes Emagi 2025-09-07 10:06:05 -04:00
  • 923d548d7f fix mysql gone away and reconnect fail, we need pStatus to error so next time around we try opening the connection Emagi 2025-09-07 07:38:35 -04:00
  • 2ae1fb5d6d Updated /zone active command to contain more data (such as shutdown timer being enabled and remaining time to shutdown). World peers will not attempt to offer clients use of zones that are moving to a shutdown state. Emagi 2025-09-05 11:07:54 -04:00
  • 17aeb38adc Remove unnecessary tracking of zone pointers in the Client as well as not setting the destination zone until after client reconnects (it was setting it in Zone and ReadyToZone before client actually went to the new zone) Emagi 2025-09-05 10:41:39 -04:00
  • 32c6809d8c need to keep a counter track of the function calls in case multiple clients are involved at one time Emagi 2025-09-05 10:16:13 -04:00
  • 933b981e46 don't start the shutdown timer if zone shutdown is not permitted Emagi 2025-09-05 09:56:25 -04:00
  • 08bfc9d51b Discontinue shutdown timer if player is entering zone, additionally block zones shutting down while we are serving up a response to the client Emagi 2025-09-05 08:24:07 -04:00
  • 825c581e1a Protection around process combat or heroic ops while zoning or not in zone to address Issue #56 Emagi 2025-09-04 08:33:10 -04:00
  • fbd633ff07 don't retrieve details from a zone that is shutting down Emagi 2025-09-03 15:33:41 -04:00
  • 456d6a7df7 assure client ptr is accurate with the player it inherits Emagi 2025-09-03 15:26:21 -04:00
  • 83c3c3aa55 Collecting -> collect needs hardcode since GetHarvestMessageName strangely overrides it to gather (intentionally?) Emagi 2025-09-03 10:51:55 -04:00
  • a2eff7f79e apparently foresting / forest and "chop" are a special condition.. Emagi 2025-09-03 09:39:18 -04:00
  • 9f43091147 Assure all ground spawns can be double clicked instead of requiring right click to harvest/collect on old clients (KoS and earlier) Emagi 2025-09-03 09:21:18 -04:00
  • f3465063f6 Update world server makefile include paths. Paul Black 2025-09-02 12:40:19 -06:00
  • 5b3ee47ba2 Added -llua5.4 as a LD_FLAG for Debian 13 Paul Black 2025-09-02 12:43:47 -06:00
  • 902a5adbe5
    Merge pull request #52 from Techwizz-somboo/main emagi 2025-09-02 14:10:40 -04:00
  • 561c35753f Fixed build on Debian 13, libboost 1.83, gcc 14.2.0 Paul Black 2025-09-02 11:48:39 -06:00
  • 207a857d74 LUA Function to limit kill updates to self (killer of the spawn) not all members of the group Emagi 2025-09-01 18:55:37 -04:00
  • 7e3d53ce3d address revival issues, we were trying to zone before setting right coordinates, so on so forth. Bad condition handling. Emagi 2025-09-01 15:38:12 -04:00
  • 4d63737d92 reset power with hp on runback Emagi 2025-09-01 11:07:45 -04:00
  • b5d6621241 add playerscripts to be copied over Emagi 2025-09-01 06:53:51 -04:00
  • 6401247809 Chat channels (join channel, send messages) and house peering capabilities 0.9.9 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