mirror of
https://github.com/araxiaonline/azerothshard-core.git
synced 2026-06-13 02:42:24 -04:00
[AZTH-MS] some changes to AZTH custom code
This commit is contained in:
@@ -1525,6 +1525,29 @@ public:
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void OnScaleAuraUnitAdd(Spell* spell, Unit* target, uint32 /*effectMask*/, bool /*checkIfValid*/, bool /*implicit*/, uint8 auraScaleMask, TargetInfo& targetInfo) override
|
||||
{
|
||||
if (!spell || !target)
|
||||
return;
|
||||
|
||||
if (!targetInfo.scaleAura && auraScaleMask && targetInfo.effectMask == auraScaleMask)
|
||||
{
|
||||
SpellInfo const* auraSpell = spell->GetSpellInfo()->GetFirstRankSpell();
|
||||
if (uint32(target->getLevel() + 10) >= auraSpell->SpellLevel)
|
||||
targetInfo.scaleAura = true;
|
||||
}
|
||||
}
|
||||
|
||||
void OnRemoveAuraScaleTargets(Spell* spell, TargetInfo& targetInfo, uint8 auraScaleMask, bool& needErase) override
|
||||
{
|
||||
if (!spell)
|
||||
return;
|
||||
|
||||
// TW: Do not check for selfcast
|
||||
if (needErase && !targetInfo.scaleAura && sAzthUtils->isSpecialSpellForTw(spell->m_spellInfo))
|
||||
needErase = false;
|
||||
}
|
||||
};
|
||||
|
||||
class CommandAZTH_SC : public CommandScript
|
||||
|
||||
@@ -471,10 +471,6 @@ void CharacterDatabaseConnection::DoPrepareStatements()
|
||||
PrepareStatement(CHAR_DEL_CHAR_GLYPHS, "DELETE FROM character_glyphs WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_DEL_CHAR_TALENT, "DELETE FROM character_talent WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_DEL_CHAR_SKILLS, "DELETE FROM character_skills WHERE guid = ?", CONNECTION_ASYNC);
|
||||
//[AZTH]
|
||||
PrepareStatement(CHAR_DEL_ARMORY_STATS, "DELETE FROM armory_character_stats WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_DEL_FEED_LOG, "DELETE FROM character_feed_log WHERE guid = ?", CONNECTION_ASYNC);
|
||||
//[/AZTH]
|
||||
PrepareStatement(CHAR_UDP_CHAR_HONOR_POINTS, "UPDATE characters SET totalHonorPoints = ? WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_UDP_CHAR_ARENA_POINTS, "UPDATE characters SET arenaPoints = ? WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_UDP_CHAR_MONEY, "UPDATE characters SET money = ? WHERE guid = ?", CONNECTION_ASYNC);
|
||||
@@ -572,13 +568,14 @@ void CharacterDatabaseConnection::DoPrepareStatements()
|
||||
PrepareStatement(CHAR_UPD_QUEST_TRACK_ABANDON_TIME, "UPDATE quest_tracker SET quest_abandon_time = NOW() WHERE id = ? AND character_guid = ? ORDER BY quest_accept_time DESC LIMIT 1", CONNECTION_ASYNC);
|
||||
|
||||
// [AZTH]
|
||||
|
||||
// PvEStats
|
||||
PrepareStatement(CHAR_INS_PVESTATS, "INSERT INTO azth_achievement_stats (playerGuid, achievement, type, level, levelParty, specialLevel, date) VALUES (?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
|
||||
|
||||
PrepareStatement(CHAR_INS_INDIVIDUAL_XP_RATE, "INSERT INTO character_xp_rate (guid, xp_rate) VALUES (?, ?)", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_DEL_INDIVIDUAL_XP_RATE, "DELETE FROM character_xp_rate WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_SEL_INDIVIDUAL_XP_RATE, "SELECT xp_rate FROM character_xp_rate WHERE guid = ?", CONNECTION_SYNCH);
|
||||
PrepareStatement(CHAR_UPD_INDIVIDUAL_XP_RATE, "UPDATE character_xp_rate SET xp_rate = ? WHERE guid = ?", CONNECTION_ASYNC);
|
||||
// Armory (TODO: remove, obsolete ?)
|
||||
PrepareStatement(CHAR_DEL_ARMORY_STATS, "DELETE FROM armory_character_stats WHERE guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_DEL_FEED_LOG, "DELETE FROM character_feed_log WHERE guid = ?", CONNECTION_ASYNC);
|
||||
// [/AZTH]
|
||||
}
|
||||
|
||||
@@ -412,10 +412,6 @@ enum CharacterDatabaseStatements
|
||||
CHAR_DEL_CHAR_GLYPHS,
|
||||
CHAR_DEL_CHAR_TALENT,
|
||||
CHAR_DEL_CHAR_SKILLS,
|
||||
//[AZTH]
|
||||
CHAR_DEL_ARMORY_STATS,
|
||||
CHAR_DEL_FEED_LOG,
|
||||
//[/AZTH]
|
||||
CHAR_UDP_CHAR_HONOR_POINTS,
|
||||
CHAR_UDP_CHAR_ARENA_POINTS,
|
||||
CHAR_UDP_CHAR_MONEY,
|
||||
@@ -510,6 +506,9 @@ enum CharacterDatabaseStatements
|
||||
CHAR_DEL_INDIVIDUAL_XP_RATE,
|
||||
CHAR_SEL_INDIVIDUAL_XP_RATE,
|
||||
CHAR_UPD_INDIVIDUAL_XP_RATE,
|
||||
|
||||
CHAR_DEL_ARMORY_STATS,
|
||||
CHAR_DEL_FEED_LOG,
|
||||
// [/AZTH]
|
||||
|
||||
MAX_CHARACTERDATABASE_STATEMENTS
|
||||
|
||||
@@ -82,6 +82,7 @@ void WorldDatabaseConnection::DoPrepareStatements()
|
||||
PrepareStatement(WORLD_UPD_GAMEOBJECT_ZONE_AREA_DATA, "UPDATE gameobject SET zoneId = ?, areaId = ? WHERE guid = ?", CONNECTION_ASYNC);
|
||||
// 0: uint8
|
||||
PrepareStatement(WORLD_SEL_REQ_XP, "SELECT Experience FROM player_xp_for_level WHERE Level = ?", CONNECTION_SYNCH);
|
||||
|
||||
// [AZTH]
|
||||
PrepareStatement(WORLD_SEL_QUESTCOMPLETER, "SELECT bugged FROM quest_bugged WHERE ID = ?", CONNECTION_SYNCH);
|
||||
// [/AZTH]
|
||||
|
||||
@@ -53,10 +53,6 @@
|
||||
#include "ElunaUtility.h"
|
||||
#endif
|
||||
|
||||
//[AZTH]
|
||||
#include "AzthUtils.h"
|
||||
#include "AZTH.h"
|
||||
|
||||
extern pEffect SpellEffects[TOTAL_SPELL_EFFECTS];
|
||||
|
||||
SpellDestination::SpellDestination()
|
||||
@@ -841,7 +837,7 @@ void Spell::SelectSpellTargets()
|
||||
}
|
||||
else if (m_auraScaleMask)
|
||||
{
|
||||
bool checkLvl = !m_UniqueTargetInfo.empty();
|
||||
bool checkLvl = !m_UniqueTargetInfo.empty();
|
||||
|
||||
for (std::list<TargetInfo>::iterator itr = m_UniqueTargetInfo.begin(); itr != m_UniqueTargetInfo.end(); ++itr)
|
||||
{
|
||||
@@ -858,8 +854,8 @@ void Spell::SelectSpellTargets()
|
||||
|
||||
if (needErase)
|
||||
m_UniqueTargetInfo.erase(itr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (checkLvl && m_UniqueTargetInfo.empty())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user