カードの効果に関する例題 - aharalabMeiji/fireplaceAharaLab GitHub Wiki

class EX1_612:
	"""Kirin Tor Mage"""
	play = Buff(CONTROLLER, "EX1_612o")
class EX1_612o:
	update = Refresh(FRIENDLY_HAND + SECRET, {GameTag.COST: SET(0)})
	events = Play(CONTROLLER, SECRET).on(Destroy(SELF))

阿原の解釈:自分のカードの秘策カードのコストを0にする。秘策カードを使うと効果はなくなる。
正解:自分が次に使用する秘策のコストは(0)。

これは、魔法効果が一度だけ、と言うときに使われる技である。

  1. Carrion Studies SCH_300

Discover a Deathrattle minion. Your next one costs (1) less.

どうやら以下のコードで動くようだ。

class SCH_300:#OK
	##Carrion Studies SCH_300
	#Discover a Deathrattle minion. Your next one costs (1) less.
	play = DISCOVER(RandomMinion(deathrattle=True)).then(
	   Buff(CONTROLLER, "SCH_300e")
	   )
	pass
class SCH_300e:
	#Carrion Studies
	#Your next [Deathrattle] minion costs (1) less.
	update = Refresh(DEATHRATTLE, {GameTag.COST: -1})#OK
	events = Play(CONTROLLER, DEATHRATTLE).on(Destroy(SELF))#OK
	pass
SCH_300e2 = buff(cost=-1)#使っていない
	#Studying Carrion 
	#Costs (1) less.

(参考)このターンの間味方のミニオン全ての_体力は0以下にならない。カードを1枚引く。(ミニオンを1体召喚したときは、になっているような気がするが。)

class NEW1_036:
	"""Commanding Shout"""
	play = Buff(FRIENDLY_MINIONS, "NEW1_036e"), Buff(CONTROLLER, "NEW1_036e2")
class NEW1_036e2:
	events = Summon(CONTROLLER, MINION).on(Buff(Summon.CARD, "NEW1_036e"))
NEW1_036e = buff(health_minimum=1)
  1. SCH_162(解決)

<b>雄叫び:</b>1/1のチビドラゴンを2体召喚する。それらはこの対戦で死亡した味方のミニオンの_____<b>断末魔</b>を1つずつ獲得する。

class SCH_162:#done
	""" Vectus"""
	#Battlecry: Summon two 1/1 Whelps. Each gains a Deathrattle from your minions that died this game.
	play = Summon(CONTROLLER, "SCH_162t").then( -Find(FRIENDLY + KILLED + DEATHRATTLE) |
		Buff(Summon.CARD, "SCH_162e").then( 
			CopyDeathrattles(Buff.BUFF, RANDOM(FRIENDLY + KILLED + DEATHRATTLE))
		)
	) *2
	pass
class SCH_162e:
	tags = {GameTag.DEATHRATTLE: True}
	# Experimental Plague
	# Copied Deathrattle from {0}
class SCH_162t:
	# Plagued Hatchling
	# Vanilla
	pass

(参考)

<b>急襲</b>、<b>雄叫び:</b>味方のミニオン1体を選択する。そのミニオンの____<b>断末魔</b>の能力をコピーする。

class BT_212:
	"""Mok'Nathal Lion"""
	requirements = {
		PlayReq.REQ_FRIENDLY_TARGET: 0,
		PlayReq.REQ_TARGET_IF_AVAILABLE: 0,
		PlayReq.REQ_TARGET_WITH_DEATHRATTLE: 0}
	play = Buff(SELF, "BT_212e").then(CopyDeathrattles(Buff.BUFF, TARGET))
BT_212e = buff(deathrattle=True)