97 Commits

Author SHA1 Message Date
KayenEQ
0e438942e4 Complete revision of SE_SkillProc, SE_LimitToSkill,
SE_SkillProcSuccess (now implemented correctly)
to function more accurately and efficiently, AA supported.
This may need to be updated in the future, if more live
spells readily become avialable to test with.
2014-07-06 18:58:16 -04:00
KayenEQ
ee6d7ae6ba Implemented SE_Sanctuary - Places caster at bottom hate list,
effect fades if caster cast spell on targets other than self.
2014-07-02 08:42:18 -04:00
KayenEQ
5d85a26be1 Update to SE_AStacker, B, C, D
Will correclty use base value to stack with same type ie (A vs A)
Highest base value will take hold.
2014-07-01 17:34:36 -04:00
KayenEQ
87e7b9c3f0 Implemented SE_IllusionOther - Allows next Illusion buff (self only)
cast to be cast on target. (AA ProjectIllusion now uses this)
Run required SLQ to update AA.
2014-06-26 06:23:27 -04:00
KayenEQ
ec35c0d933 Implemented SE_MassGroupBuff as spell effect (no longer hard coded for AA
only). Run required SQL to update AA tables.
Updated spells_new field175 -> numhits_type
2014-06-26 05:40:09 -04:00
KayenEQ
6ef11777e3 Implemented an enumerator list for numhits type variables.
Implemented type 4 outgoing spell damage numhits type.
2014-06-24 22:04:13 -04:00
KayenEQ
57a216cb44 Implemented SE_AStacker, BStacker, CStacker, DStacker
Effects are buff stacking blockers.
2014-06-17 09:45:12 -04:00
KayenEQ
564c31c54d Improved SE_LimitCombatSkills will now more accurately determine if a spell is a combat proc.
SE_LimitInstant will now also work when set to include instant spells.

