89 Commits

Author SHA1 Message Date
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
KayenEQ
9ecf98195c Lull spell effect revisions 2014-03-08 05:35:22 -05:00
Michael Cook (mackal)
822a1b1003 Fix NPC swarm pets despawning on owner death
Fix NPC swarm pets IsAttackAllowed logic
2014-03-05 23:02:57 -05:00
Michael Cook (mackal)
d70c4d7bbe Fix rogue's evade to be single target
This is also a lot nice performance wise
2014-03-05 01:34:17 -05:00
KayenEQ
84c85a4605 Added lower bounds for chance of charm fading.
Parsed on live to be approximately no lower
than 5% regardless of level difference.
2014-03-02 19:44:42 -05:00
KayenEQ
7133357b1a Revisions to how charm works.
Optional SQL for rules
2014-03-02 03:46:51 -05:00
KimLS
629f9863ae Merge branch 'master' into raycast 2014-03-01 17:49:21 -08:00
KayenEQ
8caac162b2 Spell effect addition / fixes 2014-02-26 00:09:59 -05:00
KimLS
951c321ba6 Partial port of der's map rewrite, no new azone format yet but it's coming. Will convert legacy map formats on the fly atm. 2014-02-23 21:17:28 -08:00
KayenEQ
0fc7dade47 Spell Effect additions
Minor fixes
2014-02-18 21:59:33 -05:00
SecretsOTheP
f074ead7f6 demonstar55's entity list changes (slightly modified) and a crash fix for the #repop command used in rapid succession. 2014-02-10 10:39:12 -05:00
Michael Cook (mackal)
d51e60cf8b Mostly cosmetic changes to CheckAggroAmount funcs
Also changed some silliness
2014-01-24 15:28:54 -05:00
Michael Cook (mackal)
b16ce6f809 Tweaked down SE_CurrentHP aggro from buffs 2014-01-17 22:09:41 -05:00
Michael Cook (mackal)
4216627604 Prefer prefix ++/-- on non-primitive types
Postfix ++/-- might cause the creation of a tmp instance
that might be optimized out. Mights are bad. Prefix doesn't
have this problem.
2014-01-13 22:14:02 -05:00
KimLS
fcd9b525a8 Removed Common Profiler and Zone Profiler. They're well past outdated status and are just code bloat. 2013-08-29 15:46:40 -07:00
Tabasco
fc03ee94e2 Added rules for what int mobs need to not attack red cons and how much food and drink is taken per stamina update.
Added mod hooks for food/drink values and mob aggro.
Added quest functions for getting/setting hunger and thirst.
2013-08-01 19:24:15 -05:00
KimLS
63d678ce29 Replaced npcspecialatk with special_attacks, needs more testing also gotta export new api for it as I can't remove the legacy one. Too many quests rely on the legacy functionality. 2013-07-06 03:45:06 -07:00
Michael Cook
0fdfe025cb Remove 'using namespaces std' fixes #61 2013-05-22 16:17:19 -04:00
j883376
4bdd8b2502 Change space indentation to tabs 2013-05-09 11:37:51 -04:00
j883376
ffcff4aea1 Remove trailing whitespace 2013-05-09 11:13:16 -04:00
Arthur Ice
7560b6b0a7 NULL to nullptr 2013-05-04 18:06:58 -07:00
Derision
c363261d00 Fix from Zaela_S to stop mobs aggroing on dead players when using RespawnFromHover. 2013-03-09 13:18:36 +00:00
KimLS
c31b2b65c1 NPC Faction lists to new shared memory scheme 2013-02-23 13:45:19 -08:00
KimLS
8c425ff9d8 Merge branch 'master' into shared_mem 2013-02-22 22:36:30 -08:00
KimLS
1b44123551 Slight cleanup on recent pull req + changing versions up 2013-02-22 22:31:07 -08:00
mackal
dd913de1a2 Mobs will now be removed from XTarget when they clear their feign memory aggro 2013-02-22 22:27:03 -05:00
KimLS
8eb7d0aaa8 Skill caps load with new smem scheme 2013-02-20 13:54:26 -08:00
KimLS
7ce6f4de0d More shared memory work + moved spdat from zone to common 2013-02-19 15:33:21 -08:00
KimLS
da7347f76f svn -> git Migration 2013-02-16 16:14:39 -08:00