Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
 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;
            }
        }