Ejemplo n.º 1
0
 def __init__(self) -> None:
     self.ForceOption = Options.Boolean(
         "Force Offline Mode",
         "Forces your game to never connect to SHiFT.", False)
     self.WarningOption = Options.Boolean(
         "Hide Offline Warning",
         "Automatically hides the offline mode warning.", True)
     self.Options = [self.ForceOption, self.WarningOption]
Ejemplo n.º 2
0
    def __init__(self) -> None:
        self.UsedOptions = []
        self.ArtifactOptionMap = {}
        self.FlashNameOptionMap = {}

        current_game = Game.GetCurrent()
        for manu in ALL_MANUFACTURERS:
            can_be_shown = current_game in manu.SupportedGames
            option = Options.Boolean(
                Caption=manu.Name,
                Description=f"Should you be able to equip {manu.Name} items.",
                StartingValue=True,
                Choices=self.AllowChoices,
                IsHidden=not can_be_shown)
            self.UsedOptions.append(option)

            # Just to prevent bandit and scav from overwriting each other
            if can_be_shown:
                if manu.Artifact is not None:
                    self.ArtifactOptionMap[manu.Artifact] = option
                self.FlashNameOptionMap[manu.FlashLabelName] = option

        self.AllegianceRelics = Options.Boolean(
            Caption="Allegiance Relics",
            Description=
            ("Should you be able to equip allegiance relics. You will only be able to equip ones"
             " that boost manufacturers you're already allowed to equip."),
            StartingValue=False,
            Choices=self.AllowChoices,
            IsHidden=current_game != Game.BL2)

        self.UseableItems = Options.Boolean(
            Caption="Ignore Usable Items",
            Description=
            ("Should you be able to use useable items regardless of their manufacturer. This"
             " includes things such as health vials, oxygen, SDUs, shield boosters, and more."
             ),
            StartingValue=True)

        self.WeaponsOnly = Options.Boolean(
            Caption="Weapons Only",
            Description=
            "Only prevent equipping weapons. This overwrites the previous two options.",
            StartingValue=False)

        self.UsedOptions.append(self.AllegianceRelics)
        self.UsedOptions.append(self.UseableItems)
        self.UsedOptions.append(self.WeaponsOnly)
Ejemplo n.º 3
0
    def __init__(self) -> None:
        self.Options = []
        self.OptionRestrictionMap = {}

        for r_set in ALL_RESTRICTION_SETS:
            self.Options.append(
                Options.Nested(r_set.Name, r_set.Description,
                               r_set.UsedOptions))
            enabled = Options.Boolean(
                "Enable " + r_set.Name,
                "Should this restriction set be enabled.", False)
            self.OptionRestrictionMap[enabled] = r_set
            self.Options.append(enabled)
Ejemplo n.º 4
0
    def __init__(self) -> None:
        self.UsedOptions = []
        self.RarityOptionMap = {}

        current_game = Game.GetCurrent()
        for rarity in ALL_RARITIES:
            can_be_shown = current_game in rarity.SupportedGames
            option = Options.Boolean(
                Caption=rarity.Name,
                Description=f"Should you be able to equip {rarity.Name} items.",
                StartingValue=True,
                Choices=self.AllowChoices,
                IsHidden=not can_be_shown)
            self.UsedOptions.append(option)

            # Just to prevent seraph/glitch from overwriting each other
            if can_be_shown:
                self.RarityOptionMap[rarity.Value] = option
Ejemplo n.º 5
0
    def __init__(self) -> None:
        self.UsedOptions = []
        self.WeaponOptionMap = {}
        self.ItemOptionMap = {}

        current_game = Game.GetCurrent()
        for item_type in ALL_WEAPON_TYPES + ALL_ITEM_TYPES:
            can_be_shown = current_game in item_type.SupportedGames
            option = Options.Boolean(
                Caption=item_type.Name,
                Description=f"Should you be able to equip {item_type.Name}.",
                StartingValue=True,
                Choices=self.AllowChoices,
                IsHidden=not can_be_shown)
            self.UsedOptions.append(option)

            # Just to prevent relics/oz kits from overwriting each other
            if can_be_shown:
                if isinstance(item_type, WeaponType):
                    self.WeaponOptionMap[item_type.Value] = option
                else:
                    self.ItemOptionMap[item_type.Class] = option
