chore(Core/Misc): Change all TODO to doxygen comment (#14966)
This commit is contained in:
parent
e37e6327f0
commit
f039836a2f
84 changed files with 185 additions and 185 deletions
|
|
@ -339,7 +339,7 @@ void Log::Close()
|
|||
|
||||
bool Log::ShouldLog(std::string const& type, LogLevel level) const
|
||||
{
|
||||
// TODO: Use cache to store "Type.sub1.sub2": "Type" equivalence, should
|
||||
/// @todo: Use cache to store "Type.sub1.sub2": "Type" equivalence, should
|
||||
// Speed up in cases where requesting "Type.sub1.sub2" but only configured
|
||||
// Logger "Type"
|
||||
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@ std::string Metric::FormatInfluxDBValue(float value)
|
|||
|
||||
std::string Metric::FormatInfluxDBTagValue(std::string const& value)
|
||||
{
|
||||
// ToDo: should handle '=' and ',' characters too
|
||||
/// @todo: should handle '=' and ',' characters too
|
||||
return boost::replace_all_copy(value, " ", "\\ ");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ private:
|
|||
|
||||
static std::string FormatInfluxDBTagValue(std::string const& value);
|
||||
|
||||
// ToDo: should format TagKey and FieldKey too in the same way as TagValue
|
||||
/// @todo: should format TagKey and FieldKey too in the same way as TagValue
|
||||
|
||||
public:
|
||||
Metric();
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ namespace Acore::Impl::StringConvertImpl
|
|||
}
|
||||
};
|
||||
#else
|
||||
// @todo replace this once libc++ supports double args to from_chars
|
||||
/// @todo replace this once libc++ supports double args to from_chars
|
||||
template <typename T>
|
||||
struct For<T, std::enable_if_t<std::is_floating_point_v<T>>>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
namespace advstd
|
||||
{
|
||||
// This workaround for std::remove_cvref_t, std::type_identify is needed for GCC 8...
|
||||
// TODO: remove when we drop GCC 8 support. https://en.cppreference.com/w/cpp/compiler_support/20
|
||||
/// @todo: remove when we drop GCC 8 support. https://en.cppreference.com/w/cpp/compiler_support/20
|
||||
// C++20 advstd::remove_cvref_t
|
||||
template <class T>
|
||||
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
|
||||
|
|
|
|||
|
|
@ -349,7 +349,7 @@ PreparedResultSet::PreparedResultSet(MySQLStmt* stmt, MySQLResult* result, uint6
|
|||
// when mysql_stmt_fetch returned MYSQL_DATA_TRUNCATED
|
||||
// we cannot blindly null-terminate the data either as it may be retrieved as binary blob and not specifically a string
|
||||
// in this case using Field::GetCString will result in garbage
|
||||
// TODO: remove Field::GetCString and use std::string_view in C++17
|
||||
/// @todo: remove Field::GetCString and use std::string_view in C++17
|
||||
if (fetched_length < buffer_length)
|
||||
*((char*)buffer + fetched_length) = '\0';
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ TurretAI::TurretAI(Creature* c) : CreatureAI(c)
|
|||
|
||||
bool TurretAI::CanAIAttack(Unit const* /*who*/) const
|
||||
{
|
||||
// TODO: use one function to replace it
|
||||
/// @todo: use one function to replace it
|
||||
if (!me->IsWithinCombatRange(me->GetVictim(), me->m_CombatDistance)
|
||||
|| (m_minRange && me->IsWithinCombatRange(me->GetVictim(), m_minRange)))
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ struct DefaultTargetSelector : public Acore::unary_function<Unit*, bool>
|
|||
};
|
||||
|
||||
// Target selector for spell casts checking range, auras and attributes
|
||||
// TODO: Add more checks from Spell::CheckCast
|
||||
/// @todo: Add more checks from Spell::CheckCast
|
||||
struct SpellTargetSelector : public Acore::unary_function<Unit*, bool>
|
||||
{
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -641,22 +641,22 @@ enum SMART_ACTION
|
|||
SMART_ACTION_SET_CORPSE_DELAY = 116, // timer
|
||||
SMART_ACTION_DISABLE_EVADE = 117, // 0/1 (1 = disabled, 0 = enabled)
|
||||
SMART_ACTION_GO_SET_GO_STATE = 118, // state
|
||||
SMART_ACTION_SET_CAN_FLY = 119, // TODO: NOT SUPPORTED YET
|
||||
SMART_ACTION_REMOVE_AURAS_BY_TYPE = 120, // TODO: NOT SUPPORTED YET
|
||||
SMART_ACTION_SET_CAN_FLY = 119, /// @todo: NOT SUPPORTED YET
|
||||
SMART_ACTION_REMOVE_AURAS_BY_TYPE = 120, /// @todo: NOT SUPPORTED YET
|
||||
SMART_ACTION_SET_SIGHT_DIST = 121, // sightDistance
|
||||
SMART_ACTION_FLEE = 122, // fleeTime
|
||||
SMART_ACTION_ADD_THREAT = 123, // +threat, -threat
|
||||
SMART_ACTION_LOAD_EQUIPMENT = 124, // id
|
||||
SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT = 125, // id min range, id max range
|
||||
SMART_ACTION_REMOVE_ALL_GAMEOBJECTS = 126,
|
||||
SMART_ACTION_REMOVE_MOVEMENT = 127, // TODO: NOT SUPPORTED YET
|
||||
SMART_ACTION_REMOVE_MOVEMENT = 127, /// @todo: NOT SUPPORTED YET
|
||||
SMART_ACTION_PLAY_ANIMKIT = 128, // don't use on 3.3.5a
|
||||
SMART_ACTION_SCENE_PLAY = 129, // don't use on 3.3.5a
|
||||
SMART_ACTION_SCENE_CANCEL = 130, // don't use on 3.3.5a
|
||||
SMART_ACTION_SPAWN_SPAWNGROUP = 131, // TODO: NOT SUPPORTED YET
|
||||
SMART_ACTION_DESPAWN_SPAWNGROUP = 132, // TODO: NOT SUPPORTED YET
|
||||
SMART_ACTION_RESPAWN_BY_SPAWNID = 133, // TODO: NOT SUPPORTED YET
|
||||
// SMART_ACTION_INVOKER_CAST = 134, // TODO: solve name conflicts
|
||||
SMART_ACTION_SPAWN_SPAWNGROUP = 131, /// @todo: NOT SUPPORTED YET
|
||||
SMART_ACTION_DESPAWN_SPAWNGROUP = 132, /// @todo: NOT SUPPORTED YET
|
||||
SMART_ACTION_RESPAWN_BY_SPAWNID = 133, /// @todo: NOT SUPPORTED YET
|
||||
// SMART_ACTION_INVOKER_CAST = 134, /// @todo: solve name conflicts
|
||||
SMART_ACTION_PLAY_CINEMATIC = 135, // entry, cinematic
|
||||
SMART_ACTION_SET_MOVEMENT_SPEED = 136, // movementType, speedInteger, speedFraction
|
||||
|
||||
|
|
|
|||
|
|
@ -2341,7 +2341,7 @@ void AchievementMgr::BuildAllDataPacket(WorldPacket* data) const
|
|||
*data << uint32(iter->first);
|
||||
data->appendPackGUID(iter->second.counter);
|
||||
*data << GetPlayer()->GetPackGUID();
|
||||
*data << uint32(0); // TODO: This should be 1 if it is a failed timed criteria
|
||||
*data << uint32(0); /// @todo: This should be 1 if it is a failed timed criteria
|
||||
data->AppendPackedTime(iter->second.date);
|
||||
*data << uint32(now - iter->second.date);
|
||||
*data << uint32(now - iter->second.date);
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ void Battlefield::HandlePlayerEnterZone(Player* player, uint32 /*zone*/)
|
|||
InvitePlayerToWar(player);
|
||||
else // No more vacant places
|
||||
{
|
||||
// TODO: Send a packet to announce it to player
|
||||
/// @todo: Send a packet to announce it to player
|
||||
m_PlayersWillBeKick[player->GetTeamId()][player->GetGUID()] = GameTime::GetGameTime().count() + (player->IsGameMaster() ? 30 * MINUTE : 10);
|
||||
InvitePlayerToQueue(player);
|
||||
}
|
||||
|
|
@ -273,7 +273,7 @@ void Battlefield::InvitePlayerToWar(Player* player)
|
|||
if (!player)
|
||||
return;
|
||||
|
||||
// TODO : needed ?
|
||||
/// @todo : needed ?
|
||||
if (player->IsInFlight())
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@
|
|||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// TODO: Implement proper support for vehicle+player teleportation
|
||||
// TODO: Use spell victory/defeat in wg instead of RewardMarkOfHonor() && RewardHonor
|
||||
// TODO: Add proper implement of achievement
|
||||
/// @todo: Implement proper support for vehicle+player teleportation
|
||||
/// @todo: Use spell victory/defeat in wg instead of RewardMarkOfHonor() && RewardHonor
|
||||
/// @todo: Add proper implement of achievement
|
||||
|
||||
#include "BattlefieldWG.h"
|
||||
#include "GameTime.h"
|
||||
|
|
@ -864,7 +864,7 @@ void BattlefieldWG::OnPlayerJoinWar(Player* player)
|
|||
|
||||
void BattlefieldWG::OnPlayerLeaveWar(Player* player)
|
||||
{
|
||||
// Remove all aura from WG // TODO: false we can go out of this zone on retail and keep Rank buff, remove on end of WG
|
||||
// Remove all aura from WG /// @todo: false we can go out of this zone on retail and keep Rank buff, remove on end of WG
|
||||
if (!player->GetSession()->PlayerLogout())
|
||||
{
|
||||
if (player->GetVehicle()) // Remove vehicle of player if he go out.
|
||||
|
|
|
|||
|
|
@ -532,7 +532,7 @@ enum WintergraspWorldstates
|
|||
WORLDSTATE_ALLIANCE_KEEP_DEFENDED = 4025,
|
||||
};
|
||||
|
||||
// TODO: Handle this with creature_text ?
|
||||
/// @todo: Handle this with creature_text ?
|
||||
enum eWGText
|
||||
{
|
||||
BATTLEFIELD_WG_TEXT_START = 28,
|
||||
|
|
|
|||
|
|
@ -751,7 +751,7 @@ int32 ArenaTeam::GetRatingMod(uint32 ownRating, uint32 opponentRating, bool won
|
|||
// Calculate the rating modification
|
||||
float mod;
|
||||
|
||||
// TODO: Replace this hack with using the confidence factor (limiting the factor to 2.0f)
|
||||
/// @todo: Replace this hack with using the confidence factor (limiting the factor to 2.0f)
|
||||
if (won)
|
||||
{
|
||||
if (ownRating < 1300)
|
||||
|
|
|
|||
|
|
@ -1599,7 +1599,7 @@ bool Battleground::AddSpiritGuide(uint32 type, float x, float y, float z, float
|
|||
creature->setDeathState(DEAD);
|
||||
creature->SetGuidValue(UNIT_FIELD_CHANNEL_OBJECT, creature->GetGUID());
|
||||
// aura
|
||||
// TODO: Fix display here
|
||||
/// @todo: Fix display here
|
||||
// creature->SetVisibleAura(0, SPELL_SPIRIT_HEAL_CHANNEL);
|
||||
// casting visual effect
|
||||
creature->SetUInt32Value(UNIT_CHANNEL_SPELL, SPELL_SPIRIT_HEAL_CHANNEL);
|
||||
|
|
|
|||
|
|
@ -525,7 +525,7 @@ public:
|
|||
void HandleTriggerBuff(GameObject* gameObject);
|
||||
void SetHoliday(bool is_holiday);
|
||||
|
||||
// TODO: make this protected:
|
||||
/// @todo: make this protected:
|
||||
typedef GuidVector BGObjects;
|
||||
typedef GuidVector BGCreatures;
|
||||
BGObjects BgObjects;
|
||||
|
|
|
|||
|
|
@ -326,7 +326,7 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
|
|||
if (!creature)
|
||||
return nullptr;
|
||||
if (creature->GetEntry() == BG_AV_CreatureInfo[AV_NPC_A_CAPTAIN] || creature->GetEntry() == BG_AV_CreatureInfo[AV_NPC_H_CAPTAIN])
|
||||
creature->SetRespawnDelay(RESPAWN_ONE_DAY); // TODO: look if this can be done by database + also add this for the wingcommanders
|
||||
creature->SetRespawnDelay(RESPAWN_ONE_DAY); /// @todo: look if this can be done by database + also add this for the wingcommanders
|
||||
|
||||
if ((isStatic && cinfoid >= 10 && cinfoid <= 14) || (!isStatic && ((cinfoid >= AV_NPC_A_GRAVEDEFENSE0 && cinfoid <= AV_NPC_A_GRAVEDEFENSE3) ||
|
||||
(cinfoid >= AV_NPC_H_GRAVEDEFENSE0 && cinfoid <= AV_NPC_H_GRAVEDEFENSE3))))
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ namespace lfg
|
|||
|
||||
sLFGMgr->InitializeLockedDungeons(player, group);
|
||||
sLFGMgr->SetTeam(player->GetGUID(), player->GetTeamId());
|
||||
// TODO - Restore LfgPlayerData and send proper status to player if it was in a group
|
||||
/// @todo - Restore LfgPlayerData and send proper status to player if it was in a group
|
||||
}
|
||||
|
||||
void LFGPlayerScript::OnBindToInstance(Player* player, Difficulty difficulty, uint32 mapId, bool /*permanent*/)
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
#include "World.h"
|
||||
#include "WorldPacket.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
@ -547,7 +547,7 @@ bool Creature::UpdateEntry(uint32 Entry, const CreatureData* data, bool changele
|
|||
|
||||
SetMeleeDamageSchool(SpellSchools(cInfo->dmgschool));
|
||||
CreatureBaseStats const* stats = sObjectMgr->GetCreatureBaseStats(GetLevel(), cInfo->unit_class);
|
||||
float armor = (float)stats->GenerateArmor(cInfo); // TODO: Why is this treated as uint32 when it's a float?
|
||||
float armor = (float)stats->GenerateArmor(cInfo); /// @todo: Why is this treated as uint32 when it's a float?
|
||||
SetModifierValue(UNIT_MOD_ARMOR, BASE_VALUE, armor);
|
||||
SetModifierValue(UNIT_MOD_RESISTANCE_HOLY, BASE_VALUE, float(cInfo->resistance[SPELL_SCHOOL_HOLY]));
|
||||
SetModifierValue(UNIT_MOD_RESISTANCE_FIRE, BASE_VALUE, float(cInfo->resistance[SPELL_SCHOOL_FIRE]));
|
||||
|
|
@ -1521,7 +1521,7 @@ void Creature::SelectLevel(bool changelevel)
|
|||
SetMaxPower(POWER_MANA, mana); //MAX Mana
|
||||
SetPower(POWER_MANA, mana);
|
||||
|
||||
// TODO: set UNIT_FIELD_POWER*, for some creature class case (energy, etc)
|
||||
/// @todo: set UNIT_FIELD_POWER*, for some creature class case (energy, etc)
|
||||
|
||||
SetModifierValue(UNIT_MOD_HEALTH, BASE_VALUE, (float)health);
|
||||
SetModifierValue(UNIT_MOD_MANA, BASE_VALUE, (float)mana);
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ public:
|
|||
[[nodiscard]] bool HasReactState(ReactStates state) const { return (m_reactState == state); }
|
||||
void InitializeReactState();
|
||||
|
||||
///// TODO RENAME THIS!!!!!
|
||||
///// @todo RENAME THIS!!!!!
|
||||
bool isCanInteractWithBattleMaster(Player* player, bool msg) const;
|
||||
bool isCanTrainingAndResetTalentsOf(Player* player) const;
|
||||
[[nodiscard]] bool IsValidTrainerForPlayer(Player* player, uint32* npcFlags = nullptr) const;
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ constexpr Milliseconds PET_FOCUS_REGEN_INTERVAL = 4s;
|
|||
|
||||
enum class VisibilityDistanceType : uint8;
|
||||
|
||||
// TODO: Implement missing flags from TC in places that custom flags from xinef&pussywizzard use flag values.
|
||||
/// @todo: Implement missing flags from TC in places that custom flags from xinef&pussywizzard use flag values.
|
||||
// EnumUtils: DESCRIBE THIS
|
||||
enum CreatureFlagsExtra : uint32
|
||||
{
|
||||
|
|
@ -57,7 +57,7 @@ enum CreatureFlagsExtra : uint32
|
|||
CREATURE_FLAG_EXTRA_NO_TAUNT = 0x00000100, // creature is immune to taunt auras and 'attack me' effects
|
||||
CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE = 0x00000200, // creature won't update movement flags
|
||||
CREATURE_FLAG_EXTRA_GHOST_VISIBILITY = 0x00000400, // creature will only be visible to dead players
|
||||
CREATURE_FLAG_EXTRA_UNUSED_12 = 0x00000800, // TODO: Implement CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK (creature will use offhand attacks)
|
||||
CREATURE_FLAG_EXTRA_UNUSED_12 = 0x00000800, /// @todo: Implement CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK (creature will use offhand attacks)
|
||||
CREATURE_FLAG_EXTRA_NO_SELL_VENDOR = 0x00001000, // players can't sell items to this vendor
|
||||
CREATURE_FLAG_EXTRA_IGNORE_COMBAT = 0x00002000,
|
||||
CREATURE_FLAG_EXTRA_WORLDEVENT = 0x00004000, // custom flag for world event creatures (left room for merging)
|
||||
|
|
|
|||
|
|
@ -499,7 +499,7 @@ void Puppet::Update(uint32 time)
|
|||
if (!IsAlive())
|
||||
{
|
||||
UnSummon();
|
||||
// TODO: why long distance .die does not remove it
|
||||
/// @todo: why long distance .die does not remove it
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2299,7 +2299,7 @@ void GameObject::ModifyHealth(int32 change, Unit* attackerOrHealer /*= nullptr*/
|
|||
Player* player = attackerOrHealer->GetCharmerOrOwnerPlayerOrPlayerItself();
|
||||
|
||||
// dealing damage, send packet
|
||||
// TODO: is there any packet for healing?
|
||||
/// @todo: is there any packet for healing?
|
||||
if (player)
|
||||
{
|
||||
WorldPacket data(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, 8 + 8 + 8 + 4 + 4);
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
#include "Tokenize.h"
|
||||
#include "StringConvert.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
@ -2889,7 +2889,7 @@ void WorldObject::DestroyForNearbyPlayers()
|
|||
if (!player->HaveAtClient(this))
|
||||
continue;
|
||||
|
||||
if (isType(TYPEMASK_UNIT) && ((Unit*)this)->GetCharmerGUID() == player->GetGUID()) // TODO: this is for puppet
|
||||
if (isType(TYPEMASK_UNIT) && ((Unit*)this)->GetCharmerGUID() == player->GetGUID()) /// @todo: this is for puppet
|
||||
continue;
|
||||
|
||||
DestroyForPlayer(player);
|
||||
|
|
|
|||
|
|
@ -1005,7 +1005,7 @@ bool Pet::CreateBaseAtTamed(CreatureTemplate const* cinfo, Map* map, uint32 phas
|
|||
return true;
|
||||
}
|
||||
|
||||
// TODO: Move stat mods code to pet passive auras
|
||||
/// @todo: Move stat mods code to pet passive auras
|
||||
bool Guardian::InitStatsForLevel(uint8 petlevel)
|
||||
{
|
||||
CreatureTemplate const* cinfo = GetCreatureTemplate();
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
#include "Tokenize.h"
|
||||
#include "StringConvert.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
@ -470,7 +470,7 @@ void Player::CleanupsBeforeDelete(bool finalCleanup)
|
|||
bool Player::Create(ObjectGuid::LowType guidlow, CharacterCreateInfo* createInfo)
|
||||
{
|
||||
// FIXME: outfitId not used in player creating
|
||||
// TODO: need more checks against packet modifications
|
||||
/// @todo: need more checks against packet modifications
|
||||
// should check that skin, face, hair* are valid via DBC per race/class
|
||||
// also do it in Player::BuildEnumData, Player::LoadFromDB
|
||||
|
||||
|
|
@ -853,7 +853,7 @@ void Player::HandleDrowning(uint32 time_diff)
|
|||
{
|
||||
m_MirrorTimer[BREATH_TIMER] += 1 * IN_MILLISECONDS;
|
||||
// Calculate and deal damage
|
||||
// TODO: Check this formula
|
||||
/// @todo: Check this formula
|
||||
uint32 damage = GetMaxHealth() / 5 + urand(0, GetLevel() - 1);
|
||||
EnvironmentalDamage(DAMAGE_DROWNING, damage);
|
||||
}
|
||||
|
|
@ -922,7 +922,7 @@ void Player::HandleDrowning(uint32 time_diff)
|
|||
{
|
||||
m_MirrorTimer[FIRE_TIMER] += 1 * IN_MILLISECONDS;
|
||||
// Calculate and deal damage
|
||||
// TODO: Check this formula
|
||||
/// @todo: Check this formula
|
||||
uint32 damage = urand(600, 700);
|
||||
if (m_MirrorTimerFlags & UNDERWATER_INLAVA)
|
||||
EnvironmentalDamage(DAMAGE_LAVA, damage);
|
||||
|
|
@ -1837,7 +1837,7 @@ void Player::Regenerate(Powers power)
|
|||
|
||||
uint32 curValue = GetPower(power);
|
||||
|
||||
// TODO: possible use of miscvalueb instead of amount
|
||||
/// @todo: possible use of miscvalueb instead of amount
|
||||
if (HasAuraTypeWithMiscvalue(SPELL_AURA_PREVENT_REGENERATE_POWER, power + 1))
|
||||
return;
|
||||
|
||||
|
|
@ -3184,7 +3184,7 @@ bool Player::_addSpell(uint32 spellId, uint8 addSpecMask, bool temporary, bool l
|
|||
continue;
|
||||
}
|
||||
|
||||
// @todo confirm if rogues start wth lockpicking skill at level 1 but only recieve the spell to use it at level 16
|
||||
/// @todo confirm if rogues start wth lockpicking skill at level 1 but only recieve the spell to use it at level 16
|
||||
// Added for runeforging, it is confirmed via sniff that this happens when death knights learn the spell, not on character creation.
|
||||
if ((_spell_idx->second->AcquireMethod == SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN && !HasSkill(pSkill->id)) || ((pSkill->id == SKILL_LOCKPICKING || pSkill->id == SKILL_RUNEFORGING) && _spell_idx->second->TrivialSkillLineRankHigh == 0))
|
||||
{
|
||||
|
|
@ -5055,7 +5055,7 @@ void Player::GetDodgeFromAgility(float& diminishing, float& nondiminishing)
|
|||
if (!dodgeRatio || pclass > MAX_CLASSES)
|
||||
return;
|
||||
|
||||
// TODO: research if talents/effects that increase total agility by x% should increase non-diminishing part
|
||||
/// @todo: research if talents/effects that increase total agility by x% should increase non-diminishing part
|
||||
float base_agility = GetCreateStat(STAT_AGILITY) * m_auraModifiersGroup[UNIT_MOD_STAT_START + static_cast<uint16>(STAT_AGILITY)][BASE_PCT];
|
||||
float bonus_agility = GetStat(STAT_AGILITY) - base_agility;
|
||||
|
||||
|
|
@ -12921,7 +12921,7 @@ PartyResult Player::CanUninviteFromGroup(ObjectGuid targetPlayerGUID) const
|
|||
if (grp->isRollLootActive())
|
||||
return ERR_PARTY_LFG_BOOT_LOOT_ROLLS;
|
||||
|
||||
// TODO: Should also be sent when anyone has recently left combat, with an aprox ~5 seconds timer.
|
||||
/// @todo: Should also be sent when anyone has recently left combat, with an aprox ~5 seconds timer.
|
||||
for (GroupReference const* itr = grp->GetFirstMember(); itr != nullptr; itr = itr->next())
|
||||
if (itr->GetSource() && itr->GetSource()->IsInMap(this) && itr->GetSource()->IsInCombat())
|
||||
return ERR_PARTY_LFG_BOOT_IN_COMBAT;
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@
|
|||
#include "Tokenize.h"
|
||||
#include "StringConvert.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
@ -2271,7 +2271,7 @@ InventoryResult Player::CanUseItem(Item* pItem, bool not_loading) const
|
|||
// Armor that is binded to account can "morph" from plate to mail, etc. if skill is not learned yet.
|
||||
if (pProto->Quality == ITEM_QUALITY_HEIRLOOM && pProto->Class == ITEM_CLASS_ARMOR && !HasSkill(itemSkill))
|
||||
{
|
||||
// TODO: when you right-click already equipped item it throws EQUIP_ERR_NO_REQUIRED_PROFICIENCY.
|
||||
/// @todo: when you right-click already equipped item it throws EQUIP_ERR_NO_REQUIRED_PROFICIENCY.
|
||||
|
||||
// In fact it's a visual bug, everything works properly... I need sniffs of operations with
|
||||
// binded to account items from off server.
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
#include "WeatherMgr.h"
|
||||
#include "WorldStatePackets.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
@ -164,7 +164,7 @@ void Player::Update(uint32 p_time)
|
|||
if (Unit* victim = GetVictim())
|
||||
{
|
||||
// default combat reach 10
|
||||
// TODO add weapon, skill check
|
||||
/// @todo add weapon, skill check
|
||||
|
||||
if (isAttackReady(BASE_ATTACK))
|
||||
{
|
||||
|
|
@ -1407,7 +1407,7 @@ void Player::UpdatePvPState()
|
|||
|
||||
void Player::UpdateFFAPvPState(bool reset /*= true*/)
|
||||
{
|
||||
// TODO: should we always synchronize UNIT_FIELD_BYTES_2, 1 of controller
|
||||
/// @todo: should we always synchronize UNIT_FIELD_BYTES_2, 1 of controller
|
||||
// and controlled? no, we shouldn't, those are checked for affecting player
|
||||
// by client
|
||||
if (!pvpInfo.IsInNoPvPArea && !IsGameMaster() &&
|
||||
|
|
|
|||
|
|
@ -1174,7 +1174,7 @@ SpellCastResult Unit::CastSpell(SpellCastTargets const& targets, SpellInfo const
|
|||
return SPELL_FAILED_SPELL_UNAVAILABLE;
|
||||
}
|
||||
|
||||
// TODO: this is a workaround - not needed anymore, but required for some scripts :(
|
||||
/// @todo: this is a workaround - not needed anymore, but required for some scripts :(
|
||||
if (!originalCaster && triggeredByAura)
|
||||
{
|
||||
originalCaster = triggeredByAura->GetCasterGUID();
|
||||
|
|
@ -1457,7 +1457,7 @@ void Unit::DealSpellDamage(SpellNonMeleeDamage* damageInfo, bool durabilityLoss,
|
|||
Unit::DealDamage(this, victim, damageInfo->damage, &cleanDamage, SPELL_DIRECT_DAMAGE, SpellSchoolMask(damageInfo->schoolMask), spellProto, durabilityLoss, false, spell);
|
||||
}
|
||||
|
||||
// TODO for melee need create structure as in
|
||||
// @todo for melee need create structure as in
|
||||
void Unit::CalculateMeleeDamage(Unit* victim, CalcDamageInfo* damageInfo, WeaponAttackType attackType, const bool sittingVictim)
|
||||
{
|
||||
damageInfo->attacker = this;
|
||||
|
|
@ -1951,7 +1951,7 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
|
|||
|
||||
Unit::DealDamageMods(this, damage, &absorb);
|
||||
|
||||
// TODO: Move this to a packet handler
|
||||
/// @todo: Move this to a packet handler
|
||||
WorldPacket data(SMSG_SPELLDAMAGESHIELD, (8 + 8 + 4 + 4 + 4 + 4));
|
||||
data << victim->GetGUID();
|
||||
data << GetGUID();
|
||||
|
|
@ -3428,7 +3428,7 @@ SpellMissInfo Unit::SpellHitResult(Unit* victim, SpellInfo const* spell, bool Ca
|
|||
return SPELL_MISS_IMMUNE;
|
||||
|
||||
// All positive spells can`t miss
|
||||
// TODO: client not show miss log for this spells - so need find info for this in dbc and use it!
|
||||
/// @todo: client not show miss log for this spells - so need find info for this in dbc and use it!
|
||||
if ((spell->IsPositive() || spell->HasEffect(SPELL_EFFECT_DISPEL))
|
||||
&& (!IsHostileTo(victim))) // prevent from affecting enemy by "positive" spell
|
||||
return SPELL_MISS_NONE;
|
||||
|
|
@ -3496,7 +3496,7 @@ SpellMissInfo Unit::SpellHitResult(Unit* victim, Spell const* spell, bool CanRef
|
|||
}
|
||||
|
||||
// All positive spells can`t miss
|
||||
// TODO: client not show miss log for this spells - so need find info for this in dbc and use it!
|
||||
/// @todo: client not show miss log for this spells - so need find info for this in dbc and use it!
|
||||
if ((spellInfo->IsPositive() || spellInfo->HasEffect(SPELL_EFFECT_DISPEL))
|
||||
&& (!IsHostileTo(victim))) // prevent from affecting enemy by "positive" spell
|
||||
{
|
||||
|
|
@ -6615,7 +6615,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
|
|||
|
||||
target = this;
|
||||
if (roll_chance_i(10))
|
||||
ToPlayer()->Say("This is Madness!", LANG_UNIVERSAL); // TODO: It should be moved to database, shouldn't it?
|
||||
ToPlayer()->Say("This is Madness!", LANG_UNIVERSAL); /// @todo: It should be moved to database, shouldn't it?
|
||||
break;
|
||||
}
|
||||
// Sunwell Exalted Caster Neck (??? neck)
|
||||
|
|
@ -7527,7 +7527,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
|
|||
triggered_spell_id = isWrathSpell ? 48518 : 48517;
|
||||
break;
|
||||
}
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
}
|
||||
case SPELLFAMILY_ROGUE:
|
||||
{
|
||||
|
|
@ -8378,7 +8378,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
|
|||
// Mark of Blood
|
||||
if (dummySpell->Id == 49005)
|
||||
{
|
||||
// TODO: need more info (cooldowns/PPM)
|
||||
/// @todo: need more info (cooldowns/PPM)
|
||||
triggered_spell_id = 61607;
|
||||
break;
|
||||
}
|
||||
|
|
@ -9454,7 +9454,7 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg
|
|||
|
||||
target = this;
|
||||
trigger_spell_id = 22588;
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
}
|
||||
// Bonus Healing (Crystal Spire of Karabor mace)
|
||||
case 40971:
|
||||
|
|
@ -10843,7 +10843,7 @@ void Unit::SetCharm(Unit* charm, bool apply)
|
|||
LOG_FATAL("entities.unit", "Player {} is trying to charm unit {}, but it already has a charmed unit {}", GetName(), charm->GetEntry(), GetCharmGUID().ToString());
|
||||
|
||||
charm->m_ControlledByPlayer = true;
|
||||
// TODO: maybe we can use this flag to check if controlled by player
|
||||
/// @todo: maybe we can use this flag to check if controlled by player
|
||||
charm->SetUnitFlag(UNIT_FLAG_PLAYER_CONTROLLED);
|
||||
}
|
||||
else
|
||||
|
|
@ -12150,7 +12150,7 @@ float Unit::SpellTakenCritChance(Unit const* caster, SpellInfo const* spellProto
|
|||
{
|
||||
return 100.0f;
|
||||
}
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
case SPELL_DAMAGE_CLASS_RANGED:
|
||||
{
|
||||
// flat aura mods
|
||||
|
|
@ -12211,7 +12211,7 @@ uint32 Unit::SpellCriticalDamageBonus(Unit const* caster, SpellInfo const* spell
|
|||
{
|
||||
case SPELL_DAMAGE_CLASS_MELEE: // for melee based spells is 100%
|
||||
case SPELL_DAMAGE_CLASS_RANGED:
|
||||
// TODO: write here full calculation for melee/ranged spells
|
||||
/// @todo: write here full calculation for melee/ranged spells
|
||||
crit_bonus += damage;
|
||||
break;
|
||||
default:
|
||||
|
|
@ -12249,7 +12249,7 @@ uint32 Unit::SpellCriticalHealingBonus(Unit const* caster, SpellInfo const* spel
|
|||
{
|
||||
case SPELL_DAMAGE_CLASS_MELEE: // for melee based spells is 100%
|
||||
case SPELL_DAMAGE_CLASS_RANGED:
|
||||
// TODO: write here full calculation for melee/ranged spells
|
||||
/// @todo: write here full calculation for melee/ranged spells
|
||||
crit_bonus = damage;
|
||||
break;
|
||||
default:
|
||||
|
|
@ -14867,7 +14867,7 @@ void Unit::ModSpellCastTime(SpellInfo const* spellInfo, int32& castTime, Spell*
|
|||
|
||||
// called from caster
|
||||
if (Player* modOwner = GetSpellModOwner())
|
||||
// TODO:(MadAgos) Eventually check and delete the bool argument
|
||||
/// @todo:(MadAgos) Eventually check and delete the bool argument
|
||||
modOwner->ApplySpellMod(spellInfo->Id, SPELLMOD_CASTING_TIME, castTime, spell, bool(modOwner != this && !IsPet()));
|
||||
|
||||
switch (spellInfo->DmgClass)
|
||||
|
|
@ -18101,7 +18101,7 @@ void Unit::Kill(Unit* killer, Unit* victim, bool durabilityLoss, WeaponAttackTyp
|
|||
{
|
||||
Map* instanceMap = creature->GetMap();
|
||||
//Player* creditedPlayer = GetCharmerOrOwnerPlayerOrPlayerItself();
|
||||
// TODO: do instance binding anyway if the charmer/owner is offline
|
||||
/// @todo: do instance binding anyway if the charmer/owner is offline
|
||||
|
||||
if (instanceMap->IsDungeon() && player)
|
||||
if (instanceMap->IsRaidOrHeroicDungeon())
|
||||
|
|
@ -18540,7 +18540,7 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au
|
|||
AttackStop();
|
||||
|
||||
// Xinef: dont reset threat and combat, put them on offline list, moved down after faction changes
|
||||
// CombatStop(); // TODO: CombatStop(true) may cause crash (interrupt spells)
|
||||
// CombatStop(); /// @todo: CombatStop(true) may cause crash (interrupt spells)
|
||||
// DeleteThreatList();
|
||||
|
||||
Player* playerCharmer = charmer->ToPlayer();
|
||||
|
|
|
|||
|
|
@ -581,7 +581,7 @@ enum MovementFlags
|
|||
MOVEMENTFLAG_FALLING_SLOW = 0x20000000, // active rogue safe fall spell (passive)
|
||||
MOVEMENTFLAG_HOVER = 0x40000000, // hover, cannot jump
|
||||
|
||||
// TODO: Check if PITCH_UP and PITCH_DOWN really belong here..
|
||||
/// @todo: Check if PITCH_UP and PITCH_DOWN really belong here..
|
||||
MOVEMENTFLAG_MASK_MOVING =
|
||||
MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_BACKWARD | MOVEMENTFLAG_STRAFE_LEFT | MOVEMENTFLAG_STRAFE_RIGHT |
|
||||
MOVEMENTFLAG_PITCH_UP | MOVEMENTFLAG_PITCH_DOWN | MOVEMENTFLAG_FALLING | MOVEMENTFLAG_FALLING_FAR | MOVEMENTFLAG_ASCENDING | MOVEMENTFLAG_DESCENDING |
|
||||
|
|
@ -900,7 +900,7 @@ struct CalcDamageInfo
|
|||
uint32 procVictim;
|
||||
uint32 procEx;
|
||||
uint32 cleanDamage; // Used only for rage calculation
|
||||
MeleeHitOutcome hitOutCome; // TODO: remove this field (need use TargetState)
|
||||
MeleeHitOutcome hitOutCome; /// @todo: remove this field (need use TargetState)
|
||||
};
|
||||
|
||||
// Spell damage info structure based on structure sending in SMSG_SPELLNONMELEEDAMAGELOG opcode
|
||||
|
|
|
|||
|
|
@ -826,7 +826,7 @@ void GameEventMgr::LoadFromDB()
|
|||
Field* fields = result->Fetch();
|
||||
|
||||
uint32 questId = fields[0].Get<uint32>();
|
||||
uint32 eventEntry = fields[1].Get<uint32>(); // TODO: Change to uint8
|
||||
uint32 eventEntry = fields[1].Get<uint32>(); /// @todo: Change to uint8
|
||||
|
||||
Quest* questTemplate = const_cast<Quest*>(sObjectMgr->GetQuestTemplate(questId));
|
||||
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ enum GuildEvents
|
|||
GE_RANK_DELETED = 11,
|
||||
GE_SIGNED_ON = 12,
|
||||
GE_SIGNED_OFF = 13,
|
||||
GE_GUILDBANKBAGSLOTS_CHANGED = 14, /// TODO: Sent when items are moved in gbank - all players with bank open will send tab query
|
||||
GE_GUILDBANKBAGSLOTS_CHANGED = 14, /// @todo: Sent when items are moved in gbank - all players with bank open will send tab query
|
||||
GE_BANK_TAB_PURCHASED = 15,
|
||||
GE_BANK_TAB_UPDATED = 16,
|
||||
GE_BANK_MONEY_SET = 17,
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ void WorldSession::HandleCalendarGetCalendar(WorldPacket& /*recvData*/)
|
|||
data << uint32(boundCounter);
|
||||
data.append(dataBuffer);
|
||||
|
||||
// TODO: Fix this, how we do know how many and what holidays to send?
|
||||
/// @todo: Fix this, how we do know how many and what holidays to send?
|
||||
data << uint32(sGameEventMgr->modifiedHolidays.size());
|
||||
for (uint32 entry : sGameEventMgr->modifiedHolidays)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -431,7 +431,7 @@ void WorldSession::HandleLogoutRequestOpcode(WorldPackets::Character::LogoutRequ
|
|||
bool preventAfkLogout = sWorld->getIntConfig(CONFIG_AFK_PREVENT_LOGOUT) == 2
|
||||
&& GetPlayer()->isAFK();
|
||||
|
||||
/// TODO: Possibly add RBAC permission to log out in combat
|
||||
/// @todo: Possibly add RBAC permission to log out in combat
|
||||
bool canLogoutInCombat = GetPlayer()->HasPlayerFlag(PLAYER_FLAGS_RESTING);
|
||||
|
||||
uint32 reason = 0;
|
||||
|
|
|
|||
|
|
@ -321,7 +321,7 @@ void WorldSession::HandlePetActionHelper(Unit* pet, ObjectGuid guid1, uint32 spe
|
|||
if (pet->ToPet())
|
||||
pet->ToPet()->ClearCastWhenWillAvailable();
|
||||
pet->ClearInPetCombat();
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
|
||||
case REACT_DEFENSIVE: //recovery
|
||||
case REACT_AGGRESSIVE: //activete
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket& recvData)
|
|||
}
|
||||
else
|
||||
{
|
||||
// TODO: find correct opcode
|
||||
/// @todo: find correct opcode
|
||||
if (_player->GetLevel() < sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL))
|
||||
{
|
||||
SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", _player->GetName(), ERR_ARENA_TEAM_TARGET_TOO_LOW_S);
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ void WorldSession::HandleClientCastFlags(WorldPacket& recvPacket, uint8 castFlag
|
|||
|
||||
void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
|
||||
{
|
||||
// TODO: add targets.read() check
|
||||
/// @todo: add targets.read() check
|
||||
Player* pUser = _player;
|
||||
|
||||
// ignore for remote control state
|
||||
|
|
@ -384,7 +384,7 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket)
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: Preparation for #23204
|
||||
/// @todo: Preparation for #23204
|
||||
// allow casting of spells triggered by clientside periodic trigger auras
|
||||
/*
|
||||
if (caster->HasAuraTypeWithTriggerSpell(SPELL_AURA_PERIODIC_TRIGGER_SPELL_FROM_CLIENT, spellId))
|
||||
|
|
@ -651,7 +651,7 @@ void WorldSession::HandleSpellClick(WorldPacket& recvData)
|
|||
if (!unit)
|
||||
return;
|
||||
|
||||
// TODO: Unit::SetCharmedBy: 28782 is not in world but 0 is trying to charm it! -> crash
|
||||
/// @todo: Unit::SetCharmedBy: 28782 is not in world but 0 is trying to charm it! -> crash
|
||||
if (!unit->IsInWorld())
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -1457,7 +1457,7 @@ float LootTemplate::LootGroup::TotalChance() const
|
|||
void LootTemplate::LootGroup::Verify(LootStore const& lootstore, uint32 id, uint8 group_id) const
|
||||
{
|
||||
float chance = RawTotalChance();
|
||||
if (chance > 101.0f) // TODO: replace with 100% when DBs will be ready
|
||||
if (chance > 101.0f) /// @todo: replace with 100% when DBs will be ready
|
||||
{
|
||||
LOG_ERROR("sql.sql", "Table '{}' entry {} group {} has total chance > 100% ({})", lootstore.GetName(), id, group_id, chance);
|
||||
}
|
||||
|
|
@ -1807,7 +1807,7 @@ void LootTemplate::Verify(LootStore const& lootstore, uint32 id) const
|
|||
if (Groups[i])
|
||||
Groups[i]->Verify(lootstore, id, i + 1);
|
||||
|
||||
// TODO: References validity checks
|
||||
/// @todo: References validity checks
|
||||
}
|
||||
|
||||
void LootTemplate::CheckLootRefs(LootTemplateMap const& store, LootIdSet* ref_set) const
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ Map::EnterState MapMgr::PlayerCannotEnter(uint32 mapid, Player* player, bool log
|
|||
if ((!group || !group->isRaidGroup()) && !sWorld->getBoolConfig(CONFIG_INSTANCE_IGNORE_RAID))
|
||||
{
|
||||
// probably there must be special opcode, because client has this string constant in GlobalStrings.lua
|
||||
// TODO: this is not a good place to send the message
|
||||
/// @todo: this is not a good place to send the message
|
||||
player->GetSession()->SendAreaTriggerMessage(player->GetSession()->GetAcoreString(LANG_INSTANCE_RAID_GROUP_ONLY), mapName);
|
||||
LOG_DEBUG("maps", "MAP: Player '{}' must be in a raid group to enter instance '{}'", player->GetName(), mapName);
|
||||
return Map::CANNOT_ENTER_NOT_IN_RAID;
|
||||
|
|
@ -320,7 +320,7 @@ bool MapMgr::IsValidMAP(uint32 mapid, bool startUp)
|
|||
return mEntry && (!mEntry->IsDungeon() || sObjectMgr->GetInstanceTemplate(mapid));
|
||||
}
|
||||
|
||||
// TODO: add check for battleground template
|
||||
/// @todo: add check for battleground template
|
||||
}
|
||||
|
||||
void MapMgr::UnloadAll()
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ void PointMovementGenerator<T>::DoInitialize(T* unit)
|
|||
if (unit->HasUnitState(UNIT_STATE_NOT_MOVE) || unit->IsMovementPreventedByCasting())
|
||||
{
|
||||
// the next line is to ensure that a new spline is created in DoUpdate() once the unit is no longer rooted/stunned
|
||||
// todo: rename this flag to something more appropriate since it is set to true even without speed change now.
|
||||
/// @todo: rename this flag to something more appropriate since it is set to true even without speed change now.
|
||||
i_recalculateSpeed = true;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ namespace Movement
|
|||
spline.initLengths(init);
|
||||
}
|
||||
|
||||
// TODO: what to do in such cases? problem is in input data (all points are at same coords)
|
||||
/// @todo: what to do in such cases? problem is in input data (all points are at same coords)
|
||||
if (spline.length() < minimal_duration)
|
||||
{
|
||||
spline.set_length(spline.last(), spline.isCyclic() ? 1000 : 1);
|
||||
|
|
|
|||
|
|
@ -664,7 +664,7 @@ void Map::ScriptsProcess()
|
|||
|
||||
case SCRIPT_COMMAND_CAST_SPELL:
|
||||
{
|
||||
// TODO: Allow gameobjects to be targets and casters
|
||||
/// @todo: Allow gameobjects to be targets and casters
|
||||
if (!source && !target)
|
||||
{
|
||||
LOG_ERROR("maps.script", "{} source and target objects are nullptr.", step.script->GetDebugInfo());
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
Battleground* ScriptMgr::CreateBattleground(BattlegroundTypeId /*typeId*/)
|
||||
{
|
||||
// TODO: Implement script-side battlegrounds.
|
||||
/// @todo: Implement script-side battlegrounds.
|
||||
ABORT();
|
||||
return nullptr;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1175,7 +1175,7 @@ void WorldSession::ReadAddonsInfo(ByteBuffer& data)
|
|||
LOG_DEBUG("network", "ADDON: {} (0x{:x}) was not known, saving...", addon.Name, addon.CRC);
|
||||
}
|
||||
|
||||
// TODO: Find out when to not use CRC/pubkey, and other possible states.
|
||||
/// @todo: Find out when to not use CRC/pubkey, and other possible states.
|
||||
m_addonsList.push_back(addon);
|
||||
}
|
||||
|
||||
|
|
@ -1230,7 +1230,7 @@ void WorldSession::SendAddonsInfo()
|
|||
data.append(addonPublicKey, sizeof(addonPublicKey));
|
||||
}
|
||||
|
||||
data << uint32(0); // TODO: Find out the meaning of this.
|
||||
data << uint32(0); /// @todo: Find out the meaning of this.
|
||||
}
|
||||
|
||||
uint8 unk3 = 0; // 0 is sent here
|
||||
|
|
|
|||
|
|
@ -351,7 +351,7 @@ WorldSocket::ReadDataHandlerResult WorldSocket::ReadDataHandler()
|
|||
LOG_ERROR("network", "WorldSocket::ReadDataHandler(): client {} sent malformed CMSG_AUTH_SESSION", GetRemoteIpAddress().to_string());
|
||||
return ReadDataHandlerResult::Error;
|
||||
}
|
||||
case CMSG_KEEP_ALIVE: // todo: handle this packet in the same way of CMSG_TIME_SYNC_RESP
|
||||
case CMSG_KEEP_ALIVE: /// @todo: handle this packet in the same way of CMSG_TIME_SYNC_RESP
|
||||
sessionGuard.lock();
|
||||
LogOpcodeText(opcode, sessionGuard);
|
||||
if (_worldSession)
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
#include "Vehicle.h"
|
||||
#include "WorldPacket.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
@ -595,7 +595,7 @@ void AuraEffect::CalculatePeriodic(Unit* caster, bool create, bool load)
|
|||
// 3 spells have no amplitude set
|
||||
if (!m_amplitude)
|
||||
m_amplitude = 1 * IN_MILLISECONDS;
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
case SPELL_AURA_PERIODIC_DAMAGE:
|
||||
case SPELL_AURA_PERIODIC_HEAL:
|
||||
case SPELL_AURA_OBS_MOD_HEALTH:
|
||||
|
|
@ -1190,7 +1190,7 @@ void AuraEffect::CleanupTriggeredSpells(Unit* target)
|
|||
return;
|
||||
|
||||
// needed for spell 43680, maybe others
|
||||
// TODO: is there a spell flag, which can solve this in a more sophisticated way?
|
||||
/// @todo: is there a spell flag, which can solve this in a more sophisticated way?
|
||||
if (m_spellInfo->Effects[GetEffIndex()].ApplyAuraName == SPELL_AURA_PERIODIC_TRIGGER_SPELL &&
|
||||
uint32(m_spellInfo->GetDuration()) == m_spellInfo->Effects[GetEffIndex()].Amplitude)
|
||||
return;
|
||||
|
|
@ -3128,7 +3128,7 @@ void AuraEffect::HandlePreventFleeing(AuraApplication const* aurApp, uint8 mode,
|
|||
// Since patch 3.0.2 this mechanic no longer affects fear effects. It will ONLY prevent humanoids from fleeing due to low health.
|
||||
if (target->GetTypeId() == TYPEID_PLAYER || !apply || target->HasAuraType(SPELL_AURA_MOD_FEAR))
|
||||
return;
|
||||
/// TODO: find a way to cancel fleeing for assistance.
|
||||
/// @todo: find a way to cancel fleeing for assistance.
|
||||
/// Currently this will only stop creatures fleeing due to low health that could not find nearby allies to flee towards.
|
||||
target->SetControlled(false, UNIT_STATE_FLEEING);
|
||||
}
|
||||
|
|
@ -3864,7 +3864,7 @@ void AuraEffect::HandleAuraModSchoolImmunity(AuraApplication const* aurApp, uint
|
|||
&& GetSpellInfo()->HasAttribute(SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE))
|
||||
target->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_IMMUNE_OR_LOST_SELECTION);
|
||||
|
||||
// TODO: optimalize this cycle - use RemoveAurasWithInterruptFlags call or something else
|
||||
/// @todo: optimalize this cycle - use RemoveAurasWithInterruptFlags call or something else
|
||||
if ((apply)
|
||||
&& GetSpellInfo()->HasAttribute(SPELL_ATTR1_IMMUNITY_PURGES_EFFECT)
|
||||
&& GetSpellInfo()->IsPositive()) //Only positive immunity removes auras
|
||||
|
|
@ -6024,7 +6024,7 @@ void AuraEffect::HandlePeriodicTriggerSpellAuraTick(Unit* target, Unit* caster)
|
|||
triggerSpellId = 30571;
|
||||
break;
|
||||
// Doom
|
||||
// TODO: effect trigger spell may be independant on spell targets, and executed in spell finish phase
|
||||
/// @todo: effect trigger spell may be independant on spell targets, and executed in spell finish phase
|
||||
// so instakill will be naturally done before trigger spell
|
||||
case 31347:
|
||||
{
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
#include "Vehicle.h"
|
||||
#include "WorldPacket.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
@ -520,7 +520,7 @@ void Aura::_UnapplyForTarget(Unit* target, Unit* caster, AuraApplication* auraAp
|
|||
|
||||
ApplicationMap::iterator itr = m_applications.find(target->GetGUID());
|
||||
|
||||
// TODO: Figure out why this happens
|
||||
/// @todo: Figure out why this happens
|
||||
if (itr == m_applications.end())
|
||||
{
|
||||
LOG_ERROR("spells.aura", "Aura::_UnapplyForTarget, target:{}, caster:{}, spell:{} was not found in owners application map!",
|
||||
|
|
@ -1396,7 +1396,7 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b
|
|||
if (caster->HasAura(56370))
|
||||
SetDuration(0);
|
||||
}
|
||||
// Todo: This should be moved to similar function in spell::hit
|
||||
/// @todo: This should be moved to similar function in spell::hit
|
||||
else if (GetSpellInfo()->SpellFamilyFlags[0] & 0x01000000)
|
||||
{
|
||||
// Polymorph Sound - Sheep && Penguin
|
||||
|
|
@ -1695,7 +1695,7 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b
|
|||
case SPELLFAMILY_WARRIOR:
|
||||
if (!caster)
|
||||
break;
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
case SPELLFAMILY_WARLOCK:
|
||||
if (!caster)
|
||||
break;
|
||||
|
|
@ -2243,7 +2243,7 @@ bool Aura::IsProcTriggeredOnEvent(AuraApplication* aurApp, ProcEventInfo& eventI
|
|||
if (IsProcOnCooldown())
|
||||
return false;
|
||||
|
||||
// TODO:
|
||||
/// @todo:
|
||||
// something about triggered spells triggering, and add extra attack effect
|
||||
|
||||
// do checks against db data
|
||||
|
|
@ -2261,14 +2261,14 @@ bool Aura::IsProcTriggeredOnEvent(AuraApplication* aurApp, ProcEventInfo& eventI
|
|||
if (!check)
|
||||
return false;
|
||||
|
||||
// TODO:
|
||||
/// @todo:
|
||||
// do allow additional requirements for procs
|
||||
// this is needed because this is the last moment in which you can prevent aura charge drop on proc
|
||||
// and possibly a way to prevent default checks (if there're going to be any)
|
||||
|
||||
// Check if current equipment meets aura requirements
|
||||
// do that only for passive spells
|
||||
// TODO: this needs to be unified for all kinds of auras
|
||||
/// @todo: this needs to be unified for all kinds of auras
|
||||
Unit* target = aurApp->GetTarget();
|
||||
if (IsPassive() && target->GetTypeId() == TYPEID_PLAYER && GetSpellInfo()->EquippedItemClass != -1)
|
||||
{
|
||||
|
|
@ -2847,7 +2847,7 @@ void UnitAura::FillTargetMap(std::map<Unit*, uint8>& targets, Unit* caster)
|
|||
}
|
||||
case SPELL_EFFECT_APPLY_AREA_AURA_PET:
|
||||
targetList.push_back(GetUnitOwner());
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
case SPELL_EFFECT_APPLY_AREA_AURA_OWNER:
|
||||
{
|
||||
if (Unit* owner = GetUnitOwner()->GetCharmerOrOwner())
|
||||
|
|
|
|||
|
|
@ -1890,7 +1890,7 @@ void Spell::SelectImplicitTrajTargets(SpellEffIndex effIndex, SpellImplicitTarge
|
|||
continue;
|
||||
|
||||
const float size = std::max((*itr)->GetObjectSize() * 0.7f, 1.0f); // 1/sqrt(3)
|
||||
// TODO: all calculation should be based on src instead of m_caster
|
||||
/// @todo: all calculation should be based on src instead of m_caster
|
||||
const float objDist2d = std::fabs(m_targets.GetSrcPos()->GetExactDist2d(*itr) * cos(m_targets.GetSrcPos()->GetRelativeAngle(*itr)));
|
||||
const float dz = std::fabs((*itr)->GetPositionZ() - m_targets.GetSrcPos()->m_positionZ);
|
||||
|
||||
|
|
@ -2011,7 +2011,7 @@ void Spell::SelectImplicitTrajTargets(SpellEffIndex effIndex, SpellImplicitTarge
|
|||
void Spell::SelectEffectTypeImplicitTargets(uint8 effIndex)
|
||||
{
|
||||
// special case for SPELL_EFFECT_SUMMON_RAF_FRIEND and SPELL_EFFECT_SUMMON_PLAYER
|
||||
// TODO: this is a workaround - target shouldn't be stored in target map for those spells
|
||||
/// @todo: this is a workaround - target shouldn't be stored in target map for those spells
|
||||
switch (m_spellInfo->Effects[effIndex].Effect)
|
||||
{
|
||||
case SPELL_EFFECT_SUMMON_RAF_FRIEND:
|
||||
|
|
@ -2054,7 +2054,7 @@ void Spell::SelectEffectTypeImplicitTargets(uint8 effIndex)
|
|||
{
|
||||
if (Corpse* corpseTarget = m_targets.GetCorpseTarget())
|
||||
{
|
||||
// TODO: this is a workaround - corpses should be added to spell target map too, but we can't do that so we add owner instead
|
||||
/// @todo: this is a workaround - corpses should be added to spell target map too, but we can't do that so we add owner instead
|
||||
if (Player* owner = ObjectAccessor::FindPlayer(corpseTarget->GetOwnerGUID()))
|
||||
target = owner;
|
||||
}
|
||||
|
|
@ -2442,7 +2442,7 @@ void Spell::AddUnitTarget(Unit* target, uint32 effectMask, bool checkIfValid /*=
|
|||
if (m_spellInfo->Speed > 0.0f && m_caster != target)
|
||||
{
|
||||
// calculate spell incoming interval
|
||||
// TODO: this is a hack
|
||||
/// @todo: this is a hack
|
||||
float dist = m_caster->GetDistance(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
|
||||
|
||||
if (dist < 5.0f)
|
||||
|
|
@ -2472,7 +2472,7 @@ void Spell::AddUnitTarget(Unit* target, uint32 effectMask, bool checkIfValid /*=
|
|||
m_spellFlags |= SPELL_FLAG_REFLECTED;
|
||||
|
||||
// HACK: workaround check for succubus seduction case
|
||||
// TODO: seduction should be casted only on humanoids (not demons)
|
||||
/// @todo: seduction should be casted only on humanoids (not demons)
|
||||
if (m_caster->IsPet())
|
||||
{
|
||||
CreatureTemplate const* ci = sObjectMgr->GetCreatureTemplate(m_caster->GetEntry());
|
||||
|
|
@ -2702,7 +2702,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
|
|||
{
|
||||
m_needComboPoints = false;
|
||||
// Restore spell mods for a miss/dodge/parry Cold Blood
|
||||
// TODO: check how broad this rule should be
|
||||
/// @todo: check how broad this rule should be
|
||||
if (m_caster->GetTypeId() == TYPEID_PLAYER && (missInfo == SPELL_MISS_MISS || missInfo == SPELL_MISS_DODGE || missInfo == SPELL_MISS_PARRY))
|
||||
m_caster->ToPlayer()->RestoreSpellMods(this, 14177);
|
||||
}
|
||||
|
|
@ -3051,7 +3051,7 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
|
|||
else if (m_caster->IsFriendlyTo(unit))
|
||||
{
|
||||
// for delayed spells ignore negative spells (after duel end) for friendly targets
|
||||
// TODO: this cause soul transfer bugged
|
||||
/// @todo: this cause soul transfer bugged
|
||||
if(!IsTriggered() && m_spellInfo->Speed > 0.0f && unit->GetTypeId() == TYPEID_PLAYER && !m_spellInfo->IsPositive())
|
||||
return SPELL_MISS_EVADE;
|
||||
|
||||
|
|
@ -3238,7 +3238,7 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
|
|||
void Spell::DoTriggersOnSpellHit(Unit* unit, uint8 effMask)
|
||||
{
|
||||
// Apply additional spell effects to target
|
||||
// TODO: move this code to scripts
|
||||
/// @todo: move this code to scripts
|
||||
if (m_preCastSpell)
|
||||
{
|
||||
// Paladin immunity shields
|
||||
|
|
@ -3297,7 +3297,7 @@ void Spell::DoTriggersOnSpellHit(Unit* unit, uint8 effMask)
|
|||
}
|
||||
|
||||
// trigger linked auras remove/apply
|
||||
// TODO: remove/cleanup this, as this table is not documented and people are doing stupid things with it
|
||||
/// @todo: remove/cleanup this, as this table is not documented and people are doing stupid things with it
|
||||
if (std::vector<int32> const* spellTriggered = sSpellMgr->GetSpellLinked(m_spellInfo->Id + SPELL_LINK_HIT))
|
||||
{
|
||||
for (std::vector<int32>::const_iterator i = spellTriggered->begin(); i != spellTriggered->end(); ++i)
|
||||
|
|
@ -3709,7 +3709,7 @@ void Spell::cancel(bool bySelf)
|
|||
if (m_caster->ToPlayer()->NeedSendSpectatorData())
|
||||
ArenaSpectator::SendCommand_Spell(m_caster->FindMap(), m_caster->GetGUID(), "SPE", m_spellInfo->Id, bySelf ? 99998 : 99999);
|
||||
}
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
case SPELL_STATE_DELAYED:
|
||||
SendInterrupted(0);
|
||||
// xinef: fixes bugged gcd reset in some cases
|
||||
|
|
@ -5992,7 +5992,7 @@ SpellCastResult Spell::CheckCast(bool strict)
|
|||
}
|
||||
|
||||
// Triggered spells also have range check
|
||||
// TODO: determine if there is some flag to enable/disable the check
|
||||
/// @todo: determine if there is some flag to enable/disable the check
|
||||
castResult = CheckRange(strict);
|
||||
if (castResult != SPELL_CAST_OK)
|
||||
return castResult;
|
||||
|
|
@ -7416,7 +7416,7 @@ SpellCastResult Spell::CheckItems()
|
|||
return SPELL_FAILED_DONT_REPORT;
|
||||
}
|
||||
}
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
case SPELL_EFFECT_ENCHANT_ITEM_PRISMATIC:
|
||||
{
|
||||
Item* targetItem = m_targets.GetItemTarget();
|
||||
|
|
@ -7917,7 +7917,7 @@ bool Spell::CheckEffectTarget(Unit const* target, uint32 eff) const
|
|||
return true;
|
||||
}
|
||||
|
||||
// todo: below shouldn't be here, but it's temporary
|
||||
/// @todo: below shouldn't be here, but it's temporary
|
||||
//Check targets for LOS visibility (except spells without range limitations)
|
||||
switch (m_spellInfo->Effects[eff].Effect)
|
||||
{
|
||||
|
|
@ -8709,7 +8709,7 @@ bool Spell::CanExecuteTriggersOnHit(uint8 effMask, SpellInfo const* triggeredByA
|
|||
|
||||
void Spell::PrepareTriggersExecutedOnHit()
|
||||
{
|
||||
// todo: move this to scripts
|
||||
/// @todo: move this to scripts
|
||||
if (m_spellInfo->SpellFamilyName)
|
||||
{
|
||||
SpellInfo const* excludeCasterSpellInfo = sSpellMgr->GetSpellInfo(m_spellInfo->ExcludeCasterAuraSpell);
|
||||
|
|
@ -8720,7 +8720,7 @@ void Spell::PrepareTriggersExecutedOnHit()
|
|||
m_preCastSpell = m_spellInfo->ExcludeTargetAuraSpell;
|
||||
}
|
||||
|
||||
// todo: move this to scripts
|
||||
/// @todo: move this to scripts
|
||||
switch (m_spellInfo->SpellFamilyName)
|
||||
{
|
||||
case SPELLFAMILY_PALADIN:
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
#include "World.h"
|
||||
#include "WorldPacket.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
@ -586,7 +586,7 @@ void Spell::EffectSchoolDMG(SpellEffIndex effIndex)
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: should this be put on taken but not done?
|
||||
/// @todo: should this be put on taken but not done?
|
||||
if (found)
|
||||
damage += m_spellInfo->Effects[EFFECT_1].CalcValue();
|
||||
|
||||
|
|
@ -797,7 +797,7 @@ void Spell::EffectTriggerSpell(SpellEffIndex effIndex)
|
|||
|
||||
uint32 triggered_spell_id = m_spellInfo->Effects[effIndex].TriggerSpell;
|
||||
|
||||
// todo: move those to spell scripts
|
||||
/// @todo: move those to spell scripts
|
||||
if (m_spellInfo->Effects[effIndex].Effect == SPELL_EFFECT_TRIGGER_SPELL
|
||||
&& effectHandleMode == SPELL_EFFECT_HANDLE_LAUNCH_TARGET)
|
||||
{
|
||||
|
|
@ -1422,7 +1422,7 @@ void Spell::EffectSendEvent(SpellEffIndex effIndex)
|
|||
// some spells have no target entries in dbc and they use focus target
|
||||
if (focusObject)
|
||||
target = focusObject;
|
||||
// TODO: there should be a possibility to pass dest target to event script
|
||||
/// @todo: there should be a possibility to pass dest target to event script
|
||||
}
|
||||
|
||||
LOG_DEBUG("spells.aura", "Spell ScriptStart {} for spellid {} in EffectSendEvent ", m_spellInfo->Effects[effIndex].MiscValue, m_spellInfo->Id);
|
||||
|
|
@ -1827,7 +1827,7 @@ void Spell::EffectCreateItem2(SpellEffIndex effIndex)
|
|||
else
|
||||
player->AutoStoreLoot(m_spellInfo->Id, LootTemplates_Spell); // create some random items
|
||||
}
|
||||
// TODO: ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);
|
||||
/// @todo: ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);
|
||||
}
|
||||
|
||||
void Spell::EffectCreateRandomItem(SpellEffIndex /*effIndex*/)
|
||||
|
|
@ -1846,7 +1846,7 @@ void Spell::EffectCreateRandomItem(SpellEffIndex /*effIndex*/)
|
|||
|
||||
// create some random items
|
||||
player->AutoStoreLoot(m_spellInfo->Id, LootTemplates_Spell);
|
||||
// TODO: ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);
|
||||
/// @todo: ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);
|
||||
}
|
||||
|
||||
void Spell::EffectPersistentAA(SpellEffIndex effIndex)
|
||||
|
|
@ -2107,7 +2107,7 @@ void Spell::EffectOpenLock(SpellEffIndex effIndex)
|
|||
if (gameObjTarget)
|
||||
{
|
||||
GameObjectTemplate const* goInfo = gameObjTarget->GetGOInfo();
|
||||
// Arathi Basin banner opening. // TODO: Verify correctness of this check
|
||||
// Arathi Basin banner opening. /// @todo: Verify correctness of this check
|
||||
if ((goInfo->type == GAMEOBJECT_TYPE_BUTTON && goInfo->button.noDamageImmune) ||
|
||||
(goInfo->type == GAMEOBJECT_TYPE_GOOBER && goInfo->goober.losOK))
|
||||
{
|
||||
|
|
@ -2139,7 +2139,7 @@ void Spell::EffectOpenLock(SpellEffIndex effIndex)
|
|||
}
|
||||
return;
|
||||
}
|
||||
// TODO: Add script for spell 41920 - Filling, becouse server it freze when use this spell
|
||||
/// @todo: Add script for spell 41920 - Filling, becouse server it freze when use this spell
|
||||
// handle outdoor pvp object opening, return true if go was registered for handling
|
||||
// these objects must have been spawned by outdoorpvp!
|
||||
else if (gameObjTarget->GetGOInfo()->type == GAMEOBJECT_TYPE_GOOBER && sOutdoorPvPMgr->HandleOpenGo(player, gameObjTarget))
|
||||
|
|
@ -2687,7 +2687,7 @@ void Spell::EffectDualWield(SpellEffIndex /*effIndex*/)
|
|||
|
||||
void Spell::EffectPull(SpellEffIndex effIndex)
|
||||
{
|
||||
// TODO: create a proper pull towards distract spell center for distract
|
||||
/// @todo: create a proper pull towards distract spell center for distract
|
||||
EffectNULL(effIndex);
|
||||
}
|
||||
|
||||
|
|
@ -3712,7 +3712,7 @@ void Spell::EffectInterruptCast(SpellEffIndex effIndex)
|
|||
if (!unitTarget || !unitTarget->IsAlive())
|
||||
return;
|
||||
|
||||
// TODO: not all spells that used this effect apply cooldown at school spells
|
||||
/// @todo: not all spells that used this effect apply cooldown at school spells
|
||||
// also exist case: apply cooldown to interrupted cast only and to all spells
|
||||
// there is no CURRENT_AUTOREPEAT_SPELL spells that can be interrupted
|
||||
for (uint32 i = CURRENT_FIRST_NON_MELEE_SPELL; i < CURRENT_AUTOREPEAT_SPELL; ++i)
|
||||
|
|
@ -3794,7 +3794,7 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
|
|||
if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET)
|
||||
return;
|
||||
|
||||
// TODO: we must implement hunter pet summon at login there (spell 6962)
|
||||
/// @todo: we must implement hunter pet summon at login there (spell 6962)
|
||||
|
||||
switch (m_spellInfo->SpellFamilyName)
|
||||
{
|
||||
|
|
@ -4554,7 +4554,7 @@ void Spell::EffectFeedPet(SpellEffIndex effIndex)
|
|||
|
||||
uint32 count = 1;
|
||||
player->DestroyItemCount(foodItem, count, true);
|
||||
// TODO: fix crash when a spell has two effects, both pointed at the same item target
|
||||
/// @todo: fix crash when a spell has two effects, both pointed at the same item target
|
||||
|
||||
m_caster->CastCustomSpell(pet, m_spellInfo->Effects[effIndex].TriggerSpell, &benefit, nullptr, nullptr, true);
|
||||
}
|
||||
|
|
@ -5248,7 +5248,7 @@ void Spell::EffectResurrectPet(SpellEffIndex /*effIndex*/)
|
|||
return;
|
||||
}
|
||||
|
||||
// TODO: Better to fail Hunter's "Revive Pet" at cast instead of here when casting ends
|
||||
/// @todo: Better to fail Hunter's "Revive Pet" at cast instead of here when casting ends
|
||||
if (pet->IsAlive())
|
||||
{
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -1460,7 +1460,7 @@ SpellCastResult SpellInfo::CheckShapeshift(uint32 form) const
|
|||
|
||||
// Check if stance disables cast of not-stance spells
|
||||
// Example: cannot cast any other spells in zombie or ghoul form
|
||||
// TODO: Find a way to disable use of these spells clientside
|
||||
/// @todo: Find a way to disable use of these spells clientside
|
||||
if (shapeInfo && shapeInfo->flags1 & 0x400)
|
||||
{
|
||||
if (!(stanceMask & Stances))
|
||||
|
|
@ -2283,7 +2283,7 @@ SpellSpecificType SpellInfo::LoadSpellSpecific() const
|
|||
/// @workaround For non-stacking tracking spells (We need generic solution)
|
||||
if (Id == 30645) // Gas Cloud Tracking
|
||||
return SPELL_SPECIFIC_NORMAL;
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
case SPELL_AURA_TRACK_RESOURCES:
|
||||
case SPELL_AURA_TRACK_STEALTHED:
|
||||
return SPELL_SPECIFIC_TRACKER;
|
||||
|
|
|
|||
|
|
@ -2179,7 +2179,7 @@ void SpellMgr::LoadEnchantCustomAttr()
|
|||
if (!spellInfo)
|
||||
continue;
|
||||
|
||||
// TODO: find a better check
|
||||
/// @todo: find a better check
|
||||
// Xinef: commented second part, fixes warlock enchants like firestone, spellstone
|
||||
if (!spellInfo->HasAttribute(SPELL_ATTR2_ENCHANT_OWN_ITEM_ONLY)/* || !spellInfo->HasAttribute(SPELL_ATTR0_NOT_SHAPESHIFTED)*/)
|
||||
continue;
|
||||
|
|
@ -3029,7 +3029,7 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
|
|||
spellInfo->Effects[j].ApplyAuraName == SPELL_AURA_PERIODIC_HEALTH_FUNNEL ||
|
||||
spellInfo->Effects[j].ApplyAuraName == SPELL_AURA_PERIODIC_DUMMY)
|
||||
continue;
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
default:
|
||||
if (spellInfo->Effects[j].CalcValue() || ((spellInfo->Effects[j].Effect == SPELL_EFFECT_INTERRUPT_CAST || spellInfo->HasAttribute(SPELL_ATTR0_CU_DONT_BREAK_STEALTH)) && !spellInfo->HasAttribute(SPELL_ATTR0_NO_IMMUNITIES)))
|
||||
if (spellInfo->Id != 69649 && spellInfo->Id != 71056 && spellInfo->Id != 71057 && spellInfo->Id != 71058 && spellInfo->Id != 73061 && spellInfo->Id != 73062 && spellInfo->Id != 73063 && spellInfo->Id != 73064) // Sindragosa Frost Breath
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ enum SpellFamilyFlag
|
|||
SPELLFAMILYFLAG_DK_DEATH_STRIKE = 0x00000010,
|
||||
SPELLFAMILYFLAG_DK_DEATH_COIL = 0x00002000,
|
||||
|
||||
// TODO: Figure out a more accurate name for the following familyflag(s)
|
||||
/// @todo: Figure out a more accurate name for the following familyflag(s)
|
||||
SPELLFAMILYFLAG_SHAMAN_TOTEM_EFFECTS = 0x04000000, // Seems to be linked to most totems and some totem effects
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ private:
|
|||
bool _completed;
|
||||
GMTicketEscalationStatus _escalatedStatus;
|
||||
bool _viewed;
|
||||
bool _needResponse; // TODO: find out the use of this, and then store it in DB
|
||||
bool _needResponse; /// @todo: find out the use of this, and then store it in DB
|
||||
bool _needMoreHelp;
|
||||
std::string _response;
|
||||
std::string _chatLog; // No need to store in db, will be refreshed every session client side
|
||||
|
|
|
|||
|
|
@ -477,7 +477,7 @@ void WardenWin::HandleData(ByteBuffer& buff)
|
|||
{
|
||||
uint8 result;
|
||||
buff >> result;
|
||||
// TODO: test it.
|
||||
/// @todo: test it.
|
||||
if (result == 0x00)
|
||||
{
|
||||
LOG_DEBUG("warden", "TIMING CHECK FAIL result 0x00");
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ public:
|
|||
return true;
|
||||
}
|
||||
|
||||
// TODO - move item to other slot
|
||||
/// @todo - move item to other slot
|
||||
static bool HandleItemMoveCommand(ChatHandler* handler, uint8 srcSlot, uint8 dstSlot)
|
||||
{
|
||||
if (srcSlot == dstSlot)
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
#include "Tokenize.h"
|
||||
#include "WeatherMgr.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
/// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@ public:
|
|||
for (ObjectGuid const& guid : EggList)
|
||||
{
|
||||
// Eggs should be destroyed instead
|
||||
// @todo: after dynamic spawns
|
||||
/// @todo: after dynamic spawns
|
||||
if (GameObject* egg = instance->GetGameObject(guid))
|
||||
{
|
||||
egg->SetPhaseMask(2, true);
|
||||
|
|
|
|||
|
|
@ -777,7 +777,7 @@ public:
|
|||
return true;
|
||||
case 16:
|
||||
SendGossipMenuFor(player, 100116, creature->GetGUID());
|
||||
// todo: we need to play these 3 emote in sequence, we play only the last one right now.
|
||||
/// @todo: we need to play these 3 emote in sequence, we play only the last one right now.
|
||||
creature->HandleEmoteCommand(274);
|
||||
creature->HandleEmoteCommand(1);
|
||||
creature->HandleEmoteCommand(397);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
#include "SpellScript.h"
|
||||
#include "TaskScheduler.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@ public:
|
|||
{
|
||||
drake->AI()->Talk(0);
|
||||
}
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
}
|
||||
case EVENT_THRALL_REPOSITION:
|
||||
{
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ public:
|
|||
break;
|
||||
case EVENT_HADRONOX_MOVE4:
|
||||
me->CastSpell(me, SPELL_WEB_FRONT_DOORS, true);
|
||||
[[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
[[fallthrough]]; /// @todo: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked.
|
||||
case EVENT_HADRONOX_MOVE1:
|
||||
case EVENT_HADRONOX_MOVE2:
|
||||
case EVENT_HADRONOX_MOVE3:
|
||||
|
|
|
|||
|
|
@ -346,7 +346,7 @@ class spell_ahn_kahet_swarmer_aura : public SpellScript
|
|||
}
|
||||
else if (_targetCount)
|
||||
{
|
||||
// TODO: move spell id to enum
|
||||
/// @todo: move spell id to enum
|
||||
caster->CastCustomSpell(SPELL_SWARM, SPELLVALUE_AURA_STACK, _targetCount, caster, true);
|
||||
if (Aura *aur = caster->GetAura(SPELL_SWARM))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ struct npc_taldaram_flamesphere : public NullCreatureAI
|
|||
DoCastSelf(SPELL_FLAME_SPHERE_SPAWN_EFFECT);
|
||||
DoCastSelf(SPELL_FLAME_SPHERE_VISUAL);
|
||||
|
||||
// TODO: replace with DespawnOrUnsummon
|
||||
/// @todo: replace with DespawnOrUnsummon
|
||||
uiDespawnTimer = 13000;
|
||||
}
|
||||
|
||||
|
|
@ -490,7 +490,7 @@ private:
|
|||
}
|
||||
};
|
||||
|
||||
// TODO: Turn into new script type when Gossips have been updated
|
||||
// @todo: Turn into new script type when Gossips have been updated
|
||||
class go_prince_taldaram_sphere : public GameObjectScript
|
||||
{
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -1305,7 +1305,7 @@ public:
|
|||
|
||||
if (Creature* acolyte = me->SummonCreature((isCalledBySartharion ? NPC_ACOLYTE_OF_SHADRON : NPC_DISCIPLE_OF_SHADRON), me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation()))
|
||||
{
|
||||
// TODO: inpect JustSummoned
|
||||
/// @todo: inpect JustSummoned
|
||||
summons.Summon(acolyte);
|
||||
acolyte->SetPhaseMask(16, true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ public:
|
|||
n2->GetMotionMaster()->MovePoint(1, NecrolytePos2);
|
||||
n2->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY1H);
|
||||
}
|
||||
// TODO This spell check is invalid
|
||||
/// @todo This spell check is invalid
|
||||
// if (SPELL_NECROLYTE_CHANNELING)
|
||||
// {
|
||||
n1->RemoveAura(SPELL_NECROLYTE_CHANNELING);
|
||||
|
|
@ -410,7 +410,7 @@ public:
|
|||
{
|
||||
isInvincible = true;
|
||||
|
||||
// TODO This spell check is invalid
|
||||
/// @todo This spell check is invalid
|
||||
// if (SPELL_NECROLYTE_CHANNELING)
|
||||
me->CastSpell(me, SPELL_NECROLYTE_CHANNELING, false);
|
||||
|
||||
|
|
@ -434,7 +434,7 @@ public:
|
|||
|
||||
void EnterCombat(Unit* /*who*/) override
|
||||
{
|
||||
// TODO This spell check is invalid
|
||||
/// @todo This spell check is invalid
|
||||
// if (SPELL_NECROLYTE_CHANNELING)
|
||||
me->RemoveAura(SPELL_NECROLYTE_CHANNELING);
|
||||
events.Reset();
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ enum ScriptTexts
|
|||
SAY_INTRO_ALLIANCE_1 = 0,
|
||||
SAY_INTRO_ALLIANCE_4 = 1,
|
||||
SAY_INTRO_ALLIANCE_5 = 2,
|
||||
SAY_OUTRO_ALLIANCE_1 = 3, // TODO ALLIANCE OUTRO
|
||||
SAY_OUTRO_ALLIANCE_1 = 3, /// @todo ALLIANCE OUTRO
|
||||
SAY_OUTRO_ALLIANCE_2 = 4,
|
||||
SAY_OUTRO_ALLIANCE_3 = 5,
|
||||
SAY_OUTRO_ALLIANCE_4 = 6,
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include "OutdoorPvP.h"
|
||||
|
||||
// TODO: "sometimes" set to neutral
|
||||
// @todo: "sometimes" set to neutral
|
||||
|
||||
enum OutdoorPvPNASpells
|
||||
{
|
||||
|
|
|
|||
|
|
@ -259,5 +259,5 @@ private:
|
|||
uint32 m_HordeTowersControlled;
|
||||
};
|
||||
|
||||
// todo: flag carrier death/leave/mount/activitychange should give back the gossip options
|
||||
// @todo: flag carrier death/leave/mount/activitychange should give back the gossip options
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ EndContentData */
|
|||
#include "SpellInfo.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
|
|||
|
|
@ -861,7 +861,7 @@ class spell_dk_anti_magic_shell_raid : public AuraScript
|
|||
|
||||
void CalculateAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& /*canBeRecalculated*/)
|
||||
{
|
||||
// TODO: this should absorb limited amount of damage, but no info on calculation formula
|
||||
/// @todo: this should absorb limited amount of damage, but no info on calculation formula
|
||||
amount = -1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
#include "Vehicle.h"
|
||||
#include <array>
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
#include "SpellMgr.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
@ -463,7 +463,7 @@ class spell_hun_chimera_shot : public SpellScript
|
|||
|
||||
// Amount of one aura tick
|
||||
basePoint = int32(CalculatePct(unitTarget->GetMaxPower(POWER_MANA), aurEff->GetAmount()));
|
||||
int32 casterBasePoint = aurEff->GetAmount() * unitTarget->GetMaxPower(POWER_MANA) / 50; // TODO: Caster uses unitTarget?
|
||||
int32 casterBasePoint = aurEff->GetAmount() * unitTarget->GetMaxPower(POWER_MANA) / 50; /// @todo: Caster uses unitTarget?
|
||||
if (basePoint > casterBasePoint)
|
||||
basePoint = casterBasePoint;
|
||||
ApplyPct(basePoint, TickCount * 60);
|
||||
|
|
|
|||
|
|
@ -591,7 +591,7 @@ class spell_mage_ice_barrier_aura : public spell_mage_incanters_absorbtion_base_
|
|||
{
|
||||
PrepareAuraScript(spell_mage_ice_barrier_aura);
|
||||
|
||||
// TODO: Rework
|
||||
/// @todo: Rework
|
||||
static int32 CalculateSpellAmount(Unit* caster, int32 amount, SpellInfo const* spellInfo, const AuraEffect* aurEff)
|
||||
{
|
||||
// +80.68% from sp bonus
|
||||
|
|
@ -627,7 +627,7 @@ class spell_mage_ice_barrier : public SpellScript
|
|||
{
|
||||
PrepareSpellScript(spell_mage_ice_barrier);
|
||||
|
||||
// TODO: Rework
|
||||
/// @todo: Rework
|
||||
static int32 CalculateSpellAmount(Unit* caster, int32 amount, SpellInfo const* spellInfo, const AuraEffect* aurEff)
|
||||
{
|
||||
// +80.68% from sp bonus
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@ public:
|
|||
|
||||
enum SentryPoint
|
||||
{
|
||||
SPELL_TELEPORT_VISUAL = 799, // TODO Find the correct spell
|
||||
SPELL_TELEPORT_VISUAL = 799, /// @todo Find the correct spell
|
||||
QUEST_MISSING_DIPLO_PT14 = 1265,
|
||||
NPC_TERVOSH = 4967
|
||||
};
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ EndContentData */
|
|||
#include "WaypointMgr.h"
|
||||
#include "World.h"
|
||||
|
||||
// TODO: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// @todo: this import is not necessary for compilation and marked as unused by the IDE
|
||||
// however, for some reasons removing it would cause a damn linking issue
|
||||
// there is probably some underlying problem with imports which should properly addressed
|
||||
// see: https://github.com/azerothcore/azerothcore-wotlk/issues/9766
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ enum AchievementCriteriaTypes
|
|||
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL = 34,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL = 35,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM = 36,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA = 37, // TODO: the archievements 1162 and 1163 requires a special rating which can't be found in the dbc
|
||||
ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA = 37, /// @todo: the archievements 1162 and 1163 requires a special rating which can't be found in the dbc
|
||||
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING = 38,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_PERSONAL_RATING = 39,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL = 40,
|
||||
|
|
@ -167,13 +167,13 @@ enum AchievementCriteriaTypes
|
|||
ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION = 47,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP = 48, // note: rewarded as soon as the player payed, not at taking place at the seat
|
||||
ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM = 49,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT = 50, // TODO: itemlevel is mentioned in text but not present in dbc
|
||||
ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT = 50, /// @todo: itemlevel is mentioned in text but not present in dbc
|
||||
ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT = 51,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS = 52,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_HK_RACE = 53,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE = 54,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE = 55,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS = 56, // TODO: in some cases map not present, and in some cases need do without die
|
||||
ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS = 56, /// @todo: in some cases map not present, and in some cases need do without die
|
||||
ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM = 57,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS = 59,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS = 60,
|
||||
|
|
@ -187,11 +187,11 @@ enum AchievementCriteriaTypes
|
|||
ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2 = 69,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL = 70,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT = 72,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN = 74, // TODO: title id is not mentioned in dbc
|
||||
ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN = 74, /// @todo: title id is not mentioned in dbc
|
||||
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS = 75,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL = 76,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL = 77,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE = 78, // TODO: creature type (demon, undead etc.) is not stored in dbc
|
||||
ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE = 78, /// @todo: creature type (demon, undead etc.) is not stored in dbc
|
||||
ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS = 80,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION = 82,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID = 83,
|
||||
|
|
@ -220,7 +220,7 @@ enum AchievementCriteriaTypes
|
|||
ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED = 107,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN = 108,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE = 109,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2 = 110, // TODO: target entry is missing
|
||||
ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2 = 110, /// @todo: target entry is missing
|
||||
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE = 112,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL = 113,
|
||||
ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS = 114,
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ struct AchievementCriteriaEntry
|
|||
union
|
||||
{
|
||||
// ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE = 0
|
||||
// TODO: also used for player deaths..
|
||||
/// @todo: also used for player deaths..
|
||||
struct
|
||||
{
|
||||
uint32 creatureID; // 3
|
||||
|
|
@ -286,14 +286,14 @@ struct AchievementCriteriaEntry
|
|||
// ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA = 43
|
||||
struct
|
||||
{
|
||||
// TODO: This rank is _NOT_ the index from AreaTable.dbc
|
||||
/// @todo: This rank is _NOT_ the index from AreaTable.dbc
|
||||
uint32 areaReference; // 3
|
||||
} explore_area;
|
||||
|
||||
// ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK = 44
|
||||
struct
|
||||
{
|
||||
// TODO: This rank is _NOT_ the index from CharTitles.dbc
|
||||
/// @todo: This rank is _NOT_ the index from CharTitles.dbc
|
||||
uint32 rank; // 3
|
||||
} own_rank;
|
||||
|
||||
|
|
@ -326,7 +326,7 @@ struct AchievementCriteriaEntry
|
|||
} visit_barber;
|
||||
|
||||
// ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM = 49
|
||||
// TODO: where is the required itemlevel stored?
|
||||
/// @todo: where is the required itemlevel stored?
|
||||
struct
|
||||
{
|
||||
uint32 itemSlot; // 3
|
||||
|
|
@ -361,7 +361,7 @@ struct AchievementCriteriaEntry
|
|||
} hk_race;
|
||||
|
||||
// ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE = 54
|
||||
// TODO: where is the information about the target stored?
|
||||
/// @todo: where is the information about the target stored?
|
||||
struct
|
||||
{
|
||||
uint32 emoteID; // 3 enum TextEmotes
|
||||
|
|
@ -412,7 +412,7 @@ struct AchievementCriteriaEntry
|
|||
} use_gameobject;
|
||||
|
||||
// ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL = 70
|
||||
// TODO: are those special criteria stored in the dbc or do we have to add another sql table?
|
||||
/// @todo: are those special criteria stored in the dbc or do we have to add another sql table?
|
||||
struct
|
||||
{
|
||||
uint32 unused; // 3
|
||||
|
|
|
|||
|
|
@ -103,6 +103,6 @@ TEST(FormulasTest, Gain)
|
|||
{
|
||||
auto worldMock = new WorldMock();
|
||||
sWorld.reset((worldMock));
|
||||
// TODO: create mocks of Player and Creature
|
||||
/// @todo: create mocks of Player and Creature
|
||||
// Gain(nullptr, nullptr);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -384,7 +384,7 @@ namespace MMAP
|
|||
return;
|
||||
}
|
||||
|
||||
// ToDo: delete the old tile as the user clearly wants to rebuild it
|
||||
/// @todo: delete the old tile as the user clearly wants to rebuild it
|
||||
|
||||
TileBuilder tileBuilder = TileBuilder(this, m_skipLiquid, m_bigBaseUnit, m_debugOutput);
|
||||
tileBuilder.buildTile(mapID, tileX, tileY, navMesh);
|
||||
|
|
@ -763,7 +763,7 @@ namespace MMAP
|
|||
delete[] tiles;
|
||||
|
||||
// set polygons as walkable
|
||||
// TODO: special flags for DYNAMIC polygons, ie surfaces that can be turned on and off
|
||||
/// @todo: special flags for DYNAMIC polygons, ie surfaces that can be turned on and off
|
||||
for (int i = 0; i < iv.polyMesh->npolys; ++i)
|
||||
if (iv.polyMesh->areas[i] & RC_WALKABLE_AREA)
|
||||
iv.polyMesh->flags[i] = iv.polyMesh->areas[i];
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ namespace MMAP
|
|||
dtNavMeshParams m_navMeshParams;
|
||||
};
|
||||
|
||||
// ToDo: move this to its own file. For now it will stay here to keep the changes to a minimum, especially in the cpp file
|
||||
/// @todo: move this to its own file. For now it will stay here to keep the changes to a minimum, especially in the cpp file
|
||||
class MapBuilder;
|
||||
class TileBuilder
|
||||
{
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public:
|
|||
// Open database. It must be openened before it can be used.
|
||||
bool open();
|
||||
|
||||
// TODO: Add a close function?
|
||||
/// @todo: Add a close function?
|
||||
|
||||
// Database exceptions
|
||||
class Exception
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ void ExtractGameobjectModels()
|
|||
}
|
||||
else if (!strcmp(ch_ext, ".mdl"))
|
||||
{
|
||||
// TODO: extract .mdl files, if needed
|
||||
/// @todo: extract .mdl files, if needed
|
||||
continue;
|
||||
}
|
||||
else //if (!strcmp(ch_ext, ".mdx") || !strcmp(ch_ext, ".m2"))
|
||||
|
|
|
|||
|
|
@ -472,7 +472,7 @@ int WMOGroup::ConvertToVMAPGroupWmo(FILE* output, bool preciseVectorData)
|
|||
// only need height values, the other values are unknown anyway
|
||||
for (uint32 i = 0; i < LiquEx_size / sizeof(WMOLiquidVert); ++i)
|
||||
fwrite(&LiquEx[i].height, sizeof(float), 1, output);
|
||||
// todo: compress to bit field
|
||||
/// @todo: compress to bit field
|
||||
fwrite(LiquBytes, 1, hlq->xtiles * hlq->ytiles, output);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue