Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
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_EARNED_PVP_TITLE
73: Achievements 1515, 1241, 1103 (Name: Mal'Ganis)
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_LEARN_SKILLLINE_SPELLS
title id is not mentioned in dbc
Member ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT
itemlevel is mentioned in text but not present in dbc
Member AchievementMgr< T >::CompletedAchievement (AchievementEntry const *achievement, Player *referencePlayer)
where do set this instead?
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::HandleAuraSpecificMods (AuraApplication const *aurApp, Unit *caster, bool apply, bool onReapply)
This should be moved to similar function in spell::hit
Member Aura::IsProcTriggeredOnEvent (AuraApplication *aurApp, ProcEventInfo &eventInfo) const

this needs to be unified for all kinds of auras

Member Aura::UnregisterSingleTarget ()
find a better way to do this.
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::HandlePeriodicDummyAuraTick (Unit *target, Unit *caster) const
this should use effect[1] of 51690
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 Battleground::_ProcessJoin (uint32 diff)
add arena sound PlaySoundToAll(SOUND_ARENA_START);
Member Battleground::AddSpiritGuide (uint32 type, float x, float y, float z, float o, uint32 team)
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::AddPlayer (Player *player) OVERRIDE
just look at the code \^_^/ –but queue-info should provide this information..
Member BattlegroundAV::ChangeMineOwner (uint8 mine, uint32 team, bool initial=false)

just set the respawntime to 999999

here also

Member BattlegroundAV::EndBattleground (uint32 winner)
add enterevademode for all attacking creatures
Member BattlegroundAV::GetBonusHonor (uint8 kills)
move this function to Battleground.cpp (needs to find a way to get m_MaxLevel)
Member BattlegroundAV::HandleQuestComplete (uint32 questid, Player *player) OVERRIDE
add reputation, events (including quest not available anymore, next quest availabe, go/npc de/spawning)and maybe honor
Member BattlegroundAV::m_IsInformedNearVictory [2]
: Remove this once battleground->getmaxlevel() returns something usefull/is reworked (?)
Member BattlegroundAV::m_Team_Scores [2]
: Remove this when the core handles this properly
Member BattlegroundAV::PostUpdateImpl (uint32 diff) OVERRIDE
make the captains a dynamic creature
Member BattlegroundAV::RemovePlayer (Player *player, uint64 guid, uint32 team) OVERRIDE
search more buffs
Member BattlegroundBFG::_NodeOccupied (uint8 node, Team team)
working, scripted peons spawning
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][4]
: this array should be removed, the only needed things are the entrys (for spawning(?) and handlekillunit)
Member boss_anubrekhan::boss_anubrekhanAI::KilledUnit (Unit *victim) OVERRIDE
Check percent chance for scarabs, 20% at the moment
Member boss_anubrekhan::boss_anubrekhanAI::UpdateAI (uint32 diff) OVERRIDE

Add Text

Add Text

Member boss_bjarngrim::boss_bjarngrimAI::DoRemoveStanceAura (uint8 uiStance)
remove when removal is done by the core
Member boss_faerlina::boss_faerlinaAI::SpellHit (Unit *caster, SpellInfo const *spell) OVERRIDE
Add Text
Member boss_faerlina::boss_faerlinaAI::UpdateAI (uint32 diff) OVERRIDE
Add Text
Member boss_falric::boss_falricAI::EnterCombat (Unit *) OVERRIDE
adjust timer.
Member boss_falric::boss_falricAI::UpdateAI (uint32 diff) OVERRIDE
adjust timer.
Member boss_felblood_kaelthas::boss_felblood_kaelthasAI::Reset () OVERRIDE
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_heigan::boss_heiganAI::UpdateAI (uint32 diff) OVERRIDE
Add missing texts for both phase switches
Member boss_ingvar_the_plunderer::boss_ingvar_the_plundererAI::StartZombiePhase ()
: should be death persistent
Member boss_kelthuzad::boss_kelthuzadAI::UpdateAI (uint32 diff) OVERRIDE
Add missing text
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_krystallus::boss_krystallusAI::SpellHitTarget (Unit *, const SpellInfo *pSpell) OVERRIDE
we need eventmap to kill this stuff
Member boss_lieutenant_drake::boss_lieutenant_drakeAI::UpdateAI (uint32 diff) OVERRIDE
make this work
Member boss_maexxna::boss_maexxnaAI::UpdateAI (uint32 diff) OVERRIDE

