scriptdev2 / scriptdev2-cata

ScriptDev2 for Cataclysm

Home Page:http://www.scriptdev2.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Blood Prince Council crash on death.

opened this issue · comments

//=====================================================
Exception code: C0000005 ACCESS_VIOLATION

Registers:
EAX:00000000
EBX:DFB29600
ECX:00000000
EDX:FFF97F60
ESI:00000000
EDI:00000000
CS:EIP:0023:00440CC1
SS:ESP:002B:0945ABA8  EBP:0945BBB8
DS:002B  ES:002B  FS:0053  GS:002B
Flags:00010206

Call stack:
Address   Frame     Function      SourceFile
00440CC1  00000000  Object::GetUInt64Value+21
0077DDDD  00000000  SpellAuraHolder::GetCaster+D
004DD608  00000000  Unit::DealDamage+448
004DEB4F  00000000  Unit::DealSpellDamage+BF
007F5A39  00000000  Spell::DoAllEffectOnTarget+509
00801CF2  00000000  Spell::handle_immediate+52
008012AB  00000000  Spell::cast+8BB
0080325B  00000000  Spell::update+3BB
007F620C  00000000  SpellEvent::Execute+1C
009274E8  00000000  EventProcessor::Update+58
004F1260  00000000  Unit::Update+20
005A2363  00000000  Player::Update+83
0051F475  00000000  Map::Update+175
006A7119  00000000  MapManager::Update+69
0048C4A3  00000000  World::Update+2D3
004607DF  00000000  WorldRunnable::run+4F
0047344E  00000000  ACE_Based::Thread::ThreadTask+E
69AD74CF  00000000  ACE_OS_Thread_Adapter::invoke+7F
68A2C01D  00000000  __get_tlsindex+6F
68A2C001  00000000  __get_tlsindex+53
768D338A  00000000  BaseThreadInitThunk+12
77499F72  00000000  RtlInitializeExceptionChain+63
77499F45  00000000  RtlInitializeExceptionChain+36
========================
Local Variables And Parameters

Call stack:
Address   Frame     Function      SourceFile
00440CC1  00000000  Object::GetUInt64Value+21
punting on symbol index
    Local  <user defined> 'st'

0077DDDD  00000000  SpellAuraHolder::GetCaster+D

004DD608  00000000  Unit::DealDamage+448
    Local  <user defined> 'pVictim'
punting on symbol damage
    Local  <user defined> 'cleanDamage'
    Local  <user defined> 'damagetype'
    Local  <user defined> 'damageSchoolMask'
    Local  <user defined> 'spellProto'
punting on symbol durabilityLoss
punting on symbol shareDamage
    Local  <user defined> 'data'
    Local  <user defined> 'data'
punting on symbol threat
    Local  <user defined> 'st'
    Local  <user defined> 'st'

004DEB4F  00000000  Unit::DealSpellDamage+BF
    Local  <user defined> 'damageInfo'
punting on symbol durabilityLoss
    Local  <user defined> 'cleanDamage'

007F5A39  00000000  Spell::DoAllEffectOnTarget+509
    Local  <user defined> 'target'
punting on symbol crit
punting on symbol absorb
punting on symbol gain
    Local  <user defined> 'damageInfo'
    Local  <user defined> 'itr'
punting on symbol bp
    Local  <user defined> 'damageInfo'

00801CF2  00000000  Spell::handle_immediate+52

008012AB  00000000  Spell::cast+8BB
punting on symbol skipCheck

0080325B  00000000  Spell::update+3BB
punting on symbol difftime

007F620C  00000000  SpellEvent::Execute+1C
punting on symbol e_time
punting on symbol p_time

009274E8  00000000  EventProcessor::Update+58
punting on symbol p_time

004F1260  00000000  Unit::Update+20
punting on symbol update_diff
punting on symbol p_time

005A2363  00000000  Player::Update+83
punting on symbol update_diff
punting on symbol p_time
    Local  <user defined> 'iter'
punting on symbol newzone
punting on symbol newarea

0051F475  00000000  Map::Update+175
    Local  <user defined> 't_diff'
    Local  <user defined> 'updater'
    Local  <user defined> 'updater'
    Local  <user defined> 'area'
    Local  <user defined> 'cell'
    Local  <user defined> 'area'
    Local  <user defined> 'cell'
    Local  <user defined> 'st'

006A7119  00000000  MapManager::Update+69
punting on symbol diff

0048C4A3  00000000  World::Update+2D3
punting on symbol diff

004607DF  00000000  WorldRunnable::run+4F

0047344E  00000000  ACE_Based::Thread::ThreadTask+E
punting on symbol param

69AD74CF  00000000  ACE_OS_Thread_Adapter::invoke+7F
punting on symbol status

68A2C01D  00000000  __get_tlsindex+6F

68A2C001  00000000  __get_tlsindex+53

768D338A  00000000  BaseThreadInitThunk+12

77499F72  00000000  RtlInitializeExceptionChain+63

77499F45  00000000  RtlInitializeExceptionChain+36

========================
Global Variables

The case of a single, but points to the aura 300. Debug points to Deal Damage.
Twin Valkyr not crashing.
https://github.com/scriptdev2/scriptdev2-cata/blob/master/scripts/northrend/icecrown_citadel/icecrown_citadel/blood_prince_council.cpp#L418
Maybe due to the fact that the orb is trying to harm the already dead beings I get a crash? Maybe even remove DealDamage of JustDied, keep only set instance data?
wowscrnshot_102915_222627

Crash reason found:
Blood Orb - function JustDied - Deal Damage Prince.
Solution: Delete Deal Damage from Just Died for Blood Orb Control script and handled on db_script_on_death.
https://github.com/Ulduar/scriptdev2-cata/blob/Ragnaros/scripts/northrend/icecrown_citadel/icecrown_citadel/blood_prince_council.cpp#L411
I deleted and Just Died left only set instance data DONE and all.

-- Script id: 38008
DELETE FROM dbscripts_on_creature_death WHERE id=38008;
INSERT INTO dbscripts_on_creature_death VALUES 
(38008,0,15,5,0,37972,50000,12,0,0,0,0,0,0,0,0,'Blood Orb - Force Cast Instantkill for Prince Keleseth'),
(38008,0,15,5,0,37970,50000,12,0,0,0,0,0,0,0,0,'Blood Orb - Force Cast Instantkill for Prince Valanar'),
(38008,0,15,5,0,37973,50000,12,0,0,0,0,0,0,0,0,'Blood Orb - Force Cast Instantkill for Prince Taldaram');

P.S: UNIT_FLAG_OOC_NOT_ATTACKABLE also need delete on evade, because on Evade Prince restore UNIT_FLAG_OOC_NOT_ATTACKABLE flag on default.

Problem solved.