Core/Players: Implemented PlayerDataElementAccount, PlayerDataElementCharacter, PlayerDataFlagAccount and PlayerDataFlagCharacter
Port From (https://github.com/TrinityCore/TrinityCore/commit/60400d25f5fff2dabd4aa74bbdbc0d2370360a35)
This commit is contained in:
@@ -5899,9 +5899,7 @@ namespace Game.Spells
|
||||
if (bitIndex < 0 || bitIndex >= sizeof(uint) * 8)
|
||||
return false;
|
||||
|
||||
FlagArray128 reqFlag = new();
|
||||
reqFlag[bitIndex / 32] = 1u << (bitIndex % 32);
|
||||
return (spellOnCooldown.SpellFamilyFlags & reqFlag);
|
||||
return (spellOnCooldown.SpellFamilyFlags[bitIndex / 32] & 1u << (bitIndex % 32)) != 0;
|
||||
}, TimeSpan.FromMilliseconds(damage));
|
||||
}
|
||||
|
||||
@@ -6003,6 +6001,58 @@ namespace Game.Spells
|
||||
|
||||
target.GetSession().GetCollectionMgr().AddWarbandScene((uint)effectInfo.MiscValue);
|
||||
}
|
||||
|
||||
[SpellEffectHandler(SpellEffectName.SetPlayerDataElementAccount)]
|
||||
void EffectSetPlayerDataElementAccount()
|
||||
{
|
||||
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
||||
return;
|
||||
|
||||
Player target = unitTarget?.ToPlayer();
|
||||
if (target == null)
|
||||
return;
|
||||
|
||||
target.SetDataElementAccount((uint)effectInfo.MiscValue, (long)damage);
|
||||
}
|
||||
|
||||
[SpellEffectHandler(SpellEffectName.SetPlayerDataElementCharacter)]
|
||||
void EffectSetPlayerDataElementCharacter()
|
||||
{
|
||||
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
||||
return;
|
||||
|
||||
Player target = unitTarget?.ToPlayer();
|
||||
if (target == null)
|
||||
return;
|
||||
|
||||
target.SetDataElementCharacter((uint)effectInfo.MiscValue, (long)damage);
|
||||
}
|
||||
|
||||
[SpellEffectHandler(SpellEffectName.SetPlayerDataFlagAccount)]
|
||||
void EffectSetPlayerDataFlagAccount()
|
||||
{
|
||||
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
||||
return;
|
||||
|
||||
Player target = unitTarget?.ToPlayer();
|
||||
if (target == null)
|
||||
return;
|
||||
|
||||
target.SetDataFlagAccount((uint)effectInfo.MiscValue, damage != 0);
|
||||
}
|
||||
|
||||
[SpellEffectHandler(SpellEffectName.SetPlayerDataFlagCharacter)]
|
||||
void EffectSetPlayerDataFlagCharacter()
|
||||
{
|
||||
if (effectHandleMode != SpellEffectHandleMode.HitTarget)
|
||||
return;
|
||||
|
||||
Player target = unitTarget?.ToPlayer();
|
||||
if (target == null)
|
||||
return;
|
||||
|
||||
target.SetDataFlagCharacter((uint)effectInfo.MiscValue, damage != 0);
|
||||
}
|
||||
}
|
||||
|
||||
public class DispelableAura
|
||||
|
||||
@@ -4891,10 +4891,10 @@ namespace Game.Spells
|
||||
new StaticData(SpellEffectImplicitTargetTypes.None, SpellTargetObjectTypes.None), // 332 SPELL_EFFECT_332
|
||||
new StaticData(SpellEffectImplicitTargetTypes.None, SpellTargetObjectTypes.None), // 333 SPELL_EFFECT_333
|
||||
new StaticData(SpellEffectImplicitTargetTypes.None, SpellTargetObjectTypes.None), // 334 SPELL_EFFECT_334
|
||||
new StaticData(SpellEffectImplicitTargetTypes.None, SpellTargetObjectTypes.None), // 335 SPELL_EFFECT_335
|
||||
new StaticData(SpellEffectImplicitTargetTypes.None, SpellTargetObjectTypes.None), // 336 SPELL_EFFECT_336
|
||||
new StaticData(SpellEffectImplicitTargetTypes.None, SpellTargetObjectTypes.None), // 337 SPELL_EFFECT_337
|
||||
new StaticData(SpellEffectImplicitTargetTypes.None, SpellTargetObjectTypes.None), // 338 SPELL_EFFECT_338
|
||||
new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 335 SPELL_EFFECT_SET_PLAYER_DATA_ELEMENT_ACCOUNT
|
||||
new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 336 SPELL_EFFECT_SET_PLAYER_DATA_ELEMENT_CHARACTER
|
||||
new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 337 SPELL_EFFECT_SET_PLAYER_DATA_FLAG_ACCOUNT
|
||||
new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 338 SPELL_EFFECT_SET_PLAYER_DATA_FLAG_CHARACTER
|
||||
new StaticData(SpellEffectImplicitTargetTypes.None, SpellTargetObjectTypes.None), // 339 SPELL_EFFECT_UI_ACTION
|
||||
new StaticData(SpellEffectImplicitTargetTypes.None, SpellTargetObjectTypes.None), // 340 SPELL_EFFECT_340
|
||||
new StaticData(SpellEffectImplicitTargetTypes.Explicit, SpellTargetObjectTypes.Unit), // 341 SPELL_EFFECT_LEARN_WARBAND_SCENE
|
||||
|
||||
Reference in New Issue
Block a user