184 lines
5 KiB
Python
184 lines
5 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
import lvpwb as app
|
|
|
|
PS1_GAMES = {"sd1", "sd2"}
|
|
|
|
SEASON_CYCLE = ("Raw", "SmackDown", "PPV")
|
|
|
|
SHOW_BRANDS = SEASON_CYCLE
|
|
|
|
DEFAULT_CUSTOM_SHOWS = {
|
|
"Raw": "Weekly Show #1",
|
|
"SmackDown": "Weekly Show #2",
|
|
"PPV": "Big Pay-Per-View",
|
|
}
|
|
|
|
CHAMPIONSHIPS = (
|
|
"Tag Team",
|
|
"World Wrestling Federation",
|
|
"Intercontinental",
|
|
"European",
|
|
"Hardcore",
|
|
"Light-Heavyweight",
|
|
"Women's",
|
|
)
|
|
|
|
PPV_TITLE_WEIGHT = 1.5
|
|
|
|
PPV_RIVALRY_WEIGHT = 1.5
|
|
|
|
MATCH_BASE_RATINGS = {
|
|
"Singles": 4.5,
|
|
"Tag Team": 4.5,
|
|
"Tornado Tag": 4.5,
|
|
"Handicap": 4.5,
|
|
"Triple Threat": 5.5,
|
|
"Fatal 4-Way": 5.5,
|
|
"Battle Royal": 5.5,
|
|
"Cage": 6.5,
|
|
"Ladder": 6.5,
|
|
"Hardcore": 7.5,
|
|
"Table": 7.5,
|
|
"TLC": 7.5,
|
|
"Hell in a Cell": 9.5,
|
|
"I Quit": 9.5,
|
|
}
|
|
|
|
MATCH_TIME_BONUS_PER_MINUTE = 0.1
|
|
|
|
MATCH_TIME_BONUS_CAP = 5.0
|
|
|
|
MATCH_ACTION_BONUS_CAP = 10.0
|
|
|
|
FINISHER_BONUS = 0.5
|
|
|
|
NEAR_FALL_BONUS = 0.2
|
|
|
|
TITLE_MATCH_MULTIPLIER = 1.5
|
|
|
|
PPV_MATCH_WEIGHTS = (0.2, 0.3, 0.5)
|
|
|
|
MATCH_OUTCOME_OPTIONS = {
|
|
"Ladder": ("Item retrieval",),
|
|
"TLC": ("Item retrieval",),
|
|
"Table": ("Table break",),
|
|
"Battle Royal": ("Last wrestler standing",),
|
|
"Cage": ("Escape the cage",),
|
|
}
|
|
|
|
STANDARD_MATCH_OUTCOMES = ("Pinfall", "Submission")
|
|
|
|
WOMEN_ROSTERS = {
|
|
"sd1": {"Debra", "Tori", "Chyna"},
|
|
"sd2": {"Ivory", "Jacqueline", "The Kat", "Lita", "Chyna",
|
|
"Stephanie McMahon", "Tori", "Trish Stratus"},
|
|
"sd3": {"Ivory", "Lita", "Molly Holly", "Stephanie McMahon-Helmsley",
|
|
"Trish Stratus"},
|
|
}
|
|
|
|
GAMES: dict[str, dict[str, str]] = {
|
|
"sd1": {"title": "WWF SmackDown!", "roster": "smackdown1roster.json"},
|
|
"sd2": {"title": "WWF SmackDown! 2: Know Your Role", "roster": "smackdown2roster.json"},
|
|
"sd3": {"title": "WWF SmackDown! Just Bring It", "roster": "smackdown3roster.json"},
|
|
}
|
|
|
|
MATCH_TYPES: dict[str, list[tuple[str, tuple[int, ...]]]] = {
|
|
"sd1": [
|
|
("Singles", (1, 1)),
|
|
("Tag Team", (2, 2)),
|
|
("Handicap", (2, 1)),
|
|
("Triple Threat", (1, 1, 1)),
|
|
("Fatal 4-Way", (1, 1, 1, 1)),
|
|
("Battle Royal", (1, 1, 1, 1)),
|
|
("Cage", (1, 1)),
|
|
("Hardcore", (1, 1)),
|
|
],
|
|
"sd2": [
|
|
("Singles", (1, 1)),
|
|
("Tag Team", (2, 2)),
|
|
("Tornado Tag", (2, 2)),
|
|
("Handicap", (2, 1)),
|
|
("Triple Threat", (1, 1, 1)),
|
|
("Fatal 4-Way", (1, 1, 1, 1)),
|
|
("Battle Royal", (1, 1, 1, 1)),
|
|
("Cage", (1, 1)),
|
|
("Hardcore", (1, 1)),
|
|
("Ladder", (1, 1)),
|
|
("Table", (1, 1)),
|
|
("Hell in a Cell", (1, 1)),
|
|
],
|
|
"sd3": [
|
|
("Singles", (1, 1)),
|
|
("Tag Team", (2, 2)),
|
|
("Tornado Tag", (2, 2)),
|
|
("Handicap", (2, 1)),
|
|
("Triple Threat", (1, 1, 1)),
|
|
("Fatal 4-Way", (1, 1, 1, 1)),
|
|
("Battle Royal", (1, 1, 1, 1)),
|
|
("Cage", (1, 1)),
|
|
("Hardcore", (1, 1)),
|
|
("Ladder", (1, 1)),
|
|
("Table", (1, 1)),
|
|
("TLC", (2, 2)),
|
|
("Hell in a Cell", (1, 1)),
|
|
],
|
|
}
|
|
|
|
BUILTIN_GAME_IDS = frozenset(GAMES)
|
|
|
|
CUSTOM_GAME_CONFIGS: dict[str, dict[str, Any]] = {}
|
|
|
|
CITY_ATTENDANCE_RANGES: dict[str, tuple[int, int]] = {
|
|
# United States
|
|
"New York, NY": (17000, 19800),
|
|
"Boston, MA": (14500, 17500),
|
|
"Philadelphia, PA": (15000, 19500),
|
|
"Chicago, IL": (18000, 22000),
|
|
"Detroit, MI": (15000, 20000),
|
|
"Atlanta, GA": (12000, 17000),
|
|
"Dallas, TX": (14000, 18000),
|
|
"Los Angeles, CA": (15000, 19000),
|
|
"San Francisco, CA": (13000, 16000),
|
|
"Seattle, WA": (12000, 15500),
|
|
"Minneapolis, MN": (12000, 16500),
|
|
"Nashville, TN": (10000, 15000),
|
|
"Miami, FL": (12500, 15500),
|
|
# Canada
|
|
"Toronto, ON": (15000, 19000),
|
|
"Montreal, QC": (16000, 20000),
|
|
"Vancouver, BC": (14000, 17000),
|
|
"Calgary, AB": (9500, 13000),
|
|
# Europe
|
|
"London, England": (12000, 17000),
|
|
"Manchester, England": (9000, 12500),
|
|
"Dublin, Ireland": (9000, 13000),
|
|
"Paris, France": (13000, 17000),
|
|
"Berlin, Germany": (11000, 14500),
|
|
"Amsterdam, Netherlands": (9000, 12000),
|
|
"Madrid, Spain": (10000, 13500),
|
|
"Milan, Italy": (9000, 12500),
|
|
# Japan
|
|
"Tokyo, Japan": (15000, 45000),
|
|
"Yokohama, Japan": (12000, 18000),
|
|
"Osaka, Japan": (11000, 17000),
|
|
"Nagoya, Japan": (9000, 12000),
|
|
"Sapporo, Japan": (8000, 11000),
|
|
"Fukuoka, Japan": (8000, 11000),
|
|
}
|
|
|
|
DEFAULT_ATTENDANCE_RANGE = (7000, 15000)
|
|
|
|
RESET = "\033[0m"
|
|
|
|
RED = "\033[31m"
|
|
|
|
YELLOW = "\033[33m"
|
|
|
|
CYAN = "\033[36m"
|
|
|
|
DIM = "\033[2m"
|
|
|
|
__all__ = ['BUILTIN_GAME_IDS', 'CHAMPIONSHIPS', 'CITY_ATTENDANCE_RANGES', 'CUSTOM_GAME_CONFIGS', 'CYAN', 'DEFAULT_ATTENDANCE_RANGE', 'DEFAULT_CUSTOM_SHOWS', 'DIM', 'FINISHER_BONUS', 'GAMES', 'MATCH_ACTION_BONUS_CAP', 'MATCH_BASE_RATINGS', 'MATCH_OUTCOME_OPTIONS', 'MATCH_TIME_BONUS_CAP', 'MATCH_TIME_BONUS_PER_MINUTE', 'MATCH_TYPES', 'NEAR_FALL_BONUS', 'PPV_MATCH_WEIGHTS', 'PPV_RIVALRY_WEIGHT', 'PPV_TITLE_WEIGHT', 'PS1_GAMES', 'RED', 'RESET', 'SEASON_CYCLE', 'SHOW_BRANDS', 'STANDARD_MATCH_OUTCOMES', 'TITLE_MATCH_MULTIPLIER', 'WOMEN_ROSTERS', 'YELLOW']
|