static void Postfix(RuleInitiativeRoll __instance, ref int __result) { if (UnitEntityDataUtils.CheckUnitEntityData(__instance.Initiator, settings.roll1Initiative)) { __result = 1; Logger.ModLoggerDebug("Modified InitiativeRoll: " + __result); } if (UnitEntityDataUtils.CheckUnitEntityData(__instance.Initiator, settings.roll20Initiative)) { __result = 20; Logger.ModLoggerDebug("Modified InitiativeRoll: " + __result); } }
private static void Postfix(RuleInitiativeRoll __instance, ref int __result) { if (UnitEntityDataUtils.CheckUnitEntityData(__instance.Initiator, settings.roll1Initiative)) { __result = 1 + __instance.Modifier; Mod.Trace("Modified InitiativeRoll: " + __result); } else if (UnitEntityDataUtils.CheckUnitEntityData(__instance.Initiator, settings.roll20Initiative)) { __result = 20 + __instance.Modifier; Mod.Trace("Modified InitiativeRoll: " + __result); } }
public void HandleUnitRollsInitiative(RuleInitiativeRoll rule) { if (rule.Initiator.Descriptor != Owner) { return; } // Are there other units not waiting on inititative? foreach (var unit in Game.Instance.State.Units.InCombat().CombatStates()) { if (unit.IsWaitingInitiative) { continue; } //we are in surprise round (this.Fact as IFactContextOwner).RunActionInContext(actions, this.Owner.Unit); return; } }
public void HandleUnitRollsInitiative(RuleInitiativeRoll rule) { if (rule.Initiator.Descriptor != Owner) { return; } // Are there other units not waiting on inititative? foreach (var unit in Game.Instance.State.Units.InCombat().CombatStates()) { if (unit.IsWaitingInitiative) { continue; } // Another unit isn't waiting, but we just rolled, so it must be the surprise round. // Let us act too. //Log.Write($"Can act in surprise round: {Owner.CharacterName}, because other unit could: {unit.Unit.Descriptor.CharacterName}"); unit.Cooldown.Initiative = 0; } }