'GD_Soldier.Character.CharClass_Soldier'), ('Gaige', 'GD_Tulip_Mechro_Streaming.Pawn_Mechromancer', 'GD_Tulip_Mechromancer.Character.CharClass_Mechromancer'), ('Krieg', 'GD_Lilac_Psycho_Streaming.Pawn_LilacPlayerClass', 'GD_Lilac_PlayerClass.Character.CharClass_LilacPlayerClass'), ('Maya', 'GD_Siren_Streaming.Pawn_Siren', 'GD_Siren.Character.CharClass_Siren'), ('Salvador', 'GD_Mercenary_Streaming.Pawn_Mercenary', 'GD_Mercenary.Character.CharClass_Mercenary'), ('Zero', 'GD_Assassin_Streaming.Pawn_Assassin', 'GD_Assassin.Character.CharClass_Assassin'), ]: (pkg, shortobj) = streaming_obj.split('.', 1) hfs.add_demand_hotfix('{}GroundSpeed'.format(name), '{}GroundSpeed'.format(name), '{},{},GroundSpeed,,{}'.format( pkg, streaming_obj, ground_speed), activated=first_profile) hfs.add_demand_hotfix('{}GroundSpeedBaseValue'.format(name), '{}GroundSpeedBaseValue'.format(name), '{},{},GroundSpeedBaseValue,,{}'.format( pkg, streaming_obj, ground_speed), activated=first_profile) hfs.add_demand_hotfix('{}AirSpeed'.format(name), '{}AirSpeed'.format(name), '{},{},AirSpeed,,{}'.format( pkg, streaming_obj, air_speed), activated=first_profile) hfs.add_demand_hotfix('{}AirSpeedBaseValue'.format(name), '{}AirSpeedBaseValue'.format(name), '{},{},AirSpeedBaseValue,,{}'.format(
prefix = ' '*(4*2) for (label, vehicle_name, class_name) in [ ('Flak Cannon', 'GD_Co_StingRay_Streaming.Archetype.Vehicle_StingRay_FlakBurst', 'GD_Co_StingRay_Streaming.Archetype.Class_StingRay_FlakBurst', ), ('Cryo Rocket', 'GD_Co_StingRay_Streaming.Archetype.Vehicle_StingRay_CryoRocket', 'GD_Co_StingRay_Streaming.Archetype.Class_StingRay_CryoRocket', ), ]: hfs = Hotfixes(nameprefix=label) # Default: 2400 hfs.add_demand_hotfix('max_speed', 'Stingray', '{},{},MaxSpeed,,3400'.format(demand_name, vehicle_name)) # Default: 3000 hfs.add_demand_hotfix('full_air_speed', 'Stingray', '{},{},FullAirSpeed,,4000'.format(demand_name, vehicle_name)) # Default: 10000 hfs.add_demand_hotfix('afterburner_speed', 'Stingray', '{},{},AfterburnerSpeed,,14000'.format(demand_name, class_name)) # Default: 150 hfs.add_demand_hotfix('afterburner_force', 'Stingray', '{},{},AfterburnerForceMagnitude,,200'.format(demand_name, class_name)) # Default: 2 hfs.add_demand_hotfix('afterburner_boost_time', 'Stingray',
'Flak Cannon', 'GD_Co_StingRay_Streaming.Archetype.Vehicle_StingRay_FlakBurst', 'GD_Co_StingRay_Streaming.Archetype.Class_StingRay_FlakBurst', ), ( 'Cryo Rocket', 'GD_Co_StingRay_Streaming.Archetype.Vehicle_StingRay_CryoRocket', 'GD_Co_StingRay_Streaming.Archetype.Class_StingRay_CryoRocket', ), ]: hfs = Hotfixes(nameprefix=label) # Default: 2400 hfs.add_demand_hotfix( 'max_speed', 'Stingray', '{},{},MaxSpeed,,3400'.format(demand_name, vehicle_name)) # Default: 3000 hfs.add_demand_hotfix( 'full_air_speed', 'Stingray', '{},{},FullAirSpeed,,4000'.format(demand_name, vehicle_name)) # Default: 10000 hfs.add_demand_hotfix( 'afterburner_speed', 'Stingray', '{},{},AfterburnerSpeed,,14000'.format(demand_name, class_name)) # Default: 150 hfs.add_demand_hotfix( 'afterburner_force', 'Stingray',
""".format( pool=pool, idx=idx)) # OnDemand hotfixes for each player class for idx, (streaming, pool_reg, pool_aster, pool_lobelia) in enumerate(characters): short = streaming.split('_')[-2] for (weight, pool, individual_weight) in pools: hfs.add_demand_hotfix('com_{}_set_{}'.format(short, weight), 'COM{}Set'.format(short), """ {streaming}, {pool}, BalancedItems[{idx}].Probability.BaseValueConstant,, 1 """.format( streaming=streaming, pool=pool, idx=idx, )) ### ### Generate the mod string ### mod_str = """#<{mod_name}> # {mod_name} v{mod_version} # Licensed under Public Domain / CC0 1.0 Universal #
line_prefix = '#' line_suffix = '<off>' char_segments = {} for (name, streaming_obj, player_obj) in [ ('Athena', 'GD_Gladiator_Streaming.Pawn_Gladiator', 'GD_Gladiator.Character.CharClass_Gladiator'), ('Aurelia', 'Crocus_Baroness_Streaming.Pawn_Baroness', 'Crocus_Baroness.Character.CharClass_Baroness'), ('Fragtrap', 'GD_Prototype_Streaming.Pawn_Prototype', 'GD_Prototype.Character.CharClass_Prototype'), ('Jack', 'Quince_Doppel_Streaming.Pawn_Doppelganger', 'Quince_Doppel.Character.charclass_doppelganger'), ('Nisha', 'GD_Lawbringer_Streaming.Pawn_Lawbringer', 'GD_Lawbringer.Character.CharClass_Lawbringer'), ('Wilhelm', 'GD_Enforcer_Streaming.Pawn_Enforcer', 'GD_Enforcer.Character.CharClass_Enforcer'), ]: (pkg, shortobj) = streaming_obj.split('.', 1) hfs.add_demand_hotfix('{}GroundSpeed'.format(name), '{}GroundSpeed'.format(name), '{},{},GroundSpeed,,{}'.format(pkg, streaming_obj, ground_speed), activated=first_profile) hfs.add_demand_hotfix('{}GroundSpeedBaseValue'.format(name), '{}GroundSpeedBaseValue'.format(name), '{},{},GroundSpeedBaseValue,,{}'.format(pkg, streaming_obj, ground_speed), activated=first_profile) hfs.add_demand_hotfix('{}AirSpeed'.format(name), '{}AirSpeed'.format(name), '{},{},AirSpeed,,{}'.format(pkg, streaming_obj, air_speed), activated=first_profile) hfs.add_demand_hotfix('{}AirSpeedBaseValue'.format(name), '{}AirSpeedBaseValue'.format(name), '{},{},AirSpeedBaseValue,,{}'.format(pkg, streaming_obj, air_speed), activated=first_profile) hfs.add_demand_hotfix('{}JumpZ'.format(name), '{}JumpZ'.format(name),
""".format( pool=pool, idx=idx)) # OnDemand hotfixes for each player class for idx, (streaming, pool_reg, pool_chronicler, pool_petunia) in enumerate(characters): short = streaming.split('_')[-2] for (weight, pool, individual_weight) in pools: hfs.add_demand_hotfix('com_{}_set_{}'.format(short, weight), 'COM{}Set'.format(short), """ {streaming}, {pool}, BalancedItems[{idx}].Probability.BaseValueConstant,, 1 """.format( streaming=streaming, pool=pool, idx=idx, )) ### ### Generate the mod string ### mod_str = """#<{mod_name}> # {mod_name} v{mod_version} # Licensed under Public Domain / CC0 1.0 Universal #
'GD_Orchid_RocketHovercraft', 'GD_Orchid_RocketHovercraft.Archetype.Vehicle_RocketHovercraft', 'GD_Orchid_RocketHovercraft.ClassDefinition.Class_RocketHovercraft', ), ( 'Sawblade', 'GD_Orchid_SawHovercraft', 'GD_Orchid_SawHovercraft.Archetype.Vehicle_SawBladeHovercraft', 'GD_Orchid_SawHovercraft.ClassDefinition.Class_SawBladeHovercraft', ), ]: hfs = Hotfixes(nameprefix=label) hfs.add_demand_hotfix( 'max_speed', 'Skiff', '{},{},MaxSpeed,,7000'.format(demand_name, vehicle_name)) hfs.add_demand_hotfix( 'flying_speed', 'Skiff', '{},{},FlyingSpeed,,4000'.format(demand_name, vehicle_name)) hfs.add_demand_hotfix( 'afterburner_speed', 'Skiff', '{},{},AfterburnerSpeed,,7000'.format(demand_name, class_name)) hfs.add_demand_hotfix( 'afterburner_activation_speed', 'Skiff', '{},{},AfterburnerActivationSpeed,,250'.format(demand_name, class_name))
prefix = ' '*(4*2) for (label, vehicle_name, class_name) in [ ('Laser', 'GD_MoonBuggy_Streaming.Archetype.Vehicle_MoonBuggy_Laser', 'GD_MoonBuggy_Streaming.Archetype.Class_MoonBuggy_Laser', ), ('Missile Pod', 'GD_MoonBuggy_Streaming.Archetype.Vehicle_MoonBuggy_MissilePod', 'GD_MoonBuggy_Streaming.Archetype.Class_MoonBuggy_MissilePod', ), ]: hfs = Hotfixes(nameprefix=label) # Default: 4500 hfs.add_demand_hotfix('max_speed', 'MoonBuggy', '{},{},MaxSpeed,,8000'.format(demand_name, vehicle_name)) # Default: 5000 hfs.add_demand_hotfix('ground_speed', 'MoonBuggy', '{},{},GroundSpeed,,6000'.format(demand_name, vehicle_name)) # Default: 5000 hfs.add_demand_hotfix('ground_speed_base', 'MoonBuggy', '{},{},GroundSpeedBaseValue,,6000'.format(demand_name, vehicle_name)) # Default: 2000 hfs.add_demand_hotfix('afterburner_speed', 'MoonBuggy', '{},{},AfterburnerSpeed,,4000'.format(demand_name, class_name)) # Default: 900 hfs.add_demand_hotfix('afterburner_activation_speed', 'MoonBuggy',