Add missing text

Add missing text

Member boss_marwyn::boss_marwynAI::EnterCombat (Unit *) OVERRIDE

Check timer

Check timer

Member boss_onyxia::boss_onyxiaAI::UpdateAI (uint32 diff) OVERRIDE
: In what cases is this null? What should we do?
Member boss_razuvious::boss_razuviousAI::JustDied (Unit *) OVERRIDE
this may affect other creatures
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 (uint32 guidlow, Map *map, uint32 Entry, uint32 vehId, uint32 team, float x, float y, float z, float ang, const CreatureData *data=NULL)
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, uint32 team=ALLIANCE, const CreatureData *data=NULL)
Why is this treated as uint32 when it's a float?
Member CriteriaEntry::areaReference
This rank is NOT the index from AreaTable.dbc
Member CriteriaEntry::do_emote
where is the information about the target stored?
Member CriteriaEntry::equip_epic_item
where is the required itemlevel stored?
Member CriteriaEntry::kill_creature
also used for player deaths..
Member CriteriaEntry::rank
This rank is NOT the index from CharTitles.dbc
Member DatabaseWorkerPool< T >::DirectCommitTransaction (SQLTransaction &transaction)
More elegant way
Member eEscortFaction
find better namings and definitions.
Member FlameLeviathanPursuedTargetSelector::operator() (WorldObject *target) const
check if blizzlike)
Member FollowerAI::JustDied (Unit *) OVERRIDE
need a better check for quests with time limit.
Member GameEventMgr::ChangeEquipOrModel (int16 event_id, bool activate)
: verify this line
Member GameEventMgr::GameEventSpawn (int16 event_id)
find out when it is add to map
Member GameEventMgr::LoadFromDB ()
Change to uint8
Member GameObject::Update (uint32 p_time) OVERRIDE

move activated state code (cast itself) to GO_ACTIVATED, in this place only check activating and set state

rename radius to diameter (goInfo->trap.radius) should be (goInfo->trap.diameter)

Member GameObject::Use (Unit *user)

I do not understand this hack. Need some explanation.

find reasonable value for fishing hole search

else: junk

Member Garments
get text for each NPC
Member GmTicket::_haveTicket
find out the use of this, and then store it in DB
Member go_dragonflayer_cage::OnGossipHello (Player *player, GameObject *go) OVERRIDE
prisoner should help player for a short period of time
Class go_manaforge_control_console
clean up this workaround when Skyfire adds support to do it properly (with gossip selections instead of instant summon)
Member go_tablet_of_the_seven::OnGossipHello (Player *player, GameObject *go) OVERRIDE
use gossip option ("Transcript the Tablet") instead, if Skyfire 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 Guild::BankMoveItemData::LogAction (MoveItemData *pFrom) const
Move this to scripts
Member Guild::GiveXP (uint32 xp, Player *source)
: Award reputation and count activity for player
Member icecrown_citadel_teleport::OnGossipHello (Player *player, GameObject *go) OVERRIDE
Gauntlet event before Sindragosa
Member instance_eye_of_eternity::instance_eye_of_eternity_InstanceMapScript::SpawnGameObject (uint32 entry, Position &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 *) 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, DifficultyID difficulty, bool warn, time_t resetTime)
delete creature/gameobject respawn times even if the maps are not loaded
Member lfg::LFGGroupScript::OnRemoveMember (Group *group, uint64 guid, RemoveMethod method, uint64 kicker, char const *reason)
- Update internal kick cooldown of kicker
Member LoadHelper (CellCorpseSet const &cell_corpses, CellCoord &cell, CorpseMapType &m, uint32 &count, Map *map)
this is a hack
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 LuaPlayer::AddItem (lua_State *L, Player *player)
Send to mailbox if no space
Member main (int argc, char **argv)
Why do we need this 'Master'? Can't all of this be in the Main as for Realmd?
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::CanPlayerEnter (uint32 mapid, Player *player, bool loginCheck=false)
this is not a good place to send the message
Member MapManager::IsValidMAP (uint32 mapid, bool startUp)
add check for battleground template
Member MAX_SPAWN_LOC
get those positions from spawn of creature 29326
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
Class npc_bladespire_ogre
add support for quest 10512 + Creature abilities
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 :
Struct 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, uint64 playerGUID=0, Quest const *quest=NULL, bool instantRespawn=false, bool canLoopPath=false, bool resetWaypoints=true)
get rid of this many variables passed in function.
Member npc_ghostly_priest::npc_ghostly_priestAI::EnterCombat (Unit *) OVERRIDE
adjust timers
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::Reset () OVERRIDE
Timers!
Member npc_jaina_or_sylvanas_hor::npc_jaina_or_sylvanas_horAI::UpdateAI (uint32 diff) OVERRIDE