Ejemplo n.º 6
0
    def SetDefaultOptions(self) -> None:
        self.DetailedOption = Options.Boolean(
            "Detailed Part Names",
            "Should part names include the weapon and part type they're for rather than just"
            " the manufacturer.", False)
        self.FontSizeOption = Options.Slider(
            "Font Size",
            "What font size should the parts text use. Decrease this if text is getting cut off.",
            14, 8, 24, 1)
        self.RemoveOption = Options.Boolean(
            "Remove Descriptions",
            "Should the default descriptions be removed to create more space for the part"
            " descriptions.", False)

        self.Options = [
            self.DetailedOption,
            self.FontSizeOption,
            self.RemoveOption,
            ItemClassOption(
                "Weapons",
                "WillowWeapon",
                (PartOption("Accessory", True, ("Accessory1PartDefinition", )),
                 PartOption("2nd Accessory", False,
                            ("Accessory2PartDefinition", )),
                 PartOption("Barrel", True, ("BarrelPartDefinition", )),
                 PartOption("Body", False, ("BodyPartDefinition", )),
                 PartOption("Element", False, ("ElementalPartDefinition", )),
                 PartOption("Grip", True, ("GripPartDefinition", )),
                 PartOption("Material", False, ("MaterialPartDefinition", )),
                 PartOption("Sight", True, ("SightPartDefinition", )),
                 PartOption("Stock", True, ("StockPartDefinition", )),
                 PartOption("Type", False, ("WeaponTypeDefinition", ))),
            ),
            ItemClassOption("Shields", "WillowShield", (
                PartOption("Accessory",
                           False, ("DeltaItemPartDefinition", )),
                PartOption(
                    "Battery",
                    True, ("BetaItemPartDefinition", )),
                PartOption("Body", True, ("AlphaItemPartDefinition", )),
                PartOption(
                    "Capacitor",
                    True, ("GammaItemPartDefinition", )),
                PartOption("Material", False,
                           ("MaterialItemPartDefinition", )),
                PartOption("Type", False,
                           ("ItemDefinition", )),
                PartOption(
                    "Extras", True,
                    ("EpsilonItemPartDefinition", "ZetaItemPartDefinition",
                     "EtaItemPartDefinition", "ThetaItemPartDefinition"),
                    "Should parts in slots that aren't normally used be shown if they contain a part."
                ))),
            ItemClassOption("Grenades", "WillowGrenadeMod",
                            (PartOption("Accessory", False,
                                        ("DeltaItemPartDefinition", )),
                             PartOption("Blast Radius", True,
                                        ("ZetaItemPartDefinition", )),
                             PartOption("Child Count", True,
                                        ("EtaItemPartDefinition", )),
                             PartOption("Damage", False,
                                        ("EpsilonItemPartDefinition", )),
                             PartOption("Delivery", True,
                                        ("BetaItemPartDefinition", )),
                             PartOption("Material", False,
                                        ("MaterialItemPartDefinition", )),
                             PartOption("Payload", False,
                                        ("AlphaItemPartDefinition", )),
                             PartOption("Status Damage", False,
                                        ("ThetaItemPartDefinition", )),
                             PartOption("Trigger", True,
                                        ("GammaItemPartDefinition", )),
                             PartOption("Type", False, ("ItemDefinition", )))),
            ItemClassOption("Class Mods", "WillowClassMod", (
                PartOption("Specialization", True,
                           ("AlphaItemPartDefinition", )),
                PartOption("Primary", True, ("BetaItemPartDefinition", )),
                PartOption(
                    "Secondary",
                    True, ("GammaItemPartDefinition", )),
                PartOption("Penalty", True, ("MaterialItemPartDefinition", )),
                PartOption("Type", False, ("ItemDefinition", )),
                PartOption(
                    "Extras", True,
                    ("DeltaItemPartDefinition", "EpsilonItemPartDefinition",
                     "ZetaItemPartDefinition", "EtaItemPartDefinition",
                     "ThetaItemPartDefinition"),
                    "Should parts in slots that aren't normally used be shown if they contain a part."
                ))),
            ItemClassOption(
                "Relics",
                "WillowArtifact",
                (
                    PartOption("Body", False, ("EtaItemPartDefinition", )),
                    PartOption("Upgrade", True, ("ThetaItemPartDefinition", )),
                    # These are the various relic enable effect parts
                    # There isn't really a pattern to them so go with the slot name
                    PartOption("Alpha", False, ("AlphaItemPartDefinition", )),
                    PartOption("Beta", False, ("BetaItemPartDefinition", )),
                    PartOption("Gamma", False, ("GammaItemPartDefinition", )),
                    PartOption("Delta", False, ("DeltaItemPartDefinition", )),
                    PartOption("Epsilon", False,
                               ("EpsilonItemPartDefinition", )),
                    PartOption("Zeta", False, ("ZetaItemPartDefinition", )),
                    PartOption("Type", False, ("ItemDefinition", )),
                    PartOption(
                        "Extras", True, ("MaterialItemPartDefinition", ),
                        "Should parts in slots that aren't normally used be shown if they contain a part."
                    )),
                IsHidden=Game.GetCurrent() != Game.BL2),
            ItemClassOption(
                "Oz Kits",
                "WillowArtifact",
                (
                    PartOption("Body", False, ("EtaItemPartDefinition", )),
                    PartOption("Upgrade", True, ("ThetaItemPartDefinition", )),
                    # These are the various relic enable effect parts
                    # There isn't really a pattern to them so go with the slot name
                    PartOption("Alpha", False, ("AlphaItemPartDefinition", )),
                    PartOption("Beta", False, ("BetaItemPartDefinition", )),
                    PartOption("Gamma", False, ("GammaItemPartDefinition", )),
                    PartOption("Delta", False, ("DeltaItemPartDefinition", )),
                    PartOption("Epsilon", False,
                               ("EpsilonItemPartDefinition", )),
                    PartOption("Zeta", False, ("ZetaItemPartDefinition", )),
                    PartOption("Type", False, ("ItemDefinition", )),
                    PartOption(
                        "Extras", True, ("MaterialItemPartDefinition", ),
                        "Should parts in slots that aren't normally used be shown if they contain a part."
                    )),
                IsHidden=Game.GetCurrent() != Game.TPS)
        ]
