Skip to content

Commit

Permalink
add FrontOni,BackOni
Browse files Browse the repository at this point in the history
  • Loading branch information
uhyo committed Jan 30, 2022
1 parent 9e8dab0 commit 7b5125f
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 3 deletions.
10 changes: 7 additions & 3 deletions client/code/shared/game.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ exports.jobs=["Human","Werewolf","Diviner","Psychic","Madman","Guard","Couple","
"Gambler","Faker","NetherWolf","Interpreter","Hierarch",
# 人狼式
"Emma","EyesWolf","TongueWolf","Oracle","Hitokotonushinokami",
"SealWolf","Oni","GoldOni","Duelist",
"SealWolf","Oni","GoldOni","Duelist","FrontOni","BackOni",
# えけけ鯖
"MadHunter","Ascetic"
# 人狼パーティー
Expand Down Expand Up @@ -126,7 +126,7 @@ exports.teams=teams=
Hooligan:["Hooligan", "HooliganAttacker"]
Duel:["Duelist"]
Lorelei:["Lorelei"]
Others:["Bat","Stalker","Doppleganger","Copier","Tanner","Thief","Hoodlum","QuantumPlayer","Shishimai","HooliganGuard","Amanojaku","DarkClown","DualPersonality","Oni","GoldOni"],
Others:["Bat","Stalker","Doppleganger","Copier","Tanner","Thief","Hoodlum","QuantumPlayer","Shishimai","HooliganGuard","Amanojaku","DarkClown","DualPersonality","Oni","GoldOni","FrontOni","BackOni"],
Neet:["Neet"]

# カテゴリ分け(一部闇鍋でつかうぞ!)
Expand All @@ -138,7 +138,7 @@ exports.categories=
Fox:["Fox","TinyFox","XianFox","NightRabbit","Trickster","VariationFox","Actress"]
Immoral:["Immoral","Blasphemy"]
# sort by teams (恋人陣営、単独陣営、その他、変化系その他、変化系村人陣営)
Others:["Cupid","Lover","BadLady","Patissiere","SnowLover","LunaticLover","Devil","CultLeader","Hierarch","Vampire","Dracula","VampireClan","Raven","Ascetic","Hooligan","Lorelei","Bat","Tanner","Hoodlum","Shishimai","Amanojaku","DarkClown","Oni","GoldOni","Duelist"]
Others:["Cupid","Lover","BadLady","Patissiere","SnowLover","LunaticLover","Devil","CultLeader","Hierarch","Vampire","Dracula","VampireClan","Raven","Ascetic","Hooligan","Lorelei","Bat","Tanner","Hoodlum","Shishimai","Amanojaku","DarkClown","Oni","GoldOni","Duelist","FrontOni","BackOni"]
Switching:["Stalker","Copier","Doppleganger","DualPersonality","OccultMania","Cursed","BloodyMary","Phantom","Thief","Dreamer"]
# Special category for "no category"
None:[
Expand Down Expand Up @@ -1138,6 +1138,10 @@ exports.jobinfo=
color:"#d14545"
GoldOni:
color:"#dbb400"
FrontOni:
color:"#d4914a"
BackOni:
color:"#f0bd86"
Neet:
color:"#aaaaaa"
Neet:
Expand Down
2 changes: 2 additions & 0 deletions language/ja/game_client_form.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ messages:
AttractiveWoman: '魅了する相手を選択してください'
DestroyCraziest: '破壊の対象を選択してください'
StraySheep: '能力を使用する場合は選択してください'
FrontOni: '人攫いの対象を選択してください'
BackOni: '人攫いの対象を選択してください'
SpaceWerewolfObserver: '観察する対象を選択してください'
SpaceWerewolfGuard: '見張る対象を選択してください'
SpaceWerewolfSabotage: '妨害する対象を選択してください'
Expand Down
2 changes: 2 additions & 0 deletions language/ja/roles.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,8 @@ jobname:
SpaceWerewolfObserver: '観察者'
SpaceWerewolfGuard: '見張り'
SpaceWerewolfSabotage: '破壊者'
FrontOni: '前鬼'
BackOni: '後鬼'
GameMaster: 'ゲームマスター'
Helper: 'ヘルパー'
Waiting: '待機中'
Expand Down
6 changes: 6 additions & 0 deletions manual/ja/jobs/BackOni.jade
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
p 「人狼式」に登場する役職。占い結果と霊能結果は「鬼」となる。
h2 特殊能力
p 2日目以降の夜に人攫いを行うことができる。人攫いの対象は死亡する。人攫いの成功率は最初100%で、1回成功するごとに5分の1に減少する。
p 人狼に襲われた場合、30%の確率で襲撃に耐えることができる。
h2 勝利条件
p 勝利判定時に、自身が生存しており妖狐陣営が全滅していれば勝利陣営と一緒に勝利。
6 changes: 6 additions & 0 deletions manual/ja/jobs/FrontOni.jade
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
p 「人狼式」に登場する役職。占い結果と霊能結果は「鬼」となる。
h2 特殊能力
p 2日目以降の夜に人攫いを行うことができる。人攫いの対象は死亡する。人攫いの成功率は最初100%で、1回成功するごとに5分の1に減少する。
p 人狼に襲われた場合、30%の確率で襲撃に耐えることができる。
h2 勝利条件
p 勝利判定時に、自身が生存しており人狼陣営が全滅していれば勝利陣営と一緒に勝利。
42 changes: 42 additions & 0 deletions server/rpc/game/game.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -11499,6 +11499,25 @@ class StraySheep extends Player
[]
else super

class FrontOni extends Oni
type: "FrontOni"
isWinner:(game, team)->
# 自身の生存 + 人狼陣営の全滅
if @dead
return false
wolves = game.players.filter (pl)-> pl.getTeam() == "Werewolf"
return wolves.every (pl)-> pl.dead

class BackOni extends Oni
type: "BackOni"
isWinner:(game, team)->
# 自身の生存 + 妖狐陣営の全滅
if @dead
return false
wolves = game.players.filter (pl)-> pl.getTeam() == "Fox"
return wolves.every (pl)-> pl.dead


# ============================
# Roles for Space Werewolf

Expand Down Expand Up @@ -13726,6 +13745,8 @@ jobs=
DestroyCraziest:DestroyCraziest
Actress:Actress
StraySheep:StraySheep
FrontOni:FrontOni
BackOni:BackOni
SpaceWerewolfCrew:SpaceWerewolfCrew
SpaceWerewolfImposter:SpaceWerewolfImposter
SpaceWerewolfObserver:SpaceWerewolfObserver
Expand Down Expand Up @@ -13969,6 +13990,8 @@ jobStrength=
DestroyCraziest:15
Actress:20
StraySheep:8
FrontOni:10
BackOni:10

module.exports.actions=(req,res,ss)->
req.use 'user.fire.wall'
Expand Down Expand Up @@ -14741,6 +14764,25 @@ module.exports.actions=(req,res,ss)->
if Math.random()<0.15
exceptions.push "HomeComer"

if month == 1 && d == 3
# 節分: 鬼系が出やすい
r = Math.random()
if r < 0.2 && frees > 0 && !nonavs.Oni
joblist.Oni ?= 0
joblist.Oni++
frees--
else if r < 0.3 && frees > 0 && !nonavs.GoldOni
joblist.GoldOni ?= 0
joblist.GoldOni++
frees--
else if r < 0.4 && frees > 0 && !nonavs.GoldOni
joblist.FrontOni ?= 0
joblist.FrontOni++
frees--
else if r < 0.5 && frees > 0 && !nonavs.GoldOni
joblist.BackOni ?= 0
joblist.BackOni++
frees--
)(new Date)

possibility=Object.keys(jobs).filter (x)->!(x in exceptions)
Expand Down

0 comments on commit 7b5125f

Please sign in to comment.