Implemented new focus and limits

SE_Fc_Amplify_Mod 507  @Fc, On Caster, damage-heal-dot mod pct, base: pct

SE_Fc_Amplify_Amt 508
@Fc, On Caster, damage-heal-dot mod flat amt, base: amt

SE_Fc_ResistIncoming 510 implemented, @Fc, On Target, resist modifier, base: amt

SE_Fc_CastTimeMod2 500
@Fc, On Caster, cast time mod pct, base: pct

SE_Fc_CastTimeAmt  501
@Fc, On Caster, cast time mod flat amt, base: milliseconds

SE_Ff_DurationMax	 495
@Ff, Max duration of spell that can be focused, base: tics

SE_Ff_ReuseTimeMin  490
@Ff, Minimum recast time of a spell that can be focused, base: recast time

SE_Ff_ReuseTimeMax  491
 @Ff, Max recast time of a spell that can be focused, base: recast time

SE_Ff_Endurance_Min 492
@Ff, Minimum endurance cost of a spell that can be focused, base: endurance cost

SE_Ff_Endurance_Max 	493
 @Ff, Max endurance cost of a spell that can be focused, base: endurance cost

SE_Ff_Value_Min 479
@Ff, Minimum base value of a spell that can be focused, base: spells to be focused base1 value

 SE_Ff_Value_Max 	480
@Ff, Max base value of a spell that can be focused, base: spells to be focused base1 value

SE_Ff_Override_NotFocusable		460 @Fc, Allow spell to be focused event if flagged with 'not_focusable' in spell table, base: 1

Added basic focus and limit descriptions to source.
This commit is contained in:
KayenEQ
2021-07-20 10:47:49 -04:00
parent cf25f5f1e2
commit 2d5383da70
8 changed files with 347 additions and 121 deletions
+7 -1
View File
@@ -3120,6 +3120,7 @@ uint32 Mob::GetLevelHP(uint8 tlevel)
int32 Mob::GetActSpellCasttime(uint16 spell_id, int32 casttime)
{
int32 cast_reducer = GetFocusEffect(focusSpellHaste, spell_id);
cast_reducer += GetFocusEffect(focusFcCastTimeMod2, spell_id);
auto min_cap = casttime / 2;
if (level > 50 && casttime >= 3000 && !spells[spell_id].goodEffect &&
@@ -3129,7 +3130,12 @@ int32 Mob::GetActSpellCasttime(uint16 spell_id, int32 casttime)
}
casttime = casttime * (100 - cast_reducer) / 100;
return std::max(casttime, min_cap);
int32 cast_reducer_amt = GetFocusEffect(focusFcCastTimeAmt, spell_id);
casttime = std::max(casttime, min_cap) - cast_reducer_amt;
return std::max(casttime, 0);
}
void Mob::ExecWeaponProc(const EQ::ItemInstance *inst, uint16 spell_id, Mob *on, int level_override) {