Beispiel #1
0
        public override IEnumerable <LogRecord> Convert(Ffb.Dto.Reports.BlockChoice report)
        {
            BlockDie blockResult = report.blockResult.As <BlockDie>();

            yield return(new LogRecord($"<b>Block Result [ {blockResult.Name} ]</b>"));

            Player attacker = FFB.Instance.Model.GetPlayer(FFB.Instance.Model.ActingPlayer.PlayerId);
            Player defender = FFB.Instance.Model.GetPlayer(report.defenderId);

            if (blockResult == BlockDie.BothDown)
            {
                if (attacker != null && attacker.HasSkill(SkillType.Block))
                {
                    yield return(new LogRecord($"{attacker.FormattedName} has been saved by {attacker.Gender.Genetive} Block skill."));
                }
                if (defender != null && defender.HasSkill(SkillType.Block))
                {
                    yield return(new LogRecord($"\n{defender.FormattedName} has been saved by {defender.Gender.Genetive} Block skill."));
                }
            }
            else if (blockResult == BlockDie.PowPushback)
            {
                if (defender != null && attacker != null && defender.HasSkill(SkillType.Dodge) && attacker.HasSkill(SkillType.Tackle))
                {
                    yield return(new LogRecord($"\n{attacker.FormattedName} uses Tackle to bring opponent down."));
                }
            }
        }
Beispiel #2
0
 public void AddBlockDie(int roll)
 {
     if (roll > 0)
     {
         if (BlockDice.Count > 0 && BlockDice[BlockDice.Count - 1].Active == false)
         {
             BlockDice.Clear();
         }
         int index = BlockDieIndex++;
         BlockDice.Add(new View.BlockDie(index, BlockDie.Get(roll)));
     }
     else
     {
         foreach (var die in BlockDice)
         {
             die.Active = false;
         }
     }
 }
Beispiel #3
0
 public override IEnumerable <LogRecord> Convert(Ffb.Dto.Reports.BlockRoll report)
 {
     yield return(new LogRecord($"<b>Block Roll [ {string.Join(" ] [ ", report.blockRoll.Select(r => BlockDie.Get(r).Name))} ]</b>"));
 }