338 Commits

Author SHA1 Message Date
KimLS
563878f20e Compile fixes and some debugging messages in find path code. 2017-08-19 12:49:06 -07:00
KimLS
ffbee0ad1a Merge 2017-08-09 10:42:07 -07:00
Paul Coene
0fc72875b2 Modify roam boxes to correctly modify and use destination Z 2017-07-31 09:21:49 -04:00
KimLS
5f1063acb9 Add pathfinding interfaces, still heavily wip 2017-07-18 00:01:59 -07:00
Akkadius
0b489bc507 LoS Drop when close adjustment 2017-07-16 04:36:36 -05:00
Akkadius
b2b447516d Make a FixZ call at waypoint arrive so bad grids don't make NPC's hop 2017-07-16 03:31:26 -05:00
Akkadius
6c1efd74cb Resolve an issue with NPC's not returning back to guard point when once engaged and dropped aggro 2017-07-14 21:45:38 -05:00
Akkadius
aae1d2f049 Better Z compensation on hills, while engaged and NPC's quickly recover if they go underground 2017-07-08 22:17:39 -05:00
Akkadius
786e03b0ac One more check 2017-07-06 10:33:03 -05:00
Akkadius
f8b5637112 Fix close combat positioning issues 2017-07-06 10:13:33 -05:00
Akkadius
94b5684b42 Fix fighting on hill issues 2017-07-05 18:59:43 -05:00
Akkadius
c3c60b331a Resolve issues with NPC's hopping to the ceiling in small corridors
Improved grounding issues with NPC's during combat
Improved scenarios where NPC's need to be dragged out of the ground - they should correct themselves far more consistently
	- Scenarios where an NPC is coming up from the bottom floor, or from the top floor, they will correct much better
	- A video of these tests can be found here: https://www.youtube.com/watch?v=HtC7bVNM7ZQ&feature=youtu.be
2017-07-01 15:57:41 -05:00
Akkadius
9b1a449fba Fix Z when following during pull, not when engaged and stationary or moving slightly 2017-06-28 21:44:31 -05:00
Akkadius
4d2825d817 Make sure we also fix Z when mobs flee up/down stairs 2017-06-28 16:43:38 -05:00
Akkadius
539fa8b262 Fixed issues with Z correctness when NPCs are pathing on normal grids
Fixed issues with Z correctness when NPCs are engaged with players following
NPC corpses should fall into the ground far less
2017-06-28 02:38:20 -05:00
Michael Cook (mackal)
d6b61b9163 Implement pet regroup
Tweaks to stop as well
2017-05-04 23:48:47 -04:00
Michael Cook (mackal)
0e96e6689a Pet stop does not clear aggro 2017-05-04 23:08:46 -04:00
Michael Cook (mackal)
7e2136a5a8 Implement Pet Command Stop 2017-05-04 22:28:48 -04:00
KimLS
004c0f7858 Merge fix 2017-04-15 12:18:50 -07:00
E Spause
1f065d7d3d Woops 2017-04-15 13:06:56 -04:00
E Spause
cb8c3595b7 SoF-era con system. New rule, UseOldConSystem to disable this functionality. 2017-04-15 13:06:46 -04:00
KimLS
1d1ee1ccbf Merge fix 2017-04-11 21:48:01 -07:00
Akkadius
9161921bf0 Fix for Loginserver log messages 2017-04-04 22:07:25 -05:00
KimLS
281483efc1 Merge of a monster 2017-04-02 20:03:51 -07:00
Akkadius
d7dfc18c54 Cleaned up some of the NPC to NPC aggro code, only do aggro checks to other NPC's when the NPC is flagged for it 2017-04-01 23:16:27 -05:00
Uleat
ea50543ffa First round fix for non NPC-on_NPC action 2017-04-01 23:00:16 -04:00
Akkadius
7aa1d243b0 [Performance] Reworked how all log calls are made in the source, see changelog.txt for more details 2017-04-01 03:51:46 -05:00
Akkadius
d777b1048d [Performance] Don't process ProjectileAttack checks for NPC's that are not engaged in any combat 2017-03-28 03:05:46 -05:00
KimLS
de777fc90f Merge fix 2017-03-26 17:25:01 -07:00
Akkadius
719098a97c [Performance] Reduced CPU footprint in non-combat zones doing constant checks for combat related activities 2017-03-25 23:32:49 -05:00
KimLS
cfdbca6f12 Fix for unreliable packets (kind of a hack but it works) being flagged as corrupt 2017-03-20 00:22:50 -07:00
Uleat
b1be667884 Update bot spell casting chances table and implemented 'pre-combat' mode for all bots (only bard is actively coded atm) 2017-02-26 22:13:41 -05:00
Uleat
303f056075 Forgot loader... 2017-02-26 07:02:20 -05:00
Uleat
8177f7d9bb Activation of bot_spells_entries table 2017-02-15 19:04:36 -05:00
Uleat
d62a449f9c Missed an npc spells type (or two..) 2017-02-15 07:03:43 -05:00
Uleat
38651258fc Updated npc spell types to 32-bit mask 2017-02-09 17:57:55 -05:00
Michael Cook (mackal)
9e824876ba Combat Revamp - MAJOR BREAKING CHANGE
This commit makes combat much more live like. This is based on a lot of parses
done by TAKP and myself. There are numerous things based on dev quotes and
hints. Pretty much all combat has changed, spell effects correct, stacking
correct, etc.

