public static void MountOperation(NPCHumanContext c, MountOperator.MountOperationType type)
        {
            switch (type)
            {
            case MountOperator.MountOperationType.Mount:
                if (c.GetFact(NPCPlayerApex.Facts.IsMounted) != (byte)0 || AI.npc_ignore_chairs)
                {
                    break;
                }
                BaseChair chairTarget = c.ChairTarget;
                if (!Object.op_Inequality((Object)chairTarget, (Object)null))
                {
                    break;
                }
                c.Human.Mount((BaseMountable)chairTarget);
                break;

            case MountOperator.MountOperationType.Dismount:
                if (c.GetFact(NPCPlayerApex.Facts.IsMounted) != (byte)1)
                {
                    break;
                }
                c.Human.Dismount();
                break;
            }
        }
示例#2
0
 public static void MountOperation(NPCHumanContext c, MountOperator.MountOperationType type)
 {
     if (type != MountOperator.MountOperationType.Mount)
     {
         if (type != MountOperator.MountOperationType.Dismount)
         {
             return;
         }
         if (c.GetFact(NPCPlayerApex.Facts.IsMounted) == 1)
         {
             c.Human.Dismount();
         }
     }
     else if (c.GetFact(NPCPlayerApex.Facts.IsMounted) == 0 && !ConVar.AI.npc_ignore_chairs)
     {
         BaseChair chairTarget = c.ChairTarget;
         if (chairTarget != null)
         {
             c.Human.Mount(chairTarget);
             return;
         }
     }
 }