Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add crimson trial script #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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})
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was confused why the "Inquisitor" character I created wasn't showing up in the standard night order for a while. I couldn't see anything that references this character, so I believe it's safe to remove this special case.

elseif CHARACTERS[v2.char].Response == true then
table.insert(order, v2)
table.insert(order, {char = v2.char .. '2', color = v2.color})
Expand Down