Optional SQL: utils/sql/git/optional/2014_04_23_FocusComabtProcs.sql
Note: Set to false, if enabled will allow all combat procs to receive spell focuses.
2014-04-23 03:54:54 -04:00
KayenEQ
2c69dd7c93 Implemented proper functionality of SE_Screech
If you have a buff with SE_Screech with value of 1
it will block any other buff with SE_Screen that has
a value of -1, giving you an immunity message.
Example: 1383 Screech and 2785 Screech Immunity
2014-04-04 22:03:32 -04:00
KayenEQ
4b14ec53f1 Implemented Physical Resists consistent with live.
SQL to add new column 'PhR' to npc_types
Values to populate table based on extensive parsing.
Fixes for spell projectile code.
2014-04-04 01:59:55 -04:00
KayenEQ
2cdd50b9e9 -Implemented live like spell projectiles (ie mage bolts).
-See function in spells.cpp for more info on bolt behavior.
-This works reasonably well, but still room for improvements.
-Rules are for setting what item id is used for the projectile
since live uses an item id from SOF+ I added alternate item graphic
for titanium clients.
-Note: Max number of projectiles (set at 10) is a made up value in most
situations it would be nearly impossible to have more than 3 bolts
in the air at the same time. This values gives enough wiggle room that no
server should have an issue though.
-Small fix to SE_CompleteHeal
2014-04-03 04:25:45 -04:00
Uleat
d939820918 Fix for unconscious ability skillups.
Fix for zone crash related to item==nullptr in Client::SummonItem().
2014-03-31 03:21:22 -04:00
KayenEQ
cbe0e94ca7 Implemented SE_NegateIfCombat 2014-03-27 23:23:15 -04: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
21bdc8c5b6 Coverted melee and magic runes to use bonuses.
Removed all the old rune flags now that none of them are used.
Fixed issues where runes would not fade properly if damage = remaing rune amount
Fixed issue where runes would stop absorbing damage if you had multiple runes.
2014-03-12 05:14:19 -04:00
KayenEQ
9ecf98195c Lull spell effect revisions 2014-03-08 05:35:22 -05:00
KayenEQ
55f5d4affa SE_Root and SE_RootBreakChance updates 2014-03-06 07:36:47 -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
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
39914c8eb4 debug msg removed 2014-03-02 04:24:51 -05:00
KayenEQ
7133357b1a Revisions to how charm works.
Optional SQL for rules
2014-03-02 03:46:51 -05:00
Michael Cook (mackal)
cb633e4b6a Crit Spells to StringIDs
Some minor clean up
Fix an mlog message
2014-02-28 02:25:17 -05:00
Michael Cook (mackal)
20869a0aec Mobs will now face their target they are casting on
Note: they do not switch their target, this is how live does it
2014-02-24 02:31:40 -05:00
Michael Cook
4ad2e5f9b5 Merge pull request #118 from KayenEQ/master
Spell effects , buff table changes
2014-02-22 02:40:00 -05:00
KayenEQ
44c833fbe6 fixes
Re implemented deathsavechanceAA ect as ExtraDIChance
Confirmed on live that this effect persists even if caster not in zone.
2014-02-22 01:34:16 -05:00
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
KayenEQ
0caa1fd40b new spell effects
buff struct/tables - required sql
Removed: death_save_chance and deathsave_aa_chance (no longer used)
Added: dot_rune, caston_x, caston_y, caston_z
minor fixes
2014-02-20 01:04:34 -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
Michael Cook (mackal)
ce4f4995b5 Merge with master 2014-02-10 12:04:35 -05:00
Michael Cook (mackal)
de55f99174 Send the stun effect that goes around their head 2014-01-28 00:42:48 -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
Michael Cook (mackal)
1bf794c29f Create hate on immune to fear due to level 2014-01-24 01:28:09 -05:00
Michael Cook (mackal)
0e8f7a4542 Correct Fear level immunity message 2014-01-24 01:26:47 -05:00
Michael Cook (mackal)
b72fe81e28 Correct CheckAggroAmount calls in IsImmumeToSpell 2014-01-24 01:24:08 -05:00
Michael Cook (mackal)
cc02d94bdf Implemented ST_TargetAETap 2014-01-21 14:50:22 -05:00
KayenEQ
38c5c79218 Numhits system revised 2014-01-20 21:27:53 -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
KayenEQ
32359da1cc Spell effect updates 2014-01-13 05:03:21 -05:00
Michael Cook (mackal)
50caef0086 Implement persist death spell field 2014-01-07 23:29:46 -05:00
KayenEQ
bfb17a2fb5 Kayen: Implemented SE_ArcheryDoubleAttack (Chance to do an extra archery attack)
Kayen: Implemented SE_ShieldEquipDmgMod (Increase damage in primary hand if shield equiped)
Kayen: Implemented SE_ShieldEquipHateMod (Increase hate generated if shield equiped)
Kayen: Implemented SE_TriggerOnAmountValue (Trigger spell if HP/Mana/End bellow X value or num pet on target)
2013-12-17 21:51:13 -05:00
Michael Cook
65afbd4147 Moved BlockedBuffs check down for spell effects 2013-12-15 18:44:45 -05:00
Michael Cook
81e04ee185 Fix some indentation 2013-12-15 03:21:57 -05:00
Michael Cook
48db481fbb Fix blocked buffs from failing
When a buff is blocked it should just fail to be applied
instead of interrupting. Mana should also be eaten.
2013-12-14 16:42:12 -05:00
Michael Cook
0f54830bc5 Stacking issues should be resolved now
I have a feeling this could be slightly better, but it works correctly.
2013-11-29 18:32:30 -05:00
Michael Cook
d329fe0c12 Revert "Fixed issue with SE_StackingCommand_Overwrite"
This reverts commit a7ce852ca5f313f0f9d89b587a35bb18be14aa4d.
2013-11-29 15:35:51 -05:00
Michael Cook
a7ce852ca5 Fixed issue with SE_StackingCommand_Overwrite
SE_StackingCommand_Overwite uses the calc to figure out the slot to check.
Seems that calc 202 is slot 1 and 201 is actually something special. It
could be any slot, but need further investigation, for now, just ignore it.
2013-11-27 16:05:09 -05:00
Michael Cook
b4fce37c14 Quick fix to issue with self buffs
casting_spell_targetid isn't guaranteed to be correct at that point in the code
Quick fix for now
2013-11-27 14:38:03 -05:00
SecretsOTheP
2f8cbb3a9d Fixes to the following crashes seen on PEQ:
http://www.peqtgc.com/phpBB3/viewtopic.php?f=1&t=14293&p=67404#p67404
http://www.peqtgc.com/phpBB3/viewtopic.php?f=1&t=14293&p=67105#p67105
2013-11-22 15:32:02 -05:00
Michael Cook
0567073ca0 Quick fix for dot issue introduced in 765b5ee8
This could probably be done better
2013-11-19 18:34:20 -05:00
Michael Cook
e33eb9d7b0 Partially implement dot_stacking_exempt
When it is 1 the spell will block it from other casters
Not 100% sure on when it's -1 so not currently used
2013-11-19 17:43:40 -05:00