92 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """
 | |
| Role Constants
 | |
| 
 | |
|     Role Alignment guide as follows:
 | |
|         Town: 1
 | |
|         Werewolf: 2
 | |
|         Neutral: 3
 | |
| 
 | |
|         Additional alignments may be added when warring factions are added
 | |
|         (Rival werewolves, cultists, vampires)
 | |
| 
 | |
|     Role Category enrollment guide as follows (See Role.category):
 | |
|         Town:
 | |
|         1: Random, 2: Investigative, 3: Protective, 4: Government,
 | |
|         5: Killing, 6: Power (Special night action)
 | |
| 
 | |
|         Werewolf:
 | |
|         11: Random, 12: Deception, 15: Killing, 16: Support
 | |
| 
 | |
|         Neutral:
 | |
|         21: Benign, 22: Evil, 23: Killing
 | |
| 
 | |
| 
 | |
|         Example category:
 | |
|         category = [1, 5, 6] Could be Veteran
 | |
|         category = [1, 5] Could be Bodyguard
 | |
|         category = [11, 16] Could be Werewolf Silencer
 | |
|         category = [22] Could be Blob (non-killing)
 | |
|         category = [22, 23] Could be Serial-Killer
 | |
| """
 | |
| 
 | |
| 
 | |
| ALIGNMENT_TOWN = 1
 | |
| ALIGNMENT_WEREWOLF = 2
 | |
| ALIGNMENT_NEUTRAL = 3
 | |
| ALIGNMENT_MAP = {"Town": 1, "Werewolf": 2, "Neutral": 3}
 | |
| 
 | |
| # 0-9: Town Role Categories
 | |
| # 10-19: Werewolf Role Categories
 | |
| # 20-29: Neutral Role Categories
 | |
| CATEGORY_TOWN_RANDOM = 1
 | |
| CATEGORY_TOWN_INVESTIGATIVE = 2
 | |
| CATEGORY_TOWN_PROTECTIVE = 3
 | |
| CATEGORY_TOWN_GOVERNMENT = 4
 | |
| CATEGORY_TOWN_KILLING = 5
 | |
| CATEGORY_TOWN_POWER = 6
 | |
| 
 | |
| CATEGORY_WW_RANDOM = 11
 | |
| CATEGORY_WW_DECEPTION = 12
 | |
| CATEGORY_WW_KILLING = 15
 | |
| CATEGORY_WW_SUPPORT = 16
 | |
| 
 | |
| CATEGORY_NEUTRAL_BENIGN = 21
 | |
| CATEGORY_NEUTRAL_EVIL = 22
 | |
| CATEGORY_NEUTRAL_KILLING = 23
 | |
| 
 | |
| ROLE_CATEGORY_DESCRIPTIONS = {
 | |
|     CATEGORY_TOWN_RANDOM: "Random",
 | |
|     CATEGORY_TOWN_INVESTIGATIVE: "Investigative",
 | |
|     CATEGORY_TOWN_PROTECTIVE: "Protective",
 | |
|     CATEGORY_TOWN_GOVERNMENT: "Government",
 | |
|     CATEGORY_TOWN_KILLING: "Killing",
 | |
|     CATEGORY_TOWN_POWER: "Power (Special night action)",
 | |
|     CATEGORY_WW_RANDOM: "Random",
 | |
|     CATEGORY_WW_DECEPTION: "Deception",
 | |
|     CATEGORY_WW_KILLING: "Killing",
 | |
|     CATEGORY_WW_SUPPORT: "Support",
 | |
|     CATEGORY_NEUTRAL_BENIGN: "Benign",
 | |
|     CATEGORY_NEUTRAL_EVIL: "Evil",
 | |
|     CATEGORY_NEUTRAL_KILLING: "Killing",
 | |
| }
 | |
| 
 | |
| 
 | |
| """
 | |
| Listener Actions Priority Guide
 | |
| 
 | |
|     Action priority guide as follows (see listeners.py for wolflistener):
 | |
|         _at_night_start
 | |
|         0. No Action
 | |
|         1. Detain actions (Jailer/Kidnapper)
 | |
|         2. Group discussions and choose targets
 | |
| 
 | |
|         _at_night_end
 | |
|         0. No Action
 | |
|         1. Self actions (Veteran)
 | |
|         2. Target switching and role blocks (bus driver, witch, escort)
 | |
|         3. Protection / Preempt actions (bodyguard/framer)
 | |
|         4. Non-disruptive actions (seer/silencer)
 | |
|         5. Disruptive actions (Killing)
 | |
|         6. Role altering actions (Cult / Mason / Shifter)
 | |
| """
 | 
