Exemplo n.º 1
0
        public static bool Prefix(SimGameResultAction action, object additionalObject, ref bool __result)
        {
            SimGameState simulation = UnityGameInstance.BattleTechGame.Simulation;

            if (simulation == null)
            {
                return(true);
            }
            if (action.Type == SimGameResultAction.ActionType.System_SetDropship)
            {
                if (!action.value.ToLower().Contains("leopard") && !action.value.ToLower().Contains("argo"))
                {
                    DifficultyOptionsMain.ApplyEventResult(simulation, action.valueConstant, action.additionalValues);
                    __result = false;
                    return(false);
                }
            }
            return(true);
        }
 public static void Prefix(SimGameDifficulty __instance, bool force, SimGameState ___simState, SimGameDifficulty.DifficultySetting setting, int index,
                           Dictionary <string, int> ___difficultyIndices,
                           ref List <SimGameDifficulty.DifficultyConstantValue> __state)
 {
     __state = null;
     if (setting == null)
     {
         return;
     }
     if (!force && ___difficultyIndices[setting.ID] == index)
     {
         return;
     }
     if (index >= setting.Options.Count)
     {
         return;
     }
     if (!setting.Enabled)
     {
         return;
     }
     try
     {
         SimGameDifficulty.DifficultyOption opt = setting.Options[index];
         if (opt.DifficultyConstants != null)
         {
             __state = opt.DifficultyConstants;
             foreach (SimGameDifficulty.DifficultyConstantValue v in opt.DifficultyConstants)
             {
                 if (v.ConstantType.Equals("AdditionalSettings"))
                 {
                     DifficultyOptionsMain.ApplySettings(___simState, setting.ID, v.ConstantName, v.ConstantValue);
                 }
             }
             opt.DifficultyConstants = opt.DifficultyConstants.Where((x) => !x.ConstantType.Equals("AdditionalSettings")).ToList();
         }
     }
     catch (Exception e)
     {
         FileLog.Log(e.ToString());
     }
 }