Commit Graph

6639 Commits

Author SHA1 Message Date
regneq c2b3e85272 Added new pathgrid type 7 (GridCenterPoint). This grid causes a NPC to alternate between the first waypoint in their grid (Number 1 in the editor) and a random waypoint. (1 - 7 - 1 - 4 - 1 - 11 - 1 - 5 - 1, etc)
Changed the wandertype IDs to an enum so we know what we're looking at.
Added new pathgrid type 8 (GridRandomCenterPoint).  (SQL required) This new type causes a NPC to alternate between a random waypoint in grid_entries and a random waypoint marked with the new centerpoint column set to true. If no waypoints are marked as a centerpoint, this wandertype will not work. There is no numbering requirement or limit for centerpoints. You can have as many as you need.
New spawngroup field: wp_spawns (SQL required). Added a new spawngroup field, which is a boolean that if true changes the behavior of spawngroups this way: If the spawnpoint in the spawngroup has a grid, the NPC will spawn at a random waypoint location taken from its grid instead of the spawnpoint location.
New randompath behavior: The randompath grid type will now use the closest waypoint as its current waypoint on spawning.  This allows multiple spawn locations to use the same grid without having the undesirable behavior of walking to the first waypoint through walls and ignoring waypoint nodes. NPC::GetClosestWaypoint() was renamed to NPC::GetClosestWaypoints() as it was filling a list of multiple waypoints. a new method NPC::GetClosestWaypoint() returns a single waypoint in the form of an integer.
2020-01-24 15:11:08 -08:00
Kinglykrab 8b37ef5e67 Formatting 2020-01-20 21:14:28 -05:00
Kinglykrab caceae1028 Implement Corpse counting methods for global/zone-specific counting.
Global:
- Perl: quest::getplayercorpsecount(uint32 char_id);
- Lua: eq.get_player_corpse_count(uint32 char_id);