This is the fist stage of the revamp, I will be trying to remove some code
duplication and make things generally cleaner.

Server ops will have to rebalance their NPCs. AC actually means something now.
Rough recommendations?
Level 50 "classic" trash should be no more than 115.
Classic raid mobs should be more 200+ etc
Other "classic" NPCs should be a lot lower as well.
PoP trash probably shouldn't exceed 120 AC
PoP raids should be higher
Devs have said the vast majority of NPCs didn't exceed 600 AC until very
recently. The exceptions were mostly raid encounters.

There really isn't a good "default" for every server, so this will be up to
the devs to find where they want their server stats to be.
2017-01-15 00:03:02 -05:00
Uleat
bfd07b1010 Added class EQEmu::InventorySlot 2016-10-16 21:36:39 -04:00
Akkadius
ec87656d58 Add rule Spells:NPCInnateProcOverride, defaults to true 2016-09-01 01:05:06 -05:00
Michael Cook (mackal)
039e0fbb83 NPC innate procs overwrite TargetType to ST_Target 2016-08-12 21:53:14 -04:00
Michael Cook (mackal)
ef2c17748e Implement extra spell gems!
New limits:
    Tit: 9
    SoF: 9
    SoD: 10
    UF: 12
    RoF: 12
    RoF2: 12

The SoF client doesn't actually support 10 like SoF should
RoF/RoF2 actually have 4 extra broken spell gems in the UI. They don't work and
will likely crash your client

Quest stuff assumes you are passing in valid slots.
(note the old default of 10 should be 22)

There are still somethings to do like clean up the memmed spells if one switches
to an older client that doesn't support as many as their previous client.
2016-07-31 17:16:23 -04:00
Akkadius
3ed43d50f2 Resolving glitchy/choppy mob pathing issues 2016-07-17 19:07:48 -05:00
Uleat
402353affa Important fix for mob pathing (see changelog.txt) 2016-07-09 03:10:54 -04:00
Akkadius
1a2537f5d8 Adjust default lootdrop max level 2016-06-20 14:25:05 -05:00
Michael Cook (mackal)
60da544d3a clang-tidy modernize-use-auto 2016-05-25 16:10:28 -04:00
Michael Cook (mackal)
cdbeb24a05 Change emptiness checks to empty() from size() [clang-tidy]
This has two benefits, it's clear what we are checking and
size() isn't always constant time, where empty is (performance!)
2016-05-25 14:57:47 -04:00
Uleat
1890d006a2 Delinked current inventory slot enumeration and constants from EQEmu::constants and global definition 2016-04-22 07:34:55 -04:00
Uleat
daeec0f5ec Rework of some existing spell AI code 2016-04-11 16:51:30 -04:00
Uleat
e75a53b775 Rework of eq_dictionary 2016-04-07 17:21:55 -04:00
KayenEQ
b369bb1793 Fixed defensive procs so they now only trigger once per attack round like live.
Added live like proc chance modifer based on level difference to target.
"Anything above your level will receive full mod. Starting 6 levels below PC level there is a negative 10 % mod applied each level until it reaches 0 and will not proc on anything 15 levels below you or lower."
Thanks to Huffin from PEQ for the parse data
2016-03-25 13:02:59 -04:00