Skip to content

Commit

Permalink
add crimson trial script
Browse files Browse the repository at this point in the history
  • Loading branch information
wmgroot committed Jul 28, 2022
1 parent aac3d24 commit f7cbfe1
Show file tree
Hide file tree
Showing 3 changed files with 175 additions and 4 deletions.
174 changes: 172 additions & 2 deletions Data.ttslua
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ FIRST =
'Hastur',
'Bogman Info',
'Bogman',
'Aswang',
'Bean-nighe',
'Censor',
'Pixie',
'Huntsman',
Expand All @@ -117,6 +119,8 @@ FIRST =
'Empath',
'Fortune Teller',
'Fortune Teller2',
'Huntress',
'Huntress2',
'Grandmother',
'Clockmaker',
'Dreamer',
Expand Down Expand Up @@ -147,12 +151,20 @@ FIRST =
'Stalker',
'Ambusher Info',
'Ambusher',
'Blood Hound',
'Blood Hound2',
'Inquisitor',
'Inquisitor2',
'Cult Leader',
'Spy',
'Chambermaid',
'Chambermaid2',
'Tail',
'Tail2',
'Goon',
'Mathematician',
'Phlebotomist',

'Next Night'
}
}
Expand Down Expand Up @@ -238,6 +250,7 @@ OTHER =
'Lobotomizer',
'Philosopher',
'Sailor',
'Bacchant',
'Amnesiac',
'Engineer',
'King Info',
Expand All @@ -258,10 +271,12 @@ OTHER =
'Snake Charmer',
'Monk',
'Medicine Man',
'Berserker',
'Mother',
'Blasphemer',
'Wicked',
'Devils Advocate',
'Crone',
'Witch',
'Cerenovus',
'Madness',
Expand Down Expand Up @@ -296,10 +311,16 @@ OTHER =
'Bogman',
'Sasquatch',
'Wendigo',
'Aswang',
'Bean-nighe',
'Empusa',
'Yara-ma-yha-who',
'Assassin',
'Godfather',
'Secondhand',
'Savage',
'Effigy',
'Flagellant',
'Farmer',
'Barber',
'Cartographer',
Expand All @@ -320,6 +341,17 @@ OTHER =
'Empath',
'Fortune Teller',
'Fortune Teller2',
'Huntress',
'Huntress2',
'Torturer',
'Torturer2',
'Beekeeper',
'Coroner',
'Coroner2',
'Blood Hound',
'Blood Hound2',
'Inquisitor',
'Inquisitor2',
'Undertaker',
'Dreamer',
'Dreamer2',
Expand Down Expand Up @@ -355,8 +387,13 @@ OTHER =
'Spy',
'Chambermaid',
'Chambermaid2',
'Tail',
'Tail2',
'Mathematician',
'Blood Prophet',
'Phlebotomist',
'Goon',

'Next Night'
}
}
Expand All @@ -372,6 +409,10 @@ CU_LIST = {
'Majesty', 'Prince', 'Princess', 'Queen', 'Knight', 'Cardinal', 'Rook', 'Scribe', 'Herald', 'Chamberlain', 'Cup-Bearer', 'Friar', 'Food Taster', 'Pretender', 'Pawn', 'Emissary', 'Concubine', 'Charlatan', 'Conspirator', 'Scoundrel', 'Usurper', 'Ysbaddaden', 'Draco', 'Jabberwocky', 'Morgana',
'Astrologist', 'Cartographer', 'Censor', 'Child', 'Counterfeiter', 'Cultist', 'Cursebearer', 'Fanatic', 'Hastur', 'Lobotomizer', 'Mother', 'Pomme de Terror', 'Rakshasa', 'Recordkeeper', 'Schizophrenic', 'Turncoat', 'Xolotl',
'Chieftain','Blasphemer','Diviner','Trapper','Shaman','Stargazer','Soothsayer','Bloodletter','Stalker','Ambusher','Warrior','Medicine Man','Reveler','Wicked','Urchin','Right Hand Man','Apiarist','Eclipse','Viceroy','Effigy','Secondhand','Retrogradus','Bogman','Sasquatch','Wendigo',

-- Crimson Trial
'Bacchant','Berserker','Bleeding Heart','Blood Hound','Blood Prophet','Coroner','Flagellant','Tail','Huntress','Inquisitor','Phlebotomist','Torturer',
'Anemic','Beekeeper','Hemophobe','Patient Zero','Septicemiac','Butcher','Crone','Savage','Aswang','Bean-nighe','Empusa','Yara-ma-yha-who',
}

