- 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)
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
- Class 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_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_gatewatcher_iron_hand::UpdateAI (uint32 diff) override
- expect cast this about 5 times in a row (?), announce it by emote only once
- Member boss_grand_warlock_nethekurse::boss_grand_warlock_nethekurseAI::DoTauntPeons ()
- kill the peons first
- 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_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_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_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_twinemperorsAI::JustEngagedWith (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 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, bool run=false, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false, bool resetWaypoints=true)
- 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)
I do not understand this hack. Need some explanation.
find reasonable value for fishing hole search
- 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 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
- Class npc_cairne_bloodhoof
- verify abilities/timers
- Member npc_commandscript::HandleNpcAddWeaponCommand (ChatHandler *handler, uint32 SlotID, ItemTemplate const *tmpItem)
- NpcCommands that need to be fixed :
- Class npc_daegarn
- make prisoners help (unclear if summoned or using npc's from surrounding cages (summon inside small cages?))
- 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
- Class 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_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
: correct speed
: find correct values
- 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_weegli_blastfuse::npc_weegli_blastfuseAI::MovementInform (uint32, uint32) override
- leave the area...
- 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, CharacterCreateInfo *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 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 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 ()
a hack, range = 11, should after some time cast, otherwise too far
: move this to scripts
we must implement hunter pet summon at login there (spell 6962)
- 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_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 &)
Research possibility of scaling down
Reserach coeffs for different vehicles
- 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
- 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_q12589_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
- 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 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::SetFacingToObject (WorldObject const *object, bool force=true)
- figure out under what conditions creature will move towards object instead of facing it where it currently is.
- 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 (WorldPacket &recvPacket)
check if cinematic already shown? (already logged in?; cinematic field)
what to if account already has characters of both races?
- Member WorldSession::HandleMovementOpcodes (WorldPacket &recvPacket)
- 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