private void failCond(Unit target, CondEffect effect, ConditionEffectTypes effect_type, EUnitCondition condition, LogMapTrick.TargetInfo log_mt_ti) { SceneBattle instance = SceneBattle.Instance; if (UnityEngine.Object.op_Implicit((UnityEngine.Object)instance)) { BattleCore battle = instance.Battle; if (battle != null) { LogFailCondition logFailCondition = battle.Log <LogFailCondition>(); logFailCondition.self = target; logFailCondition.source = (Unit)null; logFailCondition.condition = condition; TacticsUnitController unitController = instance.FindUnitController(target); if (UnityEngine.Object.op_Implicit((UnityEngine.Object)unitController)) { unitController.LockUpdateBadStatus(condition, false); } } } CondAttachment condAttachment = this.createCondAttachment(target, effect, effect_type, condition); target.SetCondAttachment(condAttachment); if (log_mt_ti == null || !target.IsUnitCondition(condition)) { return; } log_mt_ti.IsEffective = true; log_mt_ti.FailCondition |= condition; }
public static WeatherData ChangeWeather(string iname, List <Unit> units, int now_clock, RandXorshift rand, Unit modify_unit = null, int rank = 1, int rankcap = 1) { if (string.IsNullOrEmpty(iname)) { return((WeatherData)null); } if (WeatherData.mCurrentWeatherData != null && WeatherData.mCurrentWeatherData.WeatherParam.Iname == iname) { return((WeatherData)null); } WeatherData weatherData = new WeatherData(); weatherData.setup(iname, modify_unit, rank, rankcap); if (weatherData.mWeatherParam == null) { return((WeatherData)null); } if (WeatherData.mCurrentWeatherSet != null) { weatherData.mChangeClock = (OInt)WeatherData.mCurrentWeatherSet.GetNextChangeClock(now_clock, rand); } WeatherData.mCurrentWeatherData = weatherData; SceneBattle instance = SceneBattle.Instance; if (UnityEngine.Object.op_Implicit((UnityEngine.Object)instance)) { BattleCore battle = instance.Battle; if (battle != null) { LogWeather logWeather = battle.Log <LogWeather>(); if (logWeather != null) { logWeather.WeatherData = weatherData; } } } if (units != null) { using (List <Unit> .Enumerator enumerator = units.GetEnumerator()) { while (enumerator.MoveNext()) { Unit current = enumerator.Current; if (!current.IsGimmick) { weatherData.updatePassive(current); } } } } return(weatherData); }
private void failCond(Unit target, CondEffect effect, ConditionEffectTypes effect_type, EUnitCondition condition) { CondAttachment condAttachment = this.createCondAttachment(target, effect, effect_type, condition); CondAttachment sameCondAttachment = this.getSameCondAttachment(target, condAttachment); if (sameCondAttachment != null) { sameCondAttachment.turn = condAttachment.turn; } else { target.SetCondAttachment(condAttachment); if (!WeatherData.mIsEntryConditionLog) { return; } SceneBattle instance = SceneBattle.Instance; if (!UnityEngine.Object.op_Implicit((UnityEngine.Object)instance)) { return; } BattleCore battle = instance.Battle; if (battle == null) { return; } LogFailCondition logFailCondition = battle.Log <LogFailCondition>(); logFailCondition.self = target; logFailCondition.source = (Unit)null; logFailCondition.condition = condition; TacticsUnitController unitController = instance.FindUnitController(target); if (!UnityEngine.Object.op_Implicit((UnityEngine.Object)unitController)) { return; } unitController.LockUpdateBadStatus(condition, false); } }