Implemented SPA 481, 485,486,512

Implemented

SE_Fc_Cast_Spell_On_Land 481
Focus effect that is checked when a spell is cast on a target, if target has this focus effect and all limiting criteria are met, then the target will cast a spell as specified by the focus. Can be given a roll chance for success. Base1=Chance, Base2=Spellid

Note: This spell has a huge amount of potential applications. See 'Alliance' type spells on live. (ie live spell 50247)

Implemented associated focus limits seen in live spells.

SE_Ff_CasterClass	485
- Caster of spell on target with a focus effect that is checked by incoming spells must be specified class or classes.

SE_Ff_Same_Caster	 486 -Caster of spell on target with a focus effect that is checked by incoming spells 0=Must be different caster 1=Must be same caster

The following is an associated effect seen with SPA 481

SE_Proc_Timer_Modifier 			512
This provides a way to rate limit the amount of spell triggers generated by SPA 481. For example after 1 successful spell trigger no additional spells can be triggered for 1.5 seconds. Ie. Base=1 and Base2 1500.
Written in a flexible format to allow scaling of multiple different buffs with this effect at same time.
This commit is contained in:
KayenEQ
2021-07-16 00:11:06 -04:00
parent 581b21109e
commit bafd5c4cb2
11 changed files with 244 additions and 32 deletions
+5 -4
View File
@@ -165,6 +165,7 @@
#define MAX_SYMPATHETIC_PROCS 10 // Number of sympathetic procs a client can have (This is arbitrary)
const int Z_AGGRO=10;
const uint32 MobAISpellRange=100; // max range of buffs
@@ -823,12 +824,12 @@ typedef enum {
#define SE_Hatelist_To_Tail_Index 478 // Implemented - Chance to be set to bottom of rampage list
//#define SE_Ff_Value_Min 479 //
//#define SE_Ff_Value_Max 480 //
//#define SE_Fc_Cast_Spell_On_Land 481 //
#define SE_Fc_Cast_Spell_On_Land 481 // [FOCUS EFFECT] Spells cast on target with this Focus Effect will have chance to cause a Spell to be cast if limits met.
//#define SE_Skill_Base_Damage_Mod 482 //
#define SE_Fc_Spell_Damage_Pct_IncomingPC 483 // Implemented - modifies incoming spell damage by percent
#define SE_Fc_Spell_Damage_Amt_IncomingPC 484 // Implemented - modifies incoming spell damage by flat amount. Typically adds damage to incoming spells.
//#define SE_Ff_CasterClass 485 //
//#define SE_Ff_Same_Caster 486 //
#define SE_Ff_CasterClass 485 // [FOCUS LIMIT] Caster of spell on target with a focus effect that is checked by incoming spells must be specified class.
#define SE_Ff_Same_Caster 486 // [FOCUS LIMIT] Caster of spell on target with a focus effect that is checked by incoming spells 0=Must be different caster 1=Must be same caster
//#define SE_Extend_Tradeskill_Cap 487 //
//#define SE_Defender_Melee_Force_Pct_PC 488 //
//#define SE_Worn_Endurance_Regen_Cap 489 //
@@ -854,7 +855,7 @@ typedef enum {
#define SE_Health_Transfer 509 // implemented - exchange health for damage or healing on a target. ie Lifeburn/Act of Valor
//#define SE_Fc_ResistIncoming 510 //
//#define SE_Ff_FocusTimerMin 511 //
//#define SE_Proc_Timer_Modifier 512 //
#define SE_Proc_Timer_Modifier 512 //
//#define SE_Mana_Max_Percent 513 //
//#define SE_Endurance_Max_Percent 514 //
#define SE_AC_Avoidance_Max_Percent 515 // implemented - stackable avoidance modifier