if (pDefender->isFleeImmortal())
{
pDefender->joinGroup(NULL);
pDefender->setFleeImmortal(false);
pDefender->doImmortalRebirth();
changeMoves(std::max(GC.getMOVE_DENOMINATOR(), pPlot->movementCost(this, plot())));
[B]getGroup()->groupMove(pPlot, true, ((canAdvance(pPlot, 0)) ? this : NULL));[/B]
getGroup()->clearMissionQueue();
}
if (pDefender->isFleeWithdrawl())
{
pDefender->joinGroup(NULL);
pDefender->setFleeWithdrawl(false);
pDefender->jumpToNearestValidPlot();
changeMoves(std::max(GC.getMOVE_DENOMINATOR(), pPlot->movementCost(this, plot())));
[B]getGroup()->groupMove(pPlot, true, ((canAdvance(pPlot, 0)) ? this : NULL));[/B]
getGroup()->clearMissionQueue();
szBuffer = gDLL->getText("TXT_KEY_MISC_YOU_UNIT_FLED", pDefender->getNameKey(), getNameKey());
gDLL->getInterfaceIFace()->addMessage(pDefender->getOwnerINLINE(), true, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_OUR_WITHDRAWL", MESSAGE_TYPE_INFO, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_GREEN"), pPlot->getX_INLINE(), pPlot->getY_INLINE());
szBuffer = gDLL->getText("TXT_KEY_MISC_ENEMY_UNIT_FLED", pDefender->getNameKey(), getNameKey());
gDLL->getInterfaceIFace()->addMessage(getOwnerINLINE(), true, GC.getEVENT_MESSAGE_TIME(), szBuffer, "AS2D_THEIR_WITHDRAWL", MESSAGE_TYPE_INFO, NULL, (ColorTypes)GC.getInfoTypeForString("COLOR_RED"), pPlot->getX_INLINE(), pPlot->getY_INLINE());
}