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); }
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); } }
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); }