static Special Boon(string name, string description, TriggerTurnRowEffect trigger)
        {
            Special spec = new Special();

            spec.setAttributes(Clan.neutral, Rarity.bronze, name);
            spec.setSpecialAttributes(Tag.boon);
            spec.setOnDeploy((s, f) =>
            {
                RowEffect boon = new RowEffect(s, s.host, s.host.chooseRow(BoonQuestionRow(s.name)));
                boon.SetBehaviour(trigger);
            }, description);
            return(spec);
        }
        static Special Hazard(string name, string description, TriggerTurnRowEffect trigger, Rarity rarity = Rarity.bronze)
        {
            Special spec = new Special();

            spec.setAttributes(Clan.neutral, rarity, name);
            spec.setSpecialAttributes(Tag.hazard);
            spec.setOnDeploy((s, f) =>
            {
                Player enemy = s.host.chooseEnemy(s.context, HazardQuestionPlayer(s.name));
                int row      = s.host.chooseEnemyRow(enemy, HazardQuestionRow(s.name));

                RowEffect hazz = new RowEffect(s, enemy, row);
                hazz.SetBehaviour(trigger);
            }, description);
            return(spec);
        }
 public void SetBehaviour(TriggerTurnRowEffect onTurnStart)
 {
     _onTurnStart = onTurnStart;
 }
Beispiel #4
0
        public static void applyHazzardOnDeployWithoutCard(Card s, Special analogCard, TriggerTurnRowEffect hazzardEffect)
        {
            Player enemy = s.host.chooseEnemy(s.context, s.QestionString());
            int    row   = s.host.chooseEnemyRow(enemy, s.QestionString());

            // there is a little trick
            // instead of creating unique birna roweffect,
            // we create a DOOMed version of skelligian storm
            // and apply (DO NOT PLAY) it to choosen row
            // after it it will dissappear in banish

            Special st = SpawnSpecial.addSpecialToGame(analogCard, s);

            st.move(Place.banish);
            RowEffect hazz = new RowEffect(st, enemy, row);

            hazz.SetBehaviour(hazzardEffect);
        }