TYPES = {'Townsfolk', 'Outsider', 'Minion', 'Demon', 'Traveler'}
Expand Down Expand Up @@ -597,6 +638,40 @@ CHARACTERS =
['Bogman Info'] = {Type = 'Info', Ability = false, Response = false, Prompt = 'A poisoned Townsfolk player in play: P1.', Description = ''},
['Sasquatch'] = {Type = 'Demon', Ability = false, Response = false, Prompt = 'Choose who to kill.', Description = 'Each night*, choose a player: they die. Once per game, you may choose twice.'},
['Wendigo'] = {Type = 'Demon', Ability = false, Response = false, Prompt = 'Choose who to kill.', Description = 'Each night*, choose 1 or 3 players: if you chose 1, they die; if you chose 3, they are bloodied. Minions start bloodied.'},

['Bacchant'] = {Type = 'Townsfolk', Ability = false, Response = false, Prompt = 'Choose a character.', Description = 'Each night*, choose a character: they are drunk and triaged. Each character can only be chosen once.'},
['Berserker'] = {Type = 'Townsfolk', Ability = false, Response = false, Prompt = 'You P1 bloodied tonight.', Description = 'Each night*, you learn if you are bloodied, and are then triaged at night.'},
['Bleeding Heart'] = {Type = 'Townsfolk', Ability = false, Response = false, Prompt = '', Description = 'Executed, bloodied good players do not die.'},
['Blood Hound'] = {Type = 'Townsfolk', Ability = false, Response = true, Prompt = 'Choose a player.', Description = 'The first time you are bloodied, you wake that night to learn the alignment of a chosen player.'},
['Blood Hound2'] = {Type = 'Info', Ability = false, Response = false, Prompt = 'That player is P1.', Description = ''},
['Blood Prophet'] = {Type = 'Townsfolk', Ability = false, Response = false, Prompt = 'Tonight, a P1 was bloodied.', Description = 'Each night*, if you are not bloodied, you wake to learn the character of one player who was bloodied tonight (or none).'},
['Coroner'] = {Type = 'Townsfolk', Ability = false, Response = true, Prompt = 'Choose a dead player.', Description = 'Each night*, choose a player: if they are dead, you learn the character of the player that killed them (nominator if executed).'},
['Coroner2'] = {Type = 'Info', Ability = false, Response = false, Prompt = 'That player was killed by a P1.', Description = ''},
['Tail'] = {Type = 'Townsfolk', Ability = false, Response = true, Prompt = 'Choose a player.', Description = 'Each night, choose a player: you learn one of the players they visited tonight.'},
['Tail2'] = {Type = 'Info', Ability = false, Response = false, Prompt = 'That player visited P1 tonight.', Description = ''},
['Flagellant'] = {Type = 'Townsfolk', Ability = false, Response = false, Prompt = 'Choose a player.', Description = 'Each night*, choose a player: they are bloodied.'},
['Huntress'] = {Type = 'Townsfolk', Ability = false, Response = true, Prompt = 'Choose a player.', Description = 'Each night, choose a player: you learn if they are bloodied. All minions start the game bloodied.'},
['Huntress2'] = {Type = 'Info', Ability = false, Response = false, Prompt = 'That player P1 bloodied.', Description = ''},
['Inquisitor'] = {Type = 'Townsfolk', Ability = false, Response = true, Prompt = 'Choose two players.', Description = 'Each night, choose two players. You learn if a demon is among them. If either chosen player is bloodied, you are poisoned tonight.'},
['Inquisitor2'] = {Type = 'Info', Ability = false, Response = false, Prompt = 'There P1 a demon among those players.', Description = ''},
['Phlebotomist'] = {Type = 'Townsfolk', Ability = false, Response = false, Prompt = 'Tonight, P1 living players are bloodied.', Description = 'Each night, you learn how many living players are bloodied.'},
['Torturer'] = {Type = 'Townsfolk', Ability = false, Response = true, Prompt = 'Choose a player.', Description = 'Each night*, choose a player: you learn their alignment, and they are bloodied if good.'},
['Torturer2'] = {Type = 'Info', Ability = false, Response = false, Prompt = 'That player is P1.', Description = ''},

['Anemic'] = {Type = 'Outsider', Ability = false, Response = false, Prompt = '', Description = 'If you become bloodied, you die.'},
['Beekeeper'] = {Type = 'Outsider', Ability = false, Response = false, Prompt = '', Description = 'If you die, 2 other players are bloodied tonight.'},
['Hemophobe'] = {Type = 'Outsider', Ability = false, Response = false, Prompt = '', Description = 'You always register as bloodied. (You must still be bloodied twice to die).'},
['Patient Zero'] = {Type = 'Outsider', Ability = false, Response = false, Prompt = '', Description = 'You think and act as if you are a Townsfolk. Each night, one of your closest neighbors that is not bloodied becomes bloodied.'},
['Septicemiac'] = {Type = 'Outsider', Ability = false, Response = false, Prompt = '', Description = 'While you are bloodied, your living neighbors are poisoned if good.'},

