attempt to stop mobs casting and fleeing while stunned or confused
--HG-- branch : trunk
This commit is contained in:
+16
-3
@@ -14789,24 +14789,37 @@ void Unit::SetControlled(bool apply, UnitState state)
|
|||||||
if (hasUnitState(state))
|
if (hasUnitState(state))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
addUnitState(state);
|
|
||||||
|
|
||||||
switch(state)
|
switch(state)
|
||||||
{
|
{
|
||||||
case UNIT_STAT_STUNNED:
|
case UNIT_STAT_STUNNED:
|
||||||
|
{
|
||||||
|
addUnitState(state);
|
||||||
SetStunned(true);
|
SetStunned(true);
|
||||||
|
CastStop();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case UNIT_STAT_ROOT:
|
case UNIT_STAT_ROOT:
|
||||||
if (!hasUnitState(UNIT_STAT_STUNNED))
|
if (!hasUnitState(UNIT_STAT_STUNNED))
|
||||||
SetRooted(true);
|
{
|
||||||
|
addUnitState(state);
|
||||||
|
SetRooted(true);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case UNIT_STAT_CONFUSED:
|
case UNIT_STAT_CONFUSED:
|
||||||
if (!hasUnitState(UNIT_STAT_STUNNED))
|
if (!hasUnitState(UNIT_STAT_STUNNED))
|
||||||
|
{
|
||||||
|
addUnitState(state);
|
||||||
SetConfused(true);
|
SetConfused(true);
|
||||||
|
CastStop();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case UNIT_STAT_FLEEING:
|
case UNIT_STAT_FLEEING:
|
||||||
if (!hasUnitState(UNIT_STAT_STUNNED | UNIT_STAT_CONFUSED))
|
if (!hasUnitState(UNIT_STAT_STUNNED | UNIT_STAT_CONFUSED))
|
||||||
|
{
|
||||||
|
addUnitState(state);
|
||||||
SetFeared(true);
|
SetFeared(true);
|
||||||
|
CastStop();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user