void Run(Player Owner, GameEvent gameEvent, GameEventArgs eventArgs) { ISkill skill; List<Card> cards; List<Player> players; if (Owner.AskForCardUsage(new CardUsagePrompt("ShiChou", this), new ShiChouVerifier(), out skill, out cards, out players)) { NotifySkillUse(players); Owner[ShiChouUsed] = 1; players[0][ShiChouSource[Owner]] = 1; Game.CurrentGame.HandleCardTransferToHand(Owner, players[0], cards); players[0][ShiChouStatus] = 1; Trigger tri1 = new ShiChouProtect(Owner, players[0]); Trigger tri2 = new ShiChouDrawCards(players[0], Owner); Trigger tri3 = new ShiChouRemoval(players[0], Owner, tri1, tri2); Game.CurrentGame.RegisterTrigger(GameEvent.DamageInflicted, tri1); Game.CurrentGame.RegisterTrigger(GameEvent.DamageComputingFinished, tri2); Game.CurrentGame.RegisterTrigger(GameEvent.PlayerIsAboutToDie, tri3); } }
void Run(Player Owner, GameEvent gameEvent, GameEventArgs eventArgs) { ISkill skill; List <Card> cards; List <Player> players; if (Owner.AskForCardUsage(new CardUsagePrompt("ShiChou", this), new ShiChouVerifier(), out skill, out cards, out players)) { NotifySkillUse(players); Owner[ShiChouUsed] = 1; players[0][ShiChouSource[Owner]] = 1; Game.CurrentGame.HandleCardTransferToHand(Owner, players[0], cards); players[0][ShiChouStatus] = 1; Trigger tri1 = new ShiChouProtect(Owner, players[0]); Trigger tri2 = new ShiChouDrawCards(players[0], Owner); Trigger tri3 = new ShiChouRemoval(players[0], Owner, tri1, tri2); Game.CurrentGame.RegisterTrigger(GameEvent.DamageInflicted, tri1); Game.CurrentGame.RegisterTrigger(GameEvent.DamageComputingFinished, tri2); Game.CurrentGame.RegisterTrigger(GameEvent.PlayerIsAboutToDie, tri3); } }