コード例 #1
0
        public override bool Effect(TriggerEvent triggerEvent, Room room, Player player, ref object data, Player ask_who, TriggerStruct info)
        {
            Player lord = null;

            foreach (Player p in room.GetAlivePlayers())
            {
                if (p.GetRoleEnum() == PlayerRole.Lord)
                {
                    lord = p;
                    break;
                }
            }

            room.DoAnimate(AnimateType.S_ANIMATE_INDICATE, player.Name, lord.Name);
            room.SendCompulsoryTriggerLog(player, Name, true);
            room.BroadcastSkillInvoke(Name, player, info.SkillPosition);

            room.LoseHp(player);
            if (lord.Alive)
            {
                RecoverStruct recover = new RecoverStruct
                {
                    Who     = player,
                    Recover = 1
                };
                room.Recover(lord, recover, true);
                if (lord.Alive)
                {
                    room.DrawCards(lord, new DrawCardStruct(1, player, Name));
                }
            }

            return(false);
        }
コード例 #2
0
 public override void OnEffect(Room room, CardEffectStruct effect)
 {
     if (effect.To.IsWounded())
     {
         RecoverStruct recover = new RecoverStruct
         {
             Recover = 1,
             Who     = effect.From,
             Card    = effect.Card
         };
         room.Recover(effect.To, recover, true);
     }
 }
コード例 #3
0
        public override bool Effect(TriggerEvent triggerEvent, Room room, Player player, ref object data, Player ask_who, TriggerStruct info)
        {
            int count = 1 - player.Hp;

            if (count > 0)
            {
                RecoverStruct recover = new RecoverStruct
                {
                    Who     = ask_who,
                    Recover = count
                };
                room.Recover(player, recover, true);
            }

            return(false);
        }