199 Commits

Author SHA1 Message Date
Akkadius
6af1ae32ae Migrate grids [skip ci] 2020-03-11 04:10:21 -05:00
Paul Coene
ab3d65b2ea
Fix FixZ regarding the use of model in npc_types
This fix only impacts those that use the model field in npc_types to override race on the client.

GetModel() returns model if set, otherwise race.

As a refresher, the model field is there so the server can still see a mob as its base race for things like bane, while the client can use a new model.

FixZ needs to know about this.
2020-02-01 20:29:48 -05:00
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
Paul Coene
d47bf6a73b
Update waypoints.cpp
Fixed log message to be correct.
2020-01-17 14:35:32 -05:00
Akkadius
96ef76847b Fix log calls that either didn't carry over or were using newer aliases that weren't converted to FMT prior to migration 2019-09-17 00:18:07 -05:00
Akkadius
076d393f79 Logs::FixZ to LogFixZ 2019-09-02 03:54:00 -05:00
Akkadius
44e3f28cb0 Logs::AI to LogAI 2019-09-02 03:44:03 -05:00
Akkadius
b4339691f9 Logs::Pathing to LogPathing 2019-09-02 03:37:55 -05:00
Akkadius
678c25e02c Simplify error logging 2019-09-01 22:05:44 -05:00
Akkadius
db5e511af3 Merge branch 'master' of https://github.com/EQEmu/Server into lsid 2019-09-01 19:23:56 -05:00
Akkadius
05e7c473df Simplified the use of roamboxes and improved the AI for roambox pathing 2019-08-16 03:25:34 -05:00
Akkadius
665efe09f3 Fill function calls using magic numbers 2019-08-11 00:27:04 -05:00
Akkadius
86f9a205e5 Remove eqemu_logsys_fmt.h header, more log tweaks 2019-07-05 17:20:20 -05:00
KimLS
e277e55718 Merge remote-tracking branch 'origin/master' into feature/eqemu-api-data-service-netstats-ws 2019-05-16 14:38:12 -07:00
Akkadius
850b32f2ca Adjust constants 2019-03-25 18:24:16 -05:00
Noudess
3d1dda888d Use constants for waypoint values that are not actual waypoints 2019-03-25 14:58:26 -04:00
KimLS
777f182282 Update fmt lib with submodule 2019-03-10 00:10:47 -08:00
Uleat
bc79e28d49 Fix for bots disappearing while idle (update) 2019-01-29 20:25:35 -05:00
Uleat
036e4739ae Fix for bots disappearing while idle 2019-01-27 09:14:47 -05:00
Uleat
5b371ad054 Fix for bot out-of-combat movement animation glitches 2019-01-27 08:09:54 -05:00
Michael Cook (mackal)
14a4f58c0b Remove duplicate waypoint code from a merge 2019-01-16 13:18:33 -05:00
KimLS
dacbce1c5f Some changes to fixz while pathing 2018-11-29 23:11:39 -08:00
KimLS
8f0051db8d Changes to various path finding behavior 2018-11-09 00:54:51 -08:00
KimLS
8ebcd6b6c5 Some fixes to grid pathing at 0 wp pause plus command changes 2018-10-28 13:39:24 -07:00
KimLS
973abef1b0 Water work and work with grids (still not perfect but i think its the ai code) 2018-10-18 20:44:46 -07:00
KimLS
f76fffe622 A bunch of send position changes, rename navigateto 2018-10-15 22:02:16 -07:00
KimLS
d0685556e8 Bunch of bug fixes, guard behavior works again 2018-10-13 23:53:16 -07:00
KimLS
1785120796 Bunch of refactoring and walking, AI needs a ton of tweaking to use the new logic 2018-10-12 00:03:58 -07:00
KimLS
29ea65a71e Redoing movement to introduce proper rotation 2018-09-24 22:41:53 -07:00
KimLS
1aa97957d8 Renamed function, need to fix bots, some combat bug fixes. 2018-09-21 23:54:07 -07:00
KimLS
4815cabb63 Some bug fixes 2018-09-20 22:08:35 -07:00
KimLS
7278c6294d Movement will now be handled by the movement manager instead of mob 2018-09-20 16:14:47 -07:00
KimLS
f754cb1307 Move update path to movement manager so all movement will use paths 2018-09-18 23:06:56 -07:00
KimLS
2224b83ae0 Movement manager add 2018-09-17 14:32:36 -07:00
KimLS
c677169edd Removed existing movement code, started replacing 2018-09-15 19:20:47 -07:00
Akkadius
b92e83a465 Fix client pathing Z while feared 2018-09-03 01:51:40 -05:00
Akkadius
834062fbf9 Add another layer of randomization to roam box logic, npc's who weren't originally spawned in water won't roambox into water 2018-08-18 22:01:46 -05:00
Akkadius
4b6ab34fd9 Fix, cleanup and simplify the roambox logic and cleanup a bunch of other related code 2018-08-18 18:12:18 -05:00
Akkadius
7a7069959f Fix issue where size 0 NPC's would hop in and out of the ground because FixZ calculates the offset wrong by adding a default race size 2018-05-27 23:14:32 -05:00
Akkadius
d43273fd1b Fix some of the Fix Z logic - Boats no longer snap Z - Even though we checked for water, chances are boats pathing was above water and would snap Z to the floor of the water 2018-05-11 00:43:49 -05:00
KimLS
a53f65d86b Merge and compile fixes (non-bot, will do bots later) 2018-04-16 14:15:08 -07:00
Michael Cook (mackal)
5c87b8152d Remove Map::FindClosestLoS()
Map::LineIntersectsZone() already accomplished this use case
2018-03-08 18:03:15 -05:00
Michael Cook (mackal)
8f66527e02 Add TryMoveAlong(distance, angle)
This will take a distance you would like to move and an EQ angle you
would like to move relative to current heading (so 0 is in front, 256
behind)

Exported to Lua as well
2018-03-06 23:03:55 -05:00
Michael Cook (mackal)
a32dedeb48 Fix issue with heading being incorrectly handled
So we've been doing heading wrong all these years. You will need to run
a script to fix your quests and required SQL to fix DB.

This fixes a ton of random issues with headings and as gives us a better
resolution on headings :P
2018-02-15 18:20:16 -05:00
Uleat
05a3c4b2b8 Implemented pass-thru for Mob::CalculateNewPosition2(...) arguments 'fixZ' and 'calcHeading' 2018-02-07 18:47:42 -05:00
Chris Miles
14b3525e9c
Merge pull request #688 from noudess/master
Exclude clients from FixZ to fix fear issues.
2018-01-09 19:35:30 -06:00
Paul Coene
c2a35bb2e1 Exclude clients from FixZ to fix fear issues. 2018-01-09 20:31:48 -05:00
Akkadius
29a62dfa85 Remove debugging 2017-11-21 21:48:35 -06:00
Paul Coene
a8427ca610 Fixed Log message to have correct text and values 2017-11-17 14:09:19 -05:00
Paul Coene
5880593cb1 MoveTo while saving guard position no longer hops. 2017-11-17 13:12:26 -05:00