Ejemplo n.º 7
0
    def __init__(self) -> None:
        super().__init__()

        if Game.GetCurrent() == Game.BL2:
            optionSirenToggle = Options.Boolean(
                "Siren Skill Toggle", "Allows Maya to stop her Phaselock.", True
            )
            optionGunzerkerToggle = Options.Boolean(
                "Gunzerker Skill Toggle", "Allows Salvador to stop his Dual Wield.", True
            )
            optionCommandoToggle = Options.Boolean(
                "Commando Skill Toggle", "Allows Axton to recall his turrets.", True
            )
            optionAssassinToggle = Options.Boolean(
                "Assassin Skill Toggle", "Allows Zer0 to stop Decepti0n.", True
            )
            optionMechromancerToggle = Options.Boolean(
                "Mechromancer Skill Toggle", "Allows Gaige to recall her Deathtrap.", True
            )
            optionPsychoToggle = Options.Boolean(
                "Psycho Skill Toggle",
                "Allows Krieg to return from his Buzzaxe Rampage.",
                True,
            )

            self._classOptions = {
                "Siren": optionSirenToggle,
                "Gunzerker": optionGunzerkerToggle,
                "Commando": optionCommandoToggle,
                "Assassin": optionAssassinToggle,
                "Mechromancer": optionMechromancerToggle,
                "Psycho": optionPsychoToggle,
            }
        elif Game.GetCurrent() == Game.TPS:
            optionGladiatorToggle = Options.Boolean(
                "Gladiator Skill Toggle", "Allows Athena to stop her Kinetic Aspis.", True
            )
            optionEnforcerToggle = Options.Boolean(
                "Enforcer Skill Toggle", "Allows Wilhelm to recall Wolf and Saint.", True
            )
            optionLawbringerToggle = Options.Boolean(
                "Lawbringer Skill Toggle", "Allows Nisha to stop her showdown.", True
            )
            optionFragtrapToggle = Options.Boolean(
                "Fragtrap Skill Toggle", "Allows Claptrap to stop VaultHunter.EXE.", True
            )
            optionDoppelgangerToggle = Options.Boolean(
                "Doppelganger Skill Toggle", "Allows Jack to stop his Expendable Assets.", True
            )
            optionBaronessToggle = Options.Boolean(
                "Baroness Skill Toggle", "Allows Aurelia to stop Cold As Ice.", True
            )

            self._classOptions = {
                "Gladiator": optionGladiatorToggle,
                "Enforcer": optionEnforcerToggle,
                "Lawbringer": optionLawbringerToggle,
                "Fragtrap": optionFragtrapToggle,
                "Doppelganger": optionDoppelgangerToggle,
                "Baroness": optionBaronessToggle,
            }

        self.Options = [*self._classOptions.values()]

        self.Keybinds = [
            Keybind(
                "Deactivate Action Skill",
                "F",
                True,
                OnPress=self._skillDeactivationHotkey,
            )
        ]