GJSS 0.21

scripts.roles
[Groovy] Class Civilian

java.lang.Object
  scripts.roles.Civilian

class Civilian

村人の役職クラスです。また全ての役職クラスのスーパークラスでもあります。
村人は村人陣営、村カウント。占い・霊能結果共に白(○)判定です。


Property Summary
def actor

この役職インスタンスを持つ参加者を表します。

static def bite

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

static def number

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

static def order

役職の順番を表します。

static def strings

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

 
Constructor Summary
Civilian(def actor = null)

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

 
Method Summary
def checkStep()

ゲームを進められるかどうかを返します。

def copynoticelog()

最新の通知内容をクリップボードにコピーします。

def getCommands(def actors)

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

static def getJustnumber(def number)

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

def getPriority()

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

def getRoleName()

役職の名前を返します。

def getUpdatePriority(def target)

参加者同士のupdate優先順位を返します。

def isCivilian()

村人としてカウントされるかどうかを表します。

static def isInvisible()

「ゲームを開始する」ダイアログで「役職は初日に噛まれない」を非表示にするかどうかを返します。

def isLive()

生存しているかどうかを返します。

def isWolf()

狼としてカウントされるかどうかを表します。

def judge(def result)

勝敗を判定します。

def killed(def state)

状態を変化させ、それに伴う処理を行います。

def notice(def message)

参加者にメッセージを通知し、それをツール本体のログに追加します。

def noticeKilled(def message)

死亡メッセージを通知するまでプールしておきます。

def noticeRole()

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

def propertyMissing(String name)

ここに無いプロパティが参照されたときにこれが呼び出され、Actorインスタンスのプロパティの値を取得します。

def propertyMissing(String name, def value)

ここに無いプロパティが設定されたときにこれが呼び出され、Actorインスタンスのプロパティの値を設定します。

def receiveMessage(def type, def target)

コマンドを処理します。

def reset()

対象指定や被護衛・被占い判定をリセットします。

def roleIs(def role)

役職が引数のそれと等しいかどうかを返します。

def startPhase()

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

def update()

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

 
Methods inherited from class Object
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll
 

Property Detail

actor

def actor
この役職インスタンスを持つ参加者を表します。


bite

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


number

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


order

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


strings

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


 
Constructor Detail

Civilian

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


 
Method Detail

checkStep

def checkStep()
ゲームを進められるかどうかを返します。必要な能力の使用が済んだかどうかなどで判断します。
Returns:
時間を進めることが出来るならtrue、出来ない場合はfalse


copynoticelog

def copynoticelog()
最新の通知内容をクリップボードにコピーします。


getCommands

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


getJustnumber

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


getPriority

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


getRoleName

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


getUpdatePriority

def getUpdatePriority(def target)
参加者同士のupdate優先順位を返します。役職によってはupdateの順番によって不具合が発生する場合があるため、そうならないように順番を固定する処置です。
Parameters:
target - 比較対象となる参加者
Returns:
引数の参加者と比較してそれより先にupdateを実行させる場合は0より大きい値、後に実行させる場合は0より小さい値。特に順番を考慮する必要がない場合は0


isCivilian

def isCivilian()
村人としてカウントされるかどうかを表します。
Returns:
村人としてカウントされるならtrue


isInvisible

static def isInvisible()
「ゲームを開始する」ダイアログで「役職は初日に噛まれない」を非表示にするかどうかを返します。 非表示にすることでbiteの値を変更出来なくなります。
Returns:
非表示の場合はtrue、そうでなければfalse


isLive

def isLive()
生存しているかどうかを返します。現在の状態の優先度が51未満である場合死亡として扱われます。
Returns:
生存していればtrue


isWolf

def isWolf()
狼としてカウントされるかどうかを表します。
Returns:
狼としてカウントされるならtrue


judge

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


killed

def killed(def state)
状態を変化させ、それに伴う処理を行います。死亡時は死者のリストに追加し、処刑以外の死因であれば通知するようにします。


notice

def notice(def message)
参加者にメッセージを通知し、それをツール本体のログに追加します。
Parameters:
message - 通知するメッセージ


noticeKilled

def noticeKilled(def message)
死亡メッセージを通知するまでプールしておきます。これは通知順から死因が判らなくなるようにするための処置です。


noticeRole

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


propertyMissing

def propertyMissing(String name)
ここに無いプロパティが参照されたときにこれが呼び出され、Actorインスタンスのプロパティの値を取得します。
Parameters:
name - プロパティ名
Returns:
Actorインスタンスのプロパティの値。


propertyMissing

def propertyMissing(String name, def value)
ここに無いプロパティが設定されたときにこれが呼び出され、Actorインスタンスのプロパティの値を設定します。
Parameters:
name - プロパティ名
args - プロパティの値


receiveMessage

def receiveMessage(def type, def target)
コマンドを処理します。村人の場合は昼時間に投票を処理するのみです。
Parameters:
type - コマンド名
target - コマンドの対象


reset

def reset()
対象指定や被護衛・被占い判定をリセットします。


roleIs

def roleIs(def role)
役職が引数のそれと等しいかどうかを返します。
Parameters:
role - 比較対象
Returns:
比較対象と役職が等しければtrue


startPhase

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


update

def update()
時間を進め、状態変化のカウントダウンを行います。カウントが1から0に変わったときに状態が変更されます。役職によってはさらに処理を行うこともあります。


 

GJSS 0.21