class Action - aharalabMeiji/fireplaceAharaLab GitHub Wiki

このページの内容は「カードの能力を実装する」ために必要な知識です。エージェント作成には関係ありません。

ActionGameAction(GA)とTargetedAction(TA)からなる。

class Actionは、以下の関数を持つ
after, on, then : 関数間の接続を表すもの
broadcast, queue_broadcast, resolve_broadcast : アクションを実行するもの
matches : 条件一致を判定するもの

GameAction

以下はGAの一覧である。(A=ATTACKER,C=CARD,CH=CHOOSE,CS=CARDS,D=DEFFENDER,E=ENTITY,I=INDEX,P=PLAYER,)

Activate(P,C,T)ヒロパをプレイする

Attack(A,D)攻撃したかどうか(on, afterに対応)(attacker, defenderを参照できる)

BeginTurn(P)ターンが始まったかどうか

Choice(P,CS,C)

Concede(P)投了

Disconnect(P)

Deaths()プレイゾ-ンの死を処理する

Death(E)死(onに対応)

---->これは「死んでから判定」するので、Death(FRIENDLY_MINIONS + MECH).on(..は誤り。Death(FRIENDLY + MECH).on(..がただしい。

EndTurn(P)ターンが終わったかどうか

GenericChoice(P.CS.C)

Joust(CHALLENGER, D)一騎打ち

MulliganCHoice(P,CS,C)

Overload(P,AMOUNT)オーバーロードを増減する

Play(P,C,T,INDEX,CHOOSE)カードをプレイする→(onとafterに対応)→PLAYER,CARD,TARGETが使える。

TargetedAction

以下では T=TARGET, B=BUFF, A=AMOUNT, C=CARD, CS=CARDS,

Awaken(T)眠るミニオンを起こす

Battlecry(C,T)雄叫びの能力を?

Bounce(T)ミニョンをハンドに呼び戻す

Buff(T,BUFF)スタッツを変更する

CastSpell(C)呪文を唱える

CopyDeathrattles(T,DEATHRATTLES)断末魔の能力をコピーする

CopyState(T,BUFF)スタッツをコピーする

Counter(T)ターゲットをプレイ不能状態にする

Damage(T,A)ダメージを与える(Hitとの違いは?)

Deathrattle(T)断末魔の能力を?

Destroy(T)ミニオンを破壊する

Discard(T)カードを捨てる

Discover(T,CARDS)カード群の中から発見する

Draw(T,C)カードをデッキから引く、カードをハンドに加える

DrawUntil(T,A)指定枚数になるまでデッキから引く

Evolve(T,A)Tのカードのコストを上げるような別のカードにする

ExtraAttack(T)再攻撃

Fatigue(T)

FillMana(T)マナを満タンにする

ForceDraw(T)無理やりデッキから引かせる

FullHeal(T)ヘルスを満タンにする

GainArmor(T,A)攻撃力をアップする

GainMana(T,A)マナをアップする

Give(T,C)カードをハンドに加える

Heal(T,A)ヘルスをアップする

Hit(T,A)顔をなぐる

HitAndExcess(T,A)ヒットして、余った分を両脇に分配する

HoldinHatch(T,C)ハッチにカードをためる

ManaThisTurn(T,A)このターンだけマナ数を変更する

Mill(T,A)A枚のデッキトップを捨てる

Morph(T,C)TをCに変化させる

OpenHatch(T)ハッチを開けて開放する

Predamage(T,A)

PutOnTop(T,C)カードをデッキトップに入れる

RefreshHeroPower(HEROPOWER)ヒロパを交換する

RegularAttack(T,OTHER)ATK分のダメージを与える。

Retarget(T,C)攻撃対象を変更する

Reveal(T)秘策を明かす

SetCurrentCost(T,A)コストの値を設定する

SetCurrentHealth(T,A)ヘルスの値を設定する

SetTag(T,TAGS)タグをオンにする

SidequestCounter(T,A,TARGETACTION)カードに回数をためていって、Aを超えたらTARGETACTIONを実行する。

SidequestCounterClear(T)カードのクエストカウンターを0にする

SidequestManaCounter(T,C,A,TARGETACTION)カードCにマナ数をためていって、Aを超えたらTARGETACTIONを実行する。

Silence(T)沈黙にする

SpendMana(T,A)マナを消費する

Steal(T,CONTROLLER)TをCONTROLLERが盗む

Suffle(T,C)デッキの中にカードを混ぜる

Summon(T,C)召喚する(on, afterに対応、target, cardを参照できる)

Swap(T,OTHER)ゾーンを交換する

SwapController(T,OTHER)ヒロパを交換する

SwapHealth(T,OTHER,BUFF)体力を交換する

SwapState(T,OTHER,BUFF)スタッツを交換する

UnlockOverload(T)オーバーロードされているものをキャンセルする

UnsetTag(T,TAGS)タグをオフにする

Upgrade(T)target.upgrade_counter +=1

似ているがTargetedActionではないもの。(使い方は同じ)

Freeze(T)凍らせる