['Butcher'] = {Type = 'Minion', Ability = false, Response = false, Prompt = '', Description = 'Once per game, during the day, you may publicly bloody one player. [+1 Outsider]'},
['Crone'] = {Type = 'Minion', Ability = false, Response = false, Prompt = '', Description = 'Any good player who nominates another good player is bloodied tonight.'},
['Savage'] = {Type = 'Minion', Ability = false, Response = false, Prompt = 'Choose who to bloody.', Description = 'Each night*, choose a player: they are bloodied. You start the game bloodied (if not already).'},

['Aswang'] = {Type = 'Demon', Ability = false, Response = false, Prompt = 'Choose who to bloody.', Description = 'Each night, choose a player: they are bloodied. At any time, if both alive neighbors for a bloodied player are also bloodied, that player dies. You always register as bloodied. [+1 Outsider]'},
['Bean-nighe'] = {Type = 'Demon', Ability = false, Response = false, Prompt = 'Choose.', Description = 'Each night, either: 1. Choose a player, they are bloodied. 2. Bloody all players who are not bloodied.'},
['Empusa'] = {Type = 'Demon', Ability = false, Response = false, Prompt = 'Choose who to kill.', Description = 'Each night*, choose a player: they die. All good players are poisoned while bloodied.'},
['Yara-ma-yha-who'] = {Type = 'Demon', Ability = false, Response = false, Prompt = 'Choose who to kill.', Description = 'Each night*, choose a player. If the chosen player is not bloodied, they die. Otherwise, you die and the chosen player becomes an evil Yara-ma-yha-who.'},
}

PROMPTS = {
Expand Down Expand Up @@ -659,6 +734,16 @@ PROMPTS = {
['Ambusher Info'] = {P1 = {type = "Color"}},
['Warrior'] = {P1 = {type = "State", quality = "Are"}},
['Bogman Info'] = {P1 = {type = "Color"}},

['Berserker'] = {P1 = {type = "State", quality = "Are"}},
['Blood Prophet'] = {P1 = {type = "Character", quality = "All"}},
['Blood Hound2'] = {P1 = {type = "State", quality = "Alignment"}},
['Coroner2'] = {P1 = {type = "Character", quality = "All"}},
['Tail2'] = {P1 = {type = "Color"}},
['Huntress2'] = {P1 = {type = "State", quality = "Is"}},
['Inquisitor2'] = {P1 = {type = "State", quality = "Is"}},
['Phlebotomist'] = {P1 = {type = "Number", min = 0, max = 15}},
['Torturer2'] = {P1 = {type = "State", quality = "Alignment"}},
}

DECAL_URLS =
Expand Down Expand Up @@ -859,6 +944,31 @@ DECAL_URLS =
['Rakshasa'] = 'http://cloud-3.steamusercontent.com/ugc/788618668516830699/EE2C216511A43CBE63DD688D0365EA2FDEA8FB98/',
['Xolotl'] = 'http://cloud-3.steamusercontent.com/ugc/778486750207336897/668FC86E04C1B147D36752F7F60E3D66F6B3A27A/',
['Turncoat'] = 'http://cloud-3.steamusercontent.com/ugc/778486750207336737/FAAD1F1B20A793A9CE529C5F3DFA788B49669C85/',

['Bacchant'] = 'https://i.imgur.com/ErBmVHR.png',
['Berserker'] = 'https://i.imgur.com/hVzUCd9.png',
['Bleeding Heart'] = 'https://i.imgur.com/yqaLYEU.png',
['Blood Hound'] = 'https://i.imgur.com/cK6JUTr.png',
['Blood Prophet'] = 'https://i.imgur.com/JCczwFs.png',
['Coroner'] = 'https://i.imgur.com/XbxrifD.png',
['Flagellant'] = 'https://i.imgur.com/0IG2V4K.png',
['Tail'] = 'https://i.imgur.com/bnW3zLz.png',
['Huntress'] = 'https://i.imgur.com/kUergYg.png',
['Inquisitor'] = 'https://i.imgur.com/q2svnLD.png',
['Phlebotomist'] = 'https://i.imgur.com/ykALvZ6.png',
['Torturer'] = 'https://i.imgur.com/ThPetiz.png',
['Anemic'] = 'https://i.imgur.com/svJrzAj.png',
['Beekeeper'] = 'https://i.imgur.com/uNjB2tD.png',
['Septicemiac'] = 'https://i.imgur.com/hmhIBem.png',
['Hemophobe'] = 'https://i.imgur.com/g92gE5u.png',
['Patient Zero'] = 'https://i.imgur.com/zGXhWgq.png',
['Butcher'] = 'https://i.imgur.com/0QSqY93.png',
['Crone'] = 'https://i.imgur.com/LxLj80F.png',
['Savage'] = 'https://i.imgur.com/5UsFvQB.png',
['Aswang'] = 'https://i.imgur.com/lfTGTeY.png',
['Bean-nighe'] = 'https://i.imgur.com/T2aRGDw.png',
['Empusa'] = 'https://i.imgur.com/f7QWj5i.png',
['Yara-ma-yha-who'] = 'https://i.imgur.com/wlcfB4p.png',
}

