78 Commits

Author SHA1 Message Date
Michael Cook (mackal)
e89fa01d89 Port Aggro:UseLevelAggro from EQMacEmu
This will make level 18+ mobs braver
2016-08-04 20:33:29 -04:00
Michael Cook (mackal)
60da544d3a clang-tidy modernize-use-auto 2016-05-25 16:10:28 -04:00
Michael Cook (mackal)
03592e58f9 Port EQMacEmu's Assist Aggro code
This code also allows you to toggle on Tick Pulling (Aggro:AllowTickPulling)
which was a pulling technique (exploit) fixed sometime in 2006

This code also implements assist caps to cut down on trains (5 by default)
Unsure if live what this number is (it exists) or if it's a per NPC basis

An NPC with Assist Aggro will not call for help, only NPCs with Primary Aggro will
2015-12-18 17:41:57 -05:00
Michael Cook (mackal)
f8867ea73d Bump up initial aggro from Yell for Help to match initial aggro
I guess I forgot this one
2015-12-18 13:46:05 -05:00
Akkadius
ce0011ab18 Renaming of some timers 2015-11-01 17:12:14 -06:00
KayenEQ
20bdbdd52d Implemented spells_new field 198 = no_detrimental_spell_aggro
Spells with this flag will not generate any aggro
Note: DOT portions of spells wilth this flag STILL generate aggro.
Example Harminous Arrow (Ranger AA) 16127
2015-10-08 16:05:14 -04:00
KayenEQ
c35eacbc99 Update/Implementation of various fields in spells_new
219 not_extendable - > not_focusable - No focus are applied to these spells
217 maxtargets -> no_heal_damage_item_mod - Not applied to these spells.
232 -> no_remove -> Can not click off these spells even if beneficial
209 powerful_flag -> no_resist -> Unresistable spell
2015-10-08 11:49:21 -04:00
Michael Cook (mackal)
211462456c More hate fixes
Refix double spell casting subtlety
Fix double spell casting subtlety for beneficial spells
Move 100 initial bonus to AddToHateList so melee get it as well
Lower prox aggro since the 100 bonus is in AddToHateList now
2015-09-17 01:46:40 -04:00
Michael Cook (mackal)
43586a33cd Port PROX_AGGRO from EQMacEmu
If this ability is set, the NPCs will continuously add things to their
hate list while their engaged. If it's not set (default) they won't,
which is what the vast majority of NPCs do on live.
2015-08-26 16:20:56 -04:00
Michael Cook (mackal)
fb4cc70999 Correct some Aggro calcs
See updated post: http://www.eqemulator.org/forums/showthread.php?t=39819

Aggro:MaxStunProcAggro renamed to Aggro:MaxScalingProcAggro
2015-07-22 16:31:38 -04:00
Michael Cook (mackal)
c91374444b Fix bard song hate 2015-07-18 01:01:27 -04:00
Michael Cook (mackal)
be16e558ff Fix Spell Casting Subtlety for offensive spells 2015-07-18 00:58:02 -04:00
Michael Cook (mackal)
a52ab7ae48 Rework spell aggro based on http://www.eqemulator.org/forums/showthread.php?t=39819<F37> 2015-07-16 22:38:32 -04:00
JJ
96925f0dde Some minor cleanup. [skip ci] 2015-01-31 17:03:44 -05:00
KayenEQ
e8553576f7 remove debug 2015-01-30 19:28:16 -05:00
KayenEQ
867b57bcf6 removed debug msg 2015-01-30 19:21:24 -05:00
KayenEQ
ccbaf337f4 Fix for minimum charm and root resist chances (was always returning 0).
Fix for pacification not doing a proper second resist check upon resisting intial pacification.
2015-01-30 18:47:27 -05:00
KimLS
17af9e3808 Merge fixes, hopefully didn't break anything. 2015-01-23 13:36:27 -08:00
KimLS
269d56e1d0 Switched out our kinda juryrigged vector types for glm::vec types since we use that as a 3d math library already but never switched out the types 2015-01-23 00:01:10 -08:00
Michael Cook (mackal)
f702e953e7 Some std::abs usage and a bit of clang-formatting 2015-01-22 22:59:52 -05:00
Akkadius
c5447778a6 Merge remote-tracking branch 'remotes/origin/master' into logging_changes
Conflicts:
	world/client.cpp
	world/worlddb.cpp
	zone/aggro.cpp
	zone/bot.cpp
	zone/client.cpp
	zone/client_packet.cpp
	zone/client_process.cpp
	zone/doors.cpp
	zone/entity.cpp
	zone/inventory.cpp
	zone/mob_ai.cpp
	zone/perl_client.cpp
	zone/spells.cpp
	zone/waypoints.cpp
	zone/zone.cpp
	zone/zonedb.cpp
	zone/zoning.cpp
