From 5eb7e80fd514906572029d1e3755752ce2cad0e7 Mon Sep 17 00:00:00 2001 From: QAston Date: Fri, 27 Aug 2010 23:12:52 +0200 Subject: *Send VICTIMSTATE_INTACT on melee attack miss. *Rename VICTIMSTATE_NORMAL to VICTIMSTATE_HIT. *Set default memory allocated in Spell::InitExecuteLogData to 32 bytes. --HG-- branch : trunk --- src/server/game/Chat/Commands/Level3.cpp | 4 ++-- src/server/game/Entities/Unit/Unit.cpp | 12 ++++++------ src/server/game/Entities/Unit/Unit.h | 6 +++--- src/server/game/Spells/Spell.cpp | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/server/game/Chat/Commands/Level3.cpp b/src/server/game/Chat/Commands/Level3.cpp index 03427db7c76..30062e91619 100644 --- a/src/server/game/Chat/Commands/Level3.cpp +++ b/src/server/game/Chat/Commands/Level3.cpp @@ -3986,7 +3986,7 @@ bool ChatHandler::HandleDamageCommand(const char * args) { m_session->GetPlayer()->DealDamage(target, damage, NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); if (target != m_session->GetPlayer()) - m_session->GetPlayer()->SendAttackStateUpdate (HITINFO_NORMALSWING2, target, 1, SPELL_SCHOOL_MASK_NORMAL, damage, 0, 0, VICTIMSTATE_NORMAL, 0); + m_session->GetPlayer()->SendAttackStateUpdate (HITINFO_NORMALSWING2, target, 1, SPELL_SCHOOL_MASK_NORMAL, damage, 0, 0, VICTIMSTATE_HIT, 0); return true; } @@ -4016,7 +4016,7 @@ bool ChatHandler::HandleDamageCommand(const char * args) m_session->GetPlayer()->DealDamageMods(target,damage,&absorb); m_session->GetPlayer()->DealDamage(target, damage, NULL, DIRECT_DAMAGE, schoolmask, NULL, false); - m_session->GetPlayer()->SendAttackStateUpdate (HITINFO_NORMALSWING2, target, 1, schoolmask, damage, absorb, resist, VICTIMSTATE_NORMAL, 0); + m_session->GetPlayer()->SendAttackStateUpdate (HITINFO_NORMALSWING2, target, 1, schoolmask, damage, absorb, resist, VICTIMSTATE_HIT, 0); return true; } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 416abeb8ecc..7d9a2e6ca1d 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1279,7 +1279,7 @@ void Unit::CalculateMeleeDamage(Unit *pVictim, uint32 damage, CalcDamageInfo *da case MELEE_HIT_MISS: { damageInfo->HitInfo |= HITINFO_MISS; - damageInfo->TargetState = VICTIMSTATE_NORMAL; + damageInfo->TargetState = VICTIMSTATE_INTACT; damageInfo->procEx |= PROC_EX_MISS; damageInfo->damage = 0; @@ -1287,13 +1287,13 @@ void Unit::CalculateMeleeDamage(Unit *pVictim, uint32 damage, CalcDamageInfo *da break; } case MELEE_HIT_NORMAL: - damageInfo->TargetState = VICTIMSTATE_NORMAL; + damageInfo->TargetState = VICTIMSTATE_HIT; damageInfo->procEx|=PROC_EX_NORMAL_HIT; break; case MELEE_HIT_CRIT: { damageInfo->HitInfo |= HITINFO_CRITICALHIT; - damageInfo->TargetState = VICTIMSTATE_NORMAL; + damageInfo->TargetState = VICTIMSTATE_HIT; damageInfo->procEx |= PROC_EX_CRITICAL_HIT; // Crit bonus calc @@ -1346,7 +1346,7 @@ void Unit::CalculateMeleeDamage(Unit *pVictim, uint32 damage, CalcDamageInfo *da break; case MELEE_HIT_BLOCK: { - damageInfo->TargetState = VICTIMSTATE_NORMAL; + damageInfo->TargetState = VICTIMSTATE_HIT; damageInfo->HitInfo |= HITINFO_BLOCK; damageInfo->procEx |= PROC_EX_BLOCK; damageInfo->blocked_amount = damageInfo->target->GetShieldBlockValue(); @@ -1368,7 +1368,7 @@ void Unit::CalculateMeleeDamage(Unit *pVictim, uint32 damage, CalcDamageInfo *da case MELEE_HIT_GLANCING: { damageInfo->HitInfo |= HITINFO_GLANCING; - damageInfo->TargetState = VICTIMSTATE_NORMAL; + damageInfo->TargetState = VICTIMSTATE_HIT; damageInfo->procEx |= PROC_EX_NORMAL_HIT; int32 leveldif = int32(pVictim->getLevel()) - int32(getLevel()); if (leveldif > 3) leveldif = 3; @@ -1380,7 +1380,7 @@ void Unit::CalculateMeleeDamage(Unit *pVictim, uint32 damage, CalcDamageInfo *da case MELEE_HIT_CRUSHING: { damageInfo->HitInfo |= HITINFO_CRUSHING; - damageInfo->TargetState = VICTIMSTATE_NORMAL; + damageInfo->TargetState = VICTIMSTATE_HIT; damageInfo->procEx |= PROC_EX_NORMAL_HIT; // 150% normal damage damageInfo->damage += (damageInfo->damage / 2); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 27e7ce9380c..623aa0e4a93 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -266,12 +266,12 @@ enum Swing enum VictimState { - VICTIMSTATE_UNKNOWN1 = 0, - VICTIMSTATE_NORMAL = 1, + VICTIMSTATE_INTACT = 0, // set when attacker misses + VICTIMSTATE_HIT = 1, // victim got clear/blocked hit VICTIMSTATE_DODGE = 2, VICTIMSTATE_PARRY = 3, VICTIMSTATE_INTERRUPT = 4, - VICTIMSTATE_BLOCKS = 5, + VICTIMSTATE_BLOCKS = 5, // unused? not set when blocked, even on full block VICTIMSTATE_EVADES = 6, VICTIMSTATE_IS_IMMUNE = 7, VICTIMSTATE_DEFLECTS = 8 diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index dd02819b90d..7d805b710e8 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -7269,7 +7269,7 @@ void Spell::InitEffectExecuteData(uint8 effIndex) ASSERT(effIndex < MAX_SPELL_EFFECTS); if (!m_effectExecuteData[effIndex]) { - m_effectExecuteData[effIndex] = new ByteBuffer(); + m_effectExecuteData[effIndex] = new ByteBuffer(0x20); // first dword - target counter *m_effectExecuteData[effIndex] << uint32(1); } -- cgit v1.2.3