{
    "bountyID":{
    
        "required_mods_id": ["modA", "modB"], # Default: no values. List the required mods for this bounty
        #TRIGGERS (ALL OPTIONAL)
        
        "trigger_market_id": ["market_name"], # Default: no values. Can default to the other preferences if those are defined and the location doesn't exists due to Nexerelin random mode. 
                                              # This beats all other conditions; a job will ALWAYS show in this market, even if other conditions fail.
        "trigger_marketFaction_any": ["faction"], # Default: no values. markets of these factions will show the bounty (if other conditions are met).
        "trigger_marketFaction_alliedWith": true, # Default: false. if true, markets of all factions whose relationship is at least FAVORABLE to ANY ONE of the factions above will show the bounty (if other conditions are met).
        "trigger_marketFaction_none": ["other_faction"], # Default: no values. markets of factions listed here will never carry the bounty, regardless of other conditions.
        "trigger_marketFaction_enemyWith": false, # Default: false. If true, markets of all factions whose relationship is HOSTILE to EVERY ONE (ALL) of the factions above. Beware when using this parameter with multiple excluded factions.
        "trigger_market_minSize": 3, # Default: 0. The minimum size of the market.
        "trigger_player_minLevel": 15, # Default: 0. The minimum level of the player.
        "trigger_min_fleet_size": 25, # Default: 0. The minimum player fleet "power" based on Fleet Points (not Deployment Points) with some multipliers for officers and player levels. Can be used to prevent exploits such as picking ships in storage to reduce the size of the bounty fleet. 
        "trigger_min_days_elapsed": 360, # Default: 0. The minimum number of days that must have elapsed.
        "trigger_weight_mult": 0.25, # Default: -1. Simple frequency multiplier when several bounties compete for limited board slots. Weights are added together, then one is picked at random, with higher weights having a higher chance. Default bounty memKeys of note:
		"trigger_memKeys_all": { # Default: no values. The job will only show if ALL of the listed memKeys exist with the specified boolean value.
		    # $job_memKey_succeeded set to true if the job has been successfully completed
            # $job_memKey_failed set to true if the job required the destruction of a flagship and the player salvaged it instead
            # $job_memKey_expired set to true if the job deadline expired, ended without player involvment, or was permanently dissmissed
            # $job_memKey set to false when the job has been picked up, true once concluded regardless of the result
            "$triggerKey":true,
        },
        "trigger_memKeys_any": { # Default: no values. The job will show if ANY of the listed memKeys exist with the specified boolean value.
            "$triggerKey":true,
        },
        "trigger_playerRelationship_atLeast": { # Default: no values. This job will require the player to have the specified relationship or HIGHER with the specified faction(s).
            "factionLikedId":0.25,
        },
        "trigger_playerRelationship_atMost": { # Default: no values. This job will require the player to have the specified relationship or LOWER with the specified faction(s).
            "factionDislikedId":-0.5,
        },		
        
        #BOUNTY DESCRIPTION
        
        "job_name": "job name", # Default: "Unnamed job". Job name shown in the dialog pick list
        "job_description": "Long form description of the job", # Default: blank. The description shown upon selecting the job.
                                                               # \n creates a line break, for example "Line one.\nLine two."
															   # \" adds quotation marks.
                                                               # == brackets create a highlight, for example "Text ==highlight== text."
                                                               # ^ uppercase the following letter of a text variable, for example "^$heIsSheIsTheyAre turning angry."
                                                               # %% allow the use of %, otherwise it will be interpreted as an escape character. 
                                                               # $sonDaughterChild based on bounty commander gender.
                                                               # $fatherMotherParent
                                                               # $manWomanPerson
                                                               # $heSheThey
                                                               # $himHerThem
                                                               # $hisHerTheir
                                                               # $heIsSheIsTheyAre
                                                               # $himslefHerselfThemselves
                                                               # $system The star system that the bounty fleet is in.
                                                               # $location The body that the bounty fleet has been placed near.
                                                               # $shipName The name of the bounty flagship.
                                                               # $faction The name of the faction (with article) of the bounty fleet.
                                                               # $reward The amount of credits being given as a reward.
                                                               # $name The name of the bounty commander.
                                                               # $firstName The first name of the bounty commander.
                                                               # $lastName The last name of the bounty commander.
                                                               # $constellation The constellation that the bounty fleet is in.
                                                               # $shipFleet base on either the target being a ship alone, or a fleet.
        "job_comm_reply": "Reply of the enemy to your hail", # Default: none. The text shown if the player opens comms with the bounty fleet, 
                                                             # If set as an empty string, displays "The other $shipOrFleet does not answer to your hails."
                                                             # If not set, defaults to the regular comm reply for the fleet's faction.
        "job_intel_success": "Short text displayed in the intel", # Default: not shown. Short conclusion text shown in the intel object after the job has been COMPLETED SUCCESSFULLY.
        "job_intel_failure": "Short text displayed in the intel", # Default: not shown. Short conclusion text shown in the intel object after the job has been failed through FLAGSHIP RECOVERY.
        "job_intel_expired": "Short text displayed in the intel", # Default: not shown. Short conclusion text shown in the intel object after the job has EXPIRED.
        "job_forFaction": "faction_offering_the_job", # Default: no faction. Note that unless "job_reputation_reward" is set to 0, successfully completing a bounty will improve relations by 5 points.
        "job_deadline": 360, # Default: no limit. The number of days to complete the bounty.
        "job_credit_reward": 9000, # Default: no credit reward. Number of credits to award the player on successful completion.
        "job_reward_scaling": 1.0, # Default: no scaling/bonus. Bonus credits based on FP. Bonus is the specified number multiplied by how many FP the bounty fleet was over their base FP.
        "job_reputation_reward":5, # Default: 5 rep points. Reputation benefit with the faction posting the bounty, if any, in case of success. Set to 0 or less to disable, does not scale
        "job_item_reward": { # Default: no item rewards. Lists special items that will be added to the post-battle loot. First value is the item id, second is the number to give the player.
            # Using the same syntax as Console Commands, blueprints may be added. ["fighter_bp", "industry_bp", "modspec", "ship_bp", "weapon_bp"]
            "item_A":1,
            "ship_bp shipId": 1 
        },
        "job_type":"assassination", # Default: assassination.
                # assassination: required only to disable the flagship, may recover it.
                # destruction: requires the complete destruction of the flagship without recovery.
                # obliteration: requires the complete destruction or disabling of the enemy fleet, may recover.
                # neutralisation: requires the destruction or disabling of 2/3rd of the enemy fleet, may recover.
        "job_show_type": true, # Default: true. Make sure to explain the mission objective in the bounty description if you choose to not use the default display.
        "job_show_captain": false, # Default: true. Whether to show the bounty fleet captain on the job board. If false, shows the flag of the giving faction.
        "job_show_fleet": "preset", # Default: "vanilla".
                # How much of the fleet to show on the bounty board.
				# none
                # text: "The intel assessment notes the target fleet may contain upwards of %s ships."
                # flagship: only shows an image of the flagship
                # flagshipText: shows an image of the flagships and a text with the number of other ships
                # preset: only show an image of the Flagship and the preset fleet
                # presetText: show an image of the Flagship and the preset fleet, plus a text with the number of other ships
                # vanilla: shows the Flagship and the 9 biggest ships of the fleet, plus a text with the number of other ships
                # all: show an image of all the ships in the fleet.
        "job_show_distance": "vague", # Default: "vanillaDistance".
                # How precisely the distance to the target is shown on the bounty board.
                # none: Do not show the distance.
                # vague: "The target is located somewhere in the vicinity of the core worlds."
                # distance: "It is located roughly %s LY away from your current position."
				# vanilla: "The target is located near a giant in a system with a yellow primary star, in the Nebulon constellation." Also shows a map during the bar dialog
                # vanillaDistance: "The target is located near a giant in a system with a yellow primary star, in the Nebulon constellation. It is located roughly %s LY away from your current position." Also shows a map during the bar dialog
				# exact: "The target is located near X in the Y system." Also shows a map during the bar dialog
		"job_show_arrow": false, # Default: false. Whether to show an arrow on the Intel map pointing from the start to the bounty target location. Should only be enabled when there is a good reason, to match vanilla.
        "job_difficultyDescription": "auto",  # Default: auto description shown. "none": no description, "auto": bounty board describes how dangerous the bounty is, any other text: bounty board displays the text.
        "job_pick_option": "Accept the job", # Default: "Accept the job". The text option that, when selected, accepts the bounty job.
        "job_pick_script": "data.script.FancyScriptThatDoStuff", # Default: no script. Triggered after accepting, can be used to trigger further scripts when the mission is taken, for example you may want to have competing bounty hunters
        "job_memKey":"$jobMemKey",	# Defaults to "$bountyId", memKeys always start with "$". The specified memkey will be set to false when the job is accepted, then true if it is completed.
        "job_conclusion_script":"data.script.FancyScriptThatDoStuff", # Default: no script. Can be used to give additional rewards or add further consequences in case of failure using memkeys to check the outcome
        
        #TARGET EXISTING FLEET

		"existing_target_memkey":"$memKey",

        #TARGET COMMANDER (OPTIONAL)
        
        "target_first_name":"Firstname", # Default: randomly selected based on faction.
        "target_last_name":"Lastname", # Default: randomly selected based on faction.
        "target_portrait":"portraitId", # Default: randomly selected based on faction. Id of the sprite in settings.json/graphics/characters or full file path.
        "target_gender":"ANY", # Default: ANY. [ANY, UNDEFINED, MALE, FEMALE] ANY will randomly pick between male and female to avoid oddities and issues with texts and portraits.
        "target_rank": "Captain", # Default: "citizen". Rank from campaign.ids.Ranks [https://jaghaimo.github.io/starsector-api/classcom_1_1fs_1_1starfarer_1_1api_1_1impl_1_1campaign_1_1ids_1_1Ranks.html]
        "target_post": "Fleet Commander", # Default: "spacer". Post from campaign.ids.Ranks (yes, Ranks, posts are the bottom half). [https://jaghaimo.github.io/starsector-api/classcom_1_1fs_1_1starfarer_1_1api_1_1impl_1_1campaign_1_1ids_1_1Ranks.html]
        "target_personality": "aggressive", # Default: Randomly selected. Personality from campaign.ids.Personalities ("timid", "cautious", "steady", "aggressive", "reckless")
        "target_aiCoreId": null, # Default: null (not an AI). The AI Core id of the bounty commander. Core will be dropped as loot. Options: [ null, "gamma_core", "beta_core", "alpha_core" ]
        "target_level": 1, # Default: 0. The level of the bounty commander
        "target_elite_skills":2, # Default: vanilla setting (2 by default). Overrides the regular number of elite skills, set to 0 to not use elite skills.
        "target_skill_preference": "ANY", # Default: "ANY". 
		    # YES_ENERGY_YES_BALLISTIC_YES_MISSILE_YES_DEFENSE,
		    # YES_ENERGY_YES_BALLISTIC_NO_MISSILE_YES_DEFENSE,
		    # YES_ENERGY_YES_BALLISTIC_YES_MISSILE_NO_DEFENSE,
		    # YES_ENERGY_YES_BALLISTIC_NO_MISSILE_NO_DEFENSE,
		    # YES_ENERGY_NO_BALLISTIC_YES_MISSILE_YES_DEFENSE,
		    # YES_ENERGY_NO_BALLISTIC_NO_MISSILE_YES_DEFENSE,
		    # YES_ENERGY_NO_BALLISTIC_YES_MISSILE_NO_DEFENSE,
		    # YES_ENERGY_NO_BALLISTIC_NO_MISSILE_NO_DEFENSE,
		    # NO_ENERGY_YES_BALLISTIC_YES_MISSILE_YES_DEFENSE,
		    # NO_ENERGY_YES_BALLISTIC_NO_MISSILE_YES_DEFENSE,
		    # NO_ENERGY_YES_BALLISTIC_YES_MISSILE_NO_DEFENSE,
		    # NO_ENERGY_YES_BALLISTIC_NO_MISSILE_NO_DEFENSE,
		    # NO_ENERGY_NO_BALLISTIC_YES_MISSILE_YES_DEFENSE,
		    # NO_ENERGY_NO_BALLISTIC_NO_MISSILE_YES_DEFENSE,
		    # NO_ENERGY_NO_BALLISTIC_YES_MISSILE_NO_DEFENSE,
		    # NO_ENERGY_NO_BALLISTIC_NO_MISSILE_NO_DEFENSE,
		    # ANY (from OfficerManagerEvent.SkillPickPreference)
        "target_skills": { # Default: empty. REMOVES ALL RANDOM SKILLS, set level 1 for normal skill, level 2 for elite.
            "skillnameA":1,
            "skillnameB":2,
            "skillnameC":1,
        }, 
    
    
        #TARGET FLEET
        
        "fleet_name":"Fleet Name", # Default: no name.
        "fleet_faction": "ML_bounty", # Required. The faction id from [https://jaghaimo.github.io/starsector-api/classcom_1_1fs_1_1starfarer_1_1api_1_1impl_1_1campaign_1_1ids_1_1Factions.html] or a custom faction id.
        # MagicLib includes a utility bounty faction that is forced to be neutral to everyone but the player under the id ["ML_bounty"].
        "fleet_flagship_variant":"buffalo2_FS", # Required. The variant ID to use for the Flagship. Can be a list of variants to choose randomly from: [variant1,variant2,variant3]
        # Variant files that use ships or weapons from third party mods that may or may not be installed can be put in [data\config\modFiles\magicBounty_variants\shipVariantId.variant] to avoid crashing on launch if said mods are absent. The bounty will need the proper mod requirements to be generated without issue.
        "fleet_flagship_name":"Flagship", # Default: Random.
        "fleet_flagship_recoverable": true, # Default: false. Whether the flagship will be always recoverable. Allowing this will still let the player fail the bounty if they were not supposed to recover the flagship.
        "fleet_flagship_autofit": false, # Default: false. Whether the flagship will be autofitted. When false, the Flagship does not receive D-mods or S-mods from the quality override.
		"fleet_preset_ships": { # Default: no presets. Preset fleet generated with the flagship. First value is the variant id, second is the number of them in the fleet.
            "ship_variant1":1,
            "ship_variant2":3,			
        },
        "fleet_preset_autofit": true, # Default: false. Whether the preset ships will be autofitted. When false, the preset ships do not receive D-mods or S-mods from the quality override.
        "fleet_scaling_multiplier": 1, # Default: no scaling. Dynamic reinforcements to match that amount of player fleet DP, set to 0 to ignore.
        "fleet_min_FP": 100, # Default: no minimum. Minimal total fleet size, set to -1 to ignore.
        "fleet_composition_faction": "pirates", # Default: bounty fleet faction. Used if the extra ships don't match the fleet's faction. For example a pirate fleet of Hegemony deserters. Required for min FP and player adjustment.
        "fleet_composition_quality": 1, # Default: 1, use 2 for no Dmods.
        "fleet_transponder": false, # Default: true.
		"fleet_no_retreat": false, # Default: false.
        "fleet_behavior": "PASSIVE", # Default:"GUARDED". The fleet's behavior on the campaign layer. Options: ["PASSIVE", "GUARDED", "AGGRESSIVE", "ROAMING"].
    
        #LOCATION
        
        "location_entitiesID": [  # Default: no preset. Preset locations to spawn the bounty fleet, can default to the preferences if those are defined and the location doesn't exists due to Nexerelin random mode.
            "location1",
            "location2",
        ],
        "location_marketFactions": [  # Default: no faction specified. Markets of specified faction for the fleet to spawn at. Adding a faction market supersedes all other parameters except location_id.
            "faction" 
        ],
        "location_distance": "CLOSE", # Default: no preference. How far from the center to spawn the bounty fleet. Options: "CORE", "CLOSE", "FAR" or just left empty to ignore.
        "location_themes": [ # Default: no preference. System themes that are valid to spawn the fleet at.
            "theme_core_unpopulated",
            "theme_core_populated",
            "theme_core",
            "theme_interesting",
            "theme_interesting_minor",	
            "theme_ruins",
            "theme_ruins_main",
            "theme_ruins_secondary",
            "theme_derelict",
            "theme_derelict_mothership",
            "theme_derelict_cryosleeper",
            "theme_derelict_survey_ship",
            "theme_derelict_probes",
            "theme_unsafe",
            "theme_remnant",
            "theme_remnant_main",
            "theme_remnant_secondary",
            "theme_remnant_no_fleets",
            "theme_remnant_destroyed",
            "theme_remnant_suppressed",
            "theme_remnant_resurgent",
            
            "procgen_no_theme", #not so special bounties should add this attribute
            "procgen_no_theme_pulsar_blackhole", #or this one
        ],
        "location_themes_blacklist": [ # Default: none. System themes to never spawn the fleet at.
            "theme_already_occupied", #Will avoid systems with "hostile" themes taken from a merged list between mods. Includes all Remnant, Plague-Bearer, OCI, Blade-Breaker systems 
            "theme_already_colonized", #Will explicitely exclude systems with active markets, kind of mandatory for pirate bounties given that faction colonize otherwise interesting systems with Nexerelin
            "theme_hidden", #Used by that one story system
			"no_pulsar_blackhole",
        ],
        "location_entities": [ # Default: PLANET + JUMP_POINT + STABLE_LOCATION. Possible entities to spawn the fleet around.
            "gate",
            "station",
            "wreck",
            "debris",
            "stable_location",
            "comm_relay",
            "nav_buoy",
            "sensor_array",
            "gas_giant",
            "planet",
            "jump_point",
        ],
        "location_prioritizeUnexplored": true, # Default: false. Will pick in priority systems that have not been visited by the player yet, but won't override the distance requirements.
        "location_defaultToAnyEntity": true, # Default: false. If true and no suitable entity is found in any systems with the required Theme and distance, a random entity will be picked instead. Otherwise the script will ignore the distance requirements.
    },
}