2015-01-21 17:29:30 -06:00
Akkadius
0d9b6703a6 Rename debug.h to global_define.h, update cmakelists and such 2015-01-19 04:12:09 -06:00
Akkadius
467b359d0c Moved all EQEmuLogSys:: enum references used in Log.Out to a namespace 'Logs' for shortening of syntax 2015-01-18 02:20:16 -06:00
Akkadius
c025765283 Renamed DoLog to Out as the aggregate logging function for simplicity of use and shortened syntax of Log.Out 2015-01-18 02:00:15 -06:00
Akkadius
1c048cb1d1 Renamed DebugCategory to DoLog as the aggregate logging function for simplicity of use and shortened syntax of Log.DoLog 2015-01-18 01:54:09 -06:00
Akkadius
7dbde36b03 Rename reference logger to Log 2015-01-18 00:41:18 -06:00
Akkadius
58d0b86a67 Consolidate EQEmuLogsys::Debug General calls into DebugCategory 2015-01-18 00:00:03 -06:00
Arthur Ice
262ae383c9 Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:15:48 -08:00
Arthur Ice
64bd24d5f9 Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:13:34 -08:00
Arthur Ice
f79bad8b4b Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:09:43 -08:00
Arthur Ice
f43bf5542f Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:07:16 -08:00
Arthur Ice
254ec5997c Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:05:03 -08:00
Arthur Ice
f1937335dd Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 18:01:20 -08:00
Arthur Ice
eb2eaa4d68 Removed a usage of Mob::DistNoRoot and used ComparativeDistance instead 2015-01-17 17:57:36 -08:00
Akkadius
132fbbb0c6 Rename LogDebugType to DebugCategory 2015-01-16 03:09:02 -06:00
Akkadius
4851fe1791 Converted more Aggro Debugs 2015-01-16 02:07:19 -06:00
Akkadius
f760597684 Removed preprocessor EQDEBUG in CheckWillAggro and converted log message 2015-01-16 02:06:22 -06:00
Akkadius
dadae1a71f Replaced Debug messages: LogFile->write with logger.LogDebug 2015-01-10 15:26:38 -06:00
Akkadius
be381b4e56 Renamed EQEMuLog class to EQEmuLog 2015-01-08 19:46:28 -06:00
Akkadius
3a488e3a61 Changed hate counter to uint32 to prevent negative rollback, this most likely can will be an issue but more uncommon
Renamed and refactored most functions and variables in hate_list.h/cpp for readability
Refactored how hate works in some local functions mixing the use of hate variable and split it out into different status variables
hate_list.cpp/.h style cleanup
hate_list.h header function sort, comment erase
functions should clearly state their function
2014-12-27 18:24:42 -06:00
KayenEQ
70f570dbd9 Implemented support for allowing most focus effects to now be usable
by NPCs (ie Heal/Damage focus, cast time, spell range ect) from
both spell buffs and items.
Rule for enabling spell focus is TRUE by default
Rule for enabling item focus is FALSE by default.

Consilidated a number of redundant client / mob functions
to use the same pathway for calculating effect values.
2014-12-08 01:22:01 -05:00
Akkadius
f81f62670e Header cleanup of aggro.cpp 2014-12-07 03:08:27 -06:00
Michael Cook (mackal)
395be050a3 Switch random function to std::mt19937
Added class EQEmu::Random
Functions:
EQEmu::Random::Int(int low, int high)
EQEmu::Random::Real(double low, double high)
EQEmu::Random::Roll(int required)
EQEmu::Random::Roll(double required)
EQEmu::Random::Reseed()

For zone, you will access the random object through the zone object
ex.
	zone->random.Int(0, 100);

Int returns a random int between low and high
Real returns a random double between low and high
Roll(int) returns true if Int(0, 99) < required is true
Roll(double) returns true if Real(0.0, 1.0) <= required is true
2014-12-01 18:13:12 -05:00
KayenEQ
d754e24a02 Minor code and compiler warning fixes. 2014-11-02 20:14:44 -05:00
KayenEQ
b3ea7ecd0d Added param to special attack NPC_NO_CHASE
Param 2 = If set will disable LOS check
2014-08-24 19:11:41 -04:00
KayenEQ
85df09b3f2 Implemented NPC special ability 40 'NPC_CHASE_DISTANCE'
Param 0: Sets max distance you need to be away from an npc for it to chase you.
Param 1: Sets min distance you need to be from npc for it to chase you.
Usage: Ideally used with ranged attack npcs / casters who you DO NOT WANT
to chase you unless you get too close or too far or out of sight.
2014-08-23 03:21:36 -04:00
KimLS
07a2cbe9a5 Renamed zone files 2014-08-21 23:46:01 -07:00
KimLS
7fc21b9e3a Tons of renames 2014-08-21 19:33:02 -07:00
KimLS
989bffee81 Merge branch 'master' into raycast 2014-04-27 14:36:05 -07:00
KayenEQ
02e291d4e8 Further refinements to root, charm, mez and fear behaviors.
Updates to a few rule due to new/corrected parse data.

All behaviors defined from weeks of extensive live parsing

Root Break Chance from DD now will scale based on level difference.

Root has a baseline aproximately 6% chance to break per check when target has
at 0% chance to resist spells.(ie green cons 60 levels lower with tash).

Fear has an approximately 70% chance to trigger a resist check each tick
to determine if it will fade early. (no baseline break chance)

Charisma less than 100, gives -20 resist mod to intial fear casts
Charisma from 100 to 255 will progressively reduce this mod to 0.
Charisma DOES NOT effect UNDEAD fears

Charmisma less than 75 significantly increase CHARM/MEZ/LULL resist rates.

Mez spells will now also use charisma resist check, as they do on live.
2014-03-20 00:53:49 -04:00