mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-22 12:18:27 +00:00
[Feature] Implemented /shield ability and related affects (#1494)
* shield ability initial work
* updates
* update
* updates
* Update client_process.cpp
* major updates
optimized
pet support
perl support
* updates
* minor update
* fix merge error
* requested changes
* variable fix
* optimization
* minor update
* Revert "optimization"
This reverts commit 27e11e758b.
* fix
reset variables on shield_target if shielder dies or zones during shielding.
* edge case fix
Catch and fix situations where shield target doesn't have shielder variable cleared. Can occur if shielder . uses ability when target is not in combat then zones.
* combined packet and mob function
Shield now uses a common pathway through ShieldAbility, added parameters to perl function
* Addressing formatting for Kayen
* Fix function typo
Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
+13
-1
@@ -2950,6 +2950,19 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial, int level_ove
|
||||
break;
|
||||
}
|
||||
|
||||
case SE_PetShield: {
|
||||
if (IsPet()) {
|
||||
Mob* petowner = GetOwner();
|
||||
if (petowner) {
|
||||
int shield_duration = spells[spell_id].base[i] * 12 * 1000;
|
||||
int shield_target_mitigation = spells[spell_id].base2[i] ? spells[spell_id].base2[i] : 50;
|
||||
int shielder_mitigation = spells[spell_id].max[i] ? spells[spell_id].base2[i] : 50;
|
||||
ShieldAbility(petowner->GetID(), 25, shield_duration, shield_target_mitigation, shielder_mitigation);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
case SE_Weapon_Stance: {
|
||||
if (IsClient()) {
|
||||
CastToClient()->ApplyWeaponsStance();
|
||||
@@ -3170,7 +3183,6 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial, int level_ove
|
||||
case SE_LimitManaMax:
|
||||
case SE_DoubleRangedAttack:
|
||||
case SE_ShieldEquipDmgMod:
|
||||
case SE_GroupShielding:
|
||||
case SE_TriggerOnReqTarget:
|
||||
case SE_LimitRace:
|
||||
case SE_FcLimitUse:
|
||||
|
||||
Reference in New Issue
Block a user