501 Commits

Author SHA1 Message Date
Michael Cook (mackal)
451d422b8a Keep track of base spell id for SpellProcs/PermaProcs
This will fix numhits issue for procs from spells
2014-02-21 04:04:18 -05:00
Michael Cook (mackal)
808977f69a (Performance) Corpse drag will now fetch entity by ID 2014-02-20 01:35:59 -05:00
Michael Cook (mackal)
754d70d513 Merge branch 'master' of github.com:EQEmu/Server 2014-02-19 20:37:26 -05:00
Michael Cook (mackal)
eb3a11b49a NPC vs Client damage revamp
Shot list of things that changed:
AC Softcap is based on your defensive skill (the scaling factors
are based on at least previously stated dev quotes)
The over AC Softcap returns are now based on exact calculations
made with the Armor of Wisdom AA.
Shielding item bonus and Melee mitigation spell bonus (nerfs)
NPCs damage will now correctly follow the
"damage base + (damage interval * [1, 20])" formula.

These changes might seem a little weird but I didn't want to change
any of the other damage situations since they were fairly good, but
they still could use a revamp as well.

New rules:
RULE_BOOL ( Combat, OldACSoftcapRules, false) // use old softcaps
RULE_BOOL ( Combat, UseOldDamageIntervalRules, false) // use old damage formulas for everything
RULE_REAL ( Combat, WarACSoftcapReturn, 0.3448) // new AC returns
RULE_REAL ( Combat, ClrRngMnkBrdACSoftcapReturn, 0.3030)
RULE_REAL ( Combat, PalShdACSoftcapReturn, 0.3226)
RULE_REAL ( Combat, DruNecWizEncMagACSoftcapReturn, 0.2000)
RULE_REAL ( Combat, RogShmBstBerACSoftcapReturn, 0.2500)
RULE_REAL ( Combat, SoftcapFactor, 1.88)

If you want to use the old calculations only, set
Combat:OldACSoftcapRules and Combat:UseOldDamageIntervalRules to true
2014-02-19 20:29:19 -05:00
KayenEQ
58c5003ad5 fix 2014-02-18 23:26:09 -05:00
KayenEQ
0ca01641ff fix 2014-02-18 23:24:14 -05:00
KayenEQ
0fc7dade47 Spell Effect additions
Minor fixes
2014-02-18 21:59:33 -05:00
Michael Cook (mackal)
ab4c9581ad Fix NPC rampage to be more in-line with live
New rules:
RuleI: Combat, DefaultRampageTargets
	Set to 1
	If the specatk db entry has no extra param it will use this
RuleB: Combat, RampageHitsTargets
	Defaults to false
	If true, if number hit is still less than RampageTargets, try tank