REMINDER_TOKENS = {
Expand Down Expand Up @@ -1252,7 +1362,7 @@ REMINDER_TOKENS = {
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013195263/49566AF6591C66E721B25F62B8D6867ED83C023E/'},
},
['Medicine Man'] = {
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013188613/E9BB26CFED861F127D546DE40FB48B7E1345A90B/'},
{num = 2, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013188613/E9BB26CFED861F127D546DE40FB48B7E1345A90B/'},
},
['Reveler'] = {
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013248468/FFCB7761F9C3D2F9C82CF64FAF48272D5171A9A3/'},
Expand Down Expand Up @@ -1349,5 +1459,65 @@ REMINDER_TOKENS = {
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/778486750207390902/7BA61311BAB838ECB6EB729458A00B2877E204DD/'},
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/778486750207391079/0EDA9681C58BCC851BB46E336C544A7DBD0CF672/'},
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/778486750207391246/8DA84F0044D989E9E5857B067A5A6849427A8050/'},
}
},

['Bacchant'] = {
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/779613284195787247/2E0927387F10FEB6A1A51988352EADA80CDD378F/'},
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013188613/E9BB26CFED861F127D546DE40FB48B7E1345A90B/'},
},
['Berserker'] = {
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013195263/49566AF6591C66E721B25F62B8D6867ED83C023E/'},
},
['Blood Prophet'] = {
{num = 5, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
},
['Flagellant'] = {
{num = 5, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
},
['Huntress'] = {
{num = 5, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
},
['Inquisitor'] = {
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/779613284193552870/F9D99BEA975E112BD4D7CE3166AEB3A7F02683DB/'},
},
['Torturer'] = {
{num = 5, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186641/2A035E00DC6BB26A3D909F8E4DABC9051569592B/'},
},
['Beekeeper'] = {
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013185182/C91B22213483CA5C06AD91245177019EE638549A/'},
{num = 2, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
},
['Patient Zero'] = {
{num = 5, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
},
['Septicemiac'] = {
{num = 2, url = 'http://cloud-3.steamusercontent.com/ugc/779613284195787247/2E0927387F10FEB6A1A51988352EADA80CDD378F/'},
},
['Butcher'] = {
{num = 2, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
},
['Crone'] = {
{num = 5, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/779613284193812205/950C2672E4CB9F597D4A4E1B1D173EAE01FC1273/'},
},
['Savage'] = {
{num = 5, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
},
['Aswang'] = {
{num = 7, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186641/2A035E00DC6BB26A3D909F8E4DABC9051569592B/'},
},
['Bean-nighe'] = {
{num = 10, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186641/2A035E00DC6BB26A3D909F8E4DABC9051569592B/'},
},
['Empusa'] = {
{num = 3, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/788618668507706560/9AF9925E15830CB430276DD7B8EF2B8DE2B5F65D/'},
},
['Yara-ma-yha-who'] = {
{num = 3, url = 'http://cloud-3.steamusercontent.com/ugc/1057730731013186414/4B3197F4EF562A1342B3A5B72A36ACE011AD902F/'},
{num = 1, url = 'http://cloud-3.steamusercontent.com/ugc/788618668507706560/9AF9925E15830CB430276DD7B8EF2B8DE2B5F65D/'},
},
}
3 changes: 3 additions & 0 deletions DealChars.ttslua
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ function dealToPlayers(clickedObject, playerColor)
elseif v.name == 'Marionette' then
Player['Black'].broadcast('Error: Remove the Marionette token from the bag before dealing the character tokens.', {1,0,0})
return
elseif v.name == 'Patient Zero' then
Player['Black'].broadcast('Error: Remove the Patient Zero token from the bag before dealing the character tokens.', {1,0,0})
return
end
end

Expand Down
2 changes: 0 additions & 2 deletions NightHelper.ttslua
Original file line number Diff line number Diff line change
Expand Up @@ -316,8 +316,6 @@ function setNightOrder(night)
table.insert(order, {char = 'Ambusher Info', color = v2.color})
elseif v2.char == 'Bogman' and night == 'first' then
table.insert(order, {char = 'Bogman Info', color = v2.color})
elseif v2.char == 'Inquisitor' and night == 'other' then
table.insert(order, {char = 'Inquisitor Info', color = v2.color})
elseif CHARACTERS[v2.char].Response == true then
table.insert(order, v2)
table.insert(order, {char = v2.char .. '2', color = v2.color})
Expand Down

0 comments on commit f7cbfe1

Please sign in to comment.