Core/Spells: Self-actions should no longer extend pvp timer
This commit is contained in:
@@ -2785,7 +2785,8 @@ void Spell::TargetInfo::PreprocessTarget(Spell* spell)
|
|||||||
// if target is flagged for pvp also flag caster if a player
|
// if target is flagged for pvp also flag caster if a player
|
||||||
// but respect current pvp rules (buffing/healing npcs flagged for pvp only flags you if they are in combat)
|
// but respect current pvp rules (buffing/healing npcs flagged for pvp only flags you if they are in combat)
|
||||||
_enablePVP = (MissCondition == SPELL_MISS_NONE || spell->m_spellInfo->HasAttribute(SPELL_ATTR3_PVP_ENABLING))
|
_enablePVP = (MissCondition == SPELL_MISS_NONE || spell->m_spellInfo->HasAttribute(SPELL_ATTR3_PVP_ENABLING))
|
||||||
&& unit->IsPvP() && (unit->IsInCombat() || unit->IsCharmedOwnedByPlayerOrPlayer()) && spell->m_caster->GetTypeId() == TYPEID_PLAYER; // need to check PvP state before spell effects, but act on it afterwards
|
&& unit->IsPvP() && spell->m_caster->IsPlayer() && spell->m_caster->GetGUID() != unit->GetGUID()
|
||||||
|
&& (unit->IsInCombat() || unit->IsCharmedOwnedByPlayerOrPlayer()); // need to check PvP state before spell effects, but act on it afterwards
|
||||||
|
|
||||||
if (_spellHitTarget)
|
if (_spellHitTarget)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -647,6 +647,7 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
{ .Name = "AllowTwoSide.Interaction.Guild"sv, .DefaultValue = false, .Index = CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD },
|
{ .Name = "AllowTwoSide.Interaction.Guild"sv, .DefaultValue = false, .Index = CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD },
|
||||||
{ .Name = "AllowTwoSide.Interaction.Auction"sv, .DefaultValue = true, .Index = CONFIG_ALLOW_TWO_SIDE_INTERACTION_AUCTION },
|
{ .Name = "AllowTwoSide.Interaction.Auction"sv, .DefaultValue = true, .Index = CONFIG_ALLOW_TWO_SIDE_INTERACTION_AUCTION },
|
||||||
{ .Name = "AllowTwoSide.Trade"sv, .DefaultValue = false, .Index = CONFIG_ALLOW_TWO_SIDE_TRADE },
|
{ .Name = "AllowTwoSide.Trade"sv, .DefaultValue = false, .Index = CONFIG_ALLOW_TWO_SIDE_TRADE },
|
||||||
|
{ .Name = "ExtendedAccountNameLengthLimit"sv, .DefaultValue = false, .Index = CONFIG_EXTENDED_ACCOUNT_NAME_LENGTH_LIMIT },
|
||||||
{ .Name = "CharacterCreating.DisableAlliedRaceAchievementRequirement"sv, .DefaultValue = false, .Index = CONFIG_CHARACTER_CREATING_DISABLE_ALLIED_RACE_ACHIEVEMENT_REQUIREMENT },
|
{ .Name = "CharacterCreating.DisableAlliedRaceAchievementRequirement"sv, .DefaultValue = false, .Index = CONFIG_CHARACTER_CREATING_DISABLE_ALLIED_RACE_ACHIEVEMENT_REQUIREMENT },
|
||||||
{ .Name = "AllFlightPaths"sv, .DefaultValue = false, .Index = CONFIG_ALL_TAXI_PATHS },
|
{ .Name = "AllFlightPaths"sv, .DefaultValue = false, .Index = CONFIG_ALL_TAXI_PATHS },
|
||||||
{ .Name = "InstantFlightPaths"sv, .DefaultValue = false, .Index = CONFIG_INSTANT_TAXI },
|
{ .Name = "InstantFlightPaths"sv, .DefaultValue = false, .Index = CONFIG_INSTANT_TAXI },
|
||||||
|
|||||||
@@ -194,6 +194,7 @@ enum WorldBoolConfigs : uint32
|
|||||||
CONFIG_RESPAWN_DYNAMIC_ESCORTNPC,
|
CONFIG_RESPAWN_DYNAMIC_ESCORTNPC,
|
||||||
CONFIG_REGEN_HP_CANNOT_REACH_TARGET_IN_RAID,
|
CONFIG_REGEN_HP_CANNOT_REACH_TARGET_IN_RAID,
|
||||||
CONFIG_ALLOW_LOGGING_IP_ADDRESSES_IN_DATABASE,
|
CONFIG_ALLOW_LOGGING_IP_ADDRESSES_IN_DATABASE,
|
||||||
|
CONFIG_EXTENDED_ACCOUNT_NAME_LENGTH_LIMIT,
|
||||||
CONFIG_CHARACTER_CREATING_DISABLE_ALLIED_RACE_ACHIEVEMENT_REQUIREMENT,
|
CONFIG_CHARACTER_CREATING_DISABLE_ALLIED_RACE_ACHIEVEMENT_REQUIREMENT,
|
||||||
CONFIG_BATTLEGROUNDMAP_LOAD_GRIDS,
|
CONFIG_BATTLEGROUNDMAP_LOAD_GRIDS,
|
||||||
CONFIG_ENABLE_AE_LOOT,
|
CONFIG_ENABLE_AE_LOOT,
|
||||||
|
|||||||
@@ -265,7 +265,7 @@ public:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case AccountOpResult::AOR_NAME_TOO_LONG:
|
case AccountOpResult::AOR_NAME_TOO_LONG:
|
||||||
handler->SendSysMessage(LANG_ACCOUNT_NAME_TOO_LONG);
|
handler->PSendSysMessage(LANG_ACCOUNT_NAME_TOO_LONG, MAX_ACCOUNT_STR[sWorld->getBoolConfig(CONFIG_EXTENDED_ACCOUNT_NAME_LENGTH_LIMIT)]);
|
||||||
handler->SetSentErrorMessage(true);
|
handler->SetSentErrorMessage(true);
|
||||||
return false;
|
return false;
|
||||||
case AccountOpResult::AOR_PASS_TOO_LONG:
|
case AccountOpResult::AOR_PASS_TOO_LONG:
|
||||||
|
|||||||
Reference in New Issue
Block a user