Loralen/Koreln shall run also

Loralen/Koreln shall run also

Member npc_lorekeeper::OnGossipSelect (Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
Delorah->AI()->Talk(xxxx, Branz); when reached at branz
Member npc_medivh_bm::npc_medivh_bmAI::UpdateAI (uint32 diff) OVERRIDE
start the post-event here
Member npc_phantom_mage::npc_phantom_mageAI::EnterCombat (Unit *) OVERRIDE
adjust timers
Class npc_private_hendel
develop this further, end event not created
Member npc_shadowy_mercenary::npc_shadowy_mercenaryAI::EnterCombat (Unit *) OVERRIDE
adjust timers
Member npc_spectral_footman::npc_spectral_footmanAI::EnterCombat (Unit *) OVERRIDE
adjust timers
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_torek::npc_torekAI::WaypointReached (uint32 waypointId) OVERRIDE
verify location and creatures amount.
Member npc_torek::OnQuestAccept (Player *player, Creature *creature, Quest const *quest) OVERRIDE
find companions, make them follow Torek, at any time (possibly done by core/database in future?)
Member npc_tortured_rifleman::npc_tortured_riflemanAI::EnterCombat (Unit *) OVERRIDE
adjust timers
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 ObjectAccessor::GetObjectInOrOutOfWorld (uint64 guid, T *)
: Override these template functions for each holder type and add assertions
Member ObjectAccessor::RemoveCorpse (Corpse *corpse)
more works need to be done for corpse and other world object
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 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 Player::AddItem (uint32 itemId, uint32 count)
Send to mailbox if no space
Member Player::CanUninviteFromGroup () const
Should also be sent when anyone has recently left combat, with an aprox ~5 seconds timer.
Member Player::CanUseItem (Item *pItem, bool not_loading=true) const
when you right-click already equipped item it throws EQUIP_ERR_PROFICIENCY_NEEDED.
Member Player::Create (uint32 guidlow, CharacterCreateInfo *createInfo)
need more checks against packet modifications
Member Player::GetGameObjectIfCanInteractWith (uint64 guid, GameobjectTypes type) const
find out how the client calculates the maximal usage distance to spellless working
Member Player::GiveLevel (uint8 level)
Poor design of mail system
Member Player::HandleDrowning (uint32 time_diff)

Check this formula

Check this formula

Member Player::Regenerate (Powers power)
possible use of miscvalueb instead of amount
Member Player::RemoveTradeableItem (Item *item)
should never allow an item to be added to m_itemSoulboundTradeable twice
Member Player::RestoreSpellMods (Spell *spell, uint32 ownerAuraId=0, Aura *aura=NULL)
trac these changes correctly
Member Player::RewardQuest (Quest const *quest, uint32 reward, Object *questGiver, bool announce=true)
Poor design of mail system
Member Player::SaveToDB (bool create=false)
: Filter out more redundant fields that can take their default value at player create
Member Player::SendPreparedQuest (uint64 guid)
verify if check for !quest->IsDaily() is really correct (possibly not)
Member Player::SetInWater (bool apply)
exist also swimming mobs, and function must be symmetric to enter/leave water
Member Player::UninviteFromGroup ()
Shouldn't we also check if there is no other invitees before disbanding the group?
Member Player::Update (uint32 time) override
add weapon, skill check
Member Player::UpdatePvPState (bool onlyFFA=false)
should we always synchronize UNIT_FIELD_SHAPESHIFT_FORM, 1 of controller and controlled?
Member PlayerDumpWriter::GetDump (uint32 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 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 ScriptMgr::GetDialogStatus (Player *player, Creature *creature)
100 is a funny magic number to have hanging around here...
Member ScriptMgr::GetDialogStatus (Player *player, GameObject *go)
100 is a funny magic number to have hanging around here...
Member send_commandscript::HandleSendMailCommand (ChatHandler *handler, char const *args)
Fix poor design
Member Skyfire::MonsterChatBuilder::operator() (WorldPacket &data, LocaleConstant loc_idx)
i_object.GetName() also must be localized?
Member Skyfire::MonsterCustomChatBuilder::operator() (WorldPacket &data, LocaleConstant loc_idx)
i_object.GetName() also must be localized?
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)
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, uint32 eff) 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, uint32 effMask)
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::SelectEffectTypeImplicitTargets (uint8 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::SelectImplicitAreaTargets (SpellEffIndex effIndex, SpellImplicitTargetInfo const &targetType, uint32 effMask)

remove those

remove this

Member Spell::SelectImplicitCasterDestTargets (SpellEffIndex effIndex, SpellImplicitTargetInfo const &targetType)
fix this check
Member Spell::SelectImplicitConeTargets (SpellEffIndex effIndex, SpellImplicitTargetInfo const &targetType, uint32 effMask)
remove this
Member Spell::SelectImplicitTrajTargets ()
all calculation should be based on src instead of m_caster
Member Spell::SendLoot (uint64 guid, LootType loottype)
possible must be moved to loot release (in different from linked triggering)
Member spell_dk_anti_magic_shell_raid::spell_dk_anti_magic_shell_raid_AuraScript::CalculateAmount (AuraEffect const *, int32 &amount, bool &)
this should absorb limited amount of damage, but no info on calculation formula
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
Struct SpellTargetSelector
Add more checks from Spell::CheckCast
Member STRCASECMP
this thingy looks like hack, but its not, need to
Member SwarmerPos
These below are probably incorrect, taken from SD2
Member Totem::IsImmunedToSpellEffect (SpellInfo const *spellInfo, uint32 index) const OVERRIDE
possibly all negative auras immune?
Member TurretAI::CanAIAttack (const Unit *who) const
use one function to replace it
Member Unit::CalculateMeleeDamage (Unit *victim, uint32 damage, CalcDamageInfo *damageInfo, WeaponAttackType attackType=WeaponAttackType::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, uint64 originalCaster=0)
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::DealMeleeDamage (CalcDamageInfo *damageInfo, bool durabilityLoss)
Move this to a packet handler
Member Unit::DelayOwnedAuras (uint32 spellId, uint64 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::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::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 *object)
figure out under what conditions creature will move towards object instead of facing it where it currently is.
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)
test it.
Member WGVehicles

