I would think the soultion may be either here:
JavaScript:
public virtual bool DoActionFlee()
        {
            Mobile from = m_Mobile.FocusMob as Mobile;

            if (from == null || from.Deleted || from.Map != m_Mobile.Map)
            {
                m_Mobile.DebugSay("I have lost him");
                Action = ActionType.Guard;
                return true;
            }

            if (WalkMobileRange(from, 1, true, m_Mobile.RangePerception * 2, m_Mobile.RangePerception * 3))
            {
                m_Mobile.DebugSay("I have fled");
                Action = ActionType.Guard;
                return true;
            }
            else
            {
                m_Mobile.DebugSay("I am fleeing!");
            }

            return true;
        }


or here: **************************************************************

JavaScript:
public virtual bool CheckFlee()
        {
            if (m_Mobile.CheckFlee())
            {
                Mobile combatant = m_Mobile.Combatant as Mobile;

                if (combatant == null)
                {
                    WalkRandom(1, 2, 1);
                }
                else
                {
                    Direction d = combatant.GetDirectionTo(m_Mobile);

                    d = (Direction)((int)d + Utility.RandomMinMax(-1, +1));

                    m_Mobile.Direction = d;
                    m_Mobile.Move(d);
                }

                return true;
            }

            return false;
        }
 
Last edited:
Code:
public virtual bool CheckFlee()
{
    /*if (m_Mobile.CheckFlee())
    {
        Mobile combatant = m_Mobile.Combatant as Mobile;

        if (combatant == null)
        {
            WalkRandom(1, 2, 1);
        }
        else
        {
            Direction d = combatant.GetDirectionTo(m_Mobile);

            d = (Direction) ((int) d + Utility.RandomMinMax(-1, +1));

            m_Mobile.Direction = d;
            m_Mobile.Move(d);
        }

        return true;
    }*/
    return false;
}
 
Haha, both? ;)

Well it should do what you want since you will not let it flee in that case
 
Im so confused, I dont see that you changed anything :(
[doublepost=1522177296][/doublepost]ahhhh commented out ok I see it thanks a lot :)
[doublepost=1522177466][/doublepost]ok Failed, but what If I comment out both, let me try, or maybe just the first one as that one leads to the second one hehe
[doublepost=1522177671][/doublepost]yea commenting the firstone works like this:

Code:
public virtual bool DoActionFlee()
        {
/*
            Mobile from = m_Mobile.FocusMob as Mobile;
            if (from == null || from.Deleted || from.Map != m_Mobile.Map)
            {
                m_Mobile.DebugSay("I have lost him");
                Action = ActionType.Guard;
                return true;
            }
            if (WalkMobileRange(from, 1, true, m_Mobile.RangePerception * 2, m_Mobile.RangePerception * 3))
            {
                m_Mobile.DebugSay("I have fled");
                Action = ActionType.Guard;
                return true;
            }
            else
            {
                m_Mobile.DebugSay("I am fleeing!");
            } */
            return true;
        }


The result is the Mob still fights but stays still like exhausted kind of thing that is ok for me, better than chasing them like cats :)
 
Back