GJSS 0.21

scripts.roles
[Groovy] Class Spy

java.lang.Object
  scripts.roles.Civilian
      scripts.roles.Spy

class Spy
extends Civilian

スパイの役職クラスです。誰が狼なのかを知ることが出来ます。逃走しなければ勝利できません。
スパイは狼陣営、村カウント。占い・霊能結果共に白(○)判定です。


Property Summary
static def bite

この役職が初日犠牲者として死亡しないかどうかを表します。

def escaped

逃亡を図るかどうかを表します。

static def number

この役職の人数を表します。

static def order

役職の順番を表します。

static def strings

ローカライズされた文字列のバンドルです。

 
Constructor Summary
Spy(def actor = null)

指定の参加者でインスタンスを作成します。

 
Method Summary
def getCommands(def actors)

ツール本体から手動でコマンドを選択するために、そのリストを返します。

static def getJustnumber(def number)

役職人数の初期値を返します。

def getPriority()

役職の優先度を返します。

def getRoleName()

役職の名前を返します。

def judge(def result)

勝敗を判定します。

def noticeRole()

参加者に対し役職の通知を行います。

def receiveMessage(def type, def target)

コマンドを処理します。

def startPhase()

議論時間・夜時間を開始するときに呼び出されます。

def update()

時間を進め、状態変化のカウントダウンを行います。

 
Methods inherited from class Civilian
checkStep, copynoticelog, getCommands, getJustnumber, getPriority, getRoleName, getUpdatePriority, isCivilian, isInvisible, isLive, isWolf, judge, killed, notice, noticeKilled, noticeRole, propertyMissing, propertyMissing, receiveMessage, reset, roleIs, startPhase, update
 

Property Detail

bite

static def bite
この役職が初日犠牲者として死亡しないかどうかを表します。初日犠牲者として死亡することのない役職はtrueに設定します。
全ての役職クラスはこのプロパティを自身で定義する必要があります。


escaped

def escaped
逃亡を図るかどうかを表します。


number

static def number
この役職の人数を表します。
全ての役職クラスはこのプロパティを自身で定義する必要があります。


order

static def order
役職の順番を表します。
これはツール本体の「ゲームを開始する」ダイアログで使用されます。 全ての役職クラスはこのプロパティを自身で定義する必要があり、 またその値はCivilian.orderよりも大きいものにしなくてはいけません。


strings

static def strings
ローカライズされた文字列のバンドルです。


 
Constructor Detail

Spy

Spy(def actor = null)
指定の参加者でインスタンスを作成します。
Parameters:
actor - この役職インスタンスを持つ参加者


 
Method Detail

getCommands

def getCommands(def actors)
ツール本体から手動でコマンドを選択するために、そのリストを返します。
Parameters:
actors - 全参加者のリスト
Returns:
選択出来るコマンドのリスト


getJustnumber

static def getJustnumber(def number)
役職人数の初期値を返します。参加人数に応じて人数を自動で変動させるなどしますが、あくまでも初期値であるため人数はツール本体からいくらでも変更出来ます。
Parameters:
ゲームの参加人数
Returns:
この役職の人数の初期設定値


getPriority

def getPriority()
役職の優先度を返します。これは役職順に並べ替える際などに使用されます。
Returns:
役職の優先度


getRoleName

def getRoleName()
役職の名前を返します。
Returns:
役職名


judge

def judge(def result)
勝敗を判定します。スパイの勝利条件は狼陣営が勝利し、かつ自身が逃走していることです。
Parameters:
result - 村人陣営の勝利なら0、狼陣営の勝利なら1、妖狐陣営の勝利なら2。引き分けの場合は-1
Returns:
勝利ならtrue


noticeRole

def noticeRole()
参加者に対し役職の通知を行います。スパイには誰が狼なのかも通知します。


receiveMessage

def receiveMessage(def type, def target)
コマンドを処理します。昼時間の投票の他、夜時間の任務完了を処理します。
Parameters:
type - コマンド名
target - コマンドの対象


startPhase

def startPhase()
議論時間・夜時間を開始するときに呼び出されます。


update

def update()
時間を進め、状態変化のカウントダウンを行います。カウントが1から0に変わったときに状態が変更されます。任務完了時は逃走します。


 

GJSS 0.21