Implement proper support for vehicle+player teleportation

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

Add proper implement of achievement

Member WintergraspText
: Can this be handled with creature_text or SmartAI ?
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 WorldSession::HandleCharCreateCallback (PreparedQueryResult result, CharacterCreateInfo *createInfo)

what to if account already has characters of both races?

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

Member WorldSession::HandleMovementOpcodes (WorldPacket &recvPacket)
discard movement packets after the player is rooted
Member WorldSession::HandlePetActionHelper (Unit *pet, uint64 guid1, uint32 spellid, uint16 flag, uint64 guid2, float x, float y, float z)

Send proper error message to client

: confirm this check

Member WorldSession::HandleQueryNextMailTime (WorldPacket &recvData)
Fix me! ... this void has probably bad condition, but good data are sent
Member WorldSession::HandleQuestNPCQuery (WorldPacket &recvData)
verify if we should only send completed quests questgivers
Member WorldSession::HandleSpellClick (WorldPacket &recvData)
Unit::SetCharmedBy: 28782 is not in world but 0 is trying to charm it! -> crash
Member WorldSession::HandleUseItemOpcode (WorldPacket &recvPacket)
add targets.read() check
Member WorldSession::ReadAddonsInfo (WorldPacket &data)
Find out when to not use CRC/pubkey, and other possible states.
Member wp_commandscript::HandleWpModifyCommand (ChatHandler *handler, const char *args)
Should we first use "Create" then use "LoadFromDB"?
Member Yells
rewrite Armageddon