If you want the old behavior still set DefaultRampageTargets to 3 and
RampageHitsTargets to true
2014-02-18 18:22:19 -05:00
Michael Cook (mackal)
6e474f22a2 Added single target HalveAggro and DoubleAggro
Both exported to perl/lua
pass the target you wish to change their hate.
2014-02-18 16:52:51 -05:00
Michael Cook (mackal)
a503c1af97 Fix Mob double/triple/quad check to work if a lower one isn't set 2014-02-17 20:38:40 -05:00
Michael Cook (mackal)
53a14381ba Only build flurry attack opts on success 2014-02-17 19:38:37 -05:00
Michael Cook (mackal)
169b9161b9 Performance: Changed RampageArray to be a vector of IDs 2014-02-17 17:34:02 -05:00
Michael Cook (mackal)
85f2b46fe9 Fix mod_spell_resist to be no-op by default ... 2014-02-16 23:58:18 -05:00
SecretsOTheP
0dfa1e192d Merge branch 'master' of https://github.com/EQEmu/Server 2014-02-16 19:16:45 -05:00
SecretsOTheP
88eb0dcdfc potential crash issue involving backstab & missing primary weapons resolved. 2014-02-16 19:16:18 -05:00
KayenEQ
93e9f29c77 update 2014-02-15 23:25:09 -05:00
KayenEQ
1b7271359e fix for LimitCombatSkills
fix for Extended Inginuity table data
2014-02-15 22:34:48 -05:00
KayenEQ
49df0a5d33 fixes 2014-02-15 08:16:41 -05:00
SecretsOTheP
46f8723314 Fixed an order-of-operations crash within the Quest Parser classes 2014-02-14 12:30:50 -05:00
sorvani
9d938cdd58 Cleaned up GetUnusedInstanceID logic and renamed instance_lockout* tables to instance_list* 2014-02-13 11:24:54 -06:00
SecretsOTheP
e5fd0f5d75 Merge branch 'master' of https://github.com/EQEmu/Server 2014-02-13 12:02:37 -05:00
SecretsOTheP
a3f9d5e707 bot.cpp was missing nullptr instead of NULL, that is now fixed.
hate_list.cpp potential crash fix related to center being nullptr
2014-02-13 12:02:26 -05:00
KayenEQ
5344679c7c Fixes for numhits system
Implementation of new spell table fields
Update and further implemention of CastRestriction
2014-02-13 07:41:57 -05:00
KimLS
275f9d6aaf Changed SpecialAttacks to an array instead of a map. Basic access was causing a hotspot. Brief testing doesn't show any obvious bugs but let me know if any prop up. 2014-02-12 15:26:08 -08:00
KayenEQ
7623770613 Bot fixes for previous update. 2014-02-11 22:47:57 -05:00
KimLS
1ec0add76f Make sure some strings coming from the client are actually null terminated. 2014-02-10 21:00:25 -08:00
sorvani
51dff22b93 fix for npcthis crash in new spawn condition case. 2014-02-10 15:13:54 -06:00
Michael Cook (mackal)
c85c4a969d Fix corpse_list check in remove mob 2014-02-10 13:41:55 -05:00
Michael Cook (mackal)
6a8a6e530b Some clean up related to the entity_list changes 2014-02-10 12:16:14 -05:00
Michael Cook (mackal)
ce4f4995b5 Merge with master 2014-02-10 12:04:35 -05:00
SecretsOTheP
a4260e54fe Merge branch 'master' of https://github.com/EQEmu/Server 2014-02-10 10:39:48 -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
sorvani
b819137e35 Merge branch 'master' of https://github.com/EQEmu/Server 2014-02-10 09:24:04 -06:00
sorvani
4d653caca3 Typos in spawn condition log messages 2014-02-10 09:22:55 -06:00
SecretsOTheP
75663774fe Fix for crashes related to #repop force and not clearing quest timers, resulting in a zone crash. Quest timers are now cleared on zone repop. 2014-02-10 06:45:33 -05:00
SecretsOTheP
5ec5b398ac tasks crash fix 2014-02-09 12:05:47 -05:00
sorvani
24c70a04ca Enhanced spawn conditions with new onchange option DoRepopIfReady 2014-02-09 00:08:09 -06:00
af4t
5733124c40 Resolve "unknown identifiers" in Bot::GetActSpellDamage 2014-02-03 10:37:11 -05:00
KayenEQ
72cec5608d Revision to spell damage calculations 2014-02-02 23:23:41 -05:00
KimLS
8b1262b198 Export clear_npctype_cache as both lua/perl general functions. 2014-02-01 14:55:51 -08:00
KimLS
6e0a214bcc Compiler option for playing with npctype_cache as was requested for a feature. Not entirely tested may need some work. Currently defaults to old behavior on #repop. 2014-01-31 20:38:32 -08:00
KayenEQ
751d51c4d0 Hot fix for issue with numhits not fading 2014-01-28 22:27:45 -05:00
Michael Cook (mackal)
4a54e262f6 Bash/Kick stun will respect UNSTUNABLE now 2014-01-28 22:14:31 -05:00
Michael Cook (mackal)
bd0c325762 Revamped Kick/Bash stun a little
Before bash/kick's ability to stun was completely useless
at higher levels, it also never stunned for any duration.

Bash/Kick will always stun if the target is under the
base immunity level (kick the attacker needs to be over 55 as well)

If over base immunity, there is a chance to stun, defaults to
Combat:NPCBashKickStunChance  (15%)

A Kick/Bash stun will last for 0-2 seconds
2014-01-28 17:14:27 -05:00
Michael Cook (mackal)
de55f99174 Send the stun effect that goes around their head 2014-01-28 00:42:48 -05:00
KayenEQ
d98ed8f419 New spell effects 2014-01-27 05:17:52 -05:00
Michael Cook (mackal)
4b07f4ffc5 Use the first overwritten buff slot like live does
Very minor change, but some people can be rather anal
about their buff orders, so this should help them out,
and its more live like :P
2014-01-26 13:38:12 -05:00
KayenEQ
3dbf863255 Revised how dispel works. 2014-01-26 04:41:45 -05:00
Michael Cook (mackal)
17f0cffca6 Do not trip hacker detection if target is on their XTargets 2014-01-24 18:48:47 -05:00
Michael Cook (mackal)
d51e60cf8b Mostly cosmetic changes to CheckAggroAmount funcs
Also changed some silliness
2014-01-24 15:28:54 -05:00