spell.cpp 3842 branch thingy ascent-world.exe!Spell::CanCast(bool tolerate=false) Line 3056 + 0x1e C++ ascent-world.exe!Spell::prepare(SpellCastTargets * targets=0x2ba9f5ec) Line 1000 + 0xa C++ ascent-world.exe!AIInterface::CastSpell(Unit * caster=0x23370bb0, SpellEntry * spellInfo=0x02d80510, SpellCastTargets targets={...}) Line 2862 C++ ascent-world.exe!AIInterface::_UpdateCombat(unsigned int p_time=0x0000006d) Line 1077 C++ ascent-world.exe!AIInterface::Update(unsigned int p_time=0x0000006d) Line 567 C++ ascent-world.exe!Unit::Update(unsigned int p_time=0x0000006d) Line 314 C++ ascent-world.exe!Creature::Update(unsigned int p_time=0x0000006d) Line 131 C++ ascent-world.exe!MapMgr::_PerformObjectDuties() Line 1544 C++ ascent-world.exe!MapMgr::Do() Line 1383 C++ ascent-world.exe!MapMgr::run() Line 1318 + 0xb C++ ascent-world.exe!thread_proc(void * param=0x1d429be0) Line 262 + 0x11 C++ - acr {Error=0x00000000 Misc=0x7c3c55df } AuraCheckResponse Error 0x00000000 unsigned int Misc 0x7c3c55df unsigned int - this 0x271b22e8 {m_spellInfo=0x02d80510 {Id=0x00002a9f School=0x00000005 Category=0x00000000 ...} pSpellId=0x00000000 ProcedOnSpell=0x00000000 {Id=??? School=??? Category=??? ...} ...} Spell * const - m_spellInfo 0x02d80510 {Id=0x00002a9f School=0x00000005 Category=0x00000000 ...} SpellEntry * Id 0x00002a9f unsigned int School 0x00000005 unsigned int Category 0x00000000 unsigned int field4 0x00000000 unsigned int DispelType 0x00000001 unsigned int MechanicsType 0x00000001 unsigned int Attributes 0x40150000 unsigned int AttributesEx 0x04022005 unsigned int Flags3 0x00080040 unsigned int Flags4 0x00000000 unsigned int field11 0x20000800 unsigned int unk201_1 0x00000000 unsigned int RequiredShapeShift 0x08000000 unsigned int UNK14 0x00000000 unsigned int Targets 0x00000000 unsigned int TargetCreatureType 0x00000040 unsigned int RequiresSpellFocus 0x00000000 unsigned int CasterAuraState 0x00000000 unsigned int TargetAuraState 0x00000000 unsigned int unk201_2 0x00000000 unsigned int unk201_3 0x00000000 unsigned int CastingTimeIndex 0x0000000e unsigned int RecoveryTime 0x00000000 unsigned int CategoryRecoveryTime 0x00000000 unsigned int InterruptFlags 0x0000000f unsigned int AuraInterruptFlags 0x00000000 unsigned int ChannelInterruptFlags 0x00006c2c unsigned int procFlags 0x00000000 unsigned int procChance 0x00000065 unsigned int procCharges 0x00000000 int maxLevel 0x00000038 unsigned int baseLevel 0x0000002c unsigned int spellLevel 0x0000002c unsigned int DurationIndex 0x00000003 unsigned int powerType 0x00000000 unsigned int manaCost 0x00000226 unsigned int manaCostPerlevel 0x00000000 unsigned int manaPerSecond 0x00000000 unsigned int manaPerSecondPerLevel 0x00000000 unsigned int rangeIndex 0x00000003 unsigned int speed 0.00000000 float modalNextSpell 0x00000000 unsigned int maxstack 0x00000000 unsigned int + Totem 0x02d805bc unsigned int [2] + Reagent 0x02d805c4 unsigned int [8] + ReagentCount 0x02d805e4 unsigned int [8] EquippedItemClass 0xffffffff unsigned int EquippedItemSubClass 0x00000000 unsigned int RequiredItemFlags 0x00000000 unsigned int + Effect 0x02d80610 unsigned int [3] + EffectDieSides 0x02d8061c unsigned int [3] + EffectBaseDice 0x02d80628 unsigned int [3] + EffectDicePerLevel 0x02d80634 float [3] + EffectRealPointsPerLevel 0x02d80640 float [3] + EffectBasePoints 0x02d8064c int [3] + EffectMechanic 0x02d80658 int [3] + EffectImplicitTargetA 0x02d80664 unsigned int [3] + EffectImplicitTargetB 0x02d80670 unsigned int [3] + EffectRadiusIndex 0x02d8067c unsigned int [3] + EffectApplyAuraName 0x02d80688 unsigned int [3] + EffectAmplitude 0x02d80694 unsigned int [3] + Effectunknown 0x02d806a0 float [3] + EffectChainTarget 0x02d806ac unsigned int [3] + EffectSpellGroupRelation 0x02d806b8 unsigned int [3] + EffectMiscValue 0x02d806c4 unsigned int [3] + EffectTriggerSpell 0x02d806d0 unsigned int [3] + EffectPointsPerComboPoint 0x02d806dc float [3] SpellVisual 0x00000089 unsigned int field114 0x00000000 unsigned int dummy 0x000000eb unsigned int CoSpell 0x00000000 unsigned int spellPriority 0x00000000 unsigned int + Name 0x01833b2b char * + Rank 0x01831432 char * + Description 0x01875c8d char * + BuffDescription 0x01833ba7 char * ManaCostPercentage 0x00000000 unsigned int unkflags 0x00000085 unsigned int StartRecoveryTime 0x000005dc unsigned int StartRecoveryCategory 0x00000000 unsigned int SpellFamilyName 0x00000006 unsigned int SpellGroupType 0x0000000000020000 unsigned __int64 MaxTargets 0x00000000 unsigned int Spell_Dmg_Type 0x00000001 unsigned int FG 0x00000001 unsigned int FH 0xffffffff int + dmg_multiplier 0x02d80738 float [3] FL 0x00000000 unsigned int FM 0x00000000 unsigned int FN 0x00000000 unsigned int unk201_4 0x00000000 unsigned int unk201_5 0x00000000 unsigned int unk201_6 0x00000000 unsigned int DiminishStatus 0x0000000c unsigned int proc_interval 0x00000000 unsigned int buffIndexType 0x00000000 unsigned int c_is_flags 0x00000000 unsigned int buffType 0x00000000 unsigned int RankNumber 0x00000002 unsigned int NameHash 0x0d885237 unsigned int base_range_or_radius_sqr 10000.000 float talent_tree 0x00000000 unsigned int removable_by_immunity false bool in_front_status 0x00000000 unsigned int is_melee_spell false bool is_ranged_spell false bool + EffectSpellGroupRelation_high 0x02d80787 unsigned int [3] ThreatForSpell 0x00000000 unsigned int can_be_dispelled true bool pSpellId 0x00000000 unsigned int + ProcedOnSpell 0x00000000 {Id=??? School=??? Category=??? ...} SpellEntry * + m_targets {m_targetMask=0x0002 m_unitTarget=0x000000000000b45a m_itemTarget=0x0000000000000000 ...} SpellCastTargets + g_caster 0x00000000 {loot={items={first=??? last=???} gold=??? looters={size=???} } m_quests=??? m_ritualmembers=??? ...} GameObject * + u_caster 0x23370bb0 {FlatResistanceMod=0x23371898 BaseResistanceModPct=0x233718b4 ResistanceModPct=0x233718d0 ...} Unit * + i_caster 0x00000000 {loot=??? locked=??? m_isDirty=??? ...} Item * + p_caster 0x00000000 {m_lfgMatch=??? m_lfgInviterGuid=??? m_skills={size=???} ...} Player * + m_caster 0x23370bb0 {FlatResistanceMod=0x23371898 BaseResistanceModPct=0x233718b4 ResistanceModPct=0x233718d0 ...} Object * + UniqueTargets {first=??? last=???} std::vector > + ModeratedTargets {first=??? last=???} std::vector > chaindamage 0x00000000 unsigned int damage 0x0000003c int + m_triggeredByAura 0x00000000 {periodic_target=??? m_spellProto=??? mod=??? ...} Aura * + forced_basepoints 0x271b2388 int [3] m_triggeredSpell false bool m_AreaAura false bool m_requiresCP false bool m_castPositionX 0.00000000 float m_castPositionY 0.00000000 float m_castPositionZ 0.00000000 float damageToHit 0x00000000 int castedItemId 0x00000000 unsigned int judgement false bool extra_cast_number 0x00 unsigned char duelSpell false bool + m_reflectedParent 0x00000000 {m_spellInfo=??? pSpellId=??? ProcedOnSpell=??? ...} Spell * m_usesMana false bool m_Spell_Failed false bool m_IsReflected false bool m_Delayed false bool m_CanRelect false bool m_IsCastedOnSelf false bool hadEffect false bool m_spellState 0x00000001 unsigned int m_castTime 0x00000bb8 int m_timer 0x00000bb8 int + unitTarget 0x00000000 {m_procCounter=??? detectRange=??? m_invisible=??? ...} Unit * + itemTarget 0x00000000 {loot=??? locked=??? m_isDirty=??? ...} Item * + gameObjTarget 0x00000000 {loot={items={first=??? last=???} gold=??? looters={size=???} } m_quests=??? m_ritualmembers=??? ...} GameObject * + playerTarget 0x00000000 {m_lfgMatch=??? m_lfgInviterGuid=??? m_skills={size=???} ...} Player * + corpseTarget 0x00000000 {loot={items={first=??? last=???} gold=??? looters={size=???} } m_state=??? m_time=??? ...} Corpse * add_damage 0x00000000 unsigned int cancastresult 0xff 'ΓΏ' unsigned char Dur 0x00002ee0 unsigned int bDurSet false bool + Rad 0x271b23ec float [3] + bRadSet 0x271b23f8 bool [3] m_cancelled false bool + m_targetUnits 0x271b23fc {first=??? last=???} std::vector > [3] tolerate false bool maxRange 20.000000 float - target 0x2fbc2008 {m_lfgMatch=??? m_lfgInviterGuid=??? m_skills={size=???} ...} Unit * + [Player] {m_lfgMatch=??? m_lfgInviterGuid=??? m_skills={size=???} ...} Player + Object {m_walkSpeed=2.5000000 m_runSpeed=7.0000000 m_backWalkSpeed=4.5000000 ...} Object m_procCounter 0x00000000 unsigned int detectRange 2.3509915e-038 float m_invisible false bool m_invisFlag 0x00 unsigned char + m_invisDetect 0x2fbc2114 int [10] m_addDmgOnce 0x00000000 unsigned int + m_TotemSlots 0x2fbc2140 Creature * [4] + m_ObjectSlots 0x2fbc2150 unsigned int [4] m_triggerSpell 0x00000000 unsigned int m_triggerDamage 0x00000000 unsigned int m_canMove 0x00000001 unsigned int m_silenced 0x00000000 int m_damgeShieldsInUse false bool + m_damageShields {size=0x00000000} std::list > + m_reflectSpellSchool {size=0x00000000} std::list > + m_procSpells {size=0x00000004} std::list > + m_chargeSpells {size=0x00000000} std::map,std::allocator > > + m_chargeSpellRemoveQueue {size=0x00000000} std::deque > m_chargeSpellsInUse false bool spellcritperc 8.3187695 float + loot {items={first=??? last=???} gold=0x00000000 looters={size=0x00000000} } Loot + SchoolCastPrevent 0x2fbc21e0 unsigned int [7] + DamageDoneModPCT 0x2fbc21fc float [7] + DamageTakenMod 0x2fbc2218 int [7] + DamageTakenPctMod 0x2fbc2234 float [7] DamageTakenPctModOnHP35 1.0000000 float + CritMeleeDamageTakenPctMod 0x2fbc2254 float [7] + CritRangedDamageTakenPctMod 0x2fbc2270 float [7] RangedDamageTaken 0x00000000 int + BaseDamage 0x2fbc2290 float [2] + BaseOffhandDamage 0x2fbc2298 float [2] + BaseRangedDamage 0x2fbc22a0 float [2] + VampEmbCaster {size=0x00000000} std::set,std::allocator > + VampTchCaster {size=0x00000000} std::set,std::allocator > + Absorbs 0x2fbc22c0 {size=0x00000000} std::list > [7] RAPvModifier 0x00000000 int APvModifier 0x00000000 int stalkedby 0x0000000000000000 unsigned __int64 + dispels 0x2fbc2328 unsigned int [10] trackStealth false bool + MechanicsDispels 0x2fbc2354 unsigned int [27] + MechanicsResistancesPCT 0x2fbc23c0 float [27] + ModDamageTakenByMechPCT 0x2fbc242c float [27] + SM_CriticalChance CXX0030: Error: expression cannot be evaluated int * + SM_FDur CXX0030: Error: expression cannot be evaluated int * + SM_PDur CXX0030: Error: expression cannot be evaluated int * + SM_PRadius CXX0030: Error: expression cannot be evaluated int * + SM_FRadius CXX0030: Error: expression cannot be evaluated int * + SM_PRange CXX0030: Error: expression cannot be evaluated int * + SM_FRange CXX0030: Error: expression cannot be evaluated int * + SM_PCastTime CXX0030: Error: expression cannot be evaluated int * + SM_FCastTime CXX0030: Error: expression cannot be evaluated int * + SM_PCriticalDamage CXX0030: Error: expression cannot be evaluated int * + SM_PDOT CXX0030: Error: expression cannot be evaluated int * + SM_FDOT CXX0030: Error: expression cannot be evaluated int * + SM_FEffectBonus CXX0030: Error: expression cannot be evaluated int * + SM_PEffectBonus CXX0030: Error: expression cannot be evaluated int * + SM_FDamageBonus CXX0030: Error: expression cannot be evaluated int * + SM_PDamageBonus CXX0030: Error: expression cannot be evaluated int * + SM_PSPELL_VALUE CXX0030: Error: expression cannot be evaluated int * + SM_FSPELL_VALUE CXX0030: Error: expression cannot be evaluated int * + SM_FHitchance CXX0030: Error: expression cannot be evaluated int * + SM_PAPBonus CXX0030: Error: expression cannot be evaluated int * + SM_PCost CXX0030: Error: expression cannot be evaluated int * + SM_FCost CXX0030: Error: expression cannot be evaluated int * + SM_PNonInterrupt CXX0030: Error: expression cannot be evaluated int * + SM_PJumpReduce CXX0030: Error: expression cannot be evaluated int * + SM_FSpeedMod CXX0030: Error: expression cannot be evaluated int * + SM_FAdditionalTargets CXX0030: Error: expression cannot be evaluated int * + SM_FPenalty CXX0030: Error: expression cannot be evaluated int * + SM_PPenalty CXX0030: Error: expression cannot be evaluated int * + SM_PCooldownTime CXX0030: Error: expression cannot be evaluated int * + SM_FCooldownTime CXX0030: Error: expression cannot be evaluated int * + SM_FChanceOfSuccess CXX0030: Error: expression cannot be evaluated int * + SM_FRezist_dispell CXX0030: Error: expression cannot be evaluated int * + SM_PRezist_dispell CXX0030: Error: expression cannot be evaluated int * + target_spell_effect_mod_flat {size=???} std::map,std::allocator > > + target_spell_effect_mod_pct {size=???} std::map,std::allocator > > m_CombatUpdateTimer CXX0030: Error: expression cannot be evaluated unsigned int + tmpAura {size=???} std::map,std::allocator > > + BaseResistance 0x2fbc2544 unsigned int [7] + BaseStats 0x2fbc2560 unsigned int [5] + HealDoneMod 0x2fbc2574 int [7] + HealDonePctMod 0x2fbc2590 int [7] + HealTakenMod 0x2fbc25ac int [7] + HealTakenPctMod 0x2fbc25c8 float [7] + SchoolImmunityList 0x2fbc25e4 unsigned int [7] + SpellCritChanceSchool 0x2fbc2600 float [7] + PowerCostMod 0x2fbc261c int [7] + PowerCostPctMod 0x2fbc2638 float [7] + AttackerCritChanceMod 0x2fbc2654 int [7] + SpellDelayResist 0x2fbc2670 unsigned int [7] + CreatureAttackPowerMod 0x2fbc268c int [12] + CreatureRangedAttackPowerMod 0x2fbc26bc int [12] PctRegenModifier CXX0030: Error: expression cannot be evaluated float + PctPowerRegenModifier 0x2fbc26f0 float [4] m_pacified CXX0030: Error: expression cannot be evaluated int m_interruptRegen CXX0030: Error: expression cannot be evaluated int m_resistChance CXX0030: Error: expression cannot be evaluated int m_powerRegenPCT CXX0030: Error: expression cannot be evaluated int m_stunned CXX0030: Error: expression cannot be evaluated int m_extraattacks CXX0030: Error: expression cannot be evaluated int m_extrastriketargets CXX0030: Error: expression cannot be evaluated int m_noInterrupt CXX0030: Error: expression cannot be evaluated int m_rooted CXX0030: Error: expression cannot be evaluated int disarmed CXX0030: Error: expression cannot be evaluated bool + m_detectRangeGUID 0x2fbc2728 unsigned __int64 [5] + m_detectRangeMOD 0x2fbc2750 int [5] m_speedModifier CXX0030: Error: expression cannot be evaluated int m_slowdown CXX0030: Error: expression cannot be evaluated int + speedReductionMap {size=???} std::map,std::allocator > > m_mountedspeedModifier CXX0030: Error: expression cannot be evaluated int m_flyspeedModifier CXX0030: Error: expression cannot be evaluated int m_isPet CXX0030: Error: expression cannot be evaluated bool m_stealth CXX0030: Error: expression cannot be evaluated unsigned int m_can_stealth CXX0030: Error: expression cannot be evaluated bool + m_auras 0x2fbc278c Aura * [248] m_modlanguage CXX0030: Error: expression cannot be evaluated int + critterPet CXX0030: Error: expression cannot be evaluated Creature * + summonPet CXX0030: Error: expression cannot be evaluated Creature * + m_SpellList {size=???} std::set,std::allocator > + m_diminishCount 0x2fbc2b84 unsigned short [23] + m_diminishAuraCount 0x2fbc2bb2 unsigned char [23] + m_diminishTimer 0x2fbc2bca unsigned short [23] m_diminishActive CXX0030: Error: expression cannot be evaluated bool + dynObj CXX0017: Error: symbol "" not found DynamicObject * + m_auraStackCount 0x2fbc2c00 unsigned char [56] + pLastSpell CXX0030: Error: expression cannot be evaluated SpellEntry * bProcInUse CXX0030: Error: expression cannot be evaluated bool bInvincible CXX0030: Error: expression cannot be evaluated bool + m_redirectSpellPackets CXX0030: Error: expression cannot be evaluated Player * polySpell CXX0030: Error: expression cannot be evaluated unsigned int m_special_state CXX0030: Error: expression cannot be evaluated unsigned int + CombatStatus {m_attackers={size=???} m_healers={size=???} m_healed={size=???} ...} CombatStatusHandler m_temp_summon CXX0030: Error: expression cannot be evaluated bool m_spellsbusy CXX0030: Error: expression cannot be evaluated bool m_meleespell CXX0030: Error: expression cannot be evaluated unsigned int m_H_regenTimer CXX0030: Error: expression cannot be evaluated unsigned int m_P_regenTimer CXX0030: Error: expression cannot be evaluated unsigned int m_interruptedRegenTime CXX0030: Error: expression cannot be evaluated unsigned int m_state CXX0030: Error: expression cannot be evaluated unsigned int m_attackTimer CXX0030: Error: expression cannot be evaluated unsigned int m_attackTimer_1 CXX0030: Error: expression cannot be evaluated unsigned int m_duelWield CXX0030: Error: expression cannot be evaluated bool m_deathState CXX0030: Error: expression cannot be evaluated DeathState m_stealthLevel CXX0030: Error: expression cannot be evaluated unsigned int m_stealthDetectBonus CXX0030: Error: expression cannot be evaluated unsigned int + m_currentSpell CXX0030: Error: expression cannot be evaluated Spell * + m_aiInterface CXX0017: Error: symbol "" not found AIInterface * m_useAI CXX0030: Error: expression cannot be evaluated bool can_parry CXX0030: Error: expression cannot be evaluated bool m_threatModifyer CXX0030: Error: expression cannot be evaluated int m_generatedThreatModifyer CXX0030: Error: expression cannot be evaluated int m_manashieldamt CXX0030: Error: expression cannot be evaluated int m_manaShieldId CXX0030: Error: expression cannot be evaluated unsigned int m_emoteState CXX0030: Error: expression cannot be evaluated unsigned char m_oldEmote CXX0030: Error: expression cannot be evaluated unsigned int m_charmtemp CXX0030: Error: expression cannot be evaluated unsigned int m_extraAttackCounter CXX0030: Error: expression cannot be evaluated bool i 0xffffffff unsigned int if( m_spellInfo->EffectApplyAuraName[0]==2)//mind control if( m_spellInfo->EffectBasePoints[0])//got level req; if((int32)target->getLevel() > m_spellInfo->EffectBasePoints[0]+1 + int32(p_caster->getLevel() - m_spellInfo->spellLevel)) return SPELL_FAILED_HIGHLEVEL; else if(target->GetTypeId() == TYPEID_UNIT) { Creature * c = (Creature*)(target); if (c&&c->GetCreatureName()&&c->GetCreatureName()->Rank >ELITE_ELITE) return SPELL_FAILED_HIGHLEVEL; } yellow arrow on if((int32)target->getLevel() > m_spellInfo->EffectBasePoints[0]+1 + int32(p_caster->getLevel() - m_spellInfo->spellLevel))