[AZTH-MS] some changes to AZTH custom code

This commit is contained in:
yehonal
2019-08-29 18:59:33 +02:00
parent fdae37880d
commit 03efe764d9
5 changed files with 32 additions and 16 deletions

View File

@@ -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

View File

@@ -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]
}

View File

@@ -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

View File

@@ -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]

View File

@@ -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())
{