TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Todo List
Member account_commandscript::HandleAccountDeleteCommand (ChatHandler *handler, char const *args)
This function has to be enhanced to respect the login/realm split (delete char, delete account chars in realm then delete account)
Member ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM
in some cases map not present, and in some cases need do without die
Member ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE
target entry is missing
Member ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN
73: Achievements 1515, 1241, 1103 (Name: Mal'Ganis)
Member ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT
itemlevel is mentioned in text but not present in dbc
Member ACHIEVEMENTS_DESTRUCTION_DERBY_H
: Has to be implemented
Member ACHIEVEMENTS_STONE_KEEPER_100
: Has to be implemented
Member ACHIEVEMENTS_STONE_KEEPER_1000
: Has to be implemented
Member ACHIEVEMENTS_STONE_KEEPER_250
: Has to be implemented
Member ACHIEVEMENTS_STONE_KEEPER_500
: Has to be implemented
Member ACHIEVEMENTS_WG_GNOMESLAUGHTER
: Has to be implemented
Member ACHIEVEMENTS_WG_MASTER_A
: Has to be implemented
Member ACHIEVEMENTS_WG_MASTER_H
: Has to be implemented
Member ACHIEVEMENTS_WG_RANGER
: Has to be implemented
Member ACHIEVEMENTS_WG_TOWER_CANNON_KILL
: Has to be implemented
Member ACHIEVEMENTS_WG_TOWER_DESTROY
: Has to be implemented
Member ACHIEVEMENTS_WIN_WG_TIMER_10
: Has to be implemented
Member ArenaTeam::GetRatingMod (uint32 ownRating, uint32 opponentRating, bool won)
Replace this hack with using the confidence factor (limiting the factor to 2.0f)
Member Aura::_UnapplyForTarget (Unit *target, Unit *caster, AuraApplication *auraApp)
Figure out why this happens
Member Aura::IsProcTriggeredOnEvent (AuraApplication *aurApp, ProcEventInfo &eventInfo) const

this needs to be unified for all kinds of auras

Member Aura::UpdateTargetMap (Unit *caster, bool apply=true)
There is a crash caused by shadowfiend load addon
Member AuraEffect::CleanupTriggeredSpells (Unit *target)
is there a spell flag, which can solve this in a more sophisticated way?
Member AuraEffect::HandleAuraModSchoolImmunity (AuraApplication const *aurApp, uint8 mode, bool apply) const
optimalize this cycle - use RemoveAurasWithInterruptFlags call or something else
Member AuraEffect::HandlePeriodicTriggerSpellAuraTick (Unit *target, Unit *caster) const
effect trigger spell may be independant on spell targets, and executed in spell finish phase
Member AV_BUFF_ARMOR
: Add all other buffs here
Member AV_NEUTRAL_TEAM
: get the right value.. this is currently 20 minutes
Member AV_SOUND_ALLIANCE_ASSAULTS
: Not confirmed yet
Member AV_SOUND_NEAR_VICTORY
: get out if there comes a sound when neutral team captures mine
Member Battlefield::HandlePlayerEnterZone (Player *player, uint32 zone)
Send a packet to announce it to player
Member Battlefield::InvitePlayerToWar (Player *player)
needed ?
Member BattlefieldWG::~BattlefieldWG ()

Implement proper support for vehicle+player teleportation

Use spell victory/defeat in wg instead of RewardMarkOfHonor() && RewardHonor

Add proper implement of achievement

Member Battleground::_ProcessJoin (uint32 diff)
add arena sound PlaySoundToAll(SOUND_ARENA_START);
Member Battleground::AddSpiritGuide (uint32 type, float x, float y, float z, float o, TeamId teamId=TEAM_NEUTRAL)
Fix display here
Member Battleground::BgObjects
make this protected:
Member BattlegroundAB::_NodeOccupied (uint8 node, Team team)
working, scripted peons spawning
Member BattlegroundAV::AddAVCreature (uint16 cinfoid, uint16 type)

look if this can be done by database + also add this for the wingcommanders

find a way to add a motionmaster without killing the creature (i

Member BattlegroundAV::ChangeMineOwner (uint8 mine, uint32 team, bool initial=false)

just set the respawntime to 999999

here also

Member BattlegroundAV::EndBattleground (uint32 winner) override
add enterevademode for all attacking creatures
Member BattlegroundAV::HandleQuestComplete (uint32 questid, Player *player) override
add reputation, events (including quest not available anymore, next quest available, go/npc de/spawning)and maybe honor
Member BattlegroundAV::RemovePlayer (Player *player, ObjectGuid guid, uint32 team) override
search more buffs
Member BattlegroundEY::UpdateTeamScore (uint32 Team)
there should be some sound played when one team is near victory!! - and define variables
Member BG_AV_CreatureInfo [AV_NPC_INFO_MAX]
: this array should be removed, the only needed things are the entrys (for spawning(?) and handlekillunit)
Member boss_bjarngrim::boss_bjarngrimAI::DoRemoveStanceAura (uint8 uiStance)
remove when removal is done by the core
Member boss_elder_nadox::boss_elder_nadoxAI::UpdateAI (uint32 diff) override

: summoned by egg

: summoned by egg

Member boss_eregos::boss_eregosAI::SummonedCreatureDespawn (Creature *summon) override
: See why the spell is not cast
Member boss_felblood_kaelthas::boss_felblood_kaelthasAI::Initialize ()
Timers
Member boss_gatewatcher_iron_hand::boss_gatewatcher_iron_handAI::UpdateAI (uint32 diff) override
expect cast this about 5 times in a row (?), announce it by emote only once
Member boss_gluth::boss_gluthAI::MoveInLineOfSight (Unit *who) override
use a script text
Member boss_gluth::boss_gluthAI::UpdateAI (uint32 diff) override

Add missing text

Add missing text

Member boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI::DoTauntPeons ()
kill the peons first
Member boss_gruul::boss_gruulAI::SpellHitTarget (Unit *target, const SpellInfo *pSpell) override
use eventmap to kill this stuff
Member boss_gruul::boss_gruulAI::UpdateAI (uint32 diff) override
: convert this shit to eventmap
Member boss_kiljaeden::boss_kiljaedenAI::UpdateAI (uint32 diff) override
Timer
Member boss_koralon::boss_koralonAI::EnterCombat (Unit *) override

check timer

check timer

Member boss_krick::boss_krickAI::UpdateAI (uint32 diff) override
Tyrannus starts killing Krick.
Member boss_lieutenant_drake::boss_lieutenant_drakeAI::UpdateAI (uint32 diff) override
make this work
Member boss_onyxia::boss_onyxiaAI::UpdateAI (uint32 diff) override
: In what cases is this null? What should we do?
Member boss_salramm::boss_salrammAI::EnterCombat (Unit *) override
: adjust timer
Member boss_sjonnir::boss_sjonnirAI::UpdateAI (uint32 diff) override
: add emote
Member boss_skeram::boss_skeramAI::UpdateAI (uint32 diff) override
For some weird reason boss does not cast this
Member boss_twinemperorsAI::EnterCombat (Unit *who) override
we should activate the other boss location so he can start attackning even if nobody
Class boss_viscidus
Not sure if its correct
Member ByteBuffer::read< std::string > ()
Make a ByteBuffer.cpp and move all this inlining to it.
Member character_commandscript::HandleCharacterChangeRaceCommand (ChatHandler *handler, char const *args)

add text into database

add text into database

Member Creature::CanStartAttack (Unit const *u, bool force) const
should switch to range attack
Member Creature::Create (ObjectGuid::LowType guidlow, Map *map, uint32 phaseMask, uint32 entry, float x, float y, float z, float ang, CreatureData const *data=nullptr, uint32 vehId=0)
Replace with spell, handle from DB
Member Creature::DoFleeToGetAssistance ()
use 31365
Member Creature::isCanInteractWithBattleMaster (Player *player, bool msg) const
Rename these properly
Member Creature::SelectVictim ()
a vehicle may eat some mob, so mob should not evade
Member Creature::UpdateEntry (uint32 entry, CreatureData const *data=nullptr)
Why is this treated as uint32 when it's a float?
Member DatabaseWorkerPool< T >::DirectCommitTransaction (SQLTransaction &transaction)
More elegant way
Member DEFAULT_LOCALE
convert in simple system
Member eEscortFaction
find better namings and definitions.
Member FollowerAI::JustDied (Unit *) override
need a better check for quests with time limit.
Member GameEventMgr::GameEventSpawn (int16 event_id)
find out when it is add to map
Member GameEventMgr::LoadFromDB ()
Change to uint8
Member GameObject::GetInteractionDistance () const
find out how the client calculates the maximal usage distance to spellless working
Member GameObject::ModifyHealth (int32 change, Unit *attackerOrHealer=NULL, uint32 spellId=0)
: pass attackerOrHealer instead of player
Member GameObject::Update (uint32 p_time) override

This is activation radius. Casting radius must be selected from spell data.

this hack with search required until GO casting not implemented

NULL target won't work for target type 1

Member GameObject::Use (Unit *user)

I do not understand this hack. Need some explanation.

find reasonable value for fishing hole search

Member Garments
get text for each NPC
Member go_dragonflayer_cage::OnGossipHello (Player *player, GameObject *go) override
prisoner should help player for a short period of time
Member go_tablet_of_the_seven::OnGossipHello (Player *player, GameObject *go) override
use gossip option ("Transcript the Tablet") instead, if Trinity adds support.
Member gobject_commandscript::HandleGameObjectAddCommand (ChatHandler *handler, char const *args)
is it really necessary to add both the real and DB table guid here ?
Class Group
uninvite people that not accepted invite
Member Guardian::InitStatsForLevel (uint8 level)
Move stat mods code to pet passive auras
Member Guardian::UpdateDamagePhysical (WeaponAttackType attType) override
: remove this
Member Guild::BankMoveItemData::LogAction (MoveItemData *pFrom) const override
Move this to scripts
Member Guild::HandleGuildRequestChallengeUpdate (WorldSession *session)
current count
Member instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript::SpawnGameObject (uint32 entry, Position const &pos)
this should be handled in map, maybe add a summon function in map
Member instance_karazhan::instance_karazhan_InstanceMapScript::OnGameObjectCreate (GameObject *go) override
Set Object visibilities for Opera based on performance
Member InstanceMap::AddPlayerToMap (Player *player, bool initPlayer=true) override
Not sure about checking player level: already done in HandleAreaTriggerOpcode
Member InstanceMap::CreateInstanceData (bool load)
make a global storage for this
Member InstanceSave::m_playerList
: Check if maybe it's enough to just store the number of players/groups
Member InstanceSaveManager::_ResetOrWarnAll (uint32 mapid, Difficulty difficulty, bool warn, time_t resetTime)
delete creature/gameobject respawn times even if the maps are not loaded
Member lfg::LFGGroupScript::OnRemoveMember (Group *group, ObjectGuid guid, RemoveMethod method, ObjectGuid kicker, char const *reason) override
- Update internal kick cooldown of kicker
Member lfg::LFGPlayerScript::OnLogin (Player *player, bool loginFirst) override
- Restore LfgPlayerData and send proper status to player if it was in a group
Member LootTemplate::LootGroup::Verify (LootStore const &lootstore, uint32 id, uint8 group_id) const
replace with 100% when DBs will be ready
Member LootTemplate::Verify (LootStore const &store, uint32 Id) const
References validity checks
Member Map::AddToMap (T *)
Needs clean up. An object should not be added to map twice.
Member Map::DeleteFromWorld (Player *player)
I do not know why we need this, it should be removed in ~Object anyway
Member Map::MoveAllCreaturesInMoveList ()
pets will disappear if this is outside CreatureRespawnRelocation
Member Map::ScriptsProcess ()
Allow gameobjects to be targets and casters
Member MapManager::IsValidMAP (uint32 mapid, bool startUp)
add check for battleground template
Member Minion::Minion (SummonPropertiesEntry const *properties, Unit *owner, bool isWorldObject)
: Find correct way
Member Movement::MoveSpline::init_spline (const MoveSplineInitArgs &args)
what to do in such cases? problem is in input data (all points are at same coords)
Member MOVEMENTFLAG_MASK_MOVING
Check if PITCH_UP and PITCH_DOWN really belong here..
Member MOVEMENTFLAG_MASK_PLAYER_ONLY
if needed: add more flags to this masks that are exclusive to players
Member npc_a_special_surprise::npc_a_special_surpriseAI::UpdateAI (uint32 diff) override
simplify text's selection
Member npc_boombot::npc_boombotAI::Reset () override
proper waypoints?
Class npc_cairne_bloodhoof
verify abilities/timers
Member npc_commandscript::HandleNpcAddWeaponCommand (ChatHandler *, char const *)
NpcCommands that need to be fixed :
Class npc_daegarn::npc_daegarnAI
make prisoners help (unclear if summoned or using npc's from surrounding cages (summon inside small cages?))
Member npc_daranelle::npc_daranelleAI::MoveInLineOfSight (Unit *who) override
Move the below to updateAI and run if this statement == true
Member npc_death_knight_initiate::npc_death_knight_initiateAI::UpdateAI (uint32 uiDiff) override
spells
Member npc_dkc1_gothik::npc_dkc1_gothikAI::MoveInLineOfSight (Unit *who) override
Creatures must not be removed, but, must instead
Member npc_earthmender_wilda::npc_earthmender_wildaAI::UpdateAI (uint32 uiDiff) override
add more abilities
Member npc_escortAI::Start (bool isActiveAttacker=true, bool run=false, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=NULL, bool instantRespawn=false, bool canLoopPath=false, bool resetWaypoints=true)
get rid of this many variables passed in function.
Class npc_grimstone
implement quest part of event (different end boss)
Member npc_grimstone::npc_grimstoneAI::SummonRingBoss ()
move them to center
Member npc_grimstone::npc_grimstoneAI::SummonRingMob ()
move them to center
Member npc_hand_of_the_deceiver::npc_hand_of_the_deceiverAI::Initialize ()
Timers!
Member npc_jaina_or_sylvanas_intro_hor::npc_jaina_or_sylvanas_intro_horAI::UpdateAI (uint32 diff) override
: needs some improvements
Member npc_lorekeeper::npc_lorekeeperAI::sGossipSelect (Player *player, uint32 menuId, uint32 gossipListId) override
delorah->AI()->Talk(xxxx, brann->GetGUID()); when reached at branz
Member npc_medivh_bm::npc_medivh_bmAI::UpdateAI (uint32 diff) override
start the post-event here
Member npc_prince_taldaram_flame_sphere::npc_prince_taldaram_flame_sphereAI::UpdateAI (uint32 diff) override

: find correct values

: correct speed

Class npc_private_hendel
develop this further, end event not created
Member npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::JustSummoned (Creature *summoned) override
make Scarloc start into event instead, and not start attack directly
Member npc_thrall_old_hillsbrad::npc_thrall_old_hillsbradAI::UpdateAI (uint32 diff) override
add his abilities'n-crap here
Member npc_verdisa_beglaristrasz_eternos::npc_verdisa_beglaristrasz_eternosAI::StoreEssence (Player *player, uint32 itemId)
: implement with spells
Member npc_weegli_blastfuse::npc_weegli_blastfuseAI::MovementInform (uint32, uint32) override
leave the area...
Member npc_wg_quest_giver::OnGossipHello (Player *player, Creature *creature) override
: move this to conditions or something else
Member NUM_WEAKNESS
This number is completly random!
Member ObjectGridUnloader::Visit (GridRefManager< T > &m)
Check if that script has the correct logic. Do we really need to summons something before deleting?
Class ObjectWorldLoader
to implement npc on transport, also need to load npcs at grid loading
Member OutdoorPvPNASpells
"sometimes" set to neutral
Member OutdoorPvPSI::HandleAreaTrigger (Player *player, uint32 trigger, bool entered) override

: confirm this text

: confirm this text

Member PathGenerator::BuildPointPath (float const *startPoint, float const *endPoint)
check the exact cases
Member PathGenerator::BuildPolyPath (G3D::Vector3 const &startPos, G3D::Vector3 const &endPos)

we can merge it with getPathPolyByPosition() loop

play with the values here

Member Pet::LoadPetFromDB (Player *owner, uint32 petentry=0, uint32 petnumber=0, bool current=false)
pets should be summoned from real cast instead of just faking it?
Member PlayerDumpWriter::GetDump (ObjectGuid::LowType guid, std::string &dump)

Add instance/group..

Add a dump level option to skip some non-important tables

Member Puppet::Update (uint32 time) override
why long distance .die does not remove it
Member QuestTemplateLocale::OfferRewardText
: implemente this in new tables
Member ReputationMgr::SendInitialReputations ()
faction bonus
Member RoomRadius
Visci isn't in room middle
Member SAY_OUTRO_ALLIANCE_2
ALLIANCE OUTRO
Member Says
Harpoon chain from 62505 should not get removed when other chain is applied
Member ScriptMgr::CreateBattleground (BattlegroundTypeId typeId)
Implement script-side battlegrounds.
Member send_commandscript::HandleSendMailCommand (ChatHandler *handler, char const *args)
Fix poor design
Member SmartAI::UpdateAI (uint32 diff) override
move to void
Member SmartScript::ProcessAction (SmartScriptHolder &e, Unit *unit=NULL, uint32 var0=0, uint32 var1=0, bool bvar=false, const SpellInfo *spell=NULL, GameObject *gob=NULL)
Resume path when reached jump location
Member Spell::_handle_finish_phase ()
trigger proc phase finish here
Member Spell::_handle_immediate_phase ()
finish new proc system:P
Member Spell::AddUnitTarget (Unit *target, uint32 effectMask, bool checkIfValid=true, bool implicit=true, Position const *losPosition=nullptr)
this is a hack
Member Spell::CheckCast (bool strict)
determine if there is some flag to enable/disable the check
Member Spell::CheckEffectTarget (Unit const *target, SpellEffectInfo const *effect, Position const *losPosition) const
shit below shouldn't be here, but it's temporary
Member Spell::CheckItems ()
Needs review
Member Spell::DoAllEffectOnTarget (TargetInfo *target)
check how broad this rule should be
Member Spell::DoSpellHitOnUnit (Unit *unit, uint32 effectMask, bool scaleAura)

This is a hack. But we do not know what types of stealth should be interrupted by CC

this cause soul transfer bugged

Member Spell::DoTriggersOnSpellHit (Unit *unit, uint8 effMask)

move this code to scripts

remove/cleanup this, as this table is not documented and people are doing stupid things with it

Member Spell::EffectCreateItem2 (SpellEffIndex effIndex)
ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);
Member Spell::EffectCreateRandomItem (SpellEffIndex effIndex)
ExecuteLogEffectCreateItem(i, m_spellInfo->Effects[i].ItemType);
Member Spell::EffectFeedPet (SpellEffIndex effIndex)
fix crash when a spell has two effects, both pointed at the same item target
Member Spell::EffectInterruptCast (SpellEffIndex effIndex)
not all spells that used this effect apply cooldown at school spells
Member Spell::EffectOpenLock (SpellEffIndex effIndex)
Add script for spell 41920 - Filling, becouse server it freze when use this spell
Member Spell::EffectPull (SpellEffIndex effIndex)
create a proper pull towards distract spell center for distract
Member Spell::EffectScriptEffect (SpellEffIndex effIndex)

we must implement hunter pet summon at login there (spell 6962)

a hack, range = 11, should after some time cast, otherwise too far

Member Spell::EffectSendEvent (SpellEffIndex effIndex)
there should be a possibility to pass dest target to event script
Member Spell::EffectTriggerSpell (SpellEffIndex effIndex)
move those to spell scripts
Member Spell::IsAutoActionResetSpell () const
changed SPELL_INTERRUPT_FLAG_AUTOATTACK -> SPELL_INTERRUPT_FLAG_INTERRUPT to fix compile - is this check correct at all?
Member Spell::PrepareTriggersExecutedOnHit ()

move this to scripts

move this to scripts

Member Spell::SelectEffectTypeImplicitTargets (uint32 effIndex)

this is a workaround - target shouldn't be stored in target map for those spells

this is a workaround - corpses should be added to spell target map too, but we can't do that so we add owner instead

Member Spell::SelectImplicitCasterDestTargets (SpellEffIndex effIndex, SpellImplicitTargetInfo const &targetType)
fix this check
Member Spell::SelectImplicitTrajTargets (SpellEffIndex effIndex)
all calculation should be based on src instead of m_caster
Member Spell::SendLoot (ObjectGuid guid, LootType loottype)
possible must be moved to loot release (in different from linked triggering)
Member Spell::SendSpellStart ()

implement spell ammo packet data if (castFlags & CAST_FLAG_PROJECTILE) { castData.Ammo.DisplayID = 0; castData.Ammo.InventoryType = 0; }

implement heal prediction packet data if (castFlags & CAST_FLAG_HEAL_PREDICTION) { castData.Predict.BeconGUID = ?? castData.Predict.Points = 0; castData.Predict.Type = 0; }

Member SPELL_FREEZE_ANIM_STUN
: make use of this spell...
Member spell_gen_summon_elemental::spell_gen_summon_elemental_AuraScript::AfterRemove (AuraEffect const *, AuraEffectHandleModes)
this check is maybe wrong
Member spell_gen_vehicle_scaling::spell_gen_vehicle_scaling_AuraScript::CalculateAmount (AuraEffect const *, int32 &amount, bool &)

Reserach coeffs for different vehicles

Research possibility of scaling down

Member spell_intense_cold::spell_intense_cold_AuraScript::HandlePeriodicTick (AuraEffect const *aurEff)
the caster should be boss but not the player
Member SPELL_LIGHTS_FAVOR
Cast every 3 seconds during Frostmourne phase, targets a Wicked Spirit amd activates it
Class spell_mage_polymorph_cast_visual
move out of here and rename - not a mage spell
Member spell_murmur_sonic_boom_effect::spell_murmur_sonic_boom_effect_SpellScript::CalcDamage ()
: find correct value
Member spell_q12589_shoot_rjr::spell_q12589_shoot_rjr_SpellScript::HandleDummy (SpellEffIndex)
Make crunchy perform emote eat when he reaches the bird
Member SPELLFAMILYFLAG_SHAMAN_TOTEM_EFFECTS
Figure out a more accurate name for the following familyflag(s)
Member SpellInfo::CheckShapeshift (uint32 form) const
Find a way to disable use of these spells clientside
Member SpellMgr::LoadEnchantCustomAttr ()
find a better check
Member SpellMgr::LoadSpellInfoCorrections ()
: remove this when basepoints of all Ride Vehicle auras are calculated correctly
Member Spells

: implement stampede

: implement mojo frenzy

Class SpellTargetSelector
Add more checks from Spell::CheckCast
Member SwarmerPos
These below are probably incorrect, taken from SD2
Member TEXT_ALLIANCE_WINS
: sound is missing
Member TEXT_STORMPIKE_GENERAL_DEAD
: sound is missing
Member Totem::IsImmunedToSpellEffect (SpellInfo const *spellInfo, uint32 index) const override
possibly all negative auras immune?
Member TurretAI::CanAIAttack (Unit const *who) const override
use one function to replace it
Member Unit::CalculateMeleeDamage (Unit *victim, uint32 damage, CalcDamageInfo *damageInfo, WeaponAttackType attackType=BASE_ATTACK)
for melee need create structure as in
Member Unit::CastSpell (SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, ObjectGuid originalCaster=ObjectGuid::Empty)
this is a workaround - not needed anymore, but required for some scripts :(
Member Unit::DealDamage (Unit *victim, uint32 damage, CleanDamage const *cleanDamage=NULL, DamageEffectType damagetype=DIRECT_DAMAGE, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *spellProto=NULL, bool durabilityLoss=true)
check packets if damage is done by victim, or by attacker of victim
Member Unit::DelayOwnedAuras (uint32 spellId, ObjectGuid caster, int32 delaytime)
: once we support variadic templates use them here
Member Unit::GetMagicHitRedirectTarget (Unit *victim, SpellInfo const *spellInfo)
handle this charge drop by proc in cast phase on explicit target
Member Unit::HandleAuraProc (Unit *victim, uint32 damage, Aura *triggeredByAura, SpellInfo const *procSpell, uint32 procFlag, uint32 procEx, uint32 cooldown, bool *handled)
move those to spell scripts
Member Unit::HandleDummyAuraProc (Unit *victim, uint32 damage, AuraEffect *triggeredByAura, SpellInfo const *procSpell, uint32 procFlag, uint32 procEx, uint32 cooldown)
It should be moved to database, shouldn't it?
Member Unit::HandleProcTriggerSpell (Unit *victim, uint32 damage, AuraEffect *triggeredByAura, SpellInfo const *procSpell, uint32 procFlag, uint32 procEx, uint32 cooldown)
: reverify and move these spells to spellscripts
Member Unit::IsMagnet () const
: find a more generic solution
Member Unit::Kill (Unit *victim, bool durabilityLoss=true)
do instance binding anyway if the charmer/owner is offline
Member Unit::MagicSpellHitResult (Unit *victim, SpellInfo const *spellInfo)
need use unit spell resistances in calculations
Member Unit::RemoveCharmedBy (Unit *charmer)
CombatStop(true) may cause crash (interrupt spells)
Member Unit::SendHealSpellLog (Unit *victim, uint32 spellID, uint32 health, uint32 overHeal, uint32 absorbed, bool crit=false)
: 6.x Has to be implemented
Member Unit::SendPeriodicAuraLog (SpellPeriodicAuraLogInfo *pInfo)

: should send more logs in one packet when multistrike

: implement debug info

Member Unit::SetCharm (Unit *target, bool apply)
maybe we can use this flag to check if controlled by player
Member Unit::SetCharmedBy (Unit *charmer, CharmType type, AuraApplication const *aurApp=NULL)
CombatStop(true) may cause crash (interrupt spells)
Member Unit::SetFacingToObject (WorldObject const *object)
figure out under what conditions creature will move towards object instead of facing it where it currently is.
Member Unit::SetPower (Powers power, int32 val)
: Support multiple counts ?
Member Unit::SpellCriticalDamageBonus (SpellInfo const *spellProto, uint32 damage, Unit *victim)
write here full calculation for melee/ranged spells
Member Unit::SpellHitResult (Unit *victim, SpellInfo const *spellInfo, bool canReflect=false)
client not show miss log for this spells - so need find info for this in dbc and use it!
Member Unit::UpdateSpeed (UnitMoveType mtype, bool forced)
possible affect only on MOVE_RUN
Member VMAP::StaticMapTree::CanLoadMap (const std::string &basePath, uint32 mapID, uint32 tileX, uint32 tileY)
check magic number when implemented...
Member VMAP::TileAssembler::convertWorld2 ()
remove extractor hack and uncomment below line:
Member WardenWin::HandleData (ByteBuffer &buff) override
test it.
Member World::getAllowMovement () const
Actions on m_allowMovement still to be implemented Is movement allowed?
Member World::LoadConfigSettings (bool reload=false)
Add MonsterSight and GuarderSight (with meaning) in worldserver.conf or put them as define
Member World::SetInitialWorldSettings ()
Get rid of magic numbers
Member World::~World ()
free addSessQueue
Member WorldObject::DestroyForNearbyPlayers ()
this is for puppet
Member WorldPackets::Auth::AuthResponse::AuthSuccessInfo::CurrencyID
implement
Member WorldPackets::Auth::AuthResponse::AuthSuccessInfo::ForceCharacterTemplate
implement
Member WorldPackets::Auth::AuthResponse::AuthSuccessInfo::NumPlayersAlliance
implement
Member WorldPackets::Auth::AuthResponse::AuthSuccessInfo::NumPlayersHorde
implement
Member WorldPackets::Auth::AuthResponse::AuthSuccessInfo::TimeSecondsUntilPCKick
research
Member WorldPackets::Auth::AuthResponse::AuthSuccessInfo::VirtualRealms
implement
Member WorldPackets::Auth::AuthResponse::AuthWaitInfo::HasFCM
implement
Member WorldPackets::Auth::AuthResponse::RealmInfo::IsInternalRealm
research
Member WorldPackets::Character::CharacterUndeleteInfo::ClientToken
: research
Class WorldPackets::Character::CharRaceOrFactionChange
: CharCustomizeResult
Member WorldPackets::Character::EnumCharactersResult::CharacterInfo::BoostInProgress
Member WorldPackets::Character::EnumCharactersResult::CharacterInfo::Flags3
research
Member WorldPackets::Character::EnumCharactersResult::CharacterInfo::ProfessionIds [2]
Member WorldPackets::Character::EnumCharactersResult::FactionChangeRestrictions
: research
Member WorldPackets::Inspect::InspectHonorStats::Write () override

: confirm order

: confirm order

Member WorldPackets::Inspect::InspectItemData::InspectItemData (Item const *item, uint8 index)
Member WorldPackets::Item::ItemInstance::Initialize (LootItem const &lootItem)
Member WorldPackets::Reputation::InitializeFactions::FactionHasBonus [FactionCount]
: implement faction bonus
Member WorldPackets::WorldState::UpdateWorldState::Hidden
: research
Member WorldSession::HandleAutostoreLootItemOpcode (WorldPackets::Loot::LootItem &packet)
Implement looting by LootObject guid
Member WorldSession::HandleCharCreateCallback (PreparedQueryResult result, WorldPackets::Character::CharacterCreateInfo *createInfo)

what to if account already has characters of both races?

check if cinematic already shown? (already logged in?; cinematic field)

Member WorldSession::HandleCharCustomizeCallback (PreparedQueryResult result, WorldPackets::Character::CharCustomizeInfo *customizeInfo)
: make async
Member WorldSession::HandleCharRaceOrFactionChangeCallback (PreparedQueryResult result, WorldPackets::Character::CharRaceOrFactionChangeInfo *factionChangeInfo)
: make this part async
Member WorldSession::HandleCharUndeleteCallback (PreparedQueryResult result, WorldPackets::Character::CharacterUndeleteInfo *undeleteInfo)
: add more safety checks
  • max char count per account
  • max heroic char count
  • team violation
Member WorldSession::HandleChatMessage (ChatMsg type, uint32 lang, std::string msg, std::string target="")
implement cross realm whispers (someday)
Member WorldSession::HandleDelFriendOpcode (WorldPackets::Social::DelFriend &packet)
: handle VirtualRealmAddress
Member WorldSession::HandleDelIgnoreOpcode (WorldPackets::Social::DelIgnore &packet)
: handle VirtualRealmAddress
Member WorldSession::HandleInspectPVP (WorldPackets::Inspect::InspectPVPRequest &request)

: deal with request.InspectRealmAddress

: fill brackets

Member WorldSession::HandleMovementOpcodes (WorldPackets::Movement::ClientPlayerMovement &packet)
discard movement packets after the player is rooted
Member WorldSession::HandlePetAction (WorldPackets::Pet::PetAction &packet)
allow control charmed player?
Member WorldSession::HandlePetActionHelper (Unit *pet, ObjectGuid guid1, uint32 spellid, uint16 flag, ObjectGuid guid2, float x, float y, float z)

Send proper error message to client

: confirm this check

Member WorldSession::HandleQueryNextMailTime (WorldPackets::Mail::MailQueryNextMailTime &packet)
Fix me! ... this void has probably bad condition, but good data are sent
Member WorldSession::HandleReadItem (WorldPackets::Item::ReadItem &readItem)
: 6.x research new values
Member WorldSession::HandleRequestHonorStatsOpcode (WorldPackets::Inspect::RequestHonorStats &request)
Member WorldSession::HandleRequestWowTokenMarketPrice (WorldPackets::Token::RequestWowTokenMarketPrice &requestWowTokenMarketPrice)
: 6.x fix implementation
Member WorldSession::HandleSetContactNotesOpcode (WorldPackets::Social::SetContactNotes &packet)
: handle VirtualRealmAddress
Member WorldSession::HandleSpellClick (WorldPackets::Spells::SpellClick &spellClick)
Unit::SetCharmedBy: 28782 is not in world but 0 is trying to charm it! -> crash
Member WorldSession::HandleUpdateListedAuctionableTokens (WorldPackets::Token::UpdateListedAuctionableTokens &updateListedAuctionableTokens)
: 6.x fix implementation
Member WorldSession::HandleWhoOpcode (WorldPackets::Who::WhoRequestPkt &whoRequest)
: handle following packet values VirtualRealmNames ShowEnemies ShowArenaPlayers ExactName ServerInfo
Member WorldSession::HandleWrapItem (WorldPackets::Item::WrapItem &packet)
: 6.x find better way for read
Member WorldSession::ReadAddonsInfo (ByteBuffer &data)
Find out when to not use CRC/pubkey, and other possible states.
Member WorldSession::SendSetTimeZoneInformation ()
: replace dummy values
Member wp_commandscript::HandleWpModifyCommand (ChatHandler *handler, const char *args)
Should we first use "Create" then use "LoadFromDB"?
Member Yells
rewrite Armageddon