- Member account_commandscript::HandleAccountDeleteCommand (ChatHandler *handler, std::string accountName)
- 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::GetProcEffectMask (AuraApplication *aurApp, ProcEventInfo &eventInfo, TimePoint now) const
this needs to be unified for all kinds of auras
- Member Aura::HandleAuraSpecificMods (AuraApplication const *aurApp, Unit *caster, bool apply, bool onReapply)
- This should be moved to similar function in spell::hit
- 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::HandleAuraDummy (AuraApplication const *aurApp, uint8 mode, bool apply) const
- drop aura charges for ApplySpellMod in ProcDamageAndSpell
- Member AuraEffect::HandleAuraPreventRegeneratePower (AuraApplication const *aurApp, uint8 mode, bool apply) const
- possible use of miscvalueb instead of amount
- 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, 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)
find a way to add a motionmaster without killing the creature (i
look if this can be done by database + also add this for the wingcommanders
- 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
- Struct BfWGCoordGY
Implement proper support for vehicle+player teleportation
Use spell victory/defeat in wg instead of RewardMarkOfHonor() && RewardHonor
Add proper implement of achievement
- 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_akilzon::boss_akilzonAI::UpdateAI (uint32 diff) override
- : fix it in correct way, that causes player to can fly until logout
- Member boss_alar::JustDied (Unit *) override
- : Guessed. Needed if boss dies during Dive Bomb. What should happen?
- Member boss_alar::UpdateAI (uint32 diff) override
: This should not be called. Clear All Debuffs should remove all debuffs. Does it work? Remove this
: Guessed, this is positive aura, will be not removed by Clear All Debuffs. What should happen if Flame Quills is active here?
- Member boss_brutallus::Reset () override
- : Dual Wield doesn't get apply after evade for unknown reason. Investigate this
- Member boss_elder_nadox::UpdateAI (uint32 diff) override
: summoned by egg
: summoned by egg
- Member boss_eregos::SummonedCreatureDespawn (Creature *summon) override
- : See why the spell is not cast
- Member boss_ingvar_the_plunderer::DamageTaken (Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
- : This should not be called. Clear All Debuffs should remove all debuffs. Does it work? Remove this
- Member boss_jeklik::JustEngagedWith (Unit *who) override
- : Intro sequence with movement
- Member boss_jeklik::UpdateAI (uint32 diff) override
- : One Gurubashi Bat Rider should be spawned at -12301.7 -1371.29 145.092 4.74729 or -12298 -1368.51 145.398 4.79965 They're uninteractible, passive and simply flies on paths, throwing bombs. Despawns at path end
- Member boss_keleseth::JustEngagedWith (Unit *who) override
- : Should he really call for help? Check this
- Member boss_kiljaeden::boss_kiljaedenAI::UpdateAI (uint32 diff) override
- Timer
- Member boss_king_dred::SpellHit (WorldObject *, SpellInfo const *spellInfo) override
- : This is wrong. Engage nearby alive not yet engaged raptor instead
- Member boss_koralon::JustEngagedWith (Unit *who) override
check timer
check timer
- Member boss_kri::JustReachedHome () override
- : This should be in BaseAI (needs to be created to implement Devour)
- Member boss_krick::UpdateAI (uint32 diff) override
- Tyrannus starts killing Krick.
- Member boss_laj::UpdateAI (uint32 diff) override
- : Don't apply same aura twice in a row and don't transform to shadow if the event is executed first time
- Member boss_lieutenant_drake::UpdateAI (uint32 diff) override
- make this work
- Member boss_muru::OnSpellCast (SpellInfo const *spell) override
- : Temporarily replaced with SetVisible. Otherwise we will be not able to respawn M'uru in case of wipe me->DespawnOrUnsummon(1500ms);
- Member boss_nalorakk::MoveInLineOfSight (Unit *who) override
- : Handle this with GameObjects 186274, 186275, 186276, 186277
- Member boss_onyxia::UpdateAI (uint32 diff) override
- : In what cases is this null? What should we do?
- Member boss_sapphiron::UpdateAI (uint32 diff) override
- : at this point it should already despawn, probably that spell is used in another place
- Member boss_sjonnir::EnterEvadeMode (EvadeReason) override
- : Despawn Brann too but respawn his pre-fight version (https://www.youtube.com/watch?v=hxAxbjGfuDw)
- Member boss_sjonnir::JustEngagedWith (Unit *who) override
- : Schedule both in combat and out of combat
- Member boss_talon_king_ikiss::MoveInLineOfSight (Unit *who) override
- : Handle this with GameObject 184118 (Auchindoun Arakkoa - Talon King Ikiss Intro Event - Trigger 000)
- Member boss_the_lurker_below::OnSpellStart (SpellInfo const *spellInfo) override
- : Move this to Spout spell script in Precast hook
- Member boss_the_lurker_below::UpdateAI (uint32 diff) override
- : This should not be called. Clear All Debuffs should remove all debuffs. Does it work? Remove this
- Member boss_thorngrin_the_tender::MoveInLineOfSight (Unit *who) override
- : Handle this with GameObject 183772 (Tempest Keep Atrium - Thorngrin Event - Trigger 000)
- Member boss_twinemperorsAI::JustEngagedWith (Unit *who) override
- we should activate the other boss location so he can start attackning even if nobody
- Member boss_vem::JustReachedHome () override
- : This should be in BaseAI (needs to be created to implement Devour)
- Class boss_viscidus
- Not sure if its correct
- Member boss_warbringer_omrogg::OnSpellCast (SpellInfo const *spell) override
- : Threat reset and AttackStart should be in spell script
- Member boss_warlord_kalithresh::MoveInLineOfSight (Unit *who) override
- : Handle this with GameObject 184106 (Coilfang Steamvaults - Kalithresh Event - Trigger 000)
- Member boss_wrath_scryer_soccothrates::MoveInLineOfSight (Unit *who) override
- : Maybe this is handled by Gameobject 184953 (Tempest Keep Prison - Boss React - Trigger 001) or it belongs to Mellichar's event
- Member ByteBuffer::read< std::string > ()
- Make a ByteBuffer.cpp and move all this inlining to it.
- Member Creature::CanStartAttack (Unit const *u, bool force) const
- should switch to range attack
- 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::UpdateLevelDependantStats ()
- Why is this treated as uint32 when it's a float?
- Member DatabaseWorkerPool< T >::DirectCommitTransaction (SQLTransaction< T > &transaction)
- More elegant way
- Member EscortAI::Start (bool isActiveAttacker=true, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false)
- get rid of this many variables passed in function.
- 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::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
nullptr target won't work for target type 1
- Member GameObject::Use (Unit *user)
find reasonable value for fishing hole search
I do not understand this hack. Need some explanation.
- Member GmTicket::_needMoreHelp
- find out the use of this, and then store it in DB
- Member go_tablet_of_the_seven::go_tablet_of_the_sevenAI::OnGossipHello (Player *player) override
- use gossip option ("Transcript the Tablet") instead, if Trinity adds support.
- Member gobject_commandscript::HandleGameObjectAddCommand (ChatHandler *handler, GameObjectEntry objectId, Optional< int32 > spawnTimeSecs)
- 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::SendBankList (WorldSession *session=nullptr, uint8 tabId=0, bool fullUpdate=false, SlotIds *slots=nullptr) const
- - Probably this is just sent to session + those that have sent CMSG_GUILD_BANKER_ACTIVATE
- 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 instance_ruins_of_ahnqiraj::instance_ruins_of_ahnqiraj_InstanceMapScript::SetBossState (uint32 bossId, EncounterState state) override
- : This part requires additional research. Here we check if Andorov's event was started and only then change it to finished to enable vendor. Otherwise players can complete Rajaxx's encounter without Andorov and then talk to him to buy items, doubt that should happen
- 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, 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 lookup_commandscript::HandleLookupTitleCommand (ChatHandler *handler, char const *args)
- : implement female support
- 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 MapManager::IsValidMAP (uint32 mapid, bool startUp)
- add check for battleground template
- Member Movement::MoveSpline::init_spline (MoveSplineInitArgs const &args)
- what to do in such cases? problem is in input data (all points are at same coords)
- Member MOVEMENTFLAG_MASK_PLAYER_ONLY
- if needed: add more flags to this masks that are exclusive to players
- Member npc_andorov::DoAction (int32 action) override
- : This part is guessed, nothing is changed when Rajaxx is defeated but we want to enable vendor, perform emote and despawn. Maybe it is delayed a little?
- Member npc_andorov::OnGossipSelect (Player *player, uint32 menuId, uint32) override
- : This part requires additional research. What should happen if event wasn't started but Rajaxx was defeated?
- Member npc_commandscript::HandleNpcAddWeaponCommand (ChatHandler *handler, uint32 SlotID, ItemTemplate const *tmpItem)
- NpcCommands that need to be fixed :
- Struct npc_daegarn
- make prisoners help (unclear if summoned or using npc's from surrounding cages (summon inside small cages?))
- Member npc_dark_fiend::DoAction (int32 action) override
- : This part requires sniff verification
- 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_enchanted_elemental::JustAppeared () override
: Angle should be closest position to Vashj, not to the left or right of Vashj
: This should ignore combat reach calculation (boss grows in size but elementals still move to 5 yards from boss)
- Member npc_fathomlord_karathress_cyclone::JustAppeared () override
: This requires additional research
: We are forcing creature to chase target, otherwise it will not chase players. Investigate this
: This requires rechecks. Seems like on retail this aura does not trigger spell despite this aura is shown in sniffs in aura update packet. Also using this makes cyclone overpowered and creates behavior we don't see in movies
- Struct npc_frenzied_bloodseeker_bat
- : Intro sequence with movement
- 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_hive_zara_swarmer::JustAppeared () override
- : Temporary, replace with splines
- Member npc_jaina_or_sylvanas_intro_hor::npc_jaina_or_sylvanas_intro_horAI::UpdateAI (uint32 diff) override
- : needs some improvements
- Class npc_kerlonian
- make concept similar as "ringo" -escort. Find a way to run the scripted attacks, if player are choosing road.
- Member npc_lorekeeper::npc_lorekeeperAI::OnGossipSelect (Player *player, uint32 menuId, uint32 gossipListId) override
- delorah->AI()->Talk(xxxx, brann->GetGUID()); when reached at branz
- Member npc_medivh_bm::UpdateAI (uint32 diff) override
- start the post-event here
- Member npc_prince_taldaram_flame_sphere::UpdateAI (uint32 diff) override
: find correct values
: correct speed
- Member npc_thrall_old_hillsbrad::JustSummoned (Creature *summoned) override
- make Scarloc start into event instead, and not start attack directly
- Member npc_thrall_old_hillsbrad::UpdateAI (uint32 diff) override
- add his abilities'n-crap here
- Class npc_thrall_warchief
- verify abilities/timers
- Member npc_verdisa_beglaristrasz_eternos::StoreEssence (Player *player, uint32 itemId)
- : implement with spells
- Member npc_vrykul_skeleton::DoAction (int32 action) override
- : Spell doesn't work if creature is in evade mode
- Member npc_weegli_blastfuse::npc_weegli_blastfuseAI::MovementInform (uint32, uint32) override
- leave the area...
- Member npc_zuljin_vortex::JustAppeared () override
- : After first tick makes creature stop movement, investigate this
- Member NUM_WEAKNESS
- This number is completly random!
- Member Object::BuildMovementUpdate (ByteBuffer *data, uint16 flags) const
- Research the proper formula
- 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) override
: confirm this text
: confirm this text
- Class OutdoorPvPZM
- flag carrier death/leave/mount/activitychange should give back the gossip options
- Member PathGenerator::BuildPointPath (float const *startPoint, float const *endPoint)
- check the exact cases
- Member PathGenerator::BuildPolyPath (G3D::Vector3 const &startPos, G3D::Vector3 const &endPos)
play with the values here
we can merge it with getPathPolyByPosition() loop
- Member Pet::LoadPetFromDB (Player *owner, uint32 petEntry, uint32 petnumber, bool current)
- 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::AddSpell (uint32 spellId, bool active, bool learning, bool dependent, bool disabled, bool loading=false, uint32 fromSkill=0)
- : confirm if rogues start with lockpicking skill at level 1 but only receive the spell to use it at level 16
- Member Player::CanUninviteFromGroup (ObjectGuid guidMember=ObjectGuid::Empty) 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 (ObjectGuid::LowType guidlow, WorldPackets::Character::CharacterCreateInfo const *createInfo)
- need more checks against packet modifications
- Member Player::duel
- : maybe move UpdateDuelFlag+DuelComplete to independent DuelHandler
- Member Player::GetDodgeFromAgility (float &diminishing, float &nondiminishing) const
- research if talents/effects that increase total agility by x% should increase non-diminishing part
- Member Player::GiveLevel (uint8 level)
find some better solution
Poor design of mail system
- Member Player::HandleDrowning (uint32 time_diff)
Check this formula
Check this formula
- Member Player::RewardQuest (Quest const *quest, uint32 reward, Object *questGiver, bool announce=true)
- Poor design of mail system
- Member Player::SaveToDB (CharacterDatabaseTransaction trans, bool create=false)
- : Filter out more redundant fields that can take their default value at player create
- Member Player::SendInitialPacketsBeforeAddToMap ()
-
- Member Player::SendPreparedQuest (ObjectGuid guid)
- verify if check for !quest->IsDaily() is really correct (possibly not)
- Member Player::Update (uint32 time) override
- add weapon, skill check
- Member Player::UpdatePowerRegen (Powers power)
- possible use of miscvalueb instead of amount
- Member Player::UpdatePvPState (bool onlyFFA=false)
- should we always synchronize UNIT_FIELD_BYTES_2, 1 of controller and controlled?
- Member PlayerDumpWriter::GetDump (ObjectGuid::LowType guid, std::string &dump)
Add a dump level option to skip some non-important tables
Add instance/group..
- 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 ScriptMgr::CreateBattleground (BattlegroundTypeId typeId)
- Implement script-side battlegrounds.
- Member send_commandscript::HandleSendMailCommand (ChatHandler *handler, char const *args)
- Fix poor design
- Member SmartAI::WaypointPathEnded (uint32 nodeId, uint32 pathId) override
- move escort related logic
- 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, uint32 *param1=nullptr, uint32 *param2=nullptr)
- determine if there is some flag to enable/disable the check
- Member Spell::CheckEffectTarget (Unit const *target, SpellEffectInfo const &spellEffectInfo, Position const *losPosition) const
- shit below shouldn't be here, but it's temporary
- Member Spell::CheckItems (uint32 *param1, uint32 *param2) const
- Needs review
- Member Spell::DoTriggersOnSpellHit (Unit *unit, uint8 effMask)
- remove/cleanup this, as this table is not documented and people are doing stupid things with it
- Member Spell::EffectCreateItem2 ()
- ExecuteLogEffectCreateItem(effectInfo->EffectIndex, effectInfo->ItemType);
- Member Spell::EffectCreateRandomItem ()
- ExecuteLogEffectCreateItem(effectInfo->EffectIndex, effectInfo->ItemType);
- Member Spell::EffectEnergize ()
- : move this to scripts
- Member Spell::EffectFeedPet ()
- fix crash when a spell has two effects, both pointed at the same item target
- Member Spell::EffectHeal ()
- : move this to scripts
- Member Spell::EffectInterruptCast ()
- not all spells that used this effect apply cooldown at school spells
- Member Spell::EffectOpenLock ()
- Add script for spell 41920 - Filling, becouse server it freze when use this spell
- Member Spell::EffectPowerBurn ()
- : move this to scripts
- Member Spell::EffectPull ()
- create a proper pull towards distract spell center for distract
- Member Spell::EffectSchoolDMG ()
- should this be put on taken but not done?
- Member Spell::EffectScriptEffect ()
we must implement hunter pet summon at login there (spell 6962)
a hack, range = 11, should after some time cast, otherwise too far
: move this to scripts
- Member Spell::EffectSendEvent ()
- there should be a possibility to pass dest target to event script
- Member Spell::EffectTriggerSpell ()
- 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::SelectImplicitCasterDestTargets (SpellEffectInfo const &spellEffectInfo, SpellImplicitTargetInfo const &targetType)
- fix this check
- Member Spell::SendLoot (ObjectGuid guid, LootType loottype)
- possible must be moved to loot release (in different from linked triggering)
- Member Spell::SendSpellGo ()
- There is a crash caused by a spell with CAST_FLAG_RUNE_LIST cast by a creature
- Member spell_buru_egg_explosion::HandleDummy (SpellEffIndex)
- : This requires additional research as it doesn't seem right, doesn't it depend on proximity?
- Member spell_dk_anti_magic_shell_raid::CalculateAmount (AuraEffect const *, int32 &amount, bool &)
- this should absorb limited amount of damage, but no info on calculation formula
- Member SPELL_FREEZE_ANIM_STUN
- : make use of this spell...
- Class spell_gen_despawn_self
- : migrate spells to spell_gen_despawn_target, then remove this
- Member spell_gen_restoration::PeriodicTick (AuraEffect const *)
- : should proc other auras?
- Member spell_gen_vehicle_scaling::CalculateAmount (AuraEffect const *, int32 &amount, bool &)
Reserach coeffs for different vehicles
Research possibility of scaling down
- Member spell_hellfire_peninsula_absorb_eye_of_grillok::PeriodicTick (AuraEffect const *aurEff)
- : This is a hack, in flight missiles of spells of despawned creatures get cancelled - delay despawning by the duration of SPELL_EYE_OF_GRILLOK aura
- Member spell_hungarfen_putrid_mushroom_primer::FilterTargets (std::list< WorldObject * > &targets)
- : Check if something else should be done here
- Member spell_intense_cold::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::CalcDamage ()
- : find correct value
- Class spell_omrogg_burning_maul
- : This requires additional research. Is it handled correctly? Isn't it too over-powered?
- Member spell_pal_light_s_beacon::HandleProc (AuraEffect const *aurEff, ProcEventInfo &eventInfo)
- : caster must be the healed unit to perform distance checks correctly but that will break animation on clientside caster in spell packets must be the healing unit
- Member spell_sholazar_shoot_rjr::HandleDummy (SpellEffIndex)
- Make crunchy perform emote eat when he reaches the bird
- Member spell_thorim_blizzard_effect::spell_thorim_blizzard_effect_AuraScript::CheckAreaTarget (Unit *target)
- : fix this for all dynobj auras
- 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
- Struct SpellTargetSelector
- Add more checks from Spell::CheckCast
- Member TEXT_ALLIANCE_WINS
- : sound is missing
- Member TEXT_STORMPIKE_GENERAL_DEAD
- : sound is missing
- Member trollmodel []
- generalize these models with race from dbc
- Member TurretAI::CanAIAttack (Unit const *who) const override
- use one function to replace it
- Member Unit::CalculateMeleeDamage (Unit *victim, CalcDamageInfo *damageInfo, WeaponAttackType attackType=BASE_ATTACK)
- for melee need create structure as in
- Member Unit::DealDamage (Unit *attacker, Unit *victim, uint32 damage, CleanDamage const *cleanDamage=nullptr, DamageEffectType damagetype=DIRECT_DAMAGE, SpellSchoolMask damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL, SpellInfo const *spellProto=nullptr, 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::IsMagnet () const
- : find a more generic solution
- Member Unit::Kill (Unit *attacker, Unit *victim, bool durabilityLoss=true)
- do instance binding anyway if the charmer/owner is offline
- Member Unit::RemoveAllGroupBuffsFromCaster (ObjectGuid casterGUID)
- : once we support variadic templates use them here
- Member Unit::RemoveCharmedBy (Unit *charmer)
- Handle SLOT_IDLE motion resume
- Member Unit::SetCharm (Unit *target, bool apply)
- maybe we can use this flag to check if controlled by player
- Member Unit::SpellCriticalDamageBonus (Unit const *caster, SpellInfo const *spellProto, uint32 damage, Unit *victim)
- write here full calculation for melee/ranged spells
- Member Unit::SpellCriticalHealingBonus (Unit const *caster, SpellInfo const *spellProto, uint32 damage, Unit *victim)
- write here full calculation for melee/ranged spells
- Member Unit::UpdateSpeed (UnitMoveType mtype)
- possible affect only on MOVE_RUN
- Member VMAP::TileAssembler::convertWorld2 ()
- remove extractor hack and uncomment below line:
- Member WardenWin::HandleCheckResult (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 (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 WorldObject::GetMagicHitRedirectTarget (Unit *victim, SpellInfo const *spellInfo)
- handle this charge drop by proc in cast phase on explicit target
- Member WorldObject::SpellHitResult (Unit *victim, SpellInfo const *spellInfo, bool canReflect=false) const
- client not show miss log for this spells - so need find info for this in dbc and use it!
- Member WorldSession::HandleCharCreateOpcode (WorldPackets::Character::CreateCharacter &charCreate)
what to if account already has characters of both races?
check if cinematic already shown? (already logged in?; cinematic field)
- Member WorldSession::HandleMovementOpcode (OpcodeClient opcode, MovementInfo &movementInfo)
- discard movement packets after the player is rooted
- Member WorldSession::HandlePetAction (WorldPacket &recvData)
- allow control charmed player?
- Member WorldSession::HandlePetActionHelper (Unit *pet, ObjectGuid guid1, uint32 spellid, uint16 flag, ObjectGuid guid2)
- : confirm this check
- Member WorldSession::HandlePetitionBuyOpcode (WorldPacket &recvData)
- find correct opcode
- 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 Yells
- rewrite Armageddon