aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSubv <s.v.h21@hotmail.com>2012-11-14 07:59:17 -0800
committerSubv <s.v.h21@hotmail.com>2012-11-14 07:59:17 -0800
commitcb9dd9bd7ee2b50d2e465951ea0860704d4c66fe (patch)
tree7da94a38a5e38c0757c5f02b0d2b6255422cf822
parent63250608042ecc5f5b64490c7104683d51bd8654 (diff)
parent532077de4f5116ddddeeb99edb3df947e1790098 (diff)
Merge pull request #8280 from DjYXA/patch-1
Daze mechanics Fix - By Arrakio
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index f8de93afc6d..c886c046427 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -1328,7 +1328,7 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
// If this is a creature and it attacks from behind it has a probability to daze it's victim
if ((damageInfo->hitOutCome == MELEE_HIT_CRIT || damageInfo->hitOutCome == MELEE_HIT_CRUSHING || damageInfo->hitOutCome == MELEE_HIT_NORMAL || damageInfo->hitOutCome == MELEE_HIT_GLANCING) &&
GetTypeId() != TYPEID_PLAYER && !ToCreature()->IsControlledByPlayer() && !victim->HasInArc(M_PI, this)
- && (victim->GetTypeId() == TYPEID_PLAYER || !victim->ToCreature()->isWorldBoss()))
+ && (victim->GetTypeId() == TYPEID_PLAYER || !victim->ToCreature()->isWorldBoss())&& !victim->IsVehicle())
{
// -probability is between 0% and 40%
// 20% base chance
@@ -1341,7 +1341,10 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
uint32 VictimDefense=victim->GetDefenseSkillValue();
uint32 AttackerMeleeSkill=GetUnitMeleeSkill();
- Probability *= AttackerMeleeSkill/(float)VictimDefense;
+ Probability *= AttackerMeleeSkill/(float)VictimDefense*0.16;
+
+ if (Probability < 0)
+ Probability = 0;
if (Probability > 40.0f)
Probability = 40.0f;