Zone-specific:
- Perl: quest::getplayercorpsecountbyzoneid(uint32 char_id, uint32 zone_id);
- Lua: eq.get_player_corpse_count_by_zone_id(uint32 char_id, uint32 zone_id);
2020-01-20 20:23:11 -05:00
Kinglykrab 8e6dd638ff Implement SE_SummonCorpseZone (SPA 388).
- This SPA summons all of a targeted group or raid group member's corpses from anywhere in the world.
- Example Spell 16247 (Summon Remains)
2020-01-20 20:20:06 -05:00
Paul Coene 51fb7d8b77 _GetRunSpeed did not correctly report aa mods for Clients.
I actually believe this was some old cut-n-paste error.  aa_mod was being set to a total of all (3) caps - like the previous line.
2020-01-20 15:38:07 -05:00
Paul Coene 9cc73f2b4a Fix formula for mana
There were errors in the old formula for wis/int values over 201.
2020-01-20 14:24:29 -05:00
Akkadius 6f73278cf8 Fix annoying aura crash that has been around for a year and a half, add aura logging, utilize close lists 2020-01-19 21:57:28 -06:00
Paul Coene 8eb60302a2 Update attack.cpp
Fix to Monk Mitigation.  Divided weight by 10 to convert to stones.
2020-01-19 16:03:09 -05:00
Michael Cook (mackal) 43df845233 Fix issue with overflow in Mob::SendHPUpdate 2020-01-18 21:42:51 -05:00
Paul Coene d47bf6a73b Update waypoints.cpp
Fixed log message to be correct.
2020-01-17 14:35:32 -05:00
Michael Cook (mackal) 139b6c34e5 Change things -Wcatch-value complains about to references 2020-01-16 19:03:36 -05:00
Michael Cook (mackal) 945ca1278c Remove some unnecessary this == null checks 2020-01-16 17:02:35 -05:00
Michael Cook (mackal) a307747c29 Nuke unused command_itemtest 2020-01-16 16:51:24 -05:00
Michael Cook (mackal) 607379110b Add some focus effects bots were missing 2020-01-16 16:00:38 -05:00
Michael Cook (mackal) 7ce88b30ad Remove Bot::BotfocusType
This was just a maintenance burden keeping it in sync with focusType
(and it wasn't!)
2020-01-16 15:47:25 -05:00
Michael Cook (mackal) 28b0526857 Change NPCType::deity to uint32 to match client data type
Fixes overflow warning in bot.cpp
Shouldn't need DeityAgnostic_LB anymore either
2020-01-16 15:16:21 -05:00
Michael Cook (mackal) d5067c4c3a Treat bots like PCs for pcnpc_only_flag 2020-01-15 19:30:47 -05:00
Akkadius 331032f4f4 Push a scan when mobs first construct [skip ci] 2020-01-14 16:14:19 -06:00
Uleat 61790ef195 Wasn't quite dead... (Removed substring call from silent saylink parsing) 2020-01-13 19:01:42 -05:00
Uleat 9bdb70b2f0 Fatality! (Fix for event_say parse events not observing the correct parser for their situation) 2020-01-13 01:47:39 -05:00
Uleat c438819ed6 Fix for command redirect of '#bot' using EVENT_COMMAND invocation 2020-01-12 22:40:05 -05:00
Uleat 7a791dda3c Merge branch 'master' of https://github.com/EQEmu/Server 2020-01-12 21:11:51 -05:00
Uleat 6366a3fa38 Fix for silent saylinks and EVENT_COMMAND calls 2020-01-12 21:11:43 -05:00
Akkadius 306a08b9ac Unify / streamline scanning logic calls, do a manual scan on enter and cleanup logging 2020-01-12 19:37:53 -06:00
Uleat 6c2100a650 Fix for perl EVENT_COMMAND not exporting single arguments 2020-01-12 01:32:51 -05:00
Uleat 852d951b65 Reworked EVENT_COMMAND handling and addressed script commands not present during help use 2020-01-06 15:41:05 -05:00
Paul Coene eed4a648b4 Added addition usage message for #grid for #grid show. 2020-01-04 16:17:25 -05:00
Uleat 720d314bb8 Merge branch 'master' of https://github.com/EQEmu/Server 2020-01-04 01:56:45 -05:00
Uleat e5ec277b5e Temporary bot impl until further work can be done 2020-01-04 01:56:38 -05:00
Chris Miles 47aa23e21e Merge pull request #941 from KinglyKrab/master
Fix #reloadworld message.
2020-01-03 23:30:21 -06:00
Kinglykrab 8ad11d0f85 Fix #reloadworld message. 2020-01-03 22:31:13 -05:00
KimLS 6243a31644 Added ability to use default looping behavior of libuv, in use in zone now 2020-01-03 19:12:55 -08:00
Akkadius e27c4f4f7c Lets fix some overflows [skip ci] 2020-01-03 17:48:41 -06:00
Akkadius 662048cedc Make the logs even better! [skip ci] 2020-01-03 17:25:53 -06:00
Akkadius 9dda9098a0 Add logging for flee 2020-01-03 17:23:51 -06:00
Michael Cook (mackal) 3a10131a00 Add missing currently_fleeing flag to sanity check 2020-01-03 15:50:10 -05:00
Michael Cook (mackal) a94072e3ea Fix CheckFlee logic
This /should/ be correct. But it doesn't explain other issues we've seen
on some servers
2020-01-03 15:49:20 -05:00
Akkadius 40595de46b Fix fmt bindings 2020-01-02 22:27:53 -06:00
Akkadius c48e8d8823 Tweak logging code 2020-01-02 20:04:37 -06:00
Akkadius 406b193206 Cleanup Perl logging and streamline formatting, tie errors to main Quests logging category live output, add string utils 2020-01-01 19:04:11 -06:00
Chris Miles 3e0ded6c39 Merge pull request #940 from EQEmu/feature/ae-scanning-optimizations
Mob Scanning and Loop Optimizations
2019-12-31 03:13:04 -06:00
Akkadius 9a08b1be93 Flip [skip ci] 2019-12-30 20:18:44 -06:00
Akkadius d71afda954 Optimize cleanup QueueCloseClients [skip ci] 2019-12-30 20:15:33 -06:00
Michael Cook (mackal) a7479a628c Use CastTime == 0 on clickies to prevent reagent consumption
This /may/ not be correct, but we think it is
2019-12-29 23:00:42 -05:00
Akkadius 67562e3e42 Unify scanning rules [skip ci] 2019-12-29 20:46:40 -06:00
Michael Cook (mackal) 53a289a6bc Refactor Mob::CastedSpellFinished
We now only call GetInv().GetItem() once
2019-12-29 21:40:36 -05:00
Akkadius a5d41b02b7 More tweaks [skip ci] 2019-12-29 17:34:50 -06:00
Akkadius 0232a8a188 More tweaks [skip ci] 2019-12-29 17:20:39 -06:00
Akkadius 78d63165cb Tweaks [skip ci] 2019-12-29 17:10:53 -06:00
Akkadius ccce630cb2 Adjustments [skip ci] 2019-12-29 13